Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 24 of 44 · Next page · Last page

There is an error that if I share the game by discord. the game is not heard. it is only heard by the user who is running it, that is the main user.

Discord does not support recording audio from a window inside another window, which is how this extension works. Consider using Gameframe instead or complaining to Discord.

Hello, why this error: 

Error : Extension gamepad_force_focus file  does not exist

on v2023.11.0.121, if does exists.

It would seem like 2023.11 isn’t the most stable release to date, I would suggest downgrading until some hotfixes are issued

ok, thanks

Deleted 2 days ago
(+1)

Ah, I didn’t include a license

Consider it to be MIT - have your fun and I’m not liable for anything

THANK YOU!!

Thanks.

Question:

It works within gamemaker, but when I export the game to zip, the window border is not depicted. Is there any solution?

See comment below - you need to re-compile the DLL to support spaces in paths.

Ugh, I can only use gml, so I'm going to give up trying to incorporate that.

Thank you.

im on v1.4.9999

i originally got the "trace" error, but added a script "return argument[0]" as stated in a previous comment,

but now I keep getting the following error "

global variable name '__window_frame_init_timer' index (100658) not set before reading it.

See if “init script” for “window_frame.gml” in “window_frame” extension is set to “window_frame_preinit”. If not, set it to be that.

Thank you! this fixed it.

Deleted 219 days ago

The "window_frame_update()" function creates a black screen on the Steam Deck. With no reliable way to detect the Steam Deck currently, is there instead a way I can test on the extension side of things for compatibility before running that function?

There’s an extension that adds the function to check for Steam Deck.

Other than that, your best bet would probably be to check for things inside os_get_info().

I don’t have a Steam Deck so I cannot test anything related to this.

I’m also surprised that anyone uses the extension with Steam games considering that it seems to cause anomalies with Steam overlay.

Perhaps my implementation avoided Steam overlay issues somehow; it seems to work fine/never had any complaints with almost 30k users. I'll try your suggestions, thanks.

This one really saved me! Thank you for making this!

(4 edits)

Hi,


excellent extension! But the latest window_frame(GMS2.3+) cannot work while creating executable as zip, what can I do to fix this problem?

