romhackraces / baserom

The official source of the Romhack Races Baserom
27 stars 11 forks source link

ExGFX stored at XXX differ from ExGFX stored in ROM, export ExGFX from the ROM anyway? crashes #130

Open exedriver opened 9 months ago

exedriver commented 9 months ago

Hey guys, first of all: Thank you sooo much for this awesome baserom - so great to use and makes creating first levels sooo much easier!

However, I'm having troubles with Calisto again and again and I'm not sure, if I do something wrong.

I'm currently working on my 10th level within my hack and I'm facing the following error again and again both on Calisto Rebuild and Update: "ExGFX stored at 'LOCATION OF MY HACK' differ from ExGFX stored in ROM, export ExGFX from the ROM anyway".

Afterwards, Calisto.exe crashes and stops working. Needed to turn on console output and open Calisto in a cmd window on Windows to see the error before it crashes.

Sometimes it works if I extract and insert GFX and exGFX graphics again and delete the temp folder within the workspace before rebuilding, but not very often. Most of the time it crashes again and now I'm afraid that I can't finish my hack.

Any idea what I'm doing wrong? I have around 40 exGFX graphics currently, the GFX graphics haven't been modified on my own.

Thank you very much :)

exedriver commented 9 months ago

Closed issue, as it is related to Callisto itself (and opened an issue there)

AmperSam-git commented 9 months ago

One of the things that is likely the cause of the graphics getting out of sync is that at some point you had one of the graphics files of your project open in YYCHR, and for whatever reason YYCHR process holds the file and prevents it from being moved or copied--which is what happens when Callisto goes to update graphics in the ROM on build, it temporarily moves them and makes a junction to the folders, but that can't happen if it's held by another process so it fails.

The way to "fix" the graphics differing is to close everything, delete the Graphics and ExGraphics folder in your project folder and manually extract them from the ROM using Lunar Magic. Then re-run Callisto and "Save" from there.

exedriver commented 9 months ago

One of the things that is likely the cause of the graphics getting out of sync is that at some point you had one of the graphics files of your project open in YYCHR, and for whatever reason YYCHR process holds the file and prevents it from being moved or copied--which is what happens when Callisto goes to update graphics in the ROM on build, it temporarily moves them and makes a junction to the folders, but that can't happen if it's held by another process so it fails.

The way to "fix" the graphics differing is to close everything, delete the Graphics and ExGraphics folder in your project folder and manually extract them from the ROM using Lunar Magic. Then re-run Callisto and "Save" from there.

The tip with YYCHR sounds promising - I'm pretty sure it was open (I use it a lot) and afterwards received a "save failed" exception from Callisto. Sadly your way to fix didn't work for me.

I've wrote today with @Underrout and he has created a alpha version of Callisto for me with no parallel subprocesses and that fixed the problem for me! Some exGFX were broken afterwards, but I was able to reinsert them again. But it seems like there are some edge cases when different processes (like YYCHR and / or Callisto itself) are reading the same files. He'll try to fix this in a future release.