-
Notifications
You must be signed in to change notification settings - Fork 51
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.
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
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)
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).
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. |
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/efXXX | Binary archive used by the FF9SpecialEffectPlugin.dll containing battle SFX sequences, models, textures and cameras. |