Skip to content
Tirlititi edited this page Aug 29, 2024 · 10 revisions

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.

Since the release v2022.04.29, the Mod Manager provides a graphical interface to download, install and activate mod folders.

Table of Contents

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)
  • Textures (Can be read as PNG/JPG usual file formats or as Unity's texture asset 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 three additional files, to be placed directly in the mod folder:

  • Memoria.ini may be used to override configuration settings of the main configuration file (the Memoria.ini that exists in the root directory of the game).
  • DictionaryPatch.txt may be used to change several inner data lists of the game (see Dictionary Patch).
  • BattlePatch.txt may be used to mod battles and enemies using textual commands (see Battle Patch).

List of asset paths

One way to find an asset of the game and its related path is to browse the game's archives using Hades Workshop's embedded tool "Unity Assets Viewer".

Field archive

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

Path Description
Assets/Resources/FieldMaps/[Field Map Identifier]/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 Map Identifier]/[Field Map Identifier].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 Map Identifier]/[Field Map Identifier].bgi.bytes Walkmesh of the field, defining the paths on which characters can move as a set of linked triangles.
Assets/Resources/FieldMaps/[Field Map Identifier]/[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 Map Identifier]/spt.tcb.bytes Texture for the field SPS above.

Battle archive

The battle archive is StreamingAssets/p0data2.bin.

Path Description
Assets/Resources/BattleMap/BattleInfo/INB_[BBG Identifier].inb.bytes Battle background infos, containing datas about the background's animations and ambiant color.
Assets/Resources/BattleMap/BattleModel/6/[Model ID]/[Model ID].fbx 3D model of a weapon.
Assets/Resources/BattleMap/BattleModel/BattleMap_All/BBG_[BBG Identifier]/BBG_[BBG Identifier].fbx 3D model of the battle background.
Assets/Resources/BattleMap/BattleScene/EVT_Battle_[Battle Name Identifier]/[Battle Numerical Identifier].raw17.bytes Battle sequence instance, containing the enemy attack sequences and the battle-specific camera movements
Note: while enemy attack sequences are handled by btlseq.cs, the camera movements are passed on to FF9SpecialEffectPlugin.dll.
Assets/Resources/BattleMap/BattleScene/EVT_Battle_[Battle Name Identifier]/dbfile0000.raw16.bytes Battle scene, containing the enemy stats, attacks and formation patterns.
Assets/Resources/BattleMap/BattleSPS/ST_[Status SPS Name].sps.bytes Battle Status Special Effect, the model and datas for status visual effects. Their textures are stored in resources.assets instead of being in that archive.
doku: Poison, mdoku: Venom, slow: Slow, heis: Haste, nemu: Sleep, heat: Heat, friz: Freeze, rif: Reflect, moku: Silence, moum: Blind, meiwa: Trouble, basak: Berserk

World Map archive

The world map archive is StreamingAssets/p0data3.bin.

Model archive

The 3D model archive is StreamingAssets/p0data4.bin.

Animation archive

The 3D model animation archive is StreamingAssets/p0data5.bin.

Audio archive

The music archive is StreamingAssets/p0data61.bin. In terms of SoundProfileType, it corresponds to SoundProfileType.Music.
The sound archive is StreamingAssets/p0data62.bin. In terms of SoundProfileType, it mainly corresponds to SoundProfileType.SoundEffect, SoundProfileType.MovieAudio and SoundProfileType.Song.
The effect sound archive is StreamingAssets/p0data63.bin. In terms of SoundProfileType, it mainly corresponds to SoundProfileType.Sfx.

Event script archive

The event script archive is StreamingAssets/p0data7.bin.

Resources

The resource archive 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.
EmbeddedAsset/BattleMap/Status/[Status Name] The textures of statuses visual effects. Possibly there are several textures in which case the name's format is [Status Name]_[Num] instead.
EmbeddedAsset/UI/Sprites/Name[Player Identifier] The screen background for the naming menu of each character (except Garnet's).
SpecialEffects/ef[ID] Binary archive used by the FF9SpecialEffectPlugin.dll containing battle SFX sequences, models, textures and cameras.

User Interface atlas

The UI atlas archive is FF9_Data/sharedassets2.assets. It contains many important UI textures and atlases.

Path Description
EmbeddedAsset/EndGame/card_image The atlas containing images of Blackjack cards.
EmbeddedAsset/QuadMist/Atlas/quadmist_image0 The atlas containing images of Tetra Master generic UI elements.
EmbeddedAsset/QuadMist/Atlas/quadmist_image1 The atlas containing images of all the Tetra Master cards.
EmbeddedAsset/QuadMist/Atlas/quadmist_text_it The atlas containing written messages appearing in Tetra Master in italian.
EmbeddedAsset/QuadMist/Atlas/quadmist_text_us The atlas containing written messages appearing in Tetra Master in english (used by most languages).
EmbeddedAsset/UI/Atlas/Gray Atlas The atlas of the gray interface: dialog and menu windows...
EmbeddedAsset/UI/Atlas/Blue Atlas The atlas of the blue interface: dialog and menu windows...
EmbeddedAsset/UI/Atlas/Chocograph Atlas The atlas containing all the chocograph captions, plus a couple of chocograph-related UI elements.
EmbeddedAsset/UI/Atlas/Ending Text US JP GR Atlas A couple of lines at the end of the game that are specially drawn.
EmbeddedAsset/UI/Atlas/Face Atlas The atlas containing all the menu portrait of playable characters.
EmbeddedAsset/UI/Atlas/General Atlas An atlas containing many UI elements, many of which being texts.
EmbeddedAsset/UI/Atlas/Icon Atlas An atlas containing many UI elements, especially icons such as items, statuses or buttons.
EmbeddedAsset/UI/Atlas/Screen Button Atlas An atlas containing several UI elements, including world minimaps, booster icons or icons for the portable version of the game.
EmbeddedAsset/UI/Atlas/Movie Gallery Atlas The atlas containing all the previews of the game's cinematics.
EmbeddedAsset/UI/Atlas/TutorialUI Atlas Images used by the battle tutorial and the Tetra Master tutorial.
EmbeddedAsset/UI/Sprites/GameOver The Game Over screen background.
EmbeddedAsset/UI/Sprites/Title_BG The title screen background.
EmbeddedAsset/UI/Sprites/World_Map_Full_All The full-sized world map.
EmbeddedAsset/UI/Sprites/Name02 The screen background for Garnet's naming menu.
Clone this wiki locally