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 :) ).

    <a href="http://www.mediafire.com/?80hvk0qnyaa3aqk" target="_blank">Download Here</a>

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

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->0xe52: An RNC method 2 decompression subroutine with a huuuuuge unrolled loop starting at 0x1006.
    0x1e926: The main subroutine for the intro.
    0x1ed98: The Vblank interrupt routine for the intro.<!--c2--></div><!--ec2-->

    ...and the data...

    <!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->0x1b055c: Part 1 tiles
    0x1d3ba4: Part 2 tiles
    0x1ed58: Part 1 palette
    0x1ed78: Part 2 palette<!--c2--></div><!--ec2-->

    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
    78
    0
    6
    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
    <!--quoteo(post=541805:date=Dec 27 2010, 07:43 PM:name=f2bnp)--><div class='quotetop'>QUOTE (f2bnp @ Dec 27 2010, 07:43 PM) <a href="index.php?act=findpost&pid=541805"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->So this plays .DUC files?
    Does this mean it might possibly work with other games as well?<!--QuoteEnd--></div><!--QuoteEEnd-->

    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,887
    20
    18
    USA
    rom-properties
    <!--quoteo(post=541805:date=Dec 27 2010, 07:43 PM:name=f2bnp)--><div class='quotetop'>QUOTE (f2bnp @ Dec 27 2010, 07:43 PM) <a href="index.php?act=findpost&pid=541805"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->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<!--QuoteEnd--></div><!--QuoteEEnd-->
    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,719
    0
    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
    <!--quoteo(post=541816:date=Dec 28 2010, 02:19 AM:name=Sik)--><div class='quotetop'>QUOTE (Sik @ Dec 28 2010, 02:19 AM) <a href="index.php?act=findpost&pid=541816"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Also screw Mediafire, can't download that file from this phone =/ Can somebody mirror it?<!--QuoteEnd--></div><!--QuoteEEnd--><strike>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.</strike>

    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
    <!--quoteo(post=541816:date=Dec 27 2010, 08:19 PM:name=Sik)--><div class='quotetop'>QUOTE (Sik @ Dec 27 2010, 08:19 PM) <a href="index.php?act=findpost&pid=541816"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->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)<!--QuoteEnd--></div><!--QuoteEEnd-->

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


    <!--quoteo(post=541821:date=Dec 27 2010, 08:26 PM:name=nineko)--><div class='quotetop'>QUOTE (nineko @ Dec 27 2010, 08:26 PM) <a href="index.php?act=findpost&pid=541821"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=541816:date=Dec 28 2010, 02:19 AM:name=Sik)--><div class='quotetop'>QUOTE (Sik @ Dec 28 2010, 02:19 AM) <a href="index.php?act=findpost&pid=541816"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Also screw Mediafire, can't download that file from this phone =/ Can somebody mirror it?<!--QuoteEnd--></div><!--QuoteEEnd-->I will mirror it <a href="http://digilander.iol.it/projectchaos2/S3DPlay.zip" 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 :)
    <!--QuoteEnd--></div><!--QuoteEEnd-->

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

    nineko

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

    edit: done: <a href="http://info.sonicretro.org/File:S3DPlay.zip" target="_blank" style="background: url(http://info.sonicretro.org/images/5/50/Reticon.png) right no-repeat; padding-right: 20px; border-bottom: 1px dotted #3366BB; color: #3366BB; cursor:pointer; text-decoration:none;" class="wiki">File:S3DPlay.zip</a>
    Which means I will delete the mirror from my webspace.
     
  9. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,719
    0
    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.