(DC) Sonic Adventure Prototype (1998-10-16)

Discussion in 'General Sonic Discussion' started by Orengefox, May 21, 2013.

  1. Overlord

    Overlord

    ...did we just switch realities? Moderator
    Wish granted. =P

    Great work on all of this! The Autodemo is a fascinating snapshot of SA1's development and it's good it's being so heavily looked at.
     
  2. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,841
    0
    0
    Glendale, AZ
    Doing Stuff.
    Holy shit! thats a level of detail I haven't seen in a while.

    'Wiki Sysops' may be in your future here. (Maybe 'Researcher' too but I'm not sure if thats just locked to Oldbies).
     
  3. Energy

    Energy

    Member Member
    That's a crazy wiki post. Thanks for all that. Really interesting reading.

    I'm guessing there isn't an early version of Chao Adventure on the disc?
    Also just reading that there is the level data for that Dragon boss is such a tease.
     
  4. Windii

    Windii

    朴念仁のエッグマン Member

    • Okay, I know you mean well, but I don't think it would hurt to credit JmTsHaW specifically for that TCRF article, as as he is responsible for documenting most of what's on it. Without his contribution I don't know how much longer that page would have stayed barren and lifeless so it's only fair to give proper credit.
     
  5. SystemsReady

    SystemsReady

    I Have No Idea What I'm Doing At Any Given Moment Member
    138
    0
    16
    The Twin Cities
    trying to not fall asleep while writing Selenium tests
    Thank you very much for the membership and kind words! I should really get around to adding images at some point...



    • My apologies! I wasn't sure which of the several people in the revision history was from here. I don't recall it being mentioned in this topic either - there was an offhand reference to the Hotel sign from the TCRF article, which tipped me off to its existence, but not who had written it. I could have also spaced on it, as it took me a year to slowly go through everything and it has been months since I last looked at this topic.

      Thank you very much JmTsHaW! :D I'll go edit my post too, if necessary.
     
  6. Woofmute

    Woofmute

    Y and -Y and XYZ-X-Y-Z. Member
    184
    0
    16
    Hacking and researching Rez.
    Bit of a bump, but its for some new discoveries. Any memory addresses here will be 0x2C instead of 0x8C for Cheat Engine and Demul.

    Chaos 2 was thought to be non-functional in the Autodemo but it turns out it can be activated and fought properly.
    There are two methods, one is weird in that chaos 2 will only walk after you and turn into the bouncing ball when hit each time, until you defeat it.

    Load into the Chaos 2 stage, and press X on controller 1. You can then press A or B to activate the simple version of Chaos 2's fight. Doing so will lock the camera until you deactivate Chaos.
    Pressing X again will cancel the bouncing ball attack, and can be used deactivate Chaos.

    The alternative method is to set the byte at 0x8C6A4EAA to 01.
    Activating the fight this way will show the little cutscene that shows the boss' name and activates the health bar, and Chaos 2 will be able to use all of its attacks.
    The punching attack in this version does not have the delay afterwards like the final, so there are less openings to attack.

    Credit to MainJP and SpeepsHighway for discovering how to activate Chaos 2. A video will need to be made about the second method for activation.

    The controller method for activating Chaos 2.
    [media]https://www.youtube.com/watch?v=-McauO499HI[/media]

    A look at all of Chaos 2's available actions in this build.
    [media]https://www.youtube.com/watch?v=giCiBLVy8RQ[/media]

    The other discovery I'd like to mention is about the demo recorder. It is still mostly functional in this build, and potentially in other builds.
    These demo files are the KEYXXYY.BIN files in the game's data.

    XX is the level ID,
    YY is the level segment ID.

    e.g.
    KEY0501 is Red Mountain, Red Hot Skull.
    KEY0A00 is Final Egg, part 1.

    These use hex values for their level IDs, while SET files use decimal.
    They are loaded into 0x8CBE0000 in memory.

    Demos are recorded and played back only if the value at 0x8C169D18 is 01.
    The current demo read/write location is stored as 4 bytes at 0x8C169D28.
    Setting 0x8C169D1C to 02 stops demo recording and playback, and prints the current read/write location of the demo to the screen.

    Demos can be recorded and dumped by setting this byte to 02 when you're done, and dumping the memory from 0x8CBE0000 to wherever the printed location is.

    The KEY files are the same format as the memory dump, and should be easily replaceable.
    Custom demos will most likely need a footer like the KEY files in the game's data have, which I believe is the last 12 bytes of the KEY file.

    Sonic in Speed Highway Footer:
    FFFFFFFF 00000000 090080FF
    E-102 in Red Mountain Footer:
    FFFFFFFF 00000000 7E001100

    Will be looking for this in other versions soon.
     
  7. Jase

    Jase

    ~~(_ _C^> Member
    Good to see discoveries are still being made in this autodemo!
     
  8. Vangar

    Vangar

    Member Member
    The demo recorder being functional is a pretty cool find, great work
     
  9. Shaddy the guy

    Shaddy the guy

    Zaphod's just some guy, you know? Member
    313
    0
    16
    Beaverton OR
    Thinga Comic
    I might've missed something in the past 45 pages, but the links to download this demo have died. Can it get a reupload? Some others are looking for it, and I don't know of another place to download the ISO.
     
  10. JaxTH

    JaxTH

    Pudding Deity Oldbie
    8,419
    1
    18
    Los Angeles
    Jack shit.
    And this, ladies and gents, is why all protos should also be mirrored on the wikis.
     
  11. evilhamwizard

    evilhamwizard

    Researcher Researcher
    1,294
    0
    16
  12. evilhamwizard

    evilhamwizard

    Researcher Researcher
    1,294
    0
    16
    mfw almost 6 years

    Just a quick heads up. There's a new (better?) way to play the AutoDemo now that doesn't involve using Demul + Cheat Engine. For almost a year now, the guys over at libretro have given their reicast core some love and made it into something that you can probably use.

    Unlike Demul, the reicast libretro core has built in support for cheats. That and the fact that you can use shaders, widescreen hacks, internal resolution increases, and monitors that support variable refresh rates makes this the best way to make the Autodemo itself playable. It looks great too, if this stuff is more your thing:

    https://i.imgur.com/RXfqwkB.jpg
    https://i.imgur.com/31KGbMb.jpg
    https://i.imgur.com/06NTbCa.jpg
    https://i.imgur.com/e6Ca7pA.jpg

    I made a code that you can trigger to activate 60fps too. I made a small cheat file for myself but feel free to port some codes over so we can get something going:

    Code (Text):
    1. cheat0_address = "7721128"
    2. cheat0_address = "7721128"
    3. cheat0_address_bit_position = "0"
    4. cheat0_big_endian = "false"
    5. cheat0_cheat_type = "1"
    6. cheat0_desc = "ram_framerate"
    7. cheat0_enable = "true"
    8. cheat0_handler = "1"
    9. cheat0_memory_search_size = "5"
    10. cheat0_repeat_add_to_address = "1"
    11. cheat0_repeat_add_to_value = "0"
    12. cheat0_repeat_count = "1"
    13. cheat0_rumble_port = "0"
    14. cheat0_rumble_primary_duration = "0"
    15. cheat0_rumble_primary_strength = "0"
    16. cheat0_rumble_secondary_duration = "0"
    17. cheat0_rumble_secondary_strength = "0"
    18. cheat0_rumble_type = "0"
    19. cheat0_rumble_value = "0"
    20. cheat0_value = "1"
    21. cheat1_address = "7721136"
    22. cheat1_address_bit_position = "0"
    23. cheat1_big_endian = "false"
    24. cheat1_cheat_type = "1"
    25. cheat1_code = ""
    26. cheat1_desc = "ram_framelimit"
    27. cheat1_enable = "true"
    28. cheat1_handler = "1"
    29. cheat1_memory_search_size = "5"
    30. cheat1_repeat_add_to_address = "1"
    31. cheat1_repeat_add_to_value = "0"
    32. cheat1_repeat_count = "1"
    33. cheat1_rumble_port = "0"
    34. cheat1_rumble_primary_duration = "0"
    35. cheat1_rumble_primary_strength = "0"
    36. cheat1_rumble_secondary_duration = "0"
    37. cheat1_rumble_secondary_strength = "0"
    38. cheat1_rumble_type = "0"
    39. cheat1_rumble_value = "0"
    40. cheat1_value = "1"
    41. cheat2_address = "7949456"
    42. cheat2_address_bit_position = "0"
    43. cheat2_big_endian = "false"
    44. cheat2_cheat_type = "1"
    45. cheat2_code = ""
    46. cheat2_desc = "levelselect"
    47. cheat2_enable = "false"
    48. cheat2_handler = "1"
    49. cheat2_memory_search_size = "3"
    50. cheat2_repeat_add_to_address = "1"
    51. cheat2_repeat_add_to_value = "0"
    52. cheat2_repeat_count = "1"
    53. cheat2_rumble_port = "0"
    54. cheat2_rumble_primary_duration = "0"
    55. cheat2_rumble_primary_strength = "0"
    56. cheat2_rumble_secondary_duration = "0"
    57. cheat2_rumble_secondary_strength = "0"
    58. cheat2_rumble_type = "0"
    59. cheat2_rumble_value = "0"
    60. cheat2_value = "0"
    61. cheats = "3"
    Just put this in a .cht file and load it up while playing. Activate the levelselect cheat while on the title screen (leaving it on before hand should work too I think) and you'll get a nice level select menu to jump into any playable level you want with any character. Create a savestate at this screen and you can instantly play any level in the game without having to wait 500 years for the intro video to finish. The 60fps code makes cutscenes run at double the frame rate, but other than that its safe to leave both the framelimiter and framerate cheats on at all times.

    In other news, I monkeyed around with porting Sky Deck and ran into a problem that basically confirms what I suspected was wrong with my Windy Valley port - the collisions don't work for most if not all objects. Here's what I have so far:

    [​IMG]

    All those platforms are actually objects. Trying to land on any of them causes anyone to just fall down. I'm guessing the collision flag for the particular model is wrong? Or maybe there's a parameter being passed to some collision routine that's using a bad value? I have no idea...

    There's some oddities with the set file as well. The parameters for many of the objects seem incorrect, the biggest giveaway of this is the fact that most item monitors are just extra lives:

    https://i.imgur.com/G028xFD.jpg

    While my time is limited, I'm still interested in getting these stages to load properly at some point. Of course, I'd rather see someone port more stages to SADX instead. :P
     
  13. evilhamwizard

    evilhamwizard

    Researcher Researcher
    1,294
    0
    16
    a quickie

    from shadow2005 from the tcrf discord:

    [​IMG]

    SPOCK
     
  14. Traversal

    Traversal

    Member Member
    26
    0
    1
    Ah neat, looks pretty primitive aside from the cool transparency (unless that weird texture is some sort of environment mapping, which would be kinda cool). I wonder if it was a prototype for the ghost prisoners seen in the final.

    Nice to see stuff still being dug out of this prototype by the way! I always look forward to seeing this topic get bumped in case something else gets found.

    Edit: Actually, I feel like I've seen that texture around before, unused of course but I can't remember if it survived into the final or if it was found in the Autodemo's files awhile ago.
     
  15. SystemsReady

    SystemsReady

    I Have No Idea What I'm Doing At Any Given Moment Member
    138
    0
    16
    The Twin Cities
    trying to not fall asleep while writing Selenium tests
    I definitely remember seeing that texture (in perfectly square, unmapped form), however I can't seem to find it anywhere on here or on TCRF?
     
  16. PkR

    PkR

    Member Member
    181
    0
    16
    SADX Dreamcast Conversion, The Emeralds' Awakening
    It's "d128obake1a" and "d128obake2a" in the Autodemo OBJ_MOUNTAIN.
    [​IMG] [​IMG]
     
  17. Chibisteven

    Chibisteven

    Member Member
    1,271
    0
    16
    US
    Glad they cut that from the final. It looks like total crap.
     
  18. Diablohead

    Diablohead

    Indie dev Oldbie
    1,694
    0
    0
    Near London
    games
    I'd say it would look fine at a distance with fixed cameras but without any kind of animation to the cloth it'll look really stiff.
     
  19. BlackHole

    BlackHole

    You're going to need MORE than help. Member
    3,110
    0
    16
    England
    Sprites for Cybernetic Outbreak
    ...

    [​IMG]

    Possibly a 3D version of these guys?
     
  20. Blue Blood

    Blue Blood

    Member Member
    4,596
    0
    16
    I doubt it. They don't really look alike at all; both are relatively generic sheet ghosts, but don't share many similarities. Particularly the fact that the SA1 ghosts have mouths.