OFFICIAL GMS2 Version 2.3.2 (Beta Release)

Status
Not open for further replies.

Ricardo

Member
IDE v23.1.1.261 Runtime v23.1.1.264 is rolling out now. Changes are shown at the top of the release notes and at the top of this thread, but you can see we have added even more IDE and manual translations in this version (plus added the remaining stuff for Chinese), so please do give these a try also if you're familiar with these languages.

One request for CocoaPods users who had issues compiling projects with the "pod install" command saying it could not be found - can you please confirm this is now fixed on your machines, please? We did find an issue with the OS permission level GMS2 was trying to use, which could have caused this to fail in some cases.
Such a shame my project doesn't even start with this one. It dies and returns
GML:
X://windows/x64/Runner.exe exited with non-zero status (-2147483645)
even before showing the window.
The debugger also disconnects before pointing out the problem so I'm completely in the dark. Hard to make an example to report it.
 

rwkay

GameMaker Staff
GameMaker Dev.
That is a runtime error so please file a bug with the project so we can investigate why it is dying, all projects are kept private.

Russell
 

Dan

GameMaker Staff
GameMaker Dev.
Updated but my installation is not picking up the v23.1.1.264 runtime.
Give it a little while and then refresh your feed inside Preferences / restart GMS2, as the release was only just going out as I posted my last message, so quite possible some web cache between you and us is causing a delay there.
 
S

Sam (Deleted User)

Guest
So many big a** updates recently I've been losing track of which version added what lol great job YoYo! It works great for me!
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
Well I found some problem which I already filed... for people experiencing the same here it goes:

[BUG1]
GML:
function Base() constructor {
    static printMe = function() {
        show_debug_message("I'm Base!");
    }
}

function ChildA() : Base() constructor {
    static printMe_Base = printMe;
    static printMe = function() {
        show_debug_message("I'm ChildA!");
    }
}

function ChildB() : ChildA() constructor {
}

function ChildC() : ChildB() constructor {
}
Here are the tests for this code:
[TEST1]
GML:
var first = new ChildA(); //WORKS
[TEST2]
GML:
var first = new ChildB(); // Crash: <unknown_object>.printMe(100980, -2147483648) not set before reading it.
[TEST3]
GML:
var first = new ChildA();
var second = new ChildB(); // DOESN'T CRASH - because I instantiated "ChildA" first.
 
Last edited:

Zhanghua

Member
Well I found some problem which I already filed... for people experiencing the same here it goes:


[BUG1]
GML:
function Base() constructor {
    static printMe = function() {
        show_debug_message("I'm Base!");
    }
}

function ChildA() : Base() constructor {
    static printMe_Base = printMe;
    static printMe = function() {
        show_debug_message("I'm ChildA!");
    }
}

function ChildB() : ChildA() constructor {
}

function ChildC() : ChildB() constructor {
}
Here are the tests for this code:
[TEST1]
GML:
var first = new ChildA(); //WORKS
[TEST2]
GML:
var first = new ChildB(); // Crash: <unknown_object>.printMe(100980, -2147483648) not set before reading it.
[TEST3]
GML:
var first = new ChildA();
var second = new ChildB(); // DOESN'T CRASH - because I instantiated "ChildA" first.

[BUG2]
GML:
function A() constructor {
    static print = function() {
        show_debug_message("A");
    }
}

function B() : A() constructor {
}

function C() : B() constructor {
 
    print();
 
    static print = function() {
        show_debug_message("C");
    }
}

var instance = new C(); // this prints "C", this is WRONG it should print "A";
This bug was introduced in 2.3.2 (beta) it wasn't there in last stable!

[NOTES] On the code above if:
1) the code inside **C** moves to **B**
2) you create an instance of **B**
then there will be NO bug!

[BUG3]
GML:
function B() constructor {
}

function C() : B() constructor {
 
    print();
 
    static print = function() {
        show_debug_message("C");
    }
}

