Miscellaneous Forums > Misc. Tools

[FFX] Skill editor - Ronso (v0.3.1.0)

<< < (3/13) > >>

nfitc1:

--- Quote from: eXistenZe on 2015-08-08 14:32:16 ---n00b question: if this is a memory editor, won't changes revert on save load?

--- End quote ---
An in-game load perhaps. But a quicksave/quickload wouldn't undo changes.

Husbjörn:

--- Quote from: NFITC1 on 2015-08-09 03:06:48 ---
--- Quote from: eXistenZe on 2015-08-08 14:32:16 ---n00b question: if this is a memory editor, won't changes revert on save load?

--- End quote ---
An in-game load perhaps. But a quicksave/quickload wouldn't undo changes.

--- End quote ---
I just tried it and it does in  fact not seem to reset within the game at all, not by loading after a game over or through a soft reset.
The data seems to be loaded into a separate RAM area at startup and then just kept there. It is naturally possible that certain cutscenes / FMV's may push it out of memory and the game will then reload it, this seemed to be a thing in earlier PSX Final Fantasies due to memory limitations, but I haven't found any evidence pointing to this so far.
Again, my main idea with this was to figure out desirable skill changes and then use a Action Replay / GameShark-style device to achieve these changes on an actual PS2, in which case the changed values would continously overwrite whatever might be set by the game, ie. "frozen" using Cheat Engine names.



--- Quote from: gledson999 on 2015-08-08 16:08:59 ---so, each weapon model has the appearance for each name, like

Caladboung = has configured to create model id 0x07 inside the weapon model (data, vertex, meshes)? this is it?

--- End quote ---
Kind of but not quite. Judging by the save map there seems to be a list of 200 (or possibly 255, but only 200 are stored in a save file anyway from the looks of it) "equipments". This includes both weapons and armours. Each piece of equipment has a boolean flag stating whether that slot in the equipment list is occupied or not, a name (probably through another offset into a string table as with the skills), the id of the character that can equip it, another id that is only set to the respective character id if this particular piece of equipment is currently equipped by them, a damage formula, attack power and critical hit rate, up to four auto-abilities and a model id. Since the model id's used seems to begin around 16000+ it is quite likely that other models can be loaded and used as weapons / shields as well. The game crashes when changing this to an invalid id however so it would probably be a slow process to try to map any possible other values by hand.
The actual vertex data is not stored with the equipment declaration. It is also possible that there's some additional data for each piece of equipment in the game's memory at runtime that doesn't have to be stored to the savefile.

Tirlititi:
I think the console from the PS2 era had much more ram than for the PSX era.
I don't think they cared about freeing/handling the memore as much as they did for PSX and NES games.

Husbjörn:
I think so too. And yet, it's pretty amazing what they managed to squeeze into a mere 32Mb... :o
(Not to mention 2Mb before then!)

Husbjörn:
Version 0.2 is available to download from the opening post.
New features include the possibility to edit enemy-exclusive skills and some saving/loading functionality.
There's also a "reset" option under the File menu; this will attempt to set all skills to their default values. Note that the default values were sampled from the PAL version and so it's possible that there might be some slight changes against other versions of the game.

I've also been working on altering the damage limits (9999 and 99999 respectively) but this isn't available as an option yet as the memory where this is stored seems to be dynamically selected. There also aren't any static memory patterns preceeding this data and it isn't even put into memory until you enter a battle after loading a save in-game. After that these values remain at a constant memory address however.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version