OFFICIAL GMS2 Version 2.2.1 (FULL RELEASE)

Status
Not open for further replies.

rmanthorp

GameMaker Staff
Admin
GameMaker Dev.
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!
 

kupo15

Member
Is something wrong with the desktop version of both release note pages? Nothing is being shown but the mobile version seems to work
 

breakmt

Member
Is "Getter Functions" in Roadmap = Code Editor: Added new DnD nodes for "Get Draw Font" and "Get Text Alignment" ?
 

Dan

GameMaker Staff
GameMaker Dev.
Can you confirm if the site has been loaded using http:// or https:// - I wonder if https:// works properly for you. We have recently updated the release notes page to support this, as Chrome seems to enforce https now.

Other than that, it must be a caching issue as the release notes propagate through our servers and should be fixed automatically soon.
 

kupo15

Member
Can you confirm if the site has been loaded using http:// or https:// - I wonder if https:// works properly for you. We have recently updated the release notes page to support this, as Chrome seems to enforce https now.

Other than that, it must be a caching issue as the release notes propagate through our servers and should be fixed automatically soon.
Forgot to mention that, I did notice those pages were unsecure. It used http http://gms.yoyogames.com/release-notes-runtime.html

Changing it to https:// doesn't do anything either. I just tried it on IE which I've never used on this computer and same issue
 

Dan

GameMaker Staff
GameMaker Dev.
Okay, that's actually good. Certainly, if I view that page just now I see 2.2.1.287 content with http and https.

As Ross mentioned, refresh the page periodically and this should soon fix.
 
I

immortalx

Guest
Just tried it on Firefox and it works. It's a bit weird that the arrow changes to "expanded" on hover and the cursor remains like its hovering text and not a link.
But the actual content is expanded when clicked. Also there's no protocol prefix in the address bar, the address just starts with "gms"
 

BlueScarf

Member
Hey everyone, I've had a few problems with the latest release, in regards to code breaking. I do not know if these are considered IDE Bugs or General Bugs, so if you can tell me after I explain my problems, I can report them accordingly.

In the previous version of GMS2 on Steam, GMS2 would ignore conflicting data types and use the newest assignment of that type. For example, I had set several variables as strings initially, and changed them to integers later. It wasn't a huge deal because I went in and made sure they were all the same data type consistently, and it worked.

But I have another problem. When starting a path, and selecting the endaction as "path_action_reverse" the path no longer reverses. It instead resets, and begins at the beginning of the path.

"path_action_reverse"
Example: Point A to B to C
Last version: Point A to B to C to B to A (would loop)
This version: Point A to B to C to A to B to C (loops but doesn't reverse, it just resets)

Is there a change in how "path_action_reverse" works? Is it a new endaction to have what I had previously? My game heavily relies on paths, and this messed me up quite a bit. Is there any solution?

Thank you for your time!
 

JeffJ

Member
I've noticed two minor but strange things with this update (or may have been in between, as I'm coming directly from 2.1.5.246 - so quite a ways back)

1: When showing the debug overlay, the FPS shown seems to be synced to my monitors refresh rate, showing a constant 60 (no v-sync enabled). However, if I then manually change room_speed for just a step, it seems that updates the info shown by the debug overlay, resulting in the usual realfps result. I can't help but wonder that maybe this is somehow linked to the refresh rate monitor bug?

2: Doing a build exe with YYC now also spits out a data.win like the VM option does, where this wasn't the case before. Is this intended? I didn't see that change anywhere in the release notes, but again, may have been in an update before this one that I skipped. Just wanting to check, since as far as I know, data.win has always been for VM builds only.
 
Last edited:

Bruchpilot

Member
1: When showing the debug overlay, the FPS shown seems to be synced to my monitors refresh rate, showing a constant 60 (no v-sync enabled). However, if I then manually change room_speed for just a step, it seems that updates the info shown by the debug overlay, resulting in the usual realfps result. I can't help but wonder that maybe this is somehow linked to the refresh rate monitor bug?
This came up during the beta, there's already a bug # assigned to it: https://bugs.yoyogames.com/view.php?id=30259
 