var instance = new C(); // this should crash, but prints "C"
the print is being declared after the call!!
So there is no print method declaration when the call is made (in stable this would throw an error)

[IMPLICATIONS]
this can lead to a lot of problems as we are suppose to overwrite methods using:

GML:
function A() constructor {
  static print = function() { // (0)
    // this is the declaration
  }
}

function B() : A() constructor {

  static print_A = print; // (1)
  static print = function() { // (2)
    // this is the redeclaration
  }
}
if we have such a bug how can one assure that print (1) is from the parent (0) and not the print (2) (declared below)??

[FINAL NOTES]
These bugs reproduce 100% of the time for both YYC and VM (with the exception of BUG1 which only happens in VM).
Use the static carefully. So I haven't use the static long time ago.
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
I do understand but:
  • These are bugs that need to be fixed.
  • I'm not miss-using any of the static functionalities.
  • You shouldn't be using non-static just to avoid something that is actually a bug.
  • These bugs were ALL okay in last stable (so this was introduced in the Beta)
 

Ricardo

Member
Still having silent crashes and a hard time isolating a good example for Dan to review. I'm having goosebumps thinking the next "stable" release is gonna carry over these issues.
 

Zhanghua

Member
nice for the Chinese manual!!!!

although has some mistake description, such as:

1. "room manager" = “房间管理” ≠ “房间经理”

2. "Asset" = “资源” or "项目资源" ≠ “资产”

3. “Note” = “笔记” or "记事本" ≠ “注意”

4. “Expand Children” = “展开子项" ≠ “扩大子项”

5. “Included Files” = "内置文件" ≠ “包含文件”

6. “windows” of Platform->windows = "微软" ≠ “窗口”

7. "required sdks" = "SDK依赖" ≠ "必须的SDK"

8. "DND" = "拖拽模式" ≠ “拖拽按钮”

9. "key down" of object event = "按住键" ≠ “压住键”

10. "Go to" = "搜索跳转" ≠ “前往”


。。。。。。
 
Last edited:
I think I found something that broke in Runtime 23.1.1.264. Example:

Code:
/// @description Create Event

objVar1 = 50

myStruct = {
    structVar1 : objVar1,          // This works OK.
    structVar2 : max(objVar1, 200) // This causes an error: Variable struct.objVar1(100003, -2147483648) not set before reading it.
}
There is a runtime crash at structVar2's initialization. The error message indicates that objVar1 isn't set before reading it, and that it appears to be expecting objVar1 to be a member of a struct, which it isn't.

This code worked fine in Runtime 23.1.1.260

Edit: This bug has been reported to YoYo and has been added to their bug database.
 
Last edited:

SnoutUp

Member
GameMaker still copies included files to all of the targets ignoring included file settings (all platforms unchecked).

There's no way to unselect directories either.
 
J

Jordam

Guest
This topic is for the discussion of issues relating to the update of GameMaker Studio 2. However, this does not replace our normal bug reporting system and you should report all bugs as normal using https://accounts.yoyogames.com/contact-us

As ever, PLEASE check the Required SDKs FAQ before/during updating and ensure your antivirus/OS permissions are correct after you do the new install - User Permissions and Internet Access Required by GMS2 - before you submit any bug reports or post issues here.

You should post here if:
  • Something has changed between the previous version and this one, breaking your game (i.e.: code that worked previously now does not)
  • Something reported as fixed in the release notes is not actually fixed
  • You are having IDE or system issues related to something new in this update
  • You are having issues with new features introduced in this version
  • You are having issues updating to this version
  • Everything works and you want to tell us we are great (seriously, let us know if it all works correctly for you)
When reporting issues to the Helpdesk, please try to add as much information as possible, for example:
  • If the issue is with the IDE, then please give a screenshot if you can to help illustrate the problem
  • If there are error windows, then a link to the "ui.log" file found via the "Open Log in ..." Help menu command inside GMS2
  • If it is a code issue, then link to or attach a YYZ showing the most basic project possible which exhibits the behaviour
  • If you receive any error dialogues, please screenshot them
  • If it is a system issue (like compiling to a specific target) then please provide details of the PC being used as well as the software versions involved