(I'm using Runtime v2022.3.0.497)


ok I found the solution: the project's name shouldn't include a blank space      :(  and why

(+1)

Changing these 3 lines to be

	yal_strcat(commandLine, L"\\system32\\rundll32.exe \\"");
	yal_strcat(commandLine, dllPath);
	yal_strcat(commandLine, L"\\" frame_process");

and re-compiling the extension will probably fix that.

The extension was originally going to be more or less superseded by a better one (which you can see in action in Nova Drift) in March, but due to war breaking out in my country I’m not sure when that’s going to happen at this point.

(1 edit) (+1)

Thanks for replying!

I've tried to change the 3 lines and re-compiled the extension. The codes are slightly different but yes the problem is solved :) Thanks again!

(Here are the codes that I changed)

(2 edits)

Hi,

I'm getting compile errors running window_frame in GMS 1.4.1567 on 64 bit windows 7:

"
Compile Extensions...
Error : gml_Script_window_frame_update(14) : unknown function or script trace

Error : gml_Script_window_set_topmost(2) : unknown function or script bool

Error : gml_Script_window_frame_init(3) : unknown function or script int64

Error : gml_Script_window_frame_get_rect(4) : unknown function or script array_create
"

Any idea what this could be?

Your GMS1 version is way too old, you’ll have to update to at least 1.4.1763 unless you’re willing to figure out GML workarounds for each of these functions (except trace - that’s an unused log script - create an empty one with return argument[0] inside)

Confirming that this worked.  Ty for replying on the forums as well.

(1 edit)

you have definitely taken window frame to the next lvl. the file size is half as big the window frame being a dll allows me to actually run gms2 at frames higher than 60 with no window_frame problems. and now it supports 32bit, 64bit versions. for the longest time window frame felt like a beta version, but with this update every thing works together as expected. to me it feels like the full released version was release. I already paid for it but i will definitly be giving another 5$. I wish every one who found this useful would dish out the 30$ its worth, to you.  And a bounus it is fully documented with a nice catagory html file

Hello,

I already emailed you these questions, but just in case you didn't see them there, I'm posting them here as well:

I stumbled upon your solution to Game Maker halting a running game if its window frame is being selected/dragged, and it's perfect for what I need. But I have a few questions about it:

1. I'm aware that in addition to stopping the game window from freezing, this extension makes it so that the frame of the game window can be resized, maximized, etc. For my game though, I want it so that the window cannot be resized/maximized at all (except for perhaps borderless fullscreen). How can I disable this resizability? (I'm a bit newer to using Game Maker extensions, sorry if there is an easy solution that I'm not seeing).

2. My game is a rhythm game, so it's vital that the movement of certain objects stays in sync with the audio. But, when the window freezes, the audio continues to play, so everything ends up out of sync (which is why I went looking for a solution like yours in the first place). If I could have the game detect if the window has been frozen, I could solve my problem by simply pausing the audio whenever the window is frozen, and then resuming it whenever the window becomes unfrozen again (considering that you said that your fix was pretty unstable, this seems like a simpler, stabler solution). So, do you know if it is possible for the game to detect when the window has been frozen?

3. As I mentioned earlier, I noticed you said that this extension is pretty unpredictable, and that it shouldn't be used if an alternative solution can be found. Are there any other solutions/extensions out there that you know of that solve this issue that are more stable?

Thanks in advance!

(2 edits)
  1. As per documentation, you can do so using
    window_command_set_active(window_command_maximize,     false);
    window_command_set_active(window_command_resize, false);
    
  2. You should be using delta_time for most of your game elements - else the visuals will get out of sync with audio sooner or later - be it because of user dragging the window or experiencing any lag at any point (be it caused by game or outside factors)
  3. I am working on a more stable solution involving replicating the window border (and all of its behaviours) in-game. It currently lacks documentation, but if you have baseline familiarity with Visual Studio, you can build it from source and figure things out based on the test project in the repository. It can also be seen in action on Nova Drift’s “experimental” branch on Steam:

Hello, I use the GMS2.3+ project, and when I use window_command_set_active() disable any window command, my project starts to crash... Is there any solution?

That should be fixed in the new version

Hi, this is just what I was looking for! But unfortunately it does not seem to be working for me. I'm using the latest version on GMS2 on steam: 2.3.3.437 And I picked 2.3+.

When I launch the demo, there's a popup with an exclamation mark, the app still loads but it comes up behind the GMS2 editor window so I didn't see it right away. But when I found it it did not have the border, I pressed 1 to open it but that didn't do anything.

I might try getting an earlier version of GMS2 from there site and try that, but if you have a fix for me that would be great! :)

I just tried running the YYZ from itch on 2.3.3.437 and it worked fine - aside of the popup (see comments below on where to disable that). Do note, however, that the extension doesn’t work with 64-bit Windows runtime at the moment.

It's probably the 64-bit runtime then, is support for that planned?

Why not check? Do you have “use 64-bit runtime” ticket in Game Options - Windows - General?

Oh, I thought I might have just had that version running, it was already off. Tried it on, same result, turn it off, same again.

I have been looking at what you can do with standard game maker code though, no plugins. I made my own, the only part I can't make is a minimize button.

In that case you could use my Window Commands extension to minimize the window (so long as you’re not using the 64-bit runtime - most of these extensions need to be updated for it).

How to make the window keep the aspect ratio? 🙏

(+1)

Using math, e.g. this instead of regular resize logic in demo’s Step

if (window_frame_get_visible()) {
    var w = window_frame_get_width();
    var h = window_frame_get_height();
    if (w > 0 && h > 0 && surface_exists(application_surface)
    && (window_get_width() != w || window_get_height() != h)
    ) {
        var gameWidth = 320, gameHeight = 240;
        var scale = min(w/gameWidth, h/gameHeight);
        var outWidth = gameWidth * scale;
        var outHeight = gameHeight * scale;
        var outX = (w - outWidth) div 2;
        var outY = (h - outHeight) div 2;
        // resize room (since we don't use views):
        room_width = outWidth; room_height = outHeight;
        // resize the game inside the frame-window to fit it's size:
        window_frame_set_region(outX, outY, outWidth, outHeight);
        // also resize application_surface:
        surface_resize(application_surface, outWidth, outHeight);
    }
}

gmlive.js demo

Thanks! But now I need the window to be adjusted to the game's resolution 😅

That may mean a few things so I trust that you can take it from here

windows tells me it is a potential virus, should I be concerned?

(+1)

You mean the dialog that shows up for almost every executable downloaded from the internet?

Can compile it from source code if you are concerned and know how to use Visual Studio.

no, no, I mean that when I download the windows defender file it detects it as a virus, it also detects it at https://www.virustotal.com/gui/ and it also detects it as a virus

In that case, you can try compiling it yourself from the source code and seeing if that stops it from triggering false positives or not. Other option is spending several hours filing false positives with each of those antivirus makers.

(-1)

I just tried to download the source code and it also detected a virus, according to my antivirus it is a Trojan: Win32 / Zpevdo.B, but the truth is I don't know if that is part of the extension, because if I have seen that some files contain dlls usually detect them as viruses

(-1)

I also downloaded this and it said that it contained a trojan

(1 edit)

(I also wrote this to you by email.)

Can you fix the ugly window resizing of GameMaker Studio 1?

Hello Yal.

I saw your itch.io project, Window freeze fix, and although I don't need it, maybe you can help me.

The problem is this: when you run a Windows game in GameMaker Studio 1.4, these things happen:

a) If you maximize and restore the window, you notice that the game display adjusts its aspect ratio after a short delay, instead of immediately adjust in. That delay makes it look ugly.

b) If you resize the window by dragging its sides, the window is filled with a white colour instead of showing the game image. That looks ugly too.

To best understand me, try running a game in GameMaker 8. When you press maximize and restore, the image immediately adjusts to the change in window size. It looks good.

And when you resize by dragging the window sides, the game view freezes (which is okay for me), and the room and its contents remain visible, and the aspect ratio immediately adjusts to the change in window size. It looks smooth and good. That is how it is on GameMaker 8.

I don't know why GameMaker Studio 1 changed it, so that now the window fills with white when resized, and there is a delay in changing aspect ratio.

Could you write a DLL or extension or something for GameMaker Studio 1.4, to make the window behave as it did in GameMaker 8?

Maybe GML code can help? Resizing the application surface, etc?

Replied to your email with details - previously GM would resize and repaint the window every step of the way, which was a bad idea in some cases. Now GM waits until you’re done resizing and resizes the internal buffers after 10 frames, which is good for performance but looks weirder.

This can be addressed with an extension (by finding and modifying the internal countdown until resize and by hacking into the window’s background drawing respectively), but doing so requires an amount of research and experimentation.

Thanks a lot. I really need this. By the way can you please make this version for Android please? You know Gamemaker projects in Android has a big issue that whenever you lower the notification bar, everything will be frozen (even the musics) and the game only works again when the notification bar is close. This is such a huge problem to multiplayer game.

(+1)

I’m not familiar enough with Android development to tell you whether that is something that can be done, but I can definitely tell you that your game will not be running if the user switches to a different application or Task List, and you’ll have to account for this somehow.

(1 edit) (-1)

Thanks for creating this. I am having two issues with it, however.

Whenever I hit the X button to close the window, nothing happens. I have to force close the window. Would this not be usable in production? I'm concerned about how players would handle not being able to close the game in this fashion.

There is a bigger problem, though. Whenever I first load up a game using this, I am met with a pop-up with an exclamation mark. I have to hit the Close button on this pop-up to move forward. I looked through your code and I'm not sure where this is being called (or why it would be) and I didn't find anything.

I'm using GMS 2.3, any ideas why this may be happening? It also happens in your provided project, so it's not a case of user implementation error.

(1 edit) (+1)

Regarding the exclamation message, you’ll need to remove that single show_message call from window_frame.gml in the extension’s directory. That is a leftover of me spending a while trying to figure out why the extension wouldn’t work right in GMS2.x

By default, the example demonstrates Window Commands functions and will wait 30 frames before closing the game. You can find a handful of comments in the example object.

Thank you. In regards to the window_frame.gml, I confess I'm not very well versed in how to change anything regarding extensions. I poked around in GMS2.3 and looked through the window_frame.gml in the Extensions section but I don't really see any meaningful data in there at all, none-the-less anything about a show_message, so I must be missing how you properly go about modifying an Extension.

(+1)

You go into the extension’s directory in Explorer and open the file with any text/code editor

This is a great extension! Once I understood how to get the most out of it, it made the window handling for my current project look so much more professional. I love you work, YAL, and your NSFS extension worked wonders for me!

However, for the life of me, I can't grasp out how to make the project detect controllers while this extension is active; I've read in the May 26 devlog that this was fixed, but I don't know what I'm doing wrong-  ; ^ ;

Is there something that I'm missing? All I have is calling "window_frame_update()" every frame, disabled the default window border, and kept the frame size updated to match the window frame every frame, as well, for easy resizing; commenting out the latter didn't help, and I didn't need to use application surface functions to get the results I have. It's just three lines of code at the very beginning of the Step Event.

Should be fine - check if the example project works? It draws the direction of left stick of first gamepad around the mouse cursor.

So that's what that does? That's neat!

The direction of the circle below the mouse cursor doesn't change for the first controller slot, unfortunately; not for any directions after the first frame of the example launching. So if I held down on the analog stick as it was starting, it shows a long line facing down below the cursor, but doesn't update after that.

I'm on Windows 8.1 still, if that matters here.

An update on the matter: My Windows 10 testers can't receive inputs from their controllers either, while the extension is turned on.

I'm finishing this game in Studio 1.4, so I wonder if this issue is unique to 1.4, but works fine on Studio 2? I own Studio 2 as well, but I'm waiting until my first original project to use it; the current project relies too heavily on 1.4's tile system to be ported easily.

If you are using the most recent version of the extension’s example project (I updated it 4 days ago) and a recent version of GMS1 (1.4.1773 or newer), and it doesn’t work, I have no clue - it works fine for me, and worked fine for whomever that proposed this change (further down on the comments page here)

Yes, I am using the new version of the extension, and GMS1 v1.4.9999.


So, if everything's fine on your end, as well as the person who requested the change, then there must be something I need to address on my part, to make my controller code work while the extension is active.

I'll do my best to discover what that is, as well as dig more into how the extension's example handles inputs. The example was a very helpful reference, alongside the docs, in getting the most out of it!

In any case, thank you for your time and confirmation that nothing suddenly broke. You're an outstanding developer, YAL, you do so much for us Game Maker users!

Upon some thought, it might be the change that I made another extension for - I think that made it to 9999: https://yellowafterlife.itch.io/gamepad-force-focus

Hello, thank you for this extension. I seem to be running into some minor errors. (I am using Windows 10, and GMS 2.3.) 

When right clicking on the game, it'll display the name as window_frame_host.exe, with its associated icon. Clicking the icon will show the empty black window: "this is a helper program for window_frame.dll". I've also inconsistently found that trying to close the game project on its own will leave the window frame onscreen. It's hard to recreate this bug, though. Thanks for your time.

I believe the information shown for taskbar buttons comes from the executable information, so at most you could either recompile window_frame_host with your own labels or edit it using Resource Hacker. The earlier-mentioned third party rewrite was supposed to address the issue, but I’m not sure when that’s going to be out.

A black preview is a side effect of however Windows calculates them - I’m not sure if this is easily fixable.

If the game crashes or closes abruptly (without executing the normal game end events), there’ll be no one to tell the frame window to close, so it will only do so once some kind of interaction happens.

If your only desire is to have borderless fullscreen, OutsideTheBox is more reliable.

I love this extension!
Hey I think you should include msvcp140.dll and vcruntime140.dll in the extension, as I had to include them for some systems.

That would be a bug - the DLL is compiled to not have MSVC dependencies, but window_frame_host isn’t.

Is there a specific license for this? I'm wondering if I can include this in my open source project.

If your project is freeware, feel free to pick apart the source code with attribution.

Awesome. Thank you!

Viewing most recent comments 1 to 24 of 44 · Next page · Last page