Collection of model replacements for Shadow the Hedgehog
- The first folder is the character who is replaced. Inside are two categories:
- Default BON MTP - These use the default Shadow animations(MTP)/bones(BON). No additional Gecko Codes required typically
- Custom BON MTP - These edit or swap BON/MTP files - thus have animations Shadow does not have. Vehicle animations will probably be broken. May require the
Custom MTP Crash Fix v4
code (see below). For 2P Mod usage,Yellow Android MTP Animation Override
is required. Yellow Android MTP Animation Override is not included in this repo as it is already bundled as part of 2P-ShdTH and 2P-Reloaded.
- The nested folder after the category is the name of the model change or character.
To apply character mods, use Dolphin's Extracted Game feature. If you are not familiar you can learn how to easily do it here: https://github.com/ShadowTheHedgehogHacking/2P-ShdTH?tab=readme-ov-file#extraction-of-game--extracted-game-format
- Choose the
.one
file you want from the corresponding folder. - Place chosen files in
{EXTRACTED_GAME}/files/character
- Enable required Gecko Code(s) if necessary
$Custom MTP Crash Fix v4 [dreamsyntax]
C24188A0 0000000A
3F808057 639C5F80
839C0000 2C1C000A
4182001C 2C1C0010
41820014 2C1C0006
41820010 2C1C0001
4082001C 4E800020
83810114 3C00800B
600053D0 7C1C0000
41A2FFEC 9421FFC0
60000000 00000000
* Fixes crashing after completing stages when using custom MTP model/character mods.
*
*Example:
*If using Omega over Shadow, and then complete a stage Omega appears in (Iron Jungle, Lava Shelter) you have a chance to crash. With this code you will no longer crash.
Character | File Name |
---|---|
Shadow | shadow |
2PYellow (Yellow Android) | shadow2py |
2PGunBlue | shadow2pmtlb |
2PGunPink | shadow2pmtlp |
2PCannonOrange | shadow2pcnno |
2PCannonGreen | shadow2pcnng |
Sonic | sonic |
Tails | tails |
Knuckles | knuckles |
Amy | amy |
Rouge | rouge |
Omega | omega |
Vector | vector |
Espio | espio |
Maria | maria |
Charmy | bee |
EggMonitor | eggmonitor |
Doom's Eye | doomseye |
eWorld Shadow | eshadow.one (UNUSED) |
Character | File Name |
---|---|
Artificial Chaos | BKChaosData |
Black Arms Giant / Oak | BkGiantData |
Black Arms Larva / Death Leech | BkLarvaData |
Black Arms Assassin | BkNinjaData |
Black Arms Soldier / Warrior | BkSoldierData |
Black Hawk / Black Volt | BkWingLargeData |
Black Wing | BkWingSmallData |
Black Worm / Blue Worm / Gold Worm | BkWormData |
Egg Pawn | EggPawnData |
Egg Pierrot (Clown) | EggPierrotData_pierro |
Egg Pierrot (Knight) | EggPierrotData_busou |
Egg Pierrot (Pumpkin) | EggPierrotData_horror |
Shadow Android | EggShadowAndroidData |
GUN Beetle / Gold GUN Beetle | GunBeetleData |
GUN Bigfoot Type A / Type B | GunBigfootData |
GUN Trooper / Giga Trooper | GunRobotData |
GUN Soldier (Westopolis / Lethal Highway / Central City) | GunSoldierData_citii |
GUN Soldier (Glyphic Canyon) | GunSoldierData_nazca |
GUN Soldier (The Doom / Lost Impact) | GunSoldierData_ark50 |
GUN Soldier (Death Ruins) | GunSoldierData_iseki |
GUN Soldier (GUN Fortress) | GunSoldierData_kichi |
GUN Soldier (Digital - UNUSED) | GunSoldierData_ark00 |
GUN Soldier (Air Fleet - UNUSED) | GunSoldierData_densi |
GUN Soldier (Iron Jungle - UNUSED) | GunSoldierData_jungl |
NULL.DFF
in the root of this project can be used to replace other .DFFs in a .one if an import is an all-in-one DFF instead of separated. This may be useful because Shadow's model is split up intoSHADOW_BODY
,SHADOW_EYE_L
,SHADOW_EYE_R
,SHADOW_HAND_L
,SHADOW_HAND_R
,SHADOW_HAND_SWORD
,SHADOW_MABUTA0[X]
. For example: If doing a single one-model swap, you could replaceSHADOW_BODY
with your model that has hands/eyes already part of one file. Then use NULL.DFF to replace the HAND_L, EYE_R, etc. Keep in mind blinking and hand animations would not work though, since they are tied to those models. Another example would be removing the glare on the 2PGunBlue's model - replacing the content ofSWMTLBGUNGLARE.DFF
withNULL.DFF
to remove the glare. For clarity, you do not want to rename the DFF files in the.one
you are simply replacing the content with that of NULL.DFF (HeroesONE-R tool does this if you use the Replace feature).- HeroesONE-R to open/edit/save
.one
files - ShadowMotionSwapper to swap MTNs between MTPs (including property mapping option)
- ShadowMTPSharp to extract MTPs (MotionPackage / Motion = Animation / Package = Collection of Animations) to raw files
- DragonFF Blender plugin to import/edit/export DFF files (models)
- io_scene_stn_mtn Blender plugin to import/edit/export BON & MTN files (bones & animations)