Again: posting a comment in these release threads is not a replacement for filing a bug!


Release Notes

Runtime Release Notes



Current Release IDE v23.1.1.261 Runtime v23.1.1.264 (Mar 12, 2021)


Changes/fixes are shown at the top of the release notes and at the top of this thread, but you can see we have added even more IDE and manual translations in this version (plus added the remaining stuff for Chinese), so please do give these a try also if you're familiar with these languages.

One request for CocoaPods users who had issues compiling projects with the "pod install" command saying it could not be found - can you please confirm this is now fixed on your machines, please? We did find an issue with the OS permission level GMS2 was trying to use, which could have caused this to fail in some cases.

Known Issues (in no priority order):
  1. Games launched in fullscreen, but then forced out of fullscreen via some method other than Alt+Enter or window_set_fullscreen() go into a borderless mode and mouse input is incorrect.


Beta 2 - IDE v23.1.1.255 Runtime v23.1.1.260 (Feb 24, 2021)

Quite a lot of bug fixes for the IDE and runtime, so I won't list them all here, but you can see them all at the top of each of the release notes pages linked-to just above.

Known Issues (in no priority order):
  1. The manual doesn't download the correct one - it gets you 2.3.1's manual.
  2. The Chinese IDE translation is still work-in-progress and incomplete - there is also the typo mentioned below that the Preference calls it "English" but using Chinese characters.
  3. Calling ord(integer) silently crashes YYC, but works on VM.
  4. Games launched in fullscreen, but then forced out of fullscreen via some method other than Alt+Enter or window_set_fullscreen() go into a borderless mode and mouse input is incorrect.
  5. On VM targets, appending multi-dimensional arrays using += and not using array accessors can cause silent crashes or "Index out of bounds" errors, calling gc_collect() can prevent this for some reason.


Initial Release IDE v23.1.1.249 Runtime v23.1.1.254 (Feb 11, 2021) - PLEASE UPDATE!

You will see from the notes above that there is also a companion post What's New in 2.3.2? which goes over the new features in a lot more detail and has a couple of small "demo" projects you can download. Hope you like it.
In Windows Defender, you will need to verify device security in kernel isolation; if enabled this locks some parts in CMD along with folders.

In addition, with the security processor it adds another layer, in my case with the version of 'Windows defender 1.333.387.0', it did not affect to save my projects, but it must be taken into account.

In Protection against viruses and threats in Ransomware, this layer blocks access to folders to write or modify, you can disable this to manage, write, load and delete with any software, you can also add exceptions, but in my case this did not work even with GMS2 or BASH-GIT, so I had to disable this layer for a moment to save my projects to GitHub.

errorgms2.png
 
Last edited:

drandula

