don't click here

S3DPlay: Sonic 3D Blast Intro Player

Discussion in 'Engineering & Reverse Engineering' started by sasuke, Dec 28, 2010.

Thread Status:
Not open for further replies.
  1. sasuke

    sasuke

    Member
    66
    0
    0
    Over the summer, I had made an FMV player for the opening intro for Sonic 3D, but I did not have enough time to finish it while I was in college. So, I decided to release it today.

    I must admit, it is not the best coded program I have ever made, but it gets the job done. You just drag the rom into the exe and it plays the intro movie as accurately as I can get it. Info about the format is in the readme file (and here is a hint: it's not Cinepak :) ).

    Download Here

    Also, for those with IDA, here are some subroutines that helped me reverse-engineer the format:

    Code (Text):
    1. 0xe52: An RNC method 2 decompression subroutine with a huuuuuge unrolled loop starting at 0x1006.
    2. 0x1e926: The main subroutine for the intro.
    3. 0x1ed98: The Vblank interrupt routine for the intro.
    ...and the data...

    Code (Text):
    1. 0x1b055c: Part 1 tiles
    2. 0x1d3ba4: Part 2 tiles
    3. 0x1ed58: Part 1 palette
    4. 0x1ed78: Part 2 palette
    Special thanks to those who contributed to the Sonic 3D SVN.

    EDIT: This is not for the Saturn or PC version. It is for the Sega Genesis/Mega Drive version.
     
  2. f2bnp

    f2bnp

    Member
    83
    1
    8
    So this plays .DUC files?
    Does this mean it might possibly work with other games as well?

    EDIT:
    Oh wait this is for the MegaDrive version isn't it? Dammit :P
     
  3. sasuke

    sasuke

    Member
    66
    0
    0
    No, I actually meant to say it was the Genesis/Megadrive version. Sorry.

    Also, it is hard coded to play the release version of the Genesis Rom, or at least the rom in the svn.
     
  4. GerbilSoft

    GerbilSoft

    RickRotate'd. Administrator
    2,971
    76
    28
    USA
    rom-properties
    Not sure about that file extension, but FFmpeg (and FFmpeg-based video players) support Duck TrueMotion 1 and 2 in AVI containers. That being said, this is for the MD version. =P
     
  5. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Yeah, I knew about those addresses, just never got arsed to crack the format. But huh, I don't remember RNC being used... Is this for the 4bpp intro or the two 1bpp FMVs? (Sega logo, Game Over screen)

    Also screw Mediafire, can't download that file from this phone =/ Can somebody mirror it?

    (note to self: update material on the SVN, it's quite outdated)
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    I will mirror it <a href="http://NO%20WAI?%20NO%20WAI!%20NO%20WAI?%20NO%20WAI!%20NO%20WAI?%20NO%20WAI!%20NO%20WAI?%20NO%20WAI" target="_blank">on my webspace</a> only for the time necessary for you to download it, unless the original author says it's fine to mirror this. In which case I will upload it on the wiki as well. But I won't upload it anywhere without explicit permission from sasuke, as a form of respect.

    edit: by the way I just tested this. It works just fine, nice work :)

    edit 2: removed the mirror from my webspace, and uploaded it on the wiki. See below.
     
  7. sasuke

    sasuke

    Member
    66
    0
    0
    It is for the 4bpp intro. I haven't gotten that far for the others, except that they use the same archive format.


    Of course you can upload it to the wiki. And your welcome. :)
     
  8. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    Alright, I am going to upload it on the wiki now. I also recompressed the zip file to make it smaller ;)

    edit: done: File:S3DPlay.zip
    Which means I will delete the mirror from my webspace.
     
  9. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    I'm going to give you a hint: the 1bpp movies are actually 4bpp, each image actually holding 4 frames and using palette trickery to show one frame at a time. Would that help?

    The subroutine to show the Sega FMV is at $221F2 by the way.
     
Thread Status:
Not open for further replies.