YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
26 stars 8 forks source link

GM not drawing old sprites after update #7273

Closed gm-bug-reporter[bot] closed 3 months ago

gm-bug-reporter[bot] commented 3 months ago

Description

Here's all the details, not sure if they're all relevant. I hadn't updated GM in awhile, and had version 2022.9.1.51 After accidentally deleting a layer in a sprite, I attempted to crtl+z and GM gave me an error that something was unstable. Come to find out it had corrupted that entire project (never delved in to find out what specifically got corrupted because I keep previous versions of my projects). Figured at that point I should update GM and got v2024.6.2.162. However, when I attempt to test-run my projects (Windows and GX, VM) the sprites for the objects don't get drawn. It will draw new sprites that I create, but none of the old sprite assets. If I assign an old or new sprite to a new object asset it will draw either just fine. If I assign an new sprite asset to an old object asset it will draw just fine. But if I assign any old sprite asset to an old object asset it will not draw. I can duplicate an old sprite, delete the old one, then rename the duplicate so as to replace the old, and assign it to an old object asset and that will draw just fine. However, if there are any references in code to the sprite asset, I have to delete the old asset and wait for the text (i.e. sprite_test) to turn from red to blue before renaming the duplicate to replace it, or else the in-script references won't work properly. It does this with ALL of my GM projects, not just the one that got corrupted. Already tried reinstalling GM and that didn't work. As of now the only options I can think of are 1) Go through my entire project and replace all the sprite assets with duplicates (and make sure the in-script text registers the change), which is extra tedious since I already lost progress on the project; 2) Try the older version of GM that I had been using before the update; 3) Try reinstalling the current version of GM without installing the file associations (not sure if that has anything to do with the asset associations)

Steps To Reproduce

I don't want to try to repicate it since it has to do with file corruption and may have, in some way, messed with ALL of my projects if that's possible, or else it's just an issue with GM. But I'd say to start with v2022.9.1.51, create project A with a few sprites and assign them to objects. Then create project B, edit a sprite, create a second layer, edit it a little, delete the layer, then ctrl+z and see if it corrupts the project. If so, then try closing the project and updating GM to v2024.6.2.162, attempt to reopen the corrupt project B. Then open project A and attempt to test-run it (Windows VM) and see if it draws the old sprites.

Which version of GameMaker are you reporting this issue for?

IDE v2024.6.2.162 Runtime v2024.6.1.208

Which operating system(s) are you seeing the problem on?

Windows 10.0.22631.0

d19f1b28-46f5-4963-a0e0-bd438308ad13

KormexGit commented 3 months ago

You could try doing a save-as to see if that fixes it, since that will sometimes clean up any weird project folder stuff going on

stuckie commented 3 months ago

Thanks for reporting this, but in order to confirm the problem and then investigate a fix we need you to send us small project which already shows this issue to ensure we see exactly what you see and then learn why this problem is caused.

Please report this issue again, but ensure you have a suitable project open at the time you open the bug reporter and that you allow GameMaker to include the project.

Thanks!

Why Have You Asked Me For A Sample?

jproclaimer commented 3 months ago

You could try doing a save-as to see if that fixes it, since that will sometimes clean up any weird project folder stuff going on

This worked. Thank you.

stuckie commented 3 months ago

Glad to see you got it sorted.. if it does happen again, please include the project so we can have a look to see if we can stop it from happening.

Thanks!