Member
In HTML5 I get following error in debugger:
Unhandled Exception - Uncaught { message : "unable to call function undefined typeof=undefined", longMessage : "unable to call function undefined typeof=undefined", stacktrace : [ "function _4e("unable to call function undefined typeof=undefined")
","function __yyg_call_method([undefined])
","function gml_Object_obj_testing_Creation_Step_0([instance], [instance])
","function(769, 0, [instance], [instance])
","function(769, 0, [instance], [instance])
","function(769, 0)
","function _pe3()
","function _Wd3()
","function _xd3(108975.967)
" ], script : "", line : -1 } in file undefined at line undefined
###game_end###-1
In my case error happens when I have array of structs, and call struct method.
GML:
// Example
for(var i = 0; i < array_length(mlp); i++) {
    mlp[i].Forward(input);
}
Is this same error which was mentioned in Beta runtime 254:
" In-Game: [HTML5] Debug runs give error "unable to call function undefined typeof=undefined" when calling a function in an array "
 

ZigZag

Member
I'm using almost exclusively vector graphics in my projects, any chance the 9-slice system is going to support vectors graphics? I know this could be an issue due to the major differences between bitmap and vector graphics.
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
I think I found something that broke in Runtime 23.1.1.264. Example:

Code:
/// @description Create Event

objVar1 = 50

myStruct = {
    structVar1 : objVar1,          // This works OK.
    structVar2 : max(objVar1, 200) // This causes an error: Variable struct.objVar1(100003, -2147483648) not set before reading it.
}
There is a runtime crash at structVar2's initialization. The error message indicates that objVar1 isn't set before reading it, and that it appears to be expecting objVar1 to be a member of a struct, which it isn't.

This code worked fine in Runtime 23.1.1.260

Edit: This bug has been reported to YoYo and has been added to their bug database.
It was me who reported it, a couple of hours after Beta release and it is a bug and it is being solved for next beta I believe!
 

Dan

GameMaker Staff
GameMaker Dev.
IDE v23.1.1.263 Runtime v23.1.1.265 are rolling out now. (EDIT: Fixed my copy/paste typo now...)

A much smaller release this time, largely just to fix the structs/statics/methods issues you all reported here and in tickets with Beta 3.

However, this version also introduces an updated Windows installer/uninstaller which has support for the new IDE languages supported in 2.3.2. It will also now save your chosen language and so not ask you to pick the installer language every time you update GMS2. (Mac IDE installer now supports the new languages also, but continues to always just use whatever your OS language is.)

And we also made setting image_index manually follow the old rules 2.2.5-and-older followed, thanks to the discussion in https://forum.yoyogames.com/index.php?threads/image_index-in-gms-2-3.78157/#post-503501 about the 2.3.0+ behaviour breaking existing game logic. Note that if you set image_index manually to a frame which would normally send a sprite broadcast message, then this will not be fired - this will only happen if the image ticks up/down to that frame normally. We also made some fixes for other bugs when your image_speed was a negative and so you got issues with animation end events and sprite broadcast messages firing repeatedly or at the wrong time. Please do check this version out if you contributed to that thread and do let us know if all is well now.
 
Last edited:

Dan

GameMaker Staff
GameMaker Dev.
nice for the Chinese manual!!!!

although has some mistake description, such as:
Thanks - have passed this information on now.


GameMaker still copies included files to all of the targets ignoring included file settings (all platforms unchecked).

There's no way to unselect directories either.
We have reproduced the first part and added that to the bug database now. The second line has been added to the suggestion feature backlog.


Is this same error which was mentioned in Beta runtime 254:
" In-Game: [HTML5] Debug runs give error "unable to call function undefined typeof=undefined" when calling a function in an array "
I will get that one re-verified in case I made a mistake with the release notes or the fix got broken. If you could send us a ticket with small sample, just in case there is a related second issue which gives the same message, then that would further clarify things.
 

gnysek

Member
That was quick, and I like that community opinions have an impact on it!
I think it's time to think about Polish IDE translations, except Krystian or Maciej are on it 🙃
 

drandula

Member
If you could send us a ticket with small sample, just in case there is a related second issue which gives the same message, then that would further clarify things.
It seems I cannot replicate it in manner I could give small sample. I'll try again later.
 

gnysek

Member
I see that new tutorials page is up (was down yet yesterday), and whole YYG website got some overhaul, so stable should be out very soon (except QA will find some bug in last moment) :)
 

Ricardo

Member
I see that new tutorials page is up (was down yet yesterday), and whole YYG website got some overhaul, so stable should be out very soon (except QA will find some bug in last moment) :)
Yeah... My silent crash got confirmed but still happens in v23.1.1.265. I'm very worried next "stable" will still have the problem forcing my important project to get stuck in an older runtime.
 
IDE v23.1.1.261 Runtime v23.1.1.264 is rolling out now.

Changes are shown at the top of the release notes and at the top of this thread, but you can see we have added even more IDE and manual translations in this version (plus added the remaining stuff for Chinese), so please do give these a try also if you're familiar with these languages.

