|
#11
|
||||
|
||||
![]() Quote:
Doing --songs 00000001 or w/e turns off 7 songs, turns on 1. Then you did something like --songs 00010000 which turns off the 1 you just turned on earlier, turns on another one, with the other 7 still being forced off. There is no "default" or "neutral" or "leave as-is". If you say 0 you don't know the song; if you say 1 you do. The rest of the stuff you're observing does sound pretty strange though. I never had any trouble with --songs as it gave me exactly what I wanted whenever I ran it. Quote:
If the icon's there but you can't select it or get the pause screen to show the name, and it's white, it's Saria's Song. Can't learn it by playing the game obviously, but it's definitely in there. The other one is the Sun's Song, except the music note icon is golden. Or I have these two backwards. Quote:
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#12
|
||||
|
||||
![]() Quote:
No CRC or anything like Ocarina of Time's SRAM had, just a basic 16-bit additive checksum that adds up to the sum of all the previous bytes for each save slot, nothing special. Only problem is that the location of the 16-bit checksum is different when saved/accessed by the Japanese Zelda Majora's Mask than the USA/PAL release.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#13
|
|||
|
|||
![]()
Sorry for bumping, but can I get some help here please? I'm trying to get this save file, but I have no idea how to use this save editor, can I get some help please? :<
EDIT: Okay, got it to work, save file appears on the menu screen, but when I open it, it starts from the beginning. Last edited by nikolamiljevic; 6th April 2015 at 07:48 AM. |
#14
|
||||
|
||||
![]()
Probably because of the byte order. There is a lot of bad code in this save editor, despite how effectively it may work. Any continuation of it has to be done by starting from scratch, maybe backport over the flash offsets used for the progress bits, hopefully the command option names too though that is going to be very difficult to staticize.
You have to call `zsenswap` first on the flash save, then `zs` to edit it, then `zsenswap` a second time to get it back into the artificial byte ordering N64 emulators use. Otherwise the flash would work only on a real N64 as tested by dsx and not on emulators such as pj64.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#15
|
||||
|
||||
![]()
Would anyone object to single-letter command opts?
Like instead of Code:
zs flashram.fla 0 --owl-statues 0000000011111100 Code:
zs flashram.fla 0 -o 0000000011111100 # unlock most owl statues I do miss the GNU style of cmd args really, but it has a big problem with algorithm. I can't think of a simple, readable way to staticize it...it's not like a single char where you can just do a switch on it, and this isn't JavaScript where you can do a switch on strings (which interprets as who-knows-what...), I would hate to write my own string CRC mechanism to work around it. Working with mass strings like that while parsing options would be a huge if-else-if which is just ugly and too dynamic. I didn't want to break compatibility with current released versions if anyone was too used to the "--owl-statues" way of saying it, but I figure I probably have to break backwards compatibility to a point anyway because right now this stupid EXE in this thread won't let you change more than one progress field per call to the exe (exactly 5 arguments every time) which is inflexible and does too much file I/O just to change 50 pieces of progress over 50 calls to the program.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#16
|
||||
|
||||
![]() Quote:
![]() I'm gettin bored these days, so I figure I may try collecting data on this game. I doubt I'd collect everything, but maybe add a few items to the list ![]() |
#17
|
|||
|
|||
![]()
Hello, I hope you have collected more information on this, really appreciate your work!
I have a strange problem: I lost my save file on which I played to right after the first boss after the first temple, so I tried your program with this code (I think you posted something like this somwhere here): ZSENSWAP.EXE ZELDAM~1.FLA zs ZELDAM~1.FLA 0 --file-erase zs ZELDAM~1.FLA 0 --file-new true zs ZELDAM~1.FLA 0 --file-rename "Link " # or whatever name you want zs ZELDAM~1.FLA 0 --owl-statues 0000000011011100 zs ZELDAM~1.FLA 0 --inv-subscreen 0000 # have Ocarina of Time zs ZELDAM~1.FLA 0 --inv-subscreen 0101 # have Hero's Bow zs ZELDAM~1.FLA 0 --inv-subscreen 0E0D # have Pictograph Box zs ZELDAM~1.FLA 0 --inv-subscreen 1212 # have an Empty Bottle zs ZELDAM~1.FLA 0 --inv-subscreen 1D32 # Deku Mask zs ZELDAM~1.FLA 0 --songs 0000000011010011 zs ZELDAM~1.FLA 0 --wallet 01 zs ZELDAM~1.FLA 0 --temple-Woodfall 00000111 zs ZELDAM~1.FLA 0 --boss-masks 0001 # you finished Woodfall ZSENSWAP.EXE ZELDAM~1.FLA PAUSE Issues: All my C buttons are assigned to Ocarina and can't be changed. My attack button is located to Ocarina, can't attack with my sword but instead he just pulls out the Ocarina TL;DR: Everything assigned to Ocarina Now what? ;( Thanks |
#18
|
||||
|
||||
![]()
Seeife yeah I thought I had already done in-depth testing on the `--file-new true` command, but for whatever reason I seem to have not noticed my neglecting to clear the inventory to blank items (instead of the NULL byte 0 which really means the Ocarina of Time).
Look around in the "MANUAL" text file included with the release for some extra commands you could use to overwrite the remaining slots that have the ocarina assigned to them. I know offhand there's a --inv-b-button (?) or similar named command for changing your B-button icon to something else, like the Kokiri Sword for instance. Should be able to do the same with the C buttons. Unfortunately I can't remember if there's a command option for the equipment slots. Quote:
Yeah single-letter is faster to type, less self-explanatory less easy to remember without looking up for new people all the time.
__________________
http://theoatmeal.com/comics/cat_vs_internet |
#19
|
|||
|
|||
![]()
Okay, I'll try that. Really cool tool though, any chance on getting the source?
![]() |
#20
|
||||
|
||||
![]()
The source was something that has always been available but also that I blindly forgot to include in the zip with the binary release.
So the working source to the release would be in a slightly older branch/commit to the public repository. I can try to dig a link to that in case you think you might be able to fix the new file reset initialization issue yourself in the C code.
__________________
http://theoatmeal.com/comics/cat_vs_internet |