Final Fantasy 9 > FF9 Tools

[PC] Save editor - Memoria (0.6.3.1)

(1/66) > >>

gjoerulv:
v0.6.3.1 is available. Download below.

Features:

* Editing character stat, equipment and abilities.
* Change party members, Gil, Items and other party related stuff
* Card editing.
* Import and export features.
* PSX memcard handling. Change region. Copy/paste/delete blocks.
* When editing *.dat and/or *.sav keep in mind that this must be considered experimental. BACKUP YOUR FILES!
New in 0.6.3.1:

* !ONLY TESTED ON STEAM VERSION!
* Fixed a bug on item-editing.
* Known bugs/issues: Setting abilities (magic stones) only works like it would in-game (if I'm not mistaken). Meaning setting all abilities won't work, most likely. Also setting Cardattack/def values to max will cause the card to reset when they lvl (255->0). Try setting these values a bit lower to avoid this.
Explanation
Known bugs/issues in newest release:

* Exporting/importing blocks makes an undo-redo push even if you did not export/import anything. This does not mean it's unsafe to export/import.
* Try to avoid switching to full screen or restore down when editing cards (card tab active). It may cause lag for a while. It's better to do this while another tab is active.
* As mentioned in version history, Card and ability (magic stones) editing isn't 100%. Setting passive abilities doesn't seem to register (2016 release only).
* Preview of *.dat and *.sav files will not be updated in-game.
* Successful thefts editing on 2016 release doesn't seem to work.
* Probably more :P

For non-steam/android/ios users:
I want feedback on design etc. But more importantly you can help me figure out the savemap. I included an unknown-values-report form. Open a .mcr file with FF9 data and push F10 (Properties) (PSX files only).
As you can see it will find offsets which values are unknown and compare 'em, and report 'em IF they are different. This way it can be quite easy to figure out the unknown data by loading a game, do minor changes, then save to another slot/block.
The radio buttons which makes sense to use are:
Characters Only (Checks unknown data in characters only).
Block, no character data (Checks all unknown data not related to any characters).

DOWNLOAD


0.5.1b
0.5b
0.4b
0.3b

For Windows. .Net framework 2.0 required.

If your characters heals enemies when attacking, it's because they have the healer ability on. This cannot be undone in game as the healer ability is not visible on all characters. In Memoria goto character tab -> magic stones -> Uncheck healer.

Credits:
Zande (CRC, Savemap)
sithlord48 (memory card file info)
Armorvil (for naming the app)
MaKiPL (for help on the 2016 rerelease.)

Armorvil:
Wow, great work ! I love the layout ; simple and efficient.

Looking at the available options, aside from the story and world positions, it seems to me that you already figured out the whole savemap. Though I'm surprised that you can put 255 in the Strength, Speed, Magic and Spirit boxes - aren't the maximum 100 for Str/Mag and 50 for Spd/Spr ?

EDIT:

Wow, this isn't gonna be simple. I saved my game near the chocobo forest (King Ed Plains), and went to save on another block in Eunorus Plains, near the Dragon Gate. Then, I compared the two blocks with the "block, no character data" function. Here are the results :


--- Code: ---Offset   BlockA  BlockB  A - B

0x0017   51      52      -1
0x0021   4f      50      -1
0x0023   58      50      8
0x0110   1a      14      6
0x0111   38      44      -12
0x0113   36      3e      -8
0x0114    f      41      -50
0x0115   14      44      -48
0x0116   33      42      -15
0x012c   87       b      124
0x012d   bb      cd      -18
0x0178    2       3      -1
0x017c    1       2      -1
0x0200   9c      81      27
0x0201   44      90      -76
0x0202    4       3      1
0x0203   8a       1      137
0x0204   f8      fd      -5
0x0205   4d       d      64
0x0206   3b       9      50
0x0208   5b      d9      -126
0x0213   3c      77      -59
0x0214   48      8f      -71
0x0215    4       3      1
0x0216   d9       7      210
0x0217   f8      fd      -5
0x0218   54      97      -67
0x0219   3a       9      49
0x021b   5d      11      76
0x0f0d   f0       0      240
0x0f18   23      36      -19
0x0f19    8       1      7
0x13fe   a0       4      156
0x13ff   79      a1      -40

Comparisson complete!

Offset   BlockA  BlockB  A - B

0x0178    2       3      -1
0x017c    1       2      -1
0x0200   9c      81      27
0x0201   44      90      -76
0x0202    4       3      1
0x0203   8a       1      137
0x0204   f8      fd      -5
0x0205   4d       d      64
0x0206   3b       9      50
0x0208   5b      d9      -126
0x0213   3c      77      -59
0x0214   48      8f      -71
0x0215    4       3      1
0x0216   d9       7      210
0x0217   f8      fd      -5
0x0218   54      97      -67
0x0219   3a       9      49
0x021b   5d      11      76
0x0f0d   f0       0      240
0x0f18   23      36      -19
0x0f19    8       1      7
0x13fe   a0       4      156
0x13ff   79      a1      -40

Comparisson complete!

Offset   BlockA  BlockB  A - B

0x0017   51      52      -1
0x0021   4f      50      -1
0x0023   58      50      8
0x0110   1a      14      6
0x0111   38      44      -12
0x0113   36      3e      -8
0x0114    f      41      -50
0x0115   14      44      -48
0x0116   33      42      -15
0x012c   87       b      124
0x012d   bb      cd      -18
0x0178    2       3      -1
0x017c    1       2      -1
0x0200   9c      81      27
0x0201   44      90      -76
0x0202    4       3      1
0x0203   8a       1      137
0x0204   f8      fd      -5
0x0205   4d       d      64
0x0206   3b       9      50
0x0208   5b      d9      -126
0x0213   3c      77      -59
0x0214   48      8f      -71
0x0215    4       3      1
0x0216   d9       7      210
0x0217   f8      fd      -5
0x0218   54      97      -67
0x0219   3a       9      49
0x021b   5d      11      76
0x0f0d   f0       0      240
0x0f18   23      36      -19
0x0f19    8       1      7
0x13fe   a0       4      156
0x13ff   79      a1      -40

Comparisson complete!

Offset   BlockA  BlockB  A - B

0x0178    2       3      -1
0x017c    1       2      -1
0x0200   9c      81      27
0x0201   44      90      -76
0x0202    4       3      1
0x0203   8a       1      137
0x0204   f8      fd      -5
0x0205   4d       d      64
0x0206   3b       9      50
0x0208   5b      d9      -126
0x0213   3c      77      -59
0x0214   48      8f      -71
0x0215    4       3      1
0x0216   d9       7      210
0x0217   f8      fd      -5
0x0218   54      97      -67
0x0219   3a       9      49
0x021b   5d      11      76
0x0f0d   f0       0      240
0x0f18   23      36      -19
0x0f19    8       1      7
0x13fe   a0       4      156
0x13ff   79      a1      -40

Comparisson complete!
--- End code ---

I bet the coordinates for the party are in there somewhere, along with the game clock, but wow. I didn't expect so many bytes to change.

nfitc1:
I wish I could tag threads now. This is already beautiful :cry:.

Anyway, I need to look into that crc check from FFIX for you, don't I? I don't get much chance to sit down with the FFIX discs, but I'll see if I can smuggle some time in tomorrow.

gjoerulv:

--- Quote from: Armorvil on 2011-03-07 18:08:48 ---...I'm surprised that you can put 255 in the Strength, Speed, Magic and Spirit boxes - aren't the maximum 100 for Str/Mag and 50 for Spd/Spr ?

--- End quote ---

You can, but but anything above 100 won't display correctly. And I'm not sure if the game calculates beyond the max value. I know that if you level up or change equipment your stats will pretty much reset.

Figuring out the savemap shouldn't be too hard. It just requires patience. I'm lacking it for the moment. :P

@NFITC1 smuggle away if you can. I was hoping this release would spawn some crc related work. I'll get to it eventually. If you're looking for a emulator with good debugging pSX 1.13 works fine. I've heard PCSXTrace is pretty good too. I'll check it out.
 

Akari:
2 gjoerulv: Do you have description to all save data that you found? I working on script dumper now. It can help me a bit.

Navigation

[0] Message Index

[#] Next page

Go to full version