*readme.txt - version 1.1*
Lufia & The Fortress of Doom Checksum, Gold, Item, and Magic Editor v.2.2
By: Vegetaman
Program Purpose:
The purpose of this program is to edit the SRAM (.srm) file of an SNES Lufia &
The Fortress of Doom game by giving your file any item, magic, or gold that you
want, and then fixing the checksum for that file. This should only be used to
modify a valid SRAM (.srm) file for Lufia; and you should make sure to make a
backup copy of your SRAM file before you use this to make any alterations to
it so you don't lose anything should something go wrong unexpectedly.
System Requirements:
The development platform was Windows Vista (x64) using Visual Studio 2008 with
.NET Framework 3.5, which you may or may not need to have to make this program
run properly. It was coded entirely in C#, using about 1500 lines of code.
How to use this program:
STEP 1: INSTALL
1. Use the setup.exe to install the program (it is a click-once application).
STEP 2: BACKUP
2. Make a backup copy of the SRAM (.srm) file you intend to edit.
STEP 3: LOAD UP YOUR FILE
3. Open the SRAM Editor program...
4. Click on the "..." button and navigate to the SRAM file you want to edit,
and click okay. This will load the file into my program.
5. Click on the tab for the save game slot you wish to edit (SLOT 1, SLOT 2,
or SLOT 3).
6. Click on "SHOW ITEMS", "SHOW MAGIC", "SHOW GOLD", and "PARTY INFO". This
will load all the current information about your party into the scrolling
text boxes.
STEP 4: CHANGE GOLD
7. Gold is the easiest item to change. All you have to do is put in a number
between 0 and 16777215 and click on "UPDATE GOLD". If anything was bad
about the value you input, it will give you a default value of 8675309
gold. Clicking on "SHOW GOLD" again will show you how much gold you have
now.
STEP 5: CHANGE ITEMS:
8. In the Party Items box, find the item you want to give yourself more of,
or in the case of a new item -- navigate to the first Empty Slot.
9. Then in the Item Changer box, use the dropdown to select the slot you
identified (in #8) that your item needs to go into (ITEM SLOT).
10. Now select which item you want to give your character by name (ITEM
SELECT).
11. Lastly, select how much of a quanity of that item that you want (from 1
to 99) in that dropdown box (ITEM QUANTITY).
12. Now that you've made all the proper selections, press the "ADD ITEM"
button.
13. To confirm this worked, you can click SHOW ITEMS again and it should
reflect your update.
STEP 6: CHANGE MAGIC:
14. In the Party Magic box, find the magic spell you wish to swap out, or
the first Empty Spell Slot, for a specific character.
15. Now, in the Magic Changer box, select which magic slot you want to change
(MAGIC SLOT).
16. Now, select which magic spell you want to give them, by name, from the
Magic Select drop down (MAGIC SELECT).
17. Lastly, select which character will receive this spell (CHARACTER).
NOTE: Aguro has no magic power, and you cannot give him any magic spells.
18. Now that you have made the selection, press the "ADD MAGIC" button.
19. To confirm this, hit the "SHOW MAGIC" button again, and make sure the
change is reflected in your Party Magic box.
STEP 7: UPDATE CHECKSUM:
20. Okay, now here is where all the magic happens. Go to the Checksum Checker
box towards the upper left hand corner of the screen. Click on "CALCULATE",
which will show you what the Checksum in the file currently is in the top
box, and it will show you what it thinks the checksum SHOULD be in the
bottom box -- it will also display "==" if they are equivalent, or "!=" if
they are not.
21. If you made any changes to the SRAM at all, odds are that your checksum
is wrong for that save slot. All you have to do is click "FIX CHECKSUM",
and the value in the evaluated box will get written to the appropriate
location in the SRAM file.
22. To make sure this change took properly, click "CALCULATE" again, and the
two boxes should match and you should see a "==" in the bottom center of
the Checksum Checker.
23. Now, rinse and repeat items 5 through 22 for any other of the save slots
that you wish to alter!
24. When you are done, you can close the program with the "X" in the upper
right, or you can click the convenient EXIT button.
25. Now, go back and load up your save file -- and your changes should have
taken! (see the FAQ about an important note when using an emulator).
NOTE: [IF YOU WANT TO MODIFY SRAM ON YOUR OWN (via a HEX EDITOR)]:
If you want to make your own modifications to SRAM (.srm) but use this program
to fix your checksum, just make your changes to the file BEFORE you load it
up in my program. Then hit "CALCULATE" and "FIX CHECKSUM" on each of the three
save slots, and it should take care of all the magic for you!
WARNINGS:
1. Make sure you have selected a proper SRAM (.srm) file in the file select
box at the top of the screen before clicking any other buttons, lest ye
may crash!
2. When you change which SLOT # you are working with, you have to hit the
SHOW ITEMS / SHOW MAGIC / SHOW GOLD / PARTY INFO all over again and will
have to calculate the checksum again to make it relevant for that slot,
as it will not automatically update itself when you switch slots at this
time.
3. If you put an item or magic past the "Empty" slot, the game will probably
not load it as it treats the first 0x00 character as an "end of list"
marker -- so beware!
4. See the FAQ section (bottom of this readme) for more relevant information.
Future plans:
1. I intend to go back and fix any bugs that are reported with this as well
as update the user interface to make it a little less clunky.
2. I will try to add support for switching slots refreshing all of the items
on the page.
3. If anybody has any new features they think need to be added that are
realistic to be done in an SRAM editor, I am all for it.
4. I will make it so that you cannot do anything until you load a proper
SRAM file into the open file dialog.
5. When I do indeed come up with a final version, I intend to release the
source code -- since I am an ardent believer in open source software.
For the record, I am also teetering on rewriting this entire program again. I
am unsure if I will rewrite it in VB.NET, Visual C++, or if I will use C#
again, but I will try to give things more meaningful names and add lots of
comments so when I release the source code it actually makes sense -- as it
stands, I haven't touched the program in around 10 months and it isn't very
straight forward what stuff does.
The bottom right hand box is some generic help information, and you can get
a little more help by clicking the "HELP" or "ABOUT" buttons at the bottom.
Questions? Concerns? Comments? Find my topic in the personal projects section
of RHDN, or send an e-mail to: vegetaman@gmail.com , and I'll do my best to
respond ASAP. Send me any program crashes or glitches with as much information
as possible so I can try to find and fix these bugs.
Frequently Asked Questions:
Q:
I used your program, then loaded up my game, but it hasn't changed any!
A:
I believe that if you load up your emulator, and then load a save state, it
will clear the SRAM and load it with whatever it had in it when that save
state was originally made (thus voiding your changes). So to avoid this,
you'd need to load the save state, save the game manually at a cleric, then
quit the game and close your emulator. Then modify the files with my program.
Then you should be able to load up the game and wait until you get into the
saved game slot select screen and select the slot you altered, and the
changes should be there. Loading a save state will undoubtedly erase your
SRAM in my opinion.
NOTE ABOUT MAGIC:
You are given 32 bytes to work with for magic for each character, except that
your list must end with the 0x00 or "END OF LIST" byte. Otherwise, you will
spill over into the next character's list. So if you fill up all 32 bytes of
the Hero's spell list, he will also pick up all of Lufia's spells. And if you
fill up all 32 bytes of Lufia's spell list, both Hero and Lufia will pick up
all of Jerin's spells! And if you fill up Jerin's spell list, all three
characters will pick up what look like proper spells (0x01 - 0x37) in SRAM,
until it runs across a 0x00 END OF LIST character/byte. You can give the Hero
up to 9 pages of spells this way!
Also, if you give yourself "Elf" magic to warp to Elfrea before you have Jerin
in your party -- do not talk to Artea, or else the game will crash when he goes
to give Jerin his old bow!