Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #11  
Old 17th October 2014, 09:15 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by nOkbient View Post
That didn't work though. Instead I got everything but the Song of Time, Healing, and the Oath to Order. I mucked about some more and did a few more experiments. I tried doing it sequentially like this:

Code:
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000000
PAUSE
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000001
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000000010
ZS.EXE LEGEND~1.FLA 0 --songs 0000000000010000
ZS.EXE LEGEND~1.FLA 0 --songs 0000000001000000
ZS.EXE LEGEND~1.FLA 0 --songs 0000000010000000
ZS.EXE LEGEND~1.FLA 0 --songs 0000001000000000
But I just ended up with no songs.
Well exactly, that wasn't supposed to give you any songs.
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:
The results were that I had: Epona's Song, the Song of Storms but just the musical note icon (no name or diagram shown for it),
Pretty sure that's Saria's Song you're referring to.
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:
But I am seriously thankful for this HatCat, even if you say it's sort of sloppy. It saved me a veritable shit-ton of time and trouble!
It was made when I had a lot less experience with software engineering. Glad it still does the basic job that it should though, because I am way encumbered by projects and interpreter emulation goals to go back to focusing on that little oldie just yet.
Reply With Quote
  #12  
Old 17th October 2014, 09:17 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Quote:
Originally Posted by retroben View Post
I may try to get those Majora save bytes since I got a mouse replacement.
Let's just hope it is not too well protected or frequently repositioning in the RDRAM locations.
Nah, it's easier to crack than Banjo-Tooie.
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.
Reply With Quote
  #13  
Old 6th April 2015, 07:34 AM
nikolamiljevic nikolamiljevic is offline
Junior Member
 
Join Date: Apr 2015
Posts: 1
Default

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.
Reply With Quote
  #14  
Old 6th April 2015, 05:14 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

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.
Reply With Quote
  #15  
Old 6th April 2015, 11:09 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Would anyone object to single-letter command opts?

Like instead of
Code:
zs flashram.fla 0 --owl-statues 0000000011111100
something more like
Code:
zs flashram.fla 0 -o 0000000011111100 # unlock most owl statues
Probably use "-O" for something else in the game that begins with O besides owl.

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.
Reply With Quote
  #16  
Old 11th April 2015, 12:21 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Quote:
Originally Posted by HatCat View Post
Would anyone object to single-letter command opts?

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.
Single letter commands are fine. Faster to type . I wouldn't worry about backwards compatibility.

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 .
Reply With Quote
  #17  
Old 11th April 2015, 01:21 AM
Seeife Seeife is offline
Junior Member
 
Join Date: Apr 2015
Posts: 3
Default

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
Reply With Quote
  #18  
Old 11th April 2015, 01:59 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

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:
Originally Posted by RPGMaster View Post
Single letter commands are fine. Faster to type . I wouldn't worry about backwards compatibility.

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 .
That would be cool.

Yeah single-letter is faster to type, less self-explanatory less easy to remember without looking up for new people all the time.
Reply With Quote
  #19  
Old 11th April 2015, 04:40 PM
Seeife Seeife is offline
Junior Member
 
Join Date: Apr 2015
Posts: 3
Default

Okay, I'll try that. Really cool tool though, any chance on getting the source?
Reply With Quote
  #20  
Old 11th April 2015, 07:44 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

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.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 04:53 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.