don't click here

Have I finally lost it?

Discussion in 'Engineering & Reverse Engineering' started by Quickman, Dec 15, 2003.

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

    Quickman

    be attitude for gains Tech Member
    5,595
    18
    18
    :x
    omg porjcet
    I'm trying to port Sonic 2 Final Tails into Sonic 2 Beta. I've used Nemesis' extensively helpful website as much as I can, and I'd like to run this by the competent people here. (Of course, it's entirely possible that I've misunderstood the website somehow and am trying to carry across potentially useless data.)

    I have ascertained that the data for S2F Tails is located from 1B8A4h to 1D1FFh (delta equals 195Bh, or 6491d), and the data for S2B Tails is located from 10E38h to 11F95h (delta equals 115Dh, or 4445d). There is a clear difference in the amount of space taken up by S2B Tails' data and S2F Tails' data. I have calculated that difference to be 7FEh, or 2046d.

    Am I correct? Will I have to increase all pointers after 1B8A4h in the beta by 7FEh? Or have I become an oblivious giggling moron and completely misunderstood what I've been reading?

    (A note on formatting - I append a lowercase H after hexadecimal numbers and a lowercase D after decimal numbers for clarity. Delta represents a change or a difference.)

    EDIT: x_x I got the beta and final versions muddled up. I did that once before.
     
  2. Mecha Mazgoth

    Mecha Mazgoth

    Unleash thy fury. Banned
    1,802
    0
    0
    Bowels of Hell!!!!
    Super Sonic part1: The Beginning
    Personally, I don't know jack, so I would take the second answer. :P
     
  3. Hivebrain

    Hivebrain

    Administrator
    3,049
    161
    43
    53.4N, 1.5W
    Github
    You can't port a section of code as large as Tails without heavily modifying it.
     
  4. Rika Chou

    Rika Chou

    Tech Member
    5,276
    169
    43
    Tails is an object code, the code for the object is made to interact with different objects and such. To port it you would have to rewrite so much of the datal
     
  5. re writing data though is very time consuming is there a alternative?
     
  6. XFox Prower

    XFox Prower

    Member
    1,196
    0
    0
    x86 Assembly, Tails Search Assistant
    I think he's right about the pointers. As far as the different events such as flying, etc, I'd first work on replacing sprites 1 at a time and taking note of any change in size to offset further pointers. Inserting uses for his other sprites may be tricky though.
     
  7. If you go through with this plan, you may want to program in something that prevents Tails from stopping at the water line when he's flying/remove the line(s) of code that make Tails stop at the water line.
     
  8. LOst

    LOst

    Tech Member
    4,891
    8
    18
    The only thing that stops you from porting Tails is the collision routines. They are at a different offset in the beta.

    Take the code for the Tails object, paste it at the end of the beta ROM. Change the Tails object pointer at offset $CFF0 to point to the new location. Change the collision routine calls.

    You will have a working Tails then.
     
Thread Status:
Not open for further replies.