2P Shadow the Hedgehog Co-Op - Original & Reloaded

By dreamsyntax
   

2P Shadow the Hedgehog Co-Op Mod

2P-ShdTH & 2P-Reloaded - v2.5 | 2025 | 20th Anniversary Edition

This project allows you to experience Shadow The Hedgehog (GameCube)'s 1P modes with a second player. Story Mode, Select Mode, Expert Mode, and Last Story are all fully functional.

Initially debuted in SHC2018 as a proof of concept. In SHC2019, v2.0 arrived, adding compatibility with all stages and player-independent chunk loading, but with the compromise of terrible looking crunched textures and rendering all loaded chunks to both splitscreens. It was also still common to experience crashes, and Space Gadget in particular was riddled with issues. In SHC2024, in collaboration with LimblessVector, Shadow the Hedgehog: Reloaded v1.2 released. Celebrating the upcoming 20th anniversary of Shadow the Hedgehog, I bring you v2.5 of this multiplayer mod. This final version is focused on resolving all the known issues and adds compatibility with Shadow the Hedgehog: Reloaded.

Quick Setup

Creating the ROM

  • Pick your chosen version's xdelta in the "Patches" folder of the download.
    • 2P-ShdTH (Original game experience) or 2P-Reloaded (Shadow the Hedgehog: Reloaded v1.2 experience)
      • Both available in widescreen or original aspect (4:3)
      • '64M' is for Dolphin
      • 'console' is for real hardware/console
      • If you are not familiar with Shadow the Hedgehog, dislike the strict mission requirements, or your partner is not familiar with Shadow the Hedgehog; then I recommend the 2P-Reloaded 64M Widescreen variant.
  • Use an xdelta patcher of your choice, such as https://shadowthehedgehoghacking.github.io/xdelta-wasm/ by kotcrab
    • If you have an RVZ, you can use Dolphin to convert it to ISO before patching. Right-click your RVZ game in Dolphin's game list -> select 'Convert File...'
    • For 2P-ShdTH (Original) - Patch a NTSC-U ROM in ISO format using your chosen xdelta
    • For 2P-Reloaded - Patch a Shadow Reloaded WIDESCREEN v1.2 ROM in ISO format using your chosen xdelta.
      • To clarify, 2P-Reloaded's patch files do not apply to the original game.
      • If you do not have Reloaded v1.2 Widescreen already, you need to patch your original ISO -> Reloaded v1.2 Widescreen first. Then patch that output Reloaded v1.2 Widescreen -> 2P-Reloaded. You can get Reloaded v1.2 on last year's SHC page
  • If you are planning to play on console via Nintendont, see the README included with the download.

Setting up Dolphin (Required)

  • Setup Dolphin 2506 or newer - https://dolphin-emu.org/download/
  • Launch Dolphin, and at the Top Left corner of Dolphin, Select 'File' in the menubar -> 'Open User Folder'
    • Copy the contents of the Required and Optional Folder to this folder (Optional has the 100% Save Data - skip at your choice)
  • Adjust Dolphin Graphics Backend to Vulkan or Direct3D 11. Do NOT use Direct3D 12, it is unstable for Shadow the Hedgehog.
  • Adjust Config -> Advanced -> Emulated CPU Overclock between 150% and 300%. The higher the better, but it depends on how powerful your computer's CPU is. See the setup video for more information. I suggest trying 150%, 220%, and 300% and seeing which runs better. If the game audio crackles, or you experience slowdown that is affecting audio, the clockspeed is too high.
  • If you need more help, check the setup video in the entry media (second item), and the README has more in-depth steps