JeffJ

Member
This came up during the beta, there's already a bug # assigned to it: https://bugs.yoyogames.com/view.php?id=30259
Hmm, as far as I can see from that report, that's for games using v-sync - mine isn't. Nor is it enabled on my monitor or via the Nvidia panel options.
The problem also isn't as described in the report (that it drops when game loses focus). The problem is that it seems to be capped at 60 until I manually make a change for a frame using game_speed=x.

Could still be related, but I feel the difference is important to point out.
 
Last edited:
S

Satori

Guest
I just upgraded to the latest release, and now I'm getting the following error when I exit from my inventory screen:
___________________________________________
Unbalanced surface stack. you are trying to pop a surface that has not been set.​

It does this with both YYC and VM, and the problem did not exist in the previous release. Here is the code for the Draw GUI event:
Code:
if !surface_exists(surf)
    surf = surface_create(surfwidth, surfheight);
  
var xoffset = floor((view_wport[0]-surfwidth)/2);
var yoffset = floor((view_hport[0]-surfheight)/2);

surface_set_target(surf);
draw_set_color(c_black);
draw_rectangle(0, 0, surfwidth, surfheight, false);

var startx = (surfwidth - (gridsize*gridspace))/2;
var starty = (surfheight - (gridsize*gridspace))/2;

