Skip to content

ShadowTheHedgehogHacking/CharacterMods

Repository files navigation

CharacterMods

Collection of model replacements for Shadow the Hedgehog

Explanation of Organization

  • The first folder is the character who is replaced. Inside are two categories:
  1. Default BON MTP - These use the default Shadow animations(MTP)/bones(BON). No additional Gecko Codes required typically
  2. 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.

How to use

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

  1. Choose the .one file you want from the corresponding folder.
  2. Place chosen files in {EXTRACTED_GAME}/files/character
  3. 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 Map

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)

Enemy Map

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

Character Mod Creators

  • 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 into SHADOW_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 replace SHADOW_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 of SWMTLBGUNGLARE.DFF with NULL.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)

About

Collection of model/texture replacements

Resources

Stars

Watchers

Forks