Recent community posts
I'm working on a fix for that bug as well as some other ones, and some small new features (like speedrun timer). Hopefully out this week.
Truthfully, I started work on that update like a month ago, but ended up getting a little distracted by the new Pokémon games...😅
I released my project for A Game By Its Cover 2019 this week:
"SATAN LOVES CAKE"
Satan, the king of hell, really loves cake. One day he realises that he has no more, so he has to travel through hell in order to reach the cake shop, so he can get some more. His trident shoots electricity that can interact with mechanisms like generators, elevators and batteries, and it can transform enemies into cake.
The game is an action/puzzle platformer. It's about an hour long.
What a cool game! At first I thought I had moved on to another level after I heard music, but then I realised I had actually died lol >.<
I did eventually win, though! I very much enjoyed figuring out how the game works. Learning what each sound meant, and having to create a visual representation of the level in my head, were fun challenges.
Everything except rumble works on Dualshock 4 when I try it (both wired or via Bluetooth), so I don't know what to tell you... 🤔
Are you running some third-party drivers like DS4Windows or the Steam Big Picture controller setup? If so, maybe try disabling them?
Or maybe try plugging the controller in at different times, like while the game isn't running, or while the game is running, see if that makes a difference?
I noticed something weird with arrays, and I'm not sure what's up. Whether it's a bug, whether I'm not understanding something about how arrays work, or whatever, idk.. 🤔
- Create a new GMS2 project
- Import GMLive.gml, place obj_gmlive in the room
- Create a new object, place it in the room
- Create event of the object:
if (live_call()) return live_result; a = "foo"; b = a; b = "bar"; show_debug_message("a = " + a + ", b = " + b);
- Step event of the object:
if keyboard_check_pressed(vk_space) room_restart();
- If live_enabled is set to 0 (i.e. live reloading not enabled), a = foo, b = bar shows up in the output console when the game is run, as well as whenever spacebar is pressed to restart the room. This is the behaviour I am expecting.
- If live_enabled is set to 1, a = foo, b = bar shows up in the output console when the game is run, but whenever the room is restarted, it now somehow becomes a = bar, b = bar, as if the array is suddenly getting passed by reference or something?
Resizing the GUI works differently than resizing surfaces in GM, for whatever reason. The difference is that, as you describe, even after resizing it will still display subpixels (e.g. when you draw a rotated sprite, a primitive such as a circle, x/y positions that are fractions of pixels, etc.). To absolutely force the GUI to adhere to the pixel grid, you could instead draw all of your GUI stuff to a surface that's the desired size, then draw that surface on the GUI layer.
I experienced this fatal error while using lazyload (alongside gmlive.gml's sprite reloading feature for super-fast iteration, not sure if that could affect lazyload though).
[02:34:11] FATAL ERROR: Traceback (most recent call last): File "lazyload.py", line 438, in <module> File "lazyload.py", line 341, in scan_folder File "gm_sprite.py", line 496, in update_sprite FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Anders\\Documents\\GitLab\\apathetica\\GMS2 Project\\sprites\\spr_player_knife1_in\\spr_player_knife1_in.yy'
Here's log.txt, ctrl+f to find the errors or something. After the first one there's a couple more as I tried to relaunch lazyload, but now it instantly errored when clicking Enable Sync. I had to replace the data folder with a clean one to get it working again.
After the error happened, I noticed lazyload had deleted the sprite that errored, spr_player_knife1_in, from GMS2. So it's certainly true that it wouldn't be able to find the file lol. Why it deleted it I don't know, I certainly didn't delete the source image or anything.
I noticed that when loading or reloading a project, not all scripts that should have the GMLive badge get it. It seems random which ones do and which don't.
Also, when saving a script that should have the GMLive badge, the badge toggles on and off every time I save.
This doesn't seem to be happening with objects as far as I can tell, just scripts.
(every script in the "Input Friend" folder has a live call)
Using the new functions that the recent runtime 126.96.36.1997 update introduced , for example draw_get_font(), makes gmlive error out and doesn't update that event
[live][16:40:49] Error in obj_dialogue_manager:Draw_64:
[live][16:40:49] obj_dialogue_manager:Draw_64[L4,c17] `draw_get_font` is not a function or script
I've been experiencing this behaviour as well.
What I've been doing to fix it is switch to another tab, switch back, hit CTRL+S again and THEN it highlights the correct colour.
Haven't downloaded the newest version just yet, not sure if it works properly there or not Edit: seeing the same behaviour in newest version
I did find it odd that even the GMS2 docs refer to self, other, all and noone as "keywords", but then they use the Constants colour and are called "constants" in the autocomplete, so it might just be a mistake in GMS2 or something. Still, since there seems to be a disagreement between 1.4 and 2, it might be nice to have it as a preference, or even just change it from keyword to constant depending on whether the open project is 1.4 or GMS2.
But eh, don't worry about it if it's too much work. I did manage to dig a little deeper into the GMEdit files and change global from the keyword styling to the constant one, as that was my biggest annoyance. I can probably deal with the others being keywords
Also, did you see the edit I did to the first post, about extension functions?
While trying to replicate my GMS2 colour scheme in GMEdit, I noticed the following words, which all use the Constants colour in GMS2, instead seem to be lumped into the Keyword styling in GMEdit (.ace_keyword):
self other all noone global
Whether they should technically be categorised as keywords or not (probably should), it seems a little silly to not have complete parity with GMS2's theming ¯\_(ツ)_/¯
Edit: It also seems to me like extensions' functions use the script styling, instead of .ace_extfunction which I would've assumed is for extension functions?
I just downloaded GMEdit now, seems very cool! After opening a project and playing around with it for a bit, I noticed the option to display GMLive badges doesn't seem to work properly? All my objects that have if (live_call()) return live_result; don't get the badge, but it shows up if I add the live call twice 🤔
Edit: Upon further investigation, adding a space after #event step (which I guess adds a /// @description to the event?) fixes it.
I tagged it because it uses the PICO-8 colour palette, even though it is not made with PICO-8. A few people have been confused about this in the past ^^
Now that I'm looking at the game's metadata, I see PICO-8 is also somehow listed in the "Made with" category, which is definitely a mistake, I'll see if I can at least fix that.