|
Post by petrie911 on Mar 4, 2011 18:11:25 GMT -5
This program will inject any debug ROM file into the debug ROM in the proper location. Additionally, if the injected file is of a different size from normal, it will update the main file table to reflect the new size. To use it, place the debug ROM (named "ZELOOTMA.z64") and all files you want to inject into the same folder as this program. Run it, and it will inject every file into the ROM. While it will update the main file table, it won't update other file tables. I might try to fix that in the future, especially with fixing the room file table in each scene. Also, since the main file table is changed, you'll need to fix the CRC afterward. This only applies if at least one of your files is of a different size from normal. Attachments:
|
|
|
Post by Wishengrad on Mar 4, 2011 21:23:23 GMT -5
|
|
|
Post by petrie911 on Mar 5, 2011 0:18:47 GMT -5
Heh, I see what you mean. Mysterious .exe file probably does warrant scrutiny. If you'd like to compile it yourself to avoid possible viruses, here's the source. pastebin.com/xbSFw0j2It needs the text file included in that zip to work, though. Also, I did this in MS Visual Studio, which sometimes doesn't work with other compilers like gcc for some reason.
|
|
|
Post by Salvage66 on Mar 5, 2011 0:18:59 GMT -5
Very Nice!
|
|
|
Post by Secant on Mar 5, 2011 10:16:26 GMT -5
This is impressive; something that automatically recalculates the file table is extremely useful. I was wondering when/if someone might ever write a tool for this. Adding support for rebuilding other tables would also be extremely useful, too. The more automation and efficiency, the better.
I have one question, though--do the files need to be the same name as the ones they're meant to overwrite (meaning new files altogether are impossible), or are they named by the offsets we want them to replace, or something else entirely?
|
|
|
Post by Wishengrad on Mar 5, 2011 15:04:10 GMT -5
Heh, I see what you mean. Mysterious .exe file probably does warrant scrutiny. If you'd like to compile it yourself to avoid possible viruses, here's the source. pastebin.com/xbSFw0j2It needs the text file included in that zip to work, though. Also, I did this in MS Visual Studio, which sometimes doesn't work with other compilers like gcc for some reason.
Yeah, but I do not even know much about zelda hacking and it's tables and stuff. Lol.
Nor do I know how to compile things although I need to compile things all the time.
|
|
|
Post by petrie911 on Mar 5, 2011 15:21:36 GMT -5
Naxyl: At the moment, the files must have their debug ROM file name. By modifying DebugList.txt, you could change that, though.
For example, suppose you've added "custom_map.zscene" and "custom_map_room_0.zmap" to the game. Put the offsets where you want to insert them into the next two lines of the main file table, and put those two file names into DebugList.txt in the same format as the other files. Once you've done that, the program will include those files in its injection.
|
|
|
Post by Jason777 on Mar 5, 2011 23:22:06 GMT -5
This is extremely usefull! Thanks for the download. Mind if I play with the source?
|
|
|
Post by Salvage66 on Mar 6, 2011 8:56:48 GMT -5
If anyone hee does play with the source it could use a icon.When all works well add the logo thats what I say.If were you I would put the picture of a fairy holding a shot.Since this is injection and all.Oh and i vote sticky!
|
|
|
Post by petrie911 on Mar 7, 2011 11:26:49 GMT -5
This is extremely usefull! Thanks for the download. Mind if I play with the source? Knock yourself out. But I now have a new version of the program. I mentioned earlier that the program doesn't update the scene file table. Well, as of V2 here, it does. Additionally, it now searches the ROM for the file table instead of having its location hard coded. Source is here, application is attached. Attachments:
|
|
|
Post by petrie911 on Mar 12, 2011 16:57:08 GMT -5
Small update. Autoinjector2.1 now fixes the CRC automatically by calling rn64crc.exe. Also, I mentioned earlier that if you've added files to the game, you should edit the game's file table before using this program. This a bit wrong. What you should actually do is edit dmadata.zdata to reflect your new file table and include that in the files you're injecting. The reason for this is that the program reads offsets from the ROM's file table to know where to inject files. When it injects your dmadata.zdata file, it overwrites the old file table with the new one, and continues reading from the new one. However, you still need to edit DebugList.txt to include your new files. Attachments:
|
|
|
Post by Salvage66 on Mar 12, 2011 22:59:35 GMT -5
Would this make a great combo for injecting files edited by uot?Edit it doesnt work on hyrule castle.
|
|
|
Post by petrie911 on Mar 13, 2011 0:53:55 GMT -5
Yeah, once you've edited a bunch of files with UoT, this makes for a much more convenient way to inject them all at once.
Also, it doesn't work for hyrule castle? That's rather odd, as I never ran into any problems while testing it (though admittedly I didn't test every map since that would have taken forever). What did you change about hyrule castle.
|
|
|
Post by Salvage66 on Mar 13, 2011 10:57:57 GMT -5
Yeah, once you've edited a bunch of files with UoT, this makes for a much more convenient way to inject them all at once. Also, it doesn't work for hyrule castle? That's rather odd, as I never ran into any problems while testing it (though admittedly I didn't test every map since that would have taken forever). What did you change about hyrule castle. I tried to move the owl but when i loaded the edited map nothing had changed.I had the same problem with every time i tried to edit any way at all i think there something strange about sopt15.IT ethier crashes with snow or nothing happens.
|
|
|
Post by petrie911 on Mar 13, 2011 18:14:15 GMT -5
OK. There are a couple of possibilities that I see.
1) Is your zmap named "spot15_room_0.zmap"? If it doesn't have that exact name, the program won't recognize it. Check the output of the program to see if it mentions having injected your file.
2) The program may be injecting at the wrong offset for some reason. spot15_room_0.zmap should be injected at 02A2D000. If it's not, well, then we have a problem.
3) For whatever reason, the file you're injecting doesn't have the change you made. Does it work when you save and inject your file using UoT?
|
|