don't click here

S 3D Music porting...

Discussion in 'Engineering & Reverse Engineering' started by Mr.Unsmiley, Nov 17, 2005.

Thread Status:
Not open for further replies.
  1. I guess this question will be best for Tweaker (as he is music man at the moment) but anyone in the know can answer really.

    Anyway I know its possible to move Sonic 3D music to Sonic 1 (I have played Sonic 1 Megamix) thing is can someone tell me what I need to know or what I need to read (the basics) in how to move the music over, and if it easy to do or not like, if its really complex then you can just say that so you don?t need to try and explain it, unless your willing to go through it with me (clueless).


    I will probably be flamed but thanks anyway.
     
  2. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Flamed? Hell no. I encourage this!

    The trick is to convert each pointer from S3D format to to S1 format. To do this, use this simple formula...

    For header pointers: Original song location (In pointer format) - Pointer value = S1 header pointer.

    For coordination flags: Original song location (in pointer format) - Coordnation flag pointer = converted pointer.

    Now, for coordinaton flags, a lot of the time you may end up with negatiive values as a result. Take this negative value and subtract it from FFFF for your converted pointer. In the case of positive results, subtract 1 from the value for your final converted pointer.

    EDIT: Almost forgot. Once you convert the pointers, you need to change a couple of coordnaton flags. Every valid instance of "F9" should be changed to "E3", and every valid instance of "FB" should be changed to "E9".
     
  3. SGR

    SGR

    Give me the gams. Member
    Would this happen to apply to my GH findings as well? Just out of curiosity. It'll really help.
     
  4. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Actually, GH uses F9 and FB as correct flags. All you gotta do is convert the pointers. ;)
     
  5. SGR

    SGR

    Give me the gams. Member
    All right. Thank you once again, man. You've been quite helpful.
     
  6. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Just remember that the burden of confirming a coordination flag to be valid is upon your shoulders. Look before the flags -- Make sure the value isn't part of another flag.
     
Thread Status:
Not open for further replies.