-
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.
Since the release v2022.04.29, the Mod Manager provides a graphical interface to download, install and activate mod folders.
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)
- 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)
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 (theMemoria.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).
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".
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. |
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 |
The world map archive is StreamingAssets/p0data3.bin
.
The 3D model archive is StreamingAssets/p0data4.bin
.
The 3D model animation archive is StreamingAssets/p0data5.bin
.
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
.
The event script archive is StreamingAssets/p0data7.bin
.
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. |
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. |