for (var i = 0; i < gridsize; i++)
{
    for (var j = 0; j < gridsize; j++)
    {
        var xx = startx + (i*gridspace);
        var yy = starty + (j*gridspace);
        var ij = (j*gridsize)+i
        draw_sprite(spr_inv_slot, 0, xx, yy);
        if global.inventory[# ij, 0] != item.none
        {
            draw_sprite(spr_item, global.inventory[# ij, 0], xx+4, yy+4);
            draw_set_color(c_orange);
          
            // TO DO: draw_text
        }
        if ij == selected
            draw_sprite(spr_inv_select, 0, xx, yy);
    }
}

surface_reset_target();
draw_surface(surf, xoffset, yoffset);
The variable surf is initialized to noone in the Create Event, and the surface is freed in the object Destroy Event.

EDIT: I switched back to runtime version .261 and the error no longer occurs.
 

Attachments

Last edited by a moderator:

JeffJ

Member
I just upgraded to the latest release, and now I'm getting the following error when I exit from my inventory screen:
___________________________________________
Unbalanced surface stack. you are trying to pop a surface that has not been set.​
You should read this:
https://www.yoyogames.com/blog/493/using-surfaces

Basically, you need to properly manage your stack with surface_reset_target().
This is a change that was introduced in the most recent version, but not a bug, so you'll have to adapt your code.

But, as far as I can see, the code you posted looks just fine in this regard, so it's likely something that's happening somewhere else.
 
S

Satori

Guest
You should read this:
https://www.yoyogames.com/blog/493/using-surfaces

Basically, you need to properly manage your stack with surface_reset_target().
This is a change that was introduced in the most recent version, but not a bug, so you'll have to adapt your code.

But, as far as I can see, the code you posted looks just fine in this regard, so it's likely something that's happening somewhere else.
THANK YOU! I was being overly diligent and I had surface_reset_target() both at the end of the Draw GUI event and in my Destroy event. I removed the one in the destroy event and now it works fine with runtime .287. Even so, it would have been nice if the error message had given more information about where the error was occurring. Thanks again!
 
S

Satori

Guest
Now that my little surface issue has been resolved, I must say the new runtime seems to run noticeably faster and smoother than the previous one. Nice job, guys! Now all we need is for the runtime to automatically distribute the workload of different object instances to different processor cores instead of running everything on one core. That would give most games a huge performance boost.
 

Spasman

Member
2: Doing a build exe with YYC now also spits out a data.win like the VM option does, where this wasn't the case before. Is this intended? I didn't see that change anywhere in the release notes, but again, may have been in an update before this one that I skipped. Just wanting to check, since as far as I know, data.win has always been for VM builds only.
I'm curious about this too, my players like to poke their noses in the data.win file if there is one and I'd like to avoid that for the time being in my current project, if possible. If it has anything to do with increasing the optimization then I'd much prefer that in any case.
 
Last edited:
P

psyke

Guest
It's so sad, I would really like to update my Game Maker to that version, but when I tried to import my project, it said something about views being duplicated (root being duplicated, I don't know what that means), I clicked "YES" to Game Maker try to repair it, but when it finished doing the repair, all the folders disappeared from my project :(

roots.jpg


folders.jpg
 
Last edited by a moderator:
J

Jumanj1

Guest
THANK YOU! I was being overly diligent and I had surface_reset_target() both at the end of the Draw GUI event and in my Destroy event. I removed the one in the destroy event and now it works fine with runtime .287. Even so, it would have been nice if the error message had given more information about where the error was occurring. Thanks again!
I found that checking if there is a surface being set before reseting the target fixes the problem too:
if(surface_get_target()!=-1){
surface_reset_target();
}
 
P

Petr Skornok

Guest
I was so happy while downloading new GMS macOS build yesterday and reading that it fixes macOS build crashes. Well, so far it has fixed the previous crashes but new one appeared:

macOS Mojave 10.14.1
Mono JIT compiler version 5.12.0.226
GMS IDE: 2.2.1.375
GMS Runtime: 2.2.1.287

Code:
System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Too many open files
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) [0x00067] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) [0x0000d] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
  at System.IO.File.OpenText (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at GMAssetCompiler.GMAssets+<>c. (System.String ) [0x00088] in <0a2172c8acea479888e75bc35af88306>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass30_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task+<>c__DisplayClass178_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
   --- End of inner exception stack trace ---
  at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.Wait () [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel.ForWorker[TLocal] (System.Int32 fromInclusive, System.Int32 toExclusive, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Func`4[T1,T2,T3,TResult] bodyWithLocal, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) [0x001ab] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal] (TSource[] array, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Action`3[T1,T2,T3] bodyWithStateAndIndex, System.Func`4[T1,T2,T3,TResult] bodyWithStateAndLocal, System.Func`5[T1,T2,T3,T4,TResult] bodyWithEverything, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) [0x00057] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal] (System.Collections.Generic.IEnumerable`1[T] source, System.Threading.Tasks.ParallelOptions parallelOptions, System.Action`1[T] body, System.Action`2[T1,T2] bodyWithState, System.Action`3[T1,T2,T3] bodyWithStateAndIndex, System.Func`4[T1,T2,T3,TResult] bodyWithStateAndLocal, System.Func`5[T1,T2,T3,T4,TResult] bodyWithEverything, System.Func`1[TResult] localInit, System.Action`1[T] localFinally) [0x00026] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel.ForEach[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Action`1[T] body) [0x0001c] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at GMAssetCompiler.GMAssets. (System.String ) [0x00040] in <0a2172c8acea479888e75bc35af88306>:0
  at GMAssetCompiler.GMAssets. (Newtonsoft.Json.JsonTextReader , System.String , System.Boolean ) [0x004e2] in <0a2172c8acea479888e75bc35af88306>:0
  at GMAssetCompiler.GMAssets. (Newtonsoft.Json.JsonTextReader , System.String ) [0x0032f] in <0a2172c8acea479888e75bc35af88306>:0
  at .. (System.String ) [0x00061] in <0a2172c8acea479888e75bc35af88306>:0
  at .. (System.String ) [0x0026b] in <0a2172c8acea479888e75bc35af88306>:0
  at GMAssetCompiler.Program. (System.Collections.Generic.List`1[T] ) [0x000a0] in <0a2172c8acea479888e75bc35af88306>:0
  at GMAssetCompiler.Program. (System.String[] ) [0x002c0] in <0a2172c8acea479888e75bc35af88306>:0
---> (Inner Exception #0) System.IO.IOException: Too many open files
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) [0x00067] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) [0x0000d] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
  at System.IO.File.OpenText (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at GMAssetCompiler.GMAssets+<>c. (System.String ) [0x00088] in <0a2172c8acea479888e75bc35af88306>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass30_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task+<>c__DisplayClass178_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0 <---

---> (Inner Exception #1) System.IO.IOException: Too many open files
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) [0x00067] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) [0x0000d] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
  at System.IO.File.OpenText (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at GMAssetCompiler.GMAssets+<>c. (System.String ) [0x00088] in <0a2172c8acea479888e75bc35af88306>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass30_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task+<>c__DisplayClass178_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0 <---

---> (Inner Exception #2) System.IO.IOException: Too many open files
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) [0x00067] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) [0x0000d] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.IO.StreamReader..ctor (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamReader..ctor(string)
  at System.IO.File.OpenText (System.String path) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at GMAssetCompiler.GMAssets+<>c. (System.String ) [0x00088] in <0a2172c8acea479888e75bc35af88306>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass30_0`2[TSource,TLocal].<ForEachWorker>b__0 (System.Int32 i) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[TLocal].<ForWorker>b__1 () [0x0020b] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task.InnerInvokeWithArg (System.Threading.Tasks.Task childTask) [0x00000] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0
  at System.Threading.Tasks.Task+<>c__DisplayClass178_0.<ExecuteSelfReplicating>b__0 (System.Object <p0>) [0x00086] in <0f9df4881040473f9da7cf6c2e2cb8c3>:0 <---

-----------------------------------------------------------------------------
EXCEPTION FILE - /var/folders/x5/k2gv05hx0k71w9mk9cv5vcnw0000gn/T/8744f82074f148c08aa3366dbae57882.yyg.saencryptedreport
-----------------------------------------------------------------------------
WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all
 

Dan

GameMaker Staff
GameMaker Dev.
It's so sad, I would really like to update my Game Maker to that version, but when I tried to import my project, it said something about views being duplicated (root being duplicated, I don't know what that means), I clicked "YES" to Game Maker try to repair it, but when it finished doing the repair, all the folders disappeared from my project :(
I was so happy while downloading new GMS macOS build yesterday and reading that it fixes macOS build crashes. Well, so far it has fixed the previous crashes but new one appeared:

EXCEPTION FILE - /var/folders/x5/k2gv05hx0k71w9mk9cv5vcnw0000gn/T/8744f82074f148c08aa3366dbae57882.yyg.saencryptedreport
For both of you, if you haven't already, can you file a ticket and attach the project in question - Petr, we also need that exception file, please.
 

Qlak

Member
After new update several things stopped working for me, I couldn't even start the project that was working fine earlier.

Main things that I encountered:

+When creating moving parallax backgrounds, depending on the player movement (camera movement):

Code:
if(instance_exists("Backgrounds_WMountain")){   
    layer_x("Backgrounds_WMountain", x/2);
}
if(instance_exists("Backgrounds_BMountain")){ 
    layer_x("Backgrounds_BMountain", x/4);
}
if(instance_exists("Background_room0")){ 
    layer_x("Background_room0", x/-8);
}
and I get this error:
FATAL ERROR in
action number 1
of Step Event0
for object obj_camera:
instance_exists argument 1 incorrect type (string) expecting a Number (YYGI32)
at gml_Object_obj_camera_Step_0 (line 50) - if(instance_exists("Backgrounds_WMountain")){

+When using puddle scripts (that make a puddle of given rgb colour) despite of writing
Code:
make_color_rgb(255, 189, 7)
the colour is blue (should be orange). Same goes for red etc, everything is in blue tint.
The script itself was bought on GMS:Marketplace and worked perfectly till the new update.

I'm not sure what I can do about these things now, is it only a new bug and I should wait untill it gets fixed or I should somehow rewrite everything in the game that uses things I mentioned and probably other errors that I will encounter, since I did not dig much yesterday.
 
Hi all, I'm getting the following error:

W:\com.kippie.pni\src\main\java\com\kippie\pni\Gamepad\MogaDevice.java:40: error: cannot find symbol
Gamepad.msMogaDevice = this;
^
symbol: variable msMogaDevice
location: class Gamepad
W:\com.kippie.pni\src\main\java\com\kippie\pni\Gamepad\MogaProDevice.java:43: error: cannot find symbol
Gamepad.msMogaDevice = this;
^
symbol: variable msMogaDevice
location: class Gamepad

I can't compile for Android at all now because of this error, and I can't choose not to use a gamepad because that option is removed.
 

rIKmAN

Member
Code:
if(instance_exists("Backgrounds_WMountain")){ 
   layer_x("Backgrounds_WMountain", x/2);
}
You are passing a string into instance_exists, it takes an object_index or an instance id.
Code:
make_color_rgb(255, 189, 7)
everything is in blue tint.
That looks like it's using BGR rather than RGB, so B = 255 which si why everything is tinted blue.
Try swapping the red and blue values around, so instead of (255, 189, 7) use (7, 189, 255) and see if the colour is correct.

@Caroline Anderson
Try cleaning your project with the brush icon at the top of the IDE with the Android target selected.
 

Qlak

Member
You are passing a string into instance_exists, it takes an object_index or an instance id.
I saw that approach earlier in tutorials and it worked, even yesterday it worked perfectly, something changed now, but I managed to get it to work by changing:
Code:
if(instance_exists("Backgrounds_WMountain")){   
    layer_x("Backgrounds_WMountain", x/2);
into:
Code:
if(instance_exists(asset_get_index("Backgrounds_WMountain"))){   
    layer_x("Backgrounds_WMountain", x/2);


That looks like it's using BGR rather than RGB, so B = 255 which si why everything is tinted blue.
Try swapping the red and blue values around, so instead of (255, 189, 7) use (7, 189, 255) and see if the colour is correct.
But sadly, this does not change anything, I even tried to use c_red instead of creating rgb, but it still appears as blue. I believe it must be something inside the Dynamic Puddles script itself, but I can't find what might it be. Worked perfectly yesterday.
 

rIKmAN

Member
But sadly, this does not change anything, I even tried to use c_red instead of creating rgb, but it still appears as blue. I believe it must be something inside the Dynamic Puddles script itself, but I can't find what might it be. Worked perfectly yesterday.
As I mentioned, some GMS functions use BGR instead of RGB, so it sounds like maybe the script is using one of these when it should be using the other.

Have a look in the script to see where this swapping of the order may be occurring, or get in touch with the author of the script and they should be able to push out a fix pretty quickly.
 

Arashi

Member
Still no fix for bug with camera loosing position after calling draw_clear() function.

Back to 2.1.5.246 runtime.
 

jackquake

Member
Just wanted to take the time to post a note of appreciation to you guys--overall this is a fantastic Christmas gift from YoYo Games fixing many issues and making GMS2 a better product. Congratulations and thank you for all you do!
 

kupo15

Member
Does the Gamepad Async Event work differently on startup? I immediately got an error related to my controls after switching to the new version. I'm not sure if this happened before (can't imagine it did due to this sudden error) but it seems like the async fires off twice regardless if two controllers or no controllers are plugged in? I tested the same code in 1.4 and it only fired off depending on the number of controllers plugged in
 

Dan

GameMaker Staff
GameMaker Dev.
And in which version will this bug be fixed? https://bugs.yoyogames.com/view.php?id=30199
No information.
Sorry, fixed the missing info in the report now. 2.2.2 for that one.

Still no fix for bug with camera loosing position after calling draw_clear() function.

Back to 2.1.5.246 runtime.
Report it as a bug and attach a sample, and we'll investigate. We don't have any existing reports for this, so if you have been aware of this for a while, please do ensure you send a ticket for bug submissions, not just comment on the GMC.

Does the Gamepad Async Event work differently on startup? I immediately got an error related to my controls after switching to the new version. I'm not sure if this happened before (can't imagine it did due to this sudden error) but it seems like the async fires off twice regardless if two controllers or no controllers are plugged in? I tested the same code in 1.4 and it only fired off depending on the number of controllers plugged in
You might get two events if there is an issue with the pad turning on, or something, but you shouldn't be getting any gamepad events if no pads are plugged in. Which platform is this? We might need a small sample of your gamepad code.

[QUOTE"]

@Caroline Anderson
Try cleaning your project with the brush icon at the top of the IDE with the Android target selected.
Worked, thank you![/QUOTE]

Thanks @rIKmAN for your support.
@Caroline Anderson Glad you got it sorted.

Just wanted to take the time to post a note of appreciation to you guys--overall this is a fantastic Christmas gift from YoYo Games fixing many issues and making GMS2 a better product. Congratulations and thank you for all you do!
Awww, fanks... :D
 

kupo15

Member
You might get two events if there is an issue with the pad turning on, or something, but you shouldn't be getting any gamepad events if no pads are plugged in. Which platform is this? We might need a small sample of your gamepad code.
hmm, something seems to be different. I just tried a simple "show message" code in the system event with nothing plugged in. 1.4 didn't fire the event at all and 2.x in a blank project fired it once. Not sure why my game file fired it twice. This is for Windows Target. I had to add that "exit" line in there to prevent crashes from unnecessary firing of the second joystick

Code:
// find number of gamepads connected

var pad = async_load[? "pad_index"]; // get the slot the controller is plugged into
var player_index = noone;

switch (async_load[? "event_type"])
    {
    case "gamepad discovered":
    gp_count += 1;
    gp_id[pad] = true;
    
    for(i=1;i<3;i++)
    if player_stats[i,1] = noone // if player isn't assigned a controller slot
        {
        if player_stats[i,1] = -1 // if player in inactive
        player_stats[i,3] = 0; // default character
        
        player_stats[i,1] = pad; // assign a controller slot
        gamepad_set_axis_deadzone(pad,deadzone);
        
        player_index = i; // record the player that received the controller
        break;
        }
    break;
    
    case "gamepad lost":
    gp_count -= 1;
    gp_id[pad] = noone;
    
    for(i=1;i<3;i++)
    if player_stats[i,1] = pad // if assigned to the controller that was unplugged
        {
        player_stats[i,1] = noone; // set to keyboard
        player_index = i; // record the player that lost the controller
        break;
        }
    }
    
if player_index = noone
exit;

// reapply controls to the player that received or lost the controller
ini_open("control_slot"+string(player_index)+".ini");
ini_menu_map(player_index);
ini_game_map(player_index);
ini_close();
 

Dan

GameMaker Staff
GameMaker Dev.
Hey everyone, I've had a few problems with the latest release, in regards to code breaking. I do not know if these are considered IDE Bugs or General Bugs, so if you can tell me after I explain my problems, I can report them accordingly.

In the previous version of GMS2 on Steam, GMS2 would ignore conflicting data types and use the newest assignment of that type. For example, I had set several variables as strings initially, and changed them to integers later. It wasn't a huge deal because I went in and made sure they were all the same data type consistently, and it worked.

But I have another problem. When starting a path, and selecting the endaction as "path_action_reverse" the path no longer reverses. It instead resets, and begins at the beginning of the path.

"path_action_reverse"
Example: Point A to B to C
Last version: Point A to B to C to B to A (would loop)
This version: Point A to B to C to A to B to C (loops but doesn't reverse, it just resets)

Is there a change in how "path_action_reverse" works? Is it a new endaction to have what I had previously? My game heavily relies on paths, and this messed me up quite a bit. Is there any solution?

Thank you for your time!
path_start with path_action_reverse is broken, it reset path to star and do not go backwards
Reproduced - https://bugs.yoyogames.com/view.php?id=30291
 
N

napredator

Guest
it looks like i was able to fix my font problem, previously the width of my characters was 5 so i doubled all of it and moved them all back to the far left, i had to set the seperation in font_add_sprite_ext to 0, is there a way i can include this information in the bug report i did?
 

Dan

GameMaker Staff
GameMaker Dev.
hmm, something seems to be different. I just tried a simple "show message" code in the system event with nothing plugged in. 1.4 didn't fire the event at all and 2.x in a blank project fired it once. Not sure why my game file fired it twice. This is for Windows Target. I had to add that "exit" line in there to prevent crashes from unnecessary firing of the second joystick

Code:
// find number of gamepads connected

var pad = async_load[? "pad_index"]; // get the slot the controller is plugged into
var player_index = noone;

switch (async_load[? "event_type"])
    {
    case "gamepad discovered":
    gp_count += 1;
    gp_id[pad] = true;
   
    for(i=1;i<3;i++)
    if player_stats[i,1] = noone // if player isn't assigned a controller slot
        {
        if player_stats[i,1] = -1 // if player in inactive
        player_stats[i,3] = 0; // default character
       
        player_stats[i,1] = pad; // assign a controller slot
        gamepad_set_axis_deadzone(pad,deadzone);
       
        player_index = i; // record the player that received the controller
        break;
        }
    break;
   
    case "gamepad lost":
    gp_count -= 1;
    gp_id[pad] = noone;
   
    for(i=1;i<3;i++)
    if player_stats[i,1] = pad // if assigned to the controller that was unplugged
        {
        player_stats[i,1] = noone; // set to keyboard
        player_index = i; // record the player that lost the controller
        break;
        }
    }
   
if player_index = noone
exit;

// reapply controls to the player that received or lost the controller
ini_open("control_slot"+string(player_index)+".ini");
ini_menu_map(player_index);
ini_game_map(player_index);
ini_close();
We'd need a proper project, not just a single code snippet, so if you're confident this is a bug, please submit a ticket and attach a yyz. However, your curly braces seem out of sync for both for() loops and should you not have a break; at the end of the gamepad lost case also? I suspect that this might be 1.4 allowing you to get away with code issues (but it might have been wrong in-game) whereas GMS2 is now much more accurate/strict to what you actually coded.
 

rIKmAN

Member
it looks like i was able to fix my font problem, previously the width of my characters was 5 so i doubled all of it and moved them all back to the far left, i had to set the seperation in font_add_sprite_ext to 0, is there a way i can include this information in the bug report i did?
If you login at https://help.yoyogames.com and view My Activities you should be able to add info to your ticket or create a follow up using the link at the bottom of the report.
 

D1Project

Member
Hello,

There is an issue with immobile Persistent Objects.
They don't collide anymore when the game goes to the next room.
Moving them allows objects to collide with them again.
I've reproduced the bug on the simplest project possible (2 rooms and 2 objects), so it shouldn't be my project.
Also, this bug didn't exist in the previous version.

A support ticket was created.
Just wanted to share with the community in case others have encountered this issue.
It would be great if this could be fixed in the next patch.

Thanks
 
S

squarebit

Guest
I've found that my fonts have a lot of vertical padding added to them. In my case I have very little vertical space normally so this absolutely wrecks everything text-related as there is about as much vertical space as there is actual text. I've submitted a bug report on the issue. Seems to happen with string_get_height() and the automatic line breaks of draw_text_ext(). The fonts look like intended in other software. Rolling back to 2.2.0 fixes the issue.
 
T

Tryzna

Guest
Hello guys, not sure if related but i waited since 2.2.0 release if problem will resolve itself somehow. Had to modify the code a bit with 2.2.1 release as well, however i still have to reaply the camera after i draw to surface to make it work. Is it supposed to work like that now or? Or can somebody tell me if i missunderstood surfaces and doing something wrong? Code attached. Thx.

surface.png
 
The IDE crashes everytime I try to import sprite textures into a sprite. It also happens when I try to import icons for a specific build. I don't know why this hasn't been fixed or if there is something wrong with my gamemaker. It happens every so often and it's been happening since 2.1...
 
Status
Not open for further replies.
Top