OFFICIAL GMS 2.3 Issues

Yizzard

Member
I've been having a weird issue where sometimes during debugging while I'm stepping through the code I'll try to mouse over a variable to read its value and it won't give me the value then a few seconds later all of GMS freezes and all my other programs slowly start crashing. I.E. Discord, Google Chrome, etc. once I restart GMS everything is fine. Maybe it's a memory leak issue? I only started having this issue after updating to 2.3
 

curato

Member
The new version is a bit more CPU intensive. Check your task manager to see if you are getting maxed out or not.
 

Feronar

Member
Regarding functions with optional/default arguments:
When I specify a function as having one or more default arguments, and then call it using less than the maximum number of arguments, I get a warning that it expected a different number of arguments from what it got.

In my example, drawWindowFrame() has 8 parameters, of which one of them, drawBG, is optional, defaulting to true. I call the function, omitting drawBg, which runs as expected, but the warning still shows.

defaultArguments.png
I am aware that you can suppress the warning by adding the line:
GML:
if (0) {return argument[0];}
But that seems like a rather crude way of doing it, basically having to trick the editor into ignoring the number of arguments. Also, unless you explicitly include the jsdoc @param lines, it will cause the help text to just say drawWindowFrame(...) and not show any arguments. Is there a more elegant way of handling this? If not, can you please add one?
 
Regarding functions with optional/default arguments:
When I specify a function as having one or more default arguments, and then call it using less than the maximum number of arguments, I get a warning that it expected a different number of arguments from what it got.

In my example, drawWindowFrame() has 8 parameters, of which one of them, drawBG, is optional, defaulting to true. I call the function, omitting drawBg, which runs as expected, but the warning still shows.

View attachment 33696
I am aware that you can suppress the warning by adding the line:
GML:
if (0) {return argument[0];}
But that seems like a rather crude way of doing it, basically having to trick the editor into ignoring the number of arguments. Also, unless you explicitly include the jsdoc @param lines, it will cause the help text to just say drawWindowFrame(...) and not show any arguments. Is there a more elegant way of handling this? If not, can you please add one?

only have the mandatory arguments as named arguments then use the argument_count and argument[n] for the optional


GML:
/// @function my_function(x, y, [imgSpd], [imgInd]);
/// @description An example function for combining mandatory and optional parameters/arguments
/// @param {real} x The x co-ord
/// @param {real} y The y co-ord
/// @param {real} [imgSpd] The image_speed (optional)
/// @param {real} [imgInd] The image_index (optional)
function my_function(_x, _y) {
    x = _x;
    y = _y;
    var _args = argument_count;
    if (_args > 2) {
        image_speed = argument[2];
        if (_args > 3) {
            image_index = argument[3];
        }
    }
}
1598505583926.png
 
Hello everyone! I'd just like to take a moment to suggest to users that are experiencing issues with the latest 2.3 update to GameMaker Studio to file bugs with YoYo Games instead of posting here on the forums. YYG does NOT check the forums for bugs, and as 2.3 is brand new the userbase does not have the knowledge yet to be able to help you debug your issues. When filing a bug report, and depending on the issue, please try to always include links to a zip of the bugged project and also (if it's a conversion issue) a link to the 2.2.5 project. Also try to give as much information as possible about when the issue occurs and even what you may suspect the issue is. This is a massive update to GMS and while YYG have thoroughly tested it and it's gone through a long beta process, everyone's project is different and there will always be edge cases that need extra attention, so PLEASE file bugs so they can get resolved.

You can file bug reports from the GMS2.3 IDE by going to the Help menu and using the "Report a bug" option, or by going to the following link: https://accounts.yoyogames.com/contact-us
When I click the Contact Us link and log in, I see this message:

screenshot.png
 
Just for the record; I recently built and released app updates (.aab) on v.2.3 stable to the google play store. I'm using the new Beta Play Console, by the way. I was handed 2 minor warnings:
  • This App Bundle contains Java/Kotlin code, which might be obfuscated. We recommend you upload a deobfuscation file to make your crashes and ANRs easier to analyze and debug.
  • This App Bundle contains native code, and you've not uploaded debug symbols. We recommend you upload a symbol file to make your crashes and ANRs easier to analyze and debug.