One request for CocoaPods users who had issues compiling projects with the "pod install" command saying it could not be found - can you confirm this is now fixed on your machines, please? We did find an issue with the OS permission level GMS2 was trying to use, which could have caused this to fail in some cases.
In my case still causing issues while I try to compile the game "Pod install result: /bin/bash: pod: command not found" I'm using the Beta IDE v23.1.1.263 macOS Catalina 10.15.7 Macbook Air 11-inch Mid 2012
 

Dan

GameMaker Staff
GameMaker Dev.
Yeah... My silent crash got confirmed but still happens in v23.1.1.265. I'm very worried next "stable" will still have the problem forcing my important project to get stuck in an older runtime.
I will check on that one - it might have just missed the Beta 4 cut-off, but I did think it was in...

In my case still causing issues while I try to compile the game "Pod install result: /bin/bash: pod: command not found" I'm using the Beta IDE v23.1.1.263 macOS Catalina 10.15.7 Macbook Air 11-inch Mid 2012
Assuming you have followed https://help.yoyogames.com/hc/en-us/articles/360008958858-iOS-and-tvOS-Using-Cocoa-Pods already, and also cleaned your compiler cache at least once since installing this new Beta, could I ask you to send us a Helpdesk ticket with a full compiler log and the project .yyz which fails to compile, please?
 

Ricardo

Member
@Ricardo and @DroidGames Studio can you please check that you are on the correct Runtime should be v23.1.1.265 as both these bug fixes would be in the relevant runtime not the IDE

Russell
Hey @rwkay, I'm running the right runtime (23.1.1.265) and the silent crash I'm referring to still happens on it. @Dan told me he managed to reproduce the crash (ticket 180965) so I guess the fix didn't arrive in time. Please let me know if this bug should have been fixed in 23.1.1.265... Maybe there's another issue we have to investigate and isolate.
 

Dwarfaparte

Member
Not sure if this is known, but I have a problem in the beta with json_stringify and json_parse when a value in a stringifyed and then parsed struct is set to undefined. After the struct is turned into a json and then parsed, the undefined value is returned as a pointer?
GML:
Test = {}
Test.T = undefined
Str = json_stringify(Test)
Parse = json_parse(Str)
Result = Parse.T
 

rwkay

GameMaker Staff
GameMaker Dev.
@Dwarfaparte - undefined handling in JSON (according to the spec) is, well; undefined and Javascript filters out undefined completely from JSON handling to allow for cross platform handling we have decided that any undefined value that you have is converted to a null (because we can handle that consistently across platform) so that is what you are seeing.

This is not a bug and the documentation will be getting updated to reflect this @matharoo (just checking you are aware)

Russell
 
Last edited:

gnysek

Member
In one way, I like that "documentation is getting updated to reflect this", but in fact most of us isn't opening manual for specific function after reading it and understanding first time/several times, so once again I'm asking for some short "sum-up" list of functions which got description/changed updated, as sometimes those updates are really important, but who have time to review ALL functions. I'm sometimes using diff tools between beta and stable, but this works only as long as html structure isn't touched, otherwise all files are marked as modified. I'm using some functions for 18 years now, so there's really small amount of those that I need to check again (mainly async functions, or those who returns some structs).
Would be good to get shortlist of those important updates/clarifications (only function names) in release notes.
 

Ricardo

Member
Agree. Changelogs need to be more clear about stuff changing. When testing a Beta release, is usually not clear if something changed for good or if it is a bug. Waiting for the updated manual is just not fast enough.
A more detailed changelog for the Betas will save you guys a lot of support tickets IMO and will also make our life easier.
 

Dan

GameMaker Staff
GameMaker Dev.
Hey @rwkay, I'm running the right runtime (23.1.1.265) and the silent crash I'm referring to still happens on it. @Dan told me he managed to reproduce the crash (ticket 180965) so I guess the fix didn't arrive in time. Please let me know if this bug should have been fixed in 23.1.1.265... Maybe there's another issue we have to investigate and isolate.
No, it should not be fixed in that one, as I can still reproduce the issue in a later version and it's still in our bug DB. Think that was some confusion on my part, to be honest, so apologies for that.
 

