Sonic Adventure DX/PC Object Placement

Discussion in 'Engineering & Reverse Engineering' started by Mask of Destiny, Nov 22, 2003.

Thread Status:
Not open for further replies.
  1. Mask of Destiny

    Mask of Destiny

    Tech Member
    87
    0
    6
    I have cracked much of the object placement files in the demo. These files are found in the system directory of the demo and are named SET*.BIN

    SET0100S.BIN is the object placement file for Emerald Coast. I have not investigated the other files.

    Now for the format:

    Offset 0 is a little endian number (not sure if it's a word or longword) storing the number of object entries in the file.

    Object entries start at offset $20 and each one is $20 bytes long.

    Now for the format of an entry

    The first byte in each entry is the type of object.
    $00 = Ring
    $01 = Bumper
    $02 = Different Bumper
    $03 = Speed-up treadmilll thingy
    $04 = Swinging spike-ball on chain
    $05 = Stomping spike-ball
    $06 = Retracting spikes
    $07 = ???
    $08 = Egg Prison
    $09 = Star Button
    $0A = Shrub
    $0B = Big Round metalic thing
    $0C = Balloon with handle on string
    $0D = Invincibility power-up
    $0E = Rocket platform
    $0F = Rocket platform, closed
    $10 = Rocket platform, rocket pointing up
    $11 = Rocket platform, closed
    $12 = Numbered jump pad
    $13 = Checkpoint
    $14 = Inivsible obstacle
    $15 = Ring
    $16 = Invisible obstacle
    $17 = Invisible obstacle
    $18 = Invsisible obstacle
    $19 = Invisible obstacle (small)
    $1A = Hint sparkle
    $1B = ???
    $1C = ???
    $1D = Monkey-bot enemy
    $1E = Rhino-bot enemy
    $1F = Spider-bot enemy
    $20 = Palm Tree
    $21 = Palm tree
    $22 = Palm Tree
    $23 = Palm Tree
    $24 = Grassy Stationary Rock
    $25 = Wooden platform with thatched roof
    $26 = Spike gate
    $27 = Floating rock
    $28 = Accelerator Ramp

    I'm sure there are more, but I'm going to stop for now. If you want to investigate further, change the byte at address $360 in the file SET0100S.BIN. One of the monkeys near the beginning of the level will change into something else.

    Note, these values are probably only appropriate for Emerald Coast and may be mapped to different objects in different levels


    Object Rotation: These are all little endian words

    Pitch: Offset $2
    Direction: Offset $4
    Yaw: Offset $6

    Object Position: I believe these are all little-endian longwords

    X: Offset $10
    Y: Offset $8
    Z: Offset $C

    Note: The assignment of axes is pretty arbitrary since I don't know how the origin of a level is set up. Z is height, Y is in the direction Sonic is facing at the beginning of the level (at least in this level anyway), and X is left to right

    There are a number of other values that seem to be object-specific. I haven't looked into them yet.

    Thanks to dude2003 of Sonic Cult for discovering that the object placement was stored in these files.
     
  2. Mystical Ninja

    Mystical Ninja

    For old time's sake. Oldbie
    3,334
    0
    16
    New Castle, Delaware
    Nothing that concerns this place in the least.
    WOW. o_O

    This looks like something that could be archived.
     
  3. Ben2k9

    Ben2k9

    We stand to Fight Oldbie
    1,564
    3
    18
    Manchester, UK
    none at the mo
    already???? the demo hasnt even been out a week!
     
  4. Badass Cyborg

    Badass Cyborg

    Member
    657
    0
    0
    TX
    I really wish I could understand this topic. O_O;
     
  5. DDRKhat

    DDRKhat

    Keep on runnin' to the finish! Member
    It may not have been out for a week but its only short and the files are easyer to access and examine as its already on PC, so its just a matter of searching through all the data on the files
     
  6. SupperTails66

    SupperTails66

    Tech Member
    1,103
    6
    18
    Yeah, think about... years from now, we'll be saying "And back in 2003, can you believe that we cracked the object code within 24 hours of the first SADX PC demo coming out?"

    *clears throat* Anyway, I'm hoping that we'll be able to crack other stuff, like the levels, just as easily as this, because one day, I'm hoping that someone will develop a level editor/creator. That'd be awesome, don't you think?
     
  7. LOst

    LOst

    Tech Member
    4,889
    1
    16
    It isn't that hard to hack games as long as they aren't compressed or use CRC32
     
  8. XFox Prower

    XFox Prower

    Member
    1,196
    0
    0
    x86 Assembly, Tails Search Assistant
    Oh, I don't think it will take years at all. The format seems pretty straight forward and raw. When it came to cartridges, they had to do so much compression tasks and planning to store the data using the least megabits possible. But this isn't a problem now. It seems they're a bit layed back now (or atleast for the demo). But from what I heard, Sega didn't use the most effective ways to port their games to PC. For example, Sonic & Knuckles Collection is a 16 mb install. The original roms combined would be 4 mb. Not to mention the PC port depended on midi which wasn't as good. I cracked the save file format on that game. I'm redoing my save file editor as I learn PHP.
     
  9. DDRKhat

    DDRKhat

    Keep on runnin' to the finish! Member
    They were probabily laid-back about the demo and how it installs its files etc because they know that pcs have a vast amount more space then a console, we're talking about gigs instead of mb for once... so they don't have to sit there for ages compiling it, I went through my folder for a laugh and I found all the music files in WMA format, it plays the music then goes a bit fuzzy at the end....
     
  10. Infiniti

    Infiniti

    ↑ & ↓ & ↻ Member
    476
    0
    0
    UK
    all I wanna do is change the charas around, (put knuckles in windy and ripply or tails in sonics ice cap!)
     
  11. There's going to be a PC version of Sonic Adventure DX?
     
Thread Status:
Not open for further replies.