Things to know / warnings

  • You must use Dolphin 2506 or newer. Dolphin 5.0 and earlier is NOT compatible.
  • You can change characters - Select 2P-VS, select characters, back out to the main menu at the 1-3 round select screen. Your character choices will carry over to 2P CO-OP.
  • Configure Dolphin Emulated CPU Overclock to improve FPS
  • If playing with a model/animation swap such as Sonic or Omega, enable the Custom MTP Crashfix and Yellow Android MTP Animation Override codes in the Gecko Codes tab
    • Sonic and Omega are included as an EXTRA download, see instructions included in download (also shown in video tutorial).
  • The 2P-ShdTH and 2P-Reloaded projects are more or less the same project but separate flavors. If you are not familiar with Shadow the Hedgehog, dislike the strict mission requirements, or your partner is not familiar with Shadow the Hedgehog; then I recommend the 2P-Reloaded variant.
  • On Blue Falcon, it is recommended to stay together in either the upper or lower section due to how the boss controls the camera
  • On Devil Doom, it is normal you will die and the stage will restart on first load. This is done to fix an original game bug with Super Shadow
  • Use Vulkan Graphics backend. Do not use Direct3D 12, as it has crashing issues in Dolphin with this game. Direct3D 11 will sometimes corrupt textures (nvidia only).
  • For playing together: Two people playing locally is best, otherwise: Parsec in 3MB Bandwidth mode (if streaming), or Sunshine & Moonlight instead of Parsec if on Linux, or Dolphin Netplay with two high-end PCs (Both CPU Emulated Clocks must match - I don't recommend this as typically its unlikely both have high end hardware).
  • Technical note: This entire project was written in PPC ASM.
  • If you encounter issues, see the troubleshooting section in the README.

Changelog

A lot has changed since v2.0. The main takeaway is the experience is much more polished compared to the v2.0 release in 2019.

No more 'stutter' when the other player dies, no more overlapping geometry, feature parity for remaining objects implemented, vibration implemented, Boss Cameras implemented where possible, Chaos power synchronization, and no more crashing - even for custom animation/model swaps!

Below describes changes in more detail. If you played the v2.0 release in 2019, the changes should speak for themselves while playing the game.

Core Experience

  • 64M variant for Dolphin - removed the 24M memory cap in the game. This let us restore the original textures, to also allow using Dolphin Texture packs made for the original game
  • Real console / hardware support is back - 24M variant still requires the crunched textures. Use latest official Nintendont (Wii / Wii U) or Swiss (GC). Note: In the v2.0 release, we did not support real console yet
  • Geometry renders per-splitscreen now; No more overlapping chunks/skyboxes from the other player
  • Fade Screens are restored
  • Proper Widescreen with UI adjustments
  • Original Aspect Ratio version added. While this is not recommended even on console, if you play on a CRT perhaps you will prefer it
  • Adjust SplitScreen FOVs and Widescreen Heuristic to force Vertical SplitScreen to work properly with Dolphin's Widescreen Hack if you use "Stretch to Window" mode on a 16:9 display and want to get rid of the black borders
  • Better support for the Horizontal SplitScreen mode. Vertical is still the recommended way to play
  • Player Targeting - You will no longer homing attack or aim at the other player by default. In v2.0, players would attack each other in boss stages. An optional Gecko code exists to enable homing attack and targetting each other in all stages
  • Boss Cameras for both players in most bosses (Diablon and Egg Dealer are excluded - only P1 will have the Boss Camera for these bosses)
  • Independent Respawns overhauled with a ton of QoL fixes and improvements to give it an official feel
  • The game will no longer 'stutter' or 'freeze' for a moment when respawning a player
  • Fixes to logic on what constitutes a dying player - no more randomly spawning the non-dying player if in a DarkSpin or certain rails, and other oddities
  • UI such as ammo counter is now correctly synced regardless of player death
  • Barriers and other state, such as Box Carrying, is not reset for the non-dying playerns
  • Fixed respawning influencing mission timer and incorrectly reinvoking partner respawn
  • If either player dies on any boss, Restart is invoked rather than Continue
  • Checkpoint System Overhauled
  • Checkpoint warping and using warpholes no longer locks player movement
  • Checkpoint warping can be done at the same time, though the UI will look a bit weird double-overlaying
  • Chaos Powers are now synced when they should be active, including on player death / vehicle dismount etc
  • Chaos Powers drain is now identical to the original game, regardless if one or two players has a power active. This includes using Chaos Control, so now you will be able to travel further even when both players use it at the same time
  • Vibration fully implemented for P2 - All P1-hardcoded objects have been patched to vibrate for the proper player
    • Note: Some objects vibrate all controllers (turrets, laser strikes, some explosions) - this is expected behavior
    • There is a platform exclusive bug in the GameCube version of Shadow the Hedgehog where Vibration is very weak. Parsec users will notice they have 'extreme' feeling vibration in comparison, because Parsec automatically applies Rumble Smoothing. Unfortunately this means only Parsec users will experience the intended vibration effects in full. I am working on a fix for Dolphin in the future, where Rumble Smoothing will be added as an option in Dolphin. Alternatively I may release a game patch in the future to also fix vibration for real hardware
  • Partner PORT3 controls are player-aware of who activated them. Now the camera will be relative to the activated player
  • Score and Chaos Power Meters will not reset if either player dies - optional Gecko Codes exists to restore resetting them

Object Compatibility

  • Cosmic Fall and The Last Way no longer reset objects on either player dying. Sonic Team original alternate paths are activated earlier to allow the other player to progress when destroyed. Some additional objects added when not feasible
  • Hintball and Item Capsule images will now rotate to the nearest player
  • Rewrote the Independent Coaster code to resolve a memory leak and made it more reliable
  • Player 2 can interact with grabbable helicopters
  • Player 2 can now control/exit the Route Menu (the sub-menu when you press (Y) in while in a level in Story Mode)
  • Checkpoints now give a +10 ring bonus to either player who activated it regardless of ring counts
  • Keep original stage gimmicks when possible (Digital Circuit searchlights are now per-enter rather than per-enemy)
  • Both Players start with 10 rings on all boss stages
  • Space Gadget Gravity Switcher Objects rewritten to resolve memory leaks in prior versions - and allowing us to keep the same object counts in the original game
  • Overhaul Space Gadget checkpoint warping to not set gravity on the other player when warping
  • "Airbug" (occasionally P1 or P2 will be stuck in the floating state until hurt after entering wind/fan/elecfan objects) fixed
  • Worm Enemies and Alien Gunships target closest player
  • GUN Fortress Security Cameras now shoot at closest player
  • GUN Fortress Security Camera models will keep rendering even while in target range
  • Cryptic Castle's Castle Monster now goes after nearest player, and P2 can invoke it
  • Devil Doom is balanced for two players (ring collection is shared)
  • Devil Doom range calculation adjusted to make it easier to make him warp away to get more rings (move towards/into the body), without excessive warping
  • Devil Doom player skin issue 'fixed' (workaround) by forcing a death on initial boss start. This is an original game bug
  • Resolve Link ID object bugs (wrong links for dupe objects)
  • Layout adjustments to Digital Circuit to focus on the stage gimmick (search lights)
  • Add extra capsules/vehicles/springs
  • Mad Matrix has the fixed cameras from Reloaded by default even in the base game version
  • Fixed Sonic & Diablon boss spawn positions - turns out the original game had an oversight with the spawn arguments

Misc

  • Supports Custom MTP characters over YellowAndroid slot, such as Sonic or Omega. This feature only works on Dolphin
  • MTP/BON Custom Crashfix (original game bug / base game) - now enables animation swaps with no leaks/use-after-free
  • Torch SFX is now disabled - was causing the audio overflow in Glyphic Canyon/Sky Troops
  • Fixed a crash if either player held a box and went into a Fan/ElecFan
  • Devil Doom memory leak fixed
  • Space Gadget memory leaks fixed (rewrote gravity switcher objects)
  • Optimize old codes (various) for reduced code region usage and prevent any rare edge case / register clobbering scenarios
  • Reduced non-2P related gameplay tweaks that were built-in previously, and moved them to optional gecko codes
  • Gecko Codes updated to include lots of optional Reloaded codes, some preference codes, and cheats
  • Partner PORT4 for successive partners code added (not something you would ever experience in the base game, only relevant for ShadowRando or an addon/other mod that adds more than one Hero Partner in a stage)
  • Super Shadow (with Up/Down Flying Toggle/Controls) cheat compatibility with Multiplayer (see Cheats)
Credits

While 2P-ShdTH is primarily my own work, DonutStopGaming has contributed and assisted over the years. Additionally none of this would have been possible without the community's prior works. This project and Shadow: Reloaded lead to a lot of enhancements, bringing Heroes Power Plant and other tools where they are today with Shadow the Hedgehog support. Thank you anyone who has ever contributed to these tools and projects, directly or indirectly.

  • dreamsyntax - main developer
  • DonutStopGaming - early assistance esp with Chunk Code & various objects
  • BlazinZzetti for Shadow SX (some code used with permission)
  • Jesus_PK, Sora-yx, Spectral Star, Waddle DJ, and many others for lots of testing and bug reports. Special shoutout to Jesus_PK constantly breaking the game / finding extremely rare bugs.
  • TheHatedGravity for additional work on widescreen gncp patches, HD font, assistance with Models Fix project, v1.2+ MenuUI, v2.0 Banner, and a ton of testing
  • Sewer56 for assistance brainstorming and optimizing per-splitscreen Chunk Fix V2, and all the inspiration they created from their own projects/mods/tools
  • igorseabra4 for their initial work on Heroes Power Plant
  • Full credits & thanks here: https://github.com/ShadowTheHedgehogHacking/2P-ShdTH?tab=readme-ov-file#credits
  • LimblessVector for Shadow Reloaded, and for his work on identifying objects, work on the initial memory list, initial SinglePlayer Widescreen Hack, Stray Pixel under HP Bars fix
  • kotcrab for online xdelta patcher
  • Original Shadow vector used in banner by nibroc_rock (modified)
  • Trailer music - Death Ruins Remix by Silent Dreams ft. ‪Zakkujo
Gallery
Download

File Type: rom/7z

File Size: 10.78 MB

Extra Public Downloads
EXTRA - Custom MTP Sonic & Omega Over Yellow Android Shadow
623.36 KB