These were the 2 links it attached along with those 2 warnings : https://developer.android.com/studio/build/shrink-code#native-crash-support, and https://developer.android.com/studio/build/shrink-code#decode-stack-trace.

But I'm certain it's not going to effect their approval to release my app update to the store. I think these info will be most useful for YoYo dev team to be made aware of, since soon the Play Console will be updated to use the beta version which look totally different. :)

Another to note for those marketing their apps on GPS, I recently received e-mail from GP dev review team; per Nov 3rd 2020, all apps have to support target API 29.
 

meltypixel

Member
I'm finding our games broken in 2.3 for iOS. Did the FileSystem change in some way? It seems to be unable to open files that were delivered in the Included Files (they are in the bundle - I checked in Xcode, so they are still actually included by GMS2). The code that was working in 2.2 to read the these .json files or .txt files no longer works in iOS. It works ok in Windows and Android, but broken in iOS.

It says unable to open... so I guess it is finding it... The files are fine, and this is production code that's been running for years.

GML:
2020-08-20 08:09:00.265936-0400 WordWow[1335:604281] ERROR!!! :: Failed to open file: /var/containers/Bundle/Application/B1E01CE8-C97E-4E84-B51D-5CA10BB0C098/WordWow.app/games/WordWow.json
Triggered from :
Code:
f = file_text_open_read(working_directory + csvFile);
I tried removing the working_directory as well and just referencing the filename directly, but that made no difference.

EDIT : Ok, it seems that 2.3 requires that "datafiles/" preface any folder and filename that you wish to access in iOS. eg. file_text_open_read(working_directory + "datafiles/" + csvFile); Specifically for iOS, I think if you leave that in for other Exports it might fail. Reporting bug.

Thanks,
Chris
This is also popping up as a problem when doing a macOS YYC build. I could detect if it's a mac build and tack on "datafiles" when reading included files, but my game has a community of folks adding customizations into the local storage working directory, and it seems like a big headache to decide when to add or remove "datafiles" depending on where I'm reading from. So I've filed a bug.
 
I got this warning bug where the number of arguments are correct but it tells me otherwise. it used to be 9 arguments and the function used to be outside of the constructor (yes, this script is inside the constructor) but I placed it in and reduced the argument to 8. The warning does not want to get out. The game can compile and run properly.
1599150681313.png

Also, there is no guide at the bottom when editing the argument values which usually shows when you are declaring a function.

edit: It fixed itself after restarting GMS2.3
 

kupo15

Member
I had an asset folder error where it shifted and moved around scripts into other folders. This screenshot doesn't show how bad it was because I since moved them back but that Shader folder was deleted prior and then all of a sudden came back with the moved scripts and new folder "Main" that was supposed to be somewhere else

1600711100565.png
 

chirpy

Member
I'm finding our games broken in 2.3 for iOS. Did the FileSystem change in some way? It seems to be unable to open files that were delivered in the Included Files (they are in the bundle - I checked in Xcode, so they are still actually included by GMS2). The code that was working in 2.2 to read the these .json files or .txt files no longer works in iOS. It works ok in Windows and Android, but broken in iOS.

It says unable to open... so I guess it is finding it... The files are fine, and this is production code that's been running for years.

GML:
2020-08-20 08:09:00.265936-0400 WordWow[1335:604281] ERROR!!! :: Failed to open file: /var/containers/Bundle/Application/B1E01CE8-C97E-4E84-B51D-5CA10BB0C098/WordWow.app/games/WordWow.json
Triggered from :
Code:
f = file_text_open_read(working_directory + csvFile);
I tried removing the working_directory as well and just referencing the filename directly, but that made no difference.

EDIT : Ok, it seems that 2.3 requires that "datafiles/" preface any folder and filename that you wish to access in iOS. eg. file_text_open_read(working_directory + "datafiles/" + csvFile); Specifically for iOS, I think if you leave that in for other Exports it might fail. Reporting bug.

Thanks,
Chris
This problem also affects Html5 builds when run on Mac OS X (built from Mac OS X IDE). I've also filed a bug report.

[Edit: I got a reply from YYG saying it is a known and fixed issue, which will be released in next version.]
 
Last edited:
Top