Skip to content
Tirlititi edited this page Oct 24, 2021 · 10 revisions

Table of Contents

Mod folders

This feature of Memoria allows to pack a mod into a folder to be placed in the main directory of Final Fantasy IX. If a mod folder is installed and registered in Memoria.ini, the files and archives inside will be used rather than the default game's files and assets. It eases the installation and the compatibility of different mods.

Register the mod

Registering a mod is done by adding the name of its mod folder in Memoria.ini, section [Mod], entry FolderNames. Enabled mods must be listed there inside quotes and as a comma-separated list.

Example:

[Mod]
FolderNames = "MyCustomMod", "MoguriFiles", "MoguriSoundtrack"

The order in which mod folders are written determines their priority. In the example above, files and assets taken into account are the ones present in the mod folder MyCustomMod in priority. If a file or asset doesn't exist in MyCustomMod, then it is searched in MoguriFiles, then in MoguriSoundtrack and if no mod folder contains the requested file or asset, the default game's files and assets are used.

Example: Suppose that the game request the asset Assets/Resources/Sounds/Sounds01/BGM_/music002.akb.bytes, which is the music of the Village of Dali. With the example above, the asset will be searched first in MyCustomMod, either:

  • MyCustomMod/StreamingAssets/Assets/Resources/Sounds/Sounds01/BGM_/music002.akb.bytes
  • or as an asset packed in the archive MyCustomMod/StreamingAssets/p0data61.bin
If none of these exists, a similar search is done in MoguriFiles, then in MoguriSoundtrack (in which a file MoguriSoundtrack/StreamingAssets/Assets/Resources/Sounds/Sounds01/BGM_/music002.akb.bytes should exist).


Note that assets normally bound to .assets archives should be placed in a sub-folder FF9_Data (eg.: EmbeddedAsset/Manifest/Sounds/SoundEffectMetaData.txt is natively an asset of the resources.assets archive and should thus have the path FF9_Data/EmbeddedAsset/Manifest/Sounds/SoundEffectMetaData.txt from the mod folder) while other files and assets should be placed in a sub-folder StreamingAssets (as in the example with the music above).

Unfortunatly, not every asset can be used in mod folders as external files. For now, only assets of the following types can:

  • TextAsset (Default type that can be both text and binary files)
  • Texture2D and Texture (Can be read as PNG/JPG external files instead of the inner Unity format)
  • AnimationClip (Can be read in a .anim binary format or in a JSON format)
In particular, 3D models may not be replaced by external files. They need to be Unity-serialized and packed in an archive in order to be usable by the game.


On top of custom files and assets, a mod folder may (optionally) contain two additional files, to be placed directly in the mod folder: Memoria.ini and DictionaryPatch.txt. The first one may be used to override configuration settings of the main configuration file (the Memoria.ini that exists in the root directory of the game). The second one may be used to change several inner data lists of the game (see Dictionary Patch).

List of asset paths

Field archive

The field archives are the StreamingAssets/p0data1X.bin (there are 9 of them).

Path Description
Assets/Resources/FieldMaps/[Field]/atlas.png Atlas of the field, the single image file containing all the tiles of the field background in a mess.
Assets/Resources/FieldMaps/[Field]/[Field].bgs.bytes Tileset of the field, defining how to order the atlas.png puzzle into a multi-layer and animated background.
Assets/Resources/FieldMaps/[Field]/[Field].bgi.bytes Walkmesh of the field, defining the paths on which characters can move as a set of linked triangles.
Assets/Resources/FieldMaps/[Field]/[spsID].sps.bytes Field Special Effect, a visual effect to be rendered in the field (eg. a Fire effect when Vivi or black mages use Fire out of battles).
Assets/Resources/FieldMaps/[Field]/spt.tcb.bytes Texture for the field SPS above.

Resources

The resource assets is FF9_Data/resources.assets. It contains many different assets, including almost all the texts of the game.

Path Description
EmbeddedAsset/Text/[LANG]/Field/[ID].mes A batch of dialogs and texts used in fields. The file containing dialogs and texts for the World Map also has this path pattern, with ID 68.
EmbeddedAsset/Text/[LANG]/Battle/[ID].mes The battle texts (enemy names, enemy attack names and other messages).
EmbeddedAsset/Text/Ability/aa_name.mes Names of the party's Active Abilities.
EmbeddedAsset/Text/Ability/aa_help.mes Helps of the party's Active Abilities.
EmbeddedAsset/Text/Ability/sa_name.mes Names of the party's Supporting Abilities.
EmbeddedAsset/Text/Ability/sa_help.mes Helps of the party's Supporting Abilities.
EmbeddedAsset/Text/Command/com_name.mes Names of the party's Commands.
EmbeddedAsset/Text/Command/com_help.mes Helps of the party's Commands.
EmbeddedAsset/Text/Item/itm_name.mes Names of the regular items.
EmbeddedAsset/Text/Item/itm_help.mes Helps of the regular items.
EmbeddedAsset/Text/Item/itm_btl.mes Battle helps of the regular items.
EmbeddedAsset/Text/KeyItem/imp_name.mes Names of the key items.
EmbeddedAsset/Text/KeyItem/imp_help.mes Helps of the key items.
EmbeddedAsset/Text/KeyItem/imp_skin.mes Descriptions of the key items.
EmbeddedAsset/Text/Location/loc_name.mes Names of the different fields.
EmbeddedAsset/Text/Etc/follow.mes UI texts of battle informations.
EmbeddedAsset/Text/Etc/libra.mes UI texts of battle scan.
EmbeddedAsset/Text/Etc/cmdtitle.mes UI texts for battle special casting names.
EmbeddedAsset/Text/Etc/ff9choco.mes UI texts of the chocobo menu.
EmbeddedAsset/Text/Etc/card.mes UI texts of the card menu.
EmbeddedAsset/Text/Etc/minigame.mes UI texts of the Tetra Master games.
EmbeddedAsset/Text/Etc/minista.mes Names of the Tetra Master cards.
EmbeddedAsset/Text/Etc/worldloc.mes Names of the World Map locations.
SpecialEffects/ef[ID] Binary archive used by the FF9SpecialEffectPlugin.dll containing battle SFX sequences, models, textures and cameras.