terrible idea for a gimmick hacking tool
-
I spent about 25 minutes and 12gb downloading a longplay to figure out how long I'd have to go in the game to find a better place to inject modified roms, or if I just give up and have a really long run time for each sprite-dumping-run.
the answer turned out to be "like two rooms over"
-
actually, no. it turns out that getting to a point where I can "be fast" is too far away, I'll get there quicker doing it the simple dumb way. Boring.
-
this game goes 2 minutes 18 seconds before it renders the first line of dialogue. good lord.
-
"I've written software to do this already" says the foone, but she left out that:
1. she wrote it in python2
2. this computer doesn't have python3
3. does it do a lot of printing (not print()ing) from random places? yes.
4. does it do a lot of weird string-byte manipulation? yep!brb rewriting this for the nth time
-
@foone Can't you speed up the emulator to go faster?
Edit: Or running multiple emulators in parallel, I remember a youtube video of someone doing that for pokemon
-
@Tau yeah but only so much. my system isn't powerful enough/this emulator isn't light enough that I can go at 100x speed, for example. I think I'm getting between 2-3x speed at the moment.
-
Foone🏳️⚧️replied to Foone🏳️⚧️ last edited by [email protected]
ARG. injection attempts have revealed that my partial decode script is using the right stride for the data files, but I misjudged the start and end point. So I need translate all my logic to shift all variables 16 bytes to the left. gah
-
actually I may not need that. I may never touch this script again, so I'm going to just note this and try to ignore it.
-
okay so the extraction is taking about 70 seconds per portrait, so searching the 8-bit space (and I PRAY it is 8-bit!) will take 70*256 seconds, or... see you in five hours!
(it'll hopefully speed up when I finish reencoding my roommate's copy of Armageddon (1998) to be videocd quality -
I accidentally encoded Armageddon to 24:5 ratio which is less than watchable so I'm having to restart the encode
-
I'm now considering hacking the ROM so that the opening movie is shorter
-
I figured out how to optimize the emulator (turning off the display!) and got it down to 35s.
35*256=2 and a half hours -
I found part of the movie player and hacked it to, uh, not work
-
it just hangs forever
-
oh hey this stack trace goes through the VRAM.
I pray to god that's a bug in the stack tracing and this code isn't jumping in and out of the VRAM
-
got it.
to patch out the opening movie, change offset 0x5EF8F in the 10729BD884F8FDCA7A310B6D606C52E46657AA48 gba rom from 0xD0 to 0xE0. -
it took an hour and 20 minutes to figure out which two bits to change in the ROM
-
Foone🏳️⚧️replied to Foone🏳️⚧️ last edited by [email protected]
it now takes 7 seconds per character
so it can finish in 21 minutesbut note: if I'd just let it run, it would have just about finished by now on the slow route
-
dang it. it turns out characters have sub-expressions too
-
it turns out if you go above the maximum expression on character 1, you get to the expressions of character 2
so I just set it to character 0 and I'm iterating through all the expressions, since I can hit every expression on every character that way