Shadow the Hedgehog general hacking discussion

Discussion in 'Engineering & Reverse Engineering' started by ashthedragon, Mar 12, 2011.

  1. How do I run ShTH as ELF file with PCSX2? Any success with that?
  2. There are couple of tools out the to convert between CVM and ISO:
    - (haven't tried this one)
    -, command line CVM tool by Roxfan, it would be easy to attach if forum dialog had that option.

    Also, I remember you guys were looking for ShTH .ONE unpacker, well I had a success in using Watto Game Extractor to unpack PS2 ShTH ONE,, (even if it was claimed to support ONE from Xbox ShTH), and then unpacking a result file that was actually PRS, and then I had a valid TXD I could explore.
  3. What are these, some beta screenshots?
    Now that it's not only a bike but also heli grab, ripoff of 1993 russian quiz intro becomes complete. :)
    It's intresting how little there is in a web about Xbox version of the game.

    Also it looks like promo screenshots were 1280x960 back in the day.
  4. This video was posted back in April so I came here expecting lots of new stuff.
  5. TheKazeblade


    "Our Life is More than a Side-Effect" Member
    I know this is a hardcore bump, but I had a question and didn't think there was a more appropriate place to ask than here.

    Just recently played Shadow and Heroes back-to-back and one of the things I noticed right off the bat is how significantly lower resolution the textures in Shadow are vs. Heroes; actually, lower in fact that the Dreamcast's too, as seen with the textures used in the Ark.

    I didn't know if enough is known about the game to determine if there is a technical reason for this being the case, but I wanted to ask all the same. Was it done to save on space? The game runs noticeably worse than Heroes, so there wasn't much gained there. Very curious as to why the game is so much uglier in this regard than Heroes and even SA2.
  6. Sewer56


    United Kingdom
    [Reloaded] Mod Loader
    Hello there, that's me :3

    Unfortunately only today comes the time that I can reply to you regarding this, I'd thought before that I would message you elsewhere but I didn't really find a way to reply that would be appropriate (maybe PM).

    Tikal as well as Maria in Shadow The Hedgehog were actually things I didn't touch since around May and were entries originally intended for the Hack Expo, unfortunately the story is that I was very tired, fell asleep and actually accidentally overslept the deadline of the expo, thus not appearing there.

    The rigging process for Shadow The Hedgehog models is nearly the exact same to the process of Heroes models for importing, there is a video guide for that by Maxx Light, it's not perfect and doesn't cover materials but it's easy to follow.
    Materials wise which that guide doesn't cover, you'd need to reassign Standard Material to RW Material. Do not worry if the texture disappears, it will show if you hit render and in the actual model.

    Rigging characters is actually one of the easiest more advanced things you can do in terms of Heroes and Shadow modding as we get to piggyback from the fantastic texture utility MAGIC.TXD and DFF exporter for general model exporting.
    Everything else regarding Heroes & Shadow modding are our own tools and formats self reverse-engineered however, with the exception of the tools for CRI Middleware media formats such as ADX, AFS, shared between many games.

    The difference between rigging models for Shadow compared to Heroes is specifically that you need to go to Editable Mesh and shift up all of the vertices by the height of the "root body bone" (placed around the crotch area) before exporting otherwise the model will be offset from the skeleton in the final export.This height by which you need to shift up by is generally 5.15.

    In order to get proper character blending (not in the original two posted videos and the one linked), you will also need to not export prelights and import certain constant sections from the original file such as the game's lighting system recognizes your character to your own file, this video covers it in-depth:

    (There's a summary of exporting steps at 59:09)

    Should you wish for a more comprehensive model editing tutorial for Heroes and/or Shadow, feel free to request it, there's a good chance I might do a video about it or write one should it be necessary.

    Without further ado, I suppose it's time I release it.


    Rail grinding and wall running is a bit wonky since this is actually a mod for Knuckles which was then ported over Shadow and their animations are incompatible (but almost every other characters' are with shadow, damn Knuckles), otherwise it's pretty solid and is still the most advanced Shadow character mod to date.
    If you want to swap animations, I've reversed the .MTP (MotionPackage?) file format, you can get an exporter and importer from here:

    Tikal: https://cdn.discorda...777345/Tikal.7z

    For Tikal, take the DFF models from MODELS V2, as well as the files in root folder and repack into, with MainMemory's HeroesONE, for Maria simply switch As for rebuilding a GC ROM, I'll leave that to you.

    I also found something on my hard drive that I never finished reversing, perhaps it will help someone:

    Code (Text):
    2. //------------------------------------------------
    3. //--- 010 Editor v7.0.2 Binary Template
    4. //      File: .BON File (Shadow The Hedgehog External Bone Structure file for Animations, Export from DFF Model)
    5. //   Authors: Sewer56lol
    6. //------------------------------------------------
    7.     struct FILE {
    8.         struct HEADER
    9.         {
    10.             char    Activator[4];
    11.             uint    Null;
    12.             ushort  Unknown;
    13.             ushort  Entries;
    14.             float   RootOfBone;
    15.             char    CharacterNameID[32];
    16.         } header;
    18.         struct RECORD {
    19.             uint    BoneTag; // Properties in 3DS
    20.             uint    UnknownRootID; // SomeID
    21.             short   UnknownValue; // Some Value
    22.             byte    IDOfSplit;
    23.             byte    UnknownID;
    24.             int     NullZero;
    25.             float   OffsetParentBoneX;
    26.             float   OffsetParentBoneY;
    27.             float   OffsetParentBoneZ;
    28.             int     Null;           // Always Null
    29.             float   UnknownReferenceFloatX;  // Seems to reference something else
    30.             float   UnknownReferenceFloatY;  // Seems to reference something else
    31.             float   UnknownReferenceFloatZ;  // Seems to reference something else
    32.             int     NullTwo;        // Always Null
    33.             float   UnknownFloatX2; // Almost always 1
    34.             float   UnknownFloatY2; // Almost always 1
    35.             float   UnknownFloatZ2; // Almost always 1
    36.             int     NullThree;      // Always Null
    37.             char    UnknownTwo[16];
    38.             char    BoneName[32];
    39.         } record[ header.Entries ];
    41.     } file;
    Code (Text):
    2. ## Shadow The Hedgehog .BON Struct
    3. ## Sewer56lol
    5. 0x10 Header: Constant
    6. 0x10 Character Name/Identifier (Must change for porting)
    8. Bone Data | 0x80 Byte Entries till EOF
    9. ---------
    10. 0x10 X Offset of Parent Bone | Float
    11. 0x14 Y Offset of Parent Bone | Float
    12. 0x18 Z Offset of Parent Bone | Float
    13. 0x60 File Name | End of Entry
    15. Knuckles Reference:
    16. kn_root = Root Bone
    17. kn_j_l2toge1 = Left Spines
    18. kn_j_head = Head
    19. kn_j_m1oge1 = Middle Spines
    20. kn_j_r2toge1 = Right Spines
    I'm also going to say that you might see the possibility of both custom levels for this game and exporting levels from this game within the near future.
  7. I tried watching your videos back then, but the length and the manner of presentation with text being typed in real time scared me away.
  8. Sewer56


    United Kingdom
    [Reloaded] Mod Loader
    I had a post to post here, except that I accidentally did the back button gesture on the laptop, and it went poof.
    Either way, as a tl;dr:

    Not long ago another member of here tybis/LimblessVector let me know that the Sega NN Library menu files present in Shadow The Hedgehog can embed their own RenderWare texture sets.

    Well, this morning I got sidetracked into looking at those while updating my own rewrite of MainMemory's HeroesONE; thus I figure I'd share some extracts from these, plenty of juicy proto content in here.

    I wouldn't be documenting these on TCRF/anywhere else as my days of proto digging have ended around the end of 2016 as I got tired of it. That said; feel free to re-document this.

    Below I'll only be posting the interesting textures, but I'll also post a link to all the assets (extracted embedded RenderWare Texture dictionaries).


    E3RomTitle.xncp (E3 Showfloor Menu Assets), "E3Title" ROM Assets



    A fun note on this one is that internally 2P Mode is still referred to as "Battle". Expert mode is referred to as "HRD" (Hard) in game files. Race Mode was scrapped, as you can guess.

    ComingSoon.xncp (E3 Showfloor: After you beat a stage), "E3Title" ROM


    Wasn't found on the internet, now it is.

    E3RomTitle_backup.xncp (Menu assets of Earlier Build of E3 Showfloor ROM), "E3Title" ROM (XBOX US Version Only)



    The Level Select Screen tag reads "E3 Version" instead of Stage Select. The Title Screen part list layout is also unseen, as well as the never seen before background.
    And yup, these are proto assets for the E3 Showfloor version.

    MChara.xncp (Unused Character Title Set when Meeting Character)


    The difference between this and the final versions, separated in their own textures is that this one refers to the Doctor as "Eggman" instead of "Dr. Eggman".

    mediarom_title.xncp (Title Screen of E3 Trailer ROM), "E3Media" ROM (XBOX USA Only)


    Wait... "E3 Media"... What is this?
    Well - we've hit a holy grail! This is from the (non-playable) build that was used for creating the media and screenshots to showcase the game at E3; and very notably -
    create the Walk of Game Announcement Trailer.

    MediaMenu.xncp (Stage Select of E3 Trailer ROM), "E3Media" ROM

    Welp, here's our stage select for the "E3Media" ROM. Hey, even the two stages available here just happen to be the ones shown at Walk of Game Trailer.


    Here's a download to all the embedded texture assets, if you want to take a look at them:

    I know of many more neat, unused and unposted proto stuff for Shadow; that I never got around to documenting (thus are undocumented).

    A while ago (~2016) I wanted to post them on Retro (and many other things), but I had no posting priviledges. As I've no plans to take a long to write in my very lengthy, large word count style, I probably wouldn't be strictly documenting them at any point - but I'll probably post a few more things in here on another day if that's what people want to see.

    I'm on vacation and my laptop doesn't have all the Shadow ROMs on it, so I've only done GameCube JP and XBOX USA.

    If you want to poke about and look for some assets yourself on the PS2 version or other regions,then here's a short guide on dumping them;

    1. Get all of the *ncp files with a "FAPC" identifier/4 byte header at the start of the file.
    2. Get offset to Embedded Texture Dictionary from file offset 0x04.
    3. Add +12 bytes to that offset (metadata header length) and copy the RenderWare Texture Dictionary away.*

    *It you want to know the length of the RW Texture dictionary, it's at 0x4 from the start of it. Though they always seem to end at the end of file.
  9. Lanzer


    The saber calls for its master... Member
    Glendale, AZ
    Living life.
    Awesome, Nice finds! that early Shadow logo, wonder if anybody can get that uprezzed and cleaned up?

    Dude I'm looking forward to this, especially that Walk Of Game content you found. post everything you got even the minor stuff.
  10. I wonder if it is possible to create a version without guns, for example they don't fall out of dead enemies or they are unusable... perhaps zeroing their clip capacity would be the easiest way to do this. Of course that can make some levels unbeatable (the one with chasing alien ship through Westopolis and shooting it for example) but let's put that behind brackets for now. :)
    Also I wonder if it's possible to edit lights to get rid of that cringe Quake 2/Instagram aestetic. It's all very tedious as long as one have to work with and run a solid ISO image rather than a folder with files.