I patched Tiny Town and Face Off scripts to stop the invulnerabilty powerup from appearing.

How did you find the locations to patch?

I don't have the .mis files for these levels and I haven't made a decompiler.  I did it the hard way.  I just used trial and error to find the locations.

I made and compiled a .mis file with SWITCH_GENERATOR ( test , ON ) then I made another with SWITCH_GENERATOR ( test , OFF ) and I ran the command line program fc.exe to compare the two files.  It showed the differences in the files were FFFF (on) and 0000 (off).

I then opened mp1-2p.scr in a hex editor (XVI32), changed one of the FFFF's to 0000 and then tested the script in game.  If it didn't disable the invul powerup then I changed it back to FFFF and changed the next FFFF in the file to 0000.  Eventually I found the correct offset for enabling/disabling invul.
 
Now that I knew the offset to change in mp1-2p.scr, finding it in mp1-3p.scr was easier, it was the 3rd FFFF after the location that I had already found.  In each .scr file, the offset kept moving to the 3rd FFFF from the previous file's offset.  This is not a rule, it just worked out that way because each .mis file must have been very similar.

These are the changes I made:

Changed FFFF to 0000

Tiny Town
mp1-2p.scr offset 3382
mp1-3p.scr offset 339E
mp1-4p.scr offset 33BA
mp1-5p.scr offset 33D6
mp1-6p.scr offset 33F2

Face off:
mp5-2p.scr offset 3AFE
mp5-3p.scr offset 3B1A
mp5-4p.scr offset 3B36
mp5-5p.scr offset 3B52
mp5-6p.scr offset 3B6E

The same method could be used to find the offsets for invisibility or any other powerup.

- Sektor
- GTAMP.COM
- gtamulti@gmail.com