OFFICIAL GMS2 Version 2.2.2 (FULL RELEASE)

Status
Not open for further replies.

rmanthorp

GameMaker Staff
Admin
GameMaker Dev.
IDE v2.2.2.413 with Runtime v2.2.2.326

Release Notes

Runtime Release Notes


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

You should post here if:
  • Something has changed between the previous version and this one, breaking your game (ie: 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, 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 in the ProgramData folder for 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!
 
Great!. If you have a moment, I was wondering, are there any changes between the latest Beta and this Stable Release? Would you recommend switching to this Stable release, or is there no difference in the functionality? I notice the IDE version is the same, but the runtime is 326 rather than the 325 of the Beta.
 

Dan

GameMaker Staff
GameMaker Dev.
There is no difference in the IDE or the runtime compared to the last beta version, other than the formatting of the release notes to remove the additional bits we added for each beta release and shuffle this info into the relevant section.

We have to do another build as part of the release process anyway, so the stables will always be +1 at least on the last beta, but this time there were a couple of issues doing the upload and so this is why there is a bit of a jump in version numbers.
 
There is no difference in the IDE or the runtime compared to the last beta version, other than the formatting of the release notes to remove the additional bits we added for each beta release and shuffle this info into the relevant section.

We have to do another build as part of the release process anyway, so the stables will always be +1 at least on the last beta, but this time there were a couple of issues doing the upload and so this is why there is a bit of a jump in version numbers.
Ah, of couse. Hope you don't get too many emergency hot fix bugs to deal with this time round! In conclusion, I will switch to Stable so if there is a hotfix I can get it straight away, as I presume the Beta won't be updated anymore till the next Beta testing time.
 

Dan

GameMaker Staff
GameMaker Dev.
Precisely.

EDIT: Sorry, just realised I forgot to actually recommend a course of action in my earlier message ;) We would always recommend updating to the Stable, for the exact reason you just said.
 

kupo15

Member
Awesome, this is supposed to fix my surface issue due to my large textures. I'm looking forward to testing this out tonight to see if its fixed :)
 

Mert

Member
Facebook Support Change
  • Created a new Facebook extension for implementing up-to-date FB functionality, replaces our legacy version released a long time ago
  • Removed all the old "facebook_..." functions and constants from the runner, so now if you don't add the FB extension your game has no FB code in it
  • Any project using the old integration now needs to be updated to use the new extension and new function names, etc.
  • See the Marketplace for the new extension and this Helpdesk guide on implementing the extension in your projects