Dan

GameMaker Staff
GameMaker Dev.
IDE v23.1.1.266 Runtime v23.1.1.268 is now rolling out

Another small release, largely because CocoaPods should now be fixed in the Mac IDE (it certainly works for our Macs now), so please do give that a go and confirm that it's fixed for you also.

Plus also some more silent game crash fixes.

As per usual, you can find the detail for these changes since Beta 4 at the top of the release notes pages.
 

gnysek

Member
Nice, we have 5th beta, and there's more than 200 bugs solved, not to mention new features. I'm sure that those who are still on 2.2.x can finally safely move onward with next stable release.
 

Ricardo

Member
IDE v23.1.1.266 Runtime v23.1.1.268 is now rolling out

Another small release, largely because CocoaPods should now be fixed in the Mac IDE (it certainly works for our Macs now), so please do give that a go and confirm that it's fixed for you also.

Plus also some more silent game crash fixes.

As per usual, you can find the detail for these changes since Beta 4 at the top of the release notes pages.
Yay! Silent crash is gone :)

@Dan is there a known issue with the debugger's breaking points? If I have a breaking point in something like
GML:
event_perform(ev_cleanup,0);
And if I press F11 (Step into function call), the debugger doesn't jump into the event (it behaves like I used Step out).
 

gnysek

Member
I think it's by design, cause on instance create you also aren't going into newly created instance "create" event (while it's executed before next line of code, so it enters there).
But it would be nice if it would work this way, so you can report it as suggestion.
 

Ricardo

Member
I think it's by design, cause on instance create you also aren't going into newly created instance "create" event (while it's executed before next line of code, so it enters there).
But it would be nice if it would work this way, so you can report it as suggestion.
My example work well on current Stable, so... There's something there.
 

Dwarfaparte

Member
@Dwarfaparte - undefined handling in JSON (according to the spec) is, well; undefined and Javascript filters out undefined completely from JSON handling to allow for cross platform handling we have decided that any undefined value that you have is converted to a null (because we can handle that consistently across platform) so that is what you are seeing.
Russell
I get that Json doesn't support undefined and just outputs it as the string "null". In the current stable release json_parse converts a "null" back to <undefined>, but in the current beta, json_parse converts "null", from what I can tell to a pointer of <0>? Is that intended?
 

rwkay

GameMaker Staff
GameMaker Dev.
I get that Json doesn't support undefined and just outputs it as the string "null". In the current stable release json_parse converts a "null" back to <undefined>, but in the current beta, json_parse converts "null", from what I can tell to a pointer of <0>? Is that intended?
Yes as I stated that was the only way to keep it all working across the platforms, my preferred approach would have been to convert it to undefined but I could not get that to work correctly (and consistently) within the HTML5 target.

Russell
 

gnysek

Member
Maybe introduce null type in next GMS version then (which can equal to pointer to <0>, to be backward compatible)? Then json_stringify should crash on using "undefined" values.
 

Dwarfaparte

Member
Yes as I stated that was the only way to keep it all working across the platforms, my preferred approach would have been to convert it to undefined but I could not get that to work correctly (and consistently) within the HTML5 target.

Russell
Thanks Russell, all is clear now. Sorry for the misunderstanding! I'll have to root out all the undefined values I have in my json save game system but it's not the end of the world!
 

drandula

Member
I made bug report, but I'll mention it here too.
There is memory leak in IDE when scrolling through fonts. Eventually IDE becomes unstable and memory usage has grown from around 250MB to over 1000MB (Task Manager info).
This memory usage doesn't get cleaned when clearing cache or switching projects.

Issue is most present when you are casually looking through all your fonts trying to find "best font".
 
Status
Not open for further replies.
Top