Please also post this extension to Marketplace (Can't extract it from the project)
 

Khao

Member
The sprite editor has a minor problem now. But it's a bit hard to explain with just words.

When I open certain sprites, with a specific amount of sub-images, the preview frames on the top of the editor window start flickering like crazy, going from big to small. It doesn't really break anything, and gets solved just by dragging windows around, but it's extremely annoying. I don't really know how else to explain it, it's like the preview images can't decide what size they should be displayed at so they just constantly swap from big to small.

Like, changing from this:

To this:

Back and forth super rapidly every frame.

It's actually ridiculously easy to replicate. Just drag the resources tree to shrink the sprite editor to the exact point where there's just not enough space to have the big preview images. I'm sorry if I'm not explaining it well, I could make a short video to demonstrate the issue if that'd be more helpful.
 

Smiechu

Member
Just installed this update...

The Font editor doesn't work... when I double click on a font in resource tree - nothing happens, when right click => edit - nothing happens...
 
Just installed this update...

The Font editor doesn't work... when I double click on a font in resource tree - nothing happens, when right click => edit - nothing happens...
Make sure you are not using a custom skin/theme on the IDE. This was also found during the beta and seems to be exactly the same issue as you are having:
@Dan, that was it! It was a custom skin I've made. I feel terribly sorry for the inconvenience.
There seems to have been some changes in the files "font_edit.xml" and/or "font_edit_range.xml" in <skin folder>\Layouts. I replaced them with the default ones and now the font window is back. Once again thank you very much.
 

Carnivius

Member
I still get crashes on start up. :/ Will file report and upload logs.

Edit: I just received an extremely quick response from Dan and it informs me (confirming some suspicions I've had) that's it's a computer issue rather than Gamemaker itself and has supplied some suggestions about fixing it (the first one I've already tried many times, but the second one, referring to the opengl driver in the mesa folder of GM's program files seems promising). So this isn't a GM problem. Sorry. :)
 

Attachments

Last edited:

Flaick

Member
I've updated with latest version of IDE. But now, when i close the application, it's still remain as active process. I have to kill the task. (Windows 7 64 bit here).
 
N

Naoki

Guest
95% of the text in my game is not working anymore.
I had buttons (sprites) on my main menu "Play", "Options" etc., they are invisible now (the objects exist, I can click on it and it works but they are invisible) and when I go in the options, no text is appearing.
 

Dan

GameMaker Staff
GameMaker Dev.
Have you cleaned your project cache and tried building the project again? This will hopefully fix straight away. You might need to click the generate button on the font editor to fix the fonts for 2.2.2.
Also, you're definitely using 2.2.2 runtimes with the 2.2.2 IDE, right? The release notes say issues might occur in this situation.

If none of these fix your issue, send us a ticket with a small sample (like, one of your fonts being drawn on one button) so we can see how you're doing this.
 

clee2005

Member
Please also post this extension to Marketplace (Can't extract it from the project)
Yeah I had the same problem. I had to go into the iOSSourceFromMac folder and move the *.framework.zip files out of there, then you can package to the marketplace (privately) and then download it as an extension. You'll have to replace those files after you import the extension.

I have gone through the Facebook upgrading and notice that the facebook_send_invite function is gone with no replacement in the new Facebook extension. This is one of the most valuable features of the Facebook integration. How are we to implement this now?
 
Last edited by a moderator:

Dan

GameMaker Staff
GameMaker Dev.
I have gone through the Facebook upgrading and notice that the facebook_send_invite function is gone with no replacement in the new Facebook extension. This is one of the most valuable features of the Facebook integration. How are we to implement this now?
That functionality has been removed by FB, not by us. That updated extension is current to all officially-supported FB functionality.

https://developers.facebook.com/docs/archive/docs/app-invites/
"With the release of the Facebook SDK version 4.28.0, App Invites is deprecated. It will be supported until February 5, 2018"

You can find various third-party services giving this functionality, but it's not for us to recommend one untested.

As for how to get the extension from the demo project into your own, you can simply open the .yyz for the Facebook demo and save this as a project on your machine. Then open your own game project and right-click Extensions in your resource tree, choose Add Existing, and browse to the FB extensions. yy from where you save that project. There is no need to go to the hassle of creating yourself a private Marketplace asset, uploading and downloading. I will now ensure that FAQ says this...

However, we will of course be uploading the extension to the MP now that 2.2.2 is fully out - there is a Marketplace bug currently blocking us from doing this, so it will be a couple of days while we fix that issue for all users first.
 
C

Clemens van Brunschot

Guest
[SOLVED] I think that the make_colour function is not interpreted right by the code checker. But the code DOES work.

Edit: I should have written make_colour_rgb(...). It does work without the _rgb, though.
 

Attachments

Last edited by a moderator:
C

Clemens van Brunschot

Guest
Try spelling it as make_color() - USA spelling - or change your preferences to use UK spelling. That's the issue I would guess.
[SOLVED] Nope, makes no difference.
 
Last edited by a moderator:
P

psyke

Guest
Ok, I'm going to give my personal opinion on this release:

I've opened my project in this version, and to my surprise the root corruption error was gone and my project was fixed.

I still got some crashes during the game, but that's expected since my project is really big right now, but I've managed to fix all of them.

Some of the crashes/weird behaviors that happened on my project:
1 - Setting an alarm like "alarm[0] = 0.01 * FRAMES" doesn't work on this version, but "alarm[0] = 0.02 * FRAMES" works (FRAMES = game FPS), this could be actually my fault, not blamming anyone on this;
2 - Most of the crashes were something like this: "illegal undefined/null use". I did some tests and aparently I was trying to access an index on an empty list, in the previous version it didn't give me errors, I guess this was a change on GML;
3 - Some crashes regarding the creation of objects. I was creating objects using the depth functions, but I was providing a layer name instead. Strangely, I didn't got these error messages on previous versions, so this was a mistake I made and the new version showed me the error, so +1 for this.
4 - Some crashes when trying to convert an empty string to a int64. Not sure if this is a bug or a change on GML as well.

So far so good, this seems like a very stable release, I also noticed that my game runs smoother, the parallax on the backgrounds and the objects doesn't seem to flicker/tear anymore, I assume that big changes happened on the rendering engine of Game Maker.

This is the first time I got really happy with a release, it didn't break any major stuff on my project, so that's already a good sign. I'm also testing the IDE, and I also haven't got any freezes when trying to compile or package my game.

Congratz to the YYG devs!

:)
 

Electros

Member
Hi - I'm receiving an "exited with non-zero status (1)" message when trying to package a UWP build for XBox One using the YYC This has worked previously, and running with Windows + YYC works fine.

Platform: Windows UWP, Worker: Local, Output: YYC, Device: XBox One

Error message:
FlightOfTheAthena211.vars.cpp
Creating library Z:\FlightOfTh_1E70E80D_550D80AB\FlightOfTheAthena211\default\Scripts\WinUAPSolution\x64\Release\FlightOfTheAthena211\FlightOfTheAthena211.lib and object Z:\FlightOfTh_1E70E80D_550D80AB\FlightOfTheAthena211\default\Scripts\WinUAPSolution\x64\Release\FlightOfTheAthena211\FlightOfTheAthena211.exp
gml_Script_scr_Boss_Creation.gml.obj : error LNK2001: unresolved external symbol "void __cdecl YYDuplicateMultiply(struct YYRValue *,struct YYRValue const &)" (?YYDuplicateMultiply@@YAXPEAUYYRValue@@AEBU1@@Z) [Z:\FlightOfTh_1E70E80D_550D80AB\FlightOfTheAthena211\default\Scripts\WinUAPSolution\FlightOfTheAthena211.vcxproj]
Z:\FlightOfTh_1E70E80D_550D80AB\FlightOfTheAthena211\default\Scripts\WinUAPSolution\x64\Release\FlightOfTheAthena211\FlightOfTheAthena211.dll : fatal error LNK1120: 1 unresolved externals [Z:\FlightOfTh_1E70E80D_550D80AB\FlightOfTheAthena211\default\Scripts\WinUAPSolution\FlightOfTheAthena211.vcxproj]

C:\WINDOWS\system32\cmd.exe exited with non-zero status (1)

The referenced script is below - though I guess if there was a problem with the code, it wouldn't compile with Windows + YYC?

Code:
///Script for creating the enemy boss within the level timeline
/*
This script takes in the following arguments:
argument0: BossType                        //The type of boss to create (from enemyCraft enum)
argument1: xOffsetPercent                    //The percentage +ve or -ve off from the current view centre
argument2: yOffsetPercent                    //The percentage +ve or -ve off from the current view centre
argument3: Direction                        //The initial direction of the enemy
argument4: DirectionRotate                    //Whether to rotate the sprite & firing points to face the direction of movement
argument5: BossPath                            //The initial movement path to assign to the boss

Notes:
-The spawn offsets are from the current camera object / centre view.
-The edge of the view will therefore be -50% to +50% on the respective axis.
-So to spawn an enemy boss outside of view, one or both of these values needs to be outside this range
*/

//Setup the script vars
var bossType = argument0;
var eXOffsetPercent = argument1;
var eYOffsetPercent = argument2;
var bossDirection = argument3;
var bossDirectionRotate = argument4;
var bossPath = argument5;


var eCraft = instance_create_depth(obj_Camera.x + (global.ViewPortWidthOne * eXOffsetPercent), obj_Camera.y + (global.ViewPortHeightOne * eYOffsetPercent), -500, obj_Blank);
with(eCraft)
    {
    //Set up the player specific variables to pass through to obj_Player
    bType = bossType;
    bDirection = bossDirection;
    bDirectionRotate = bossDirectionRotate;
    bPath = bossPath;

    //Shift the instance to the boss object, now that the initialisation variables have been set
    instance_change(obj_Boss, true);
    }
Update 1: The problem I think is the * multiplier in the instance create - a simple 2 object test project works with the Windows YYC but fails with the UWP YYC.

Create a blank project, create two objects obj_A and obj_B, drop obj_A into the room and add the below in the obj_A creation code.

Code:
viewPortWidthOne = view_get_wport(0) / 100;
viewPortHeightOne = view_get_hport(0) / 100;

var eXOffsetPercent = 10;
var eYOffsetPercent = 10;

instance_create_depth(x + (viewPortWidthOne * eXOffsetPercent), y + (viewPortHeightOne * eYOffsetPercent), depth, obj_B);
UWPYYCTest1.vars.cpp
Creating library Z:\UWPYYCTest_BDEA49AC_D6A589DF\UWPYYCTest1\default\Scripts\WinUAPSolution\x64\Release\UWPYYCTest1\UWPYYCTest1.lib and object Z:\UWPYYCTest_BDEA49AC_D6A589DF\UWPYYCTest1\default\Scripts\WinUAPSolution\x64\Release\UWPYYCTest1\UWPYYCTest1.exp
gml_Object_obj_A_Create_0.gml.obj : error LNK2001: unresolved external symbol "void __cdecl YYDuplicateMultiply(struct YYRValue *,struct YYRValue const &)" (?YYDuplicateMultiply@@YAXPEAUYYRValue@@AEBU1@@Z) [Z:\UWPYYCTest_BDEA49AC_D6A589DF\UWPYYCTest1\default\Scripts\WinUAPSolution\UWPYYCTest1.vcxproj]
Z:\UWPYYCTest_BDEA49AC_D6A589DF\UWPYYCTest1\default\Scripts\WinUAPSolution\x64\Release\UWPYYCTest1\UWPYYCTest1.dll : fatal error LNK1120: 1 unresolved externals [Z:\UWPYYCTest_BDEA49AC_D6A589DF\UWPYYCTest1\default\Scripts\WinUAPSolution\UWPYYCTest1.vcxproj]


C:\WINDOWS\system32\cmd.exe exited with non-zero status (1)
@rmanthorp

Update 2: Raised with support (attached test project) #156421
 
Last edited:

True Valhalla

Full-Time Developer
GMC Elder
There is no need to go to the hassle of creating yourself a private Marketplace asset, uploading and downloading.
Was this a recent addition? It's the first I've heard about a change to the extension import process.
 

rIKmAN

Member
Was this a recent addition? It's the first I've heard about a change to the extension import process.
No, if you read the full paragraph you took your quote from you will see that the extension has already been created and exported, so can just be dragged into the IDE as it's already a .yyz.

I'm pretty sure he means that there is no need to upload / download to the MP because it's already a created extension, unlike how you are forced to if you are creating your own extension in the IDE.
 
Last edited:

True Valhalla

Full-Time Developer
GMC Elder
No, if you read the full paragraph you took your quote from you will see that the extension has already been created and exported
I read the entire comment. At the end, Dan suggested the extension was made without actually being available on the marketplace yet so I thought that process might have been changed recently (which is what we've all been demanding for years now).

Wishful thinking on my part...
 
Last edited:
A

AlexMdle

Guest
Since the update gms2 refuses to save and quit. It becomes unresponsive while System Interrupts process in task manager racks up 100% cpu use for a while.
 

hdarren

Member
Since the update gms2 refuses to save and quit. It becomes unresponsive while System Interrupts process in task manager racks up 100% cpu use for a while.
I am getting this too. Except it crunches the Disk at 100% while the CPU usage is in low tens.
 
S

Starlight

Guest
Code:
move = "EnemyIdle";
move.state = states.idle;
This worked on 2.2.1.375. Now causes an error on 2.2.2.413

Code:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Create Event
for object object_tempEnemy:

unable to convert string "EnemyIdle" to int64
 at gml_Object_object_tempEnemy_Create_0 (line 19) - move.state = states.idle;
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Object_object_tempEnemy_Create_0 (line 19)
 

dragoncoke

Member
The release notes mention a new extension for push notifications on Android, "Google Play Push Notifications". But I can't seem to find this on the marketplace.
 

FrostyCat

Redemption Seeker
Code:
move = "EnemyIdle";
move.state = states.idle;
This worked on 2.2.1.375. Now causes an error on 2.2.2.413

Code:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Create Event
for object object_tempEnemy:

unable to convert string "EnemyIdle" to int64
 at gml_Object_object_tempEnemy_Create_0 (line 19) - move.state = states.idle;
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Object_object_tempEnemy_Create_0 (line 19)
This is the kind of code that YoYo should have put their foot down and thrown errors at a long time ago. Even if it never threw an error, it's doing something else that most rookies would never expect. See my response to your other topic.

I expect more sloppy code that used to be mis-forgiven calling themselves out over the next few weeks. Some examples I've already seen include:
  • Comparisons in the form !a == b
  • Treating instance and object IDs as strings
  • Intentionally stepping outside the bounds of a data structure
  • No explicit handling for empty/invalid entries in user/file input
2.2.2 is doing a great job showing why YoYo should start seeing looseness in GML as a liability rather than an asset. To forgive bad code is to encourage silent bombs to hide in people's projects and secretly do unexpected things behind people's backs.
 
S

Starlight

Guest
2.2.2 is doing a great job showing why YoYo should start seeing looseness in GML as a liability rather than an asset. To forgive bad code is to encourage silent bombs to hide in people's projects and secretly do unexpected things behind people's backs.
I completely agree with you for the record
 

clee2005

Member
Anyone able to get the new Facebook Extension to work with iOS? I just spent a bunch of time and cannot make graph requests. After logging in successfully and seeing the status as AUTHORISED calls to the fb_graph_request() always result in a "facebook graph request error : user not logged in". The Android version is working as expected.

I verified this with the provided demo project as well.

Edit : I think I just found the issue. It's line 312 of the facebookextension.mm file should be :

if ([FBSDKAccessToken currentAccessToken] == nil)

instead of :

if ([FBSDKAccessToken currentAccessToken] != nil)
 
Last edited:
N

NeonBits

Guest
Comparisons in the form !a == b
hum.. *covers his head* .. is "!a == b" a "simplified exemple", coz I thought
Code:
if (a != b) {}
was the same as
Code:
if !(a == b) {}
.. is it right or... *closes one eye and looks up with the other carefuly*
 

FrostyCat

Redemption Seeker
hum.. *covers his head* .. is "!a == b" a "simplified exemple", coz I thought
Code:
if (a != b) {}
was the same as
Code:
if !(a == b) {}
.. is it right or... *closes one eye and looks up with the other carefuly*
!a == b doesn't evaluate to !(a == b), it evaluates to (!a) == b. That's why the comparison I described is a problem. 2.2.2 throws an error on it if a doesn't cast properly, while on 2.2.1 and below it carries on silently with an operation most people don't expect.

And in case you think I'm making it up, here is where I saw it.
 
N

NeonBits

Guest
Hi Neko Geisha ^ ^
Hey, no, I would never think you're making this up with those sharp claw o.o
And thanks for the explanation
 

Dan

GameMaker Staff
GameMaker Dev.
Anyone able to get the new Facebook Extension to work with iOS? I just spent a bunch of time and cannot make graph requests. After logging in successfully and seeing the status as AUTHORISED calls to the fb_graph_request() always result in a "facebook graph request error : user not logged in". The Android version is working as expected.

I verified this with the provided demo project as well.

Edit : I think I just found the issue. It's line 312 of the facebookextension.mm file should be :

if ([FBSDKAccessToken currentAccessToken] == nil)

instead of :

if ([FBSDKAccessToken currentAccessToken] != nil)
You are correct. This has now been fixed, and the download at the top of https://help.yoyogames.com/hc/en-us/articles/360004488072 has now been updated with this fix.
 

Yizzard

Member
So I'm not sure what caused this, but after updating to 2.2.2, when I run the game only the background and the visible tiles layers show up. None of my objects are being drawn. When I have a textbox come onto the screen it shows up fine, but none of my objects or my "collision tiles" (Just some red tinted tiles meant to show collision, normally they are set to invisible because they're just for invisible walls, but I turned them to visible to see if they would show up, but they don't) show up at all. It's like anything that isn't just an image and has code attached to it is now invisible. They are there however, because when I try to walk around the camera will move around following where the player is supposed to be. (I have the auto camera follow player object thing selected). Any ideas as to why this is happening? I use a ds grid to sort depths of objects, so is something breaking the depths? If so that doesn't explain why the collision tiles are invisible, as they are not in the ds grid, they are just regular tiles on a different tile layer.
Any info on this problem would be much appreciated!
 

True Valhalla

Full-Time Developer
GMC Elder
after updating to 2.2.2, when I run the game only the background and the visible tiles layers show up.
I had the same problem after updating. Try clicking the "Clean" button in the top left toolbar, that fixed it.

I wish GameMaker would resolve this type of behavior automatically though - it really shouldn't be the user's responsibility to deal with this or know when they have to click an obscure button. Beginners, students, and hobbyists must find this so frustrating.

It's the biggest flaw that I regularly encounter in GameMaker, to the point where it's basically a severe bug/crash. I don't know why YoYo Games have deemed this behavior to be acceptable; we should never have to click "Clean" as far as I'm concerned.

It's stupid. But no one talks about this, it's become the status quo.
 
Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
It's the biggest flaw that I regularly encounter in GameMaker, to the point where it's basically a severe bug/crash. I don't know why YoYo Games have deemed this behavior to be acceptable; we should never have to click "Clean" as far as I'm concerned.
It's certainly not a bug! It's a trade off... You either have a cache or you don't, and NOT having it means that you will have much longer build times as each resource needs to be prepared every build. With a cache, this isn't the case so build times are much reduced, with the down side that sometimes the cache becomes stale and needs to be cleaned. I don't think this can be detected automatically, so it is something that the user needs to do. I also think you find this more of an issue than most due to your extensive use of the HTML5 platform, which I've found to be far more susceptible to cache issues than any of the other platforms (which may be something that is worth looking into, actually, as I'm not sure why that should be the case).
 

spinout

Member
When I build for Android I try to tick off all 4 architectures. When I upload the version to the store it says I have removed both arm64 and x86_64 versions. It doesn't appear to get added.
 

rIKmAN

Member
Might I suggest have it so GM automatically does a full cache clean after it detects a change in GM version.
Go to File > Preferences > General > Paths and tick the boxes to delete the caches every time the IDE is closed.
 
Status
Not open for further replies.
Top