Sonic 1 Beta Remake

Discussion in 'Engineering & Reverse Engineering' started by Mistergambit, Jan 9, 2008.

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

    Mistergambit

    Oldbie
    172
    0
    16
    A Black Hole
    life and shit...
    <!--quoteo(post=460590:date=May 28 2010, 10:14 AM:name=King)--><div class='quotetop'>QUOTE (King @ May 28 2010, 10:14 AM) <a href="index.php?act=findpost&pid=460590">[​IMG]</a></div><div class='quotemain'><!--quotec-->Regarding the daylight/evening/night acts, if it's night you're going to need stars, right? :P<!--QuoteEnd--></div><!--QuoteEEnd-->

    Stars will be added in act 3
     
  2. Hanoch

    Hanoch

    Also known as TheKnock, Birashot Member
    491
    0
    0
    Israel
    everything
    As for the slope routines, copy them without the status SST ($22, $38 and $3E) they are different in the ball object. When the object is in the air, in the animation routine set it to call objectfall, and when in the ground call speedtopos and the slope detection routines, and in the routine to set the ball to action (moving) set the speed at $14 while on ground, and $10 while on air.

    Also did you know the ball object was actualy supposed to be on slot $19, and I had no Idea untill I made my own ball on that slot and used debug mode. Will it break through walls? I could help you on that.
     
  3. Mistergambit

    Mistergambit

    Oldbie
    172
    0
    16
    A Black Hole
    life and shit...
    <!--quoteo(post=460614:date=May 28 2010, 12:15 PM:name=Hanoch)--><div class='quotetop'>QUOTE (Hanoch @ May 28 2010, 12:15 PM) <a href="index.php?act=findpost&pid=460614">[​IMG]</a></div><div class='quotemain'><!--quotec-->As for the slope routines, copy them without the status SST ($22, $38 and $3E) they are different in the ball object. When the object is in the air, in the animation routine set it to call objectfall, and when in the ground call speedtopos and the slope detection routines, and in the routine to set the ball to action (moving) set the speed at $14 while on ground, and $10 while on air.

    Also did you know the ball object was actualy supposed to be on slot $19, and I had no Idea untill I made my own ball on that slot and used debug mode. Will it break through walls? I could help you on that.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Yes, The ball I have is placed in Object 19. I knew about that way before hand. and Yes, The ball is going to break through walls. help like that would awesome, as I've been slightly stumped on how to make objects interact with each other, like that.
     
  4. steveswede

    steveswede

    Member
    5,032
    1
    16
    Ask my hand
    Fighting against the Unitary State of Europe
    Also I don't know if this has been mentioned before. The ball falls through bridges. Can you make it so it doesn't seeing as you are going to make it more useful.
     
  5. Mistergambit

    Mistergambit

    Oldbie
    172
    0
    16
    A Black Hole
    life and shit...
    <!--quoteo(post=460649:date=May 28 2010, 02:53 PM:name=steveswede)--><div class='quotetop'>QUOTE (steveswede @ May 28 2010, 02:53 PM) <a href="index.php?act=findpost&pid=460649">[​IMG]</a></div><div class='quotemain'><!--quotec-->Also I don't know if this has been mentioned before. The ball falls through bridges. Can you make it so it doesn't seeing as you are going to make it more useful.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I think the Ball fell through the bridge in GHZ Beta too though. AFAIK. I can try once I get a grasp of how to make it interact with objects.
     
  6. In regards to act 2, perhaps it's possible to pull off a sunset/dusk/twilight kind of thing?
     
  7. Mistergambit

    Mistergambit

    Oldbie
    172
    0
    16
    A Black Hole
    life and shit...
    That can be done.

    I'll give it a small sunset.

    EDIT: What would people think of me putting in the lost sound test into my hack as well? Should I give that a try too? It would be something new to the hack.
     
  8. Azookara

    Azookara

    yup Member
    <!--quoteo(post=460692:date=May 28 2010, 03:07 PM:name=Mistergambit)--><div class='quotetop'>QUOTE (Mistergambit @ May 28 2010, 03:07 PM) <a href="index.php?act=findpost&pid=460692">[​IMG]</a></div><div class='quotemain'><!--quotec-->That can be done.

    I'll give it a small sunset.

    EDIT: What would people think of me putting in the lost sound test into my hack as well? Should I give that a try too? It would be something new to the hack.<!--QuoteEnd--></div><!--QuoteEEnd-->
    That would be pretty great. I support this idea. :thumbsup:
     
  9. <!--quoteo(post=460833:date=May 29 2010, 05:58 AM:name=Azukara)--><div class='quotetop'>QUOTE (Azukara @ May 29 2010, 05:58 AM) <a href="index.php?act=findpost&pid=460833">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=460692:date=May 28 2010, 03:07 PM:name=Mistergambit)--><div class='quotetop'>QUOTE (Mistergambit @ May 28 2010, 03:07 PM) <a href="index.php?act=findpost&pid=460692">[​IMG]</a></div><div class='quotemain'><!--quotec-->That can be done.

    I'll give it a small sunset.

    EDIT: What would people think of me putting in the lost sound test into my hack as well? Should I give that a try too? It would be something new to the hack.<!--QuoteEnd--></div><!--QuoteEEnd-->
    That would be pretty great. I support this idea. :thumbsup:
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    I support it as well :)
     
  10. SegaLoco

    SegaLoco

    W)(at did you say? Misfit
    <!--quoteo(post=460578:date=May 28 2010, 07:37 AM:name=Mistergambit)--><div class='quotetop'>QUOTE (Mistergambit @ May 28 2010, 07:37 AM) <a href="index.php?act=findpost&pid=460578">[​IMG]</a></div><div class='quotemain'><!--quotec-->[​IMG]

    So after being bored off my ass and experimenting with routines, I have given the Checkered ball from GHZ some physics. It's not pictured, but when the ball falls off a cliff, it bounces a little bit, of course, getting under it is a very BAD idea, unless you like seeing Sonic getting squashed by a giant ball. You don't notice it in the screen yet, but it actually bounces until it comes to a complete halt.

    Now to figure out how to make it roll faster down a slope and slower up a slope. I dub the bouncing quite an accomplishment so far to be honest. I tried looking at Sonic's Slope subroutines but I have NO clue how to make a similar WORKING subroutine for the checkered ball. Specifically... These two subroutines...

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
    Sonic_SlopeResist: ; XREF: Obj01_MdNormal
    move.b $26(a0),d0
    addi.b #$60,d0
    cmpi.b #$C0,d0
    bcc.s locret_13508
    move.b $26(a0),d0
    jsr (CalcSine).l
    muls.w #$20,d0
    asr.l #8,d0
    tst.w $14(a0)
    beq.s locret_13508
    bmi.s loc_13504
    tst.w d0
    beq.s locret_13502
    add.w d0,$14(a0) ; change Sonic's inertia

    locret_13502:
    rts
    ; ===========================================================================

    loc_13504:
    add.w d0,$14(a0)

    locret_13508:
    rts
    ; End of function Sonic_SlopeResist

    ; ---------------------------------------------------------------------------
    ; Subroutine to push Sonic down a slope while he's rolling
    ; ---------------------------------------------------------------------------

    ; ||||||||||||||| S U B R O U T I N E |||||||||||||||||||||||||||||||||||||||


    -Sonic_RollRepel: ; XREF: Obj01_MdRoll
    move.b $26(a0),d0
    addi.b #$60,d0
    cmpi.b #-$40,d0
    bcc.s locret_13544
    move.b $26(a0),d0
    jsr (CalcSine).l
    muls.w #$50,d0
    asr.l #8,d0
    tst.w $14(a0)
    bmi.s loc_1353A
    tst.w d0
    bpl.s loc_13534
    asr.l #2,d0

    loc_13534:
    add.w d0,$14(a0)
    rts
    ; ===========================================================================

    loc_1353A:
    tst.w d0
    bmi.s loc_13540
    asr.l #2,d0

    loc_13540:
    add.w d0,$14(a0)

    locret_13544:
    rts
    ; End of function Sonic_RollRepel
    </div>

    and...

    <div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>Sonic_SlopeRepel: ; XREF: Obj01_MdNormal; Obj01_MdRoll
    nop
    tst.b $38(a0)
    bne.s locret_13580
    tst.w $3E(a0)
    bne.s loc_13582
    move.b $26(a0),d0
    addi.b #$20,d0
    andi.b #$C0,d0
    beq.s locret_13580
    move.w $14(a0),d0
    bpl.s loc_1356A
    neg.w d0

    loc_1356A:
    cmpi.w #$280,d0
    bcc.s locret_13580
    clr.w $14(a0)
    bset #1,$22(a0)
    move.w #$1E,$3E(a0)

    locret_13580:
    rts
    ; ===========================================================================

    loc_13582:
    subq.w #1,$3E(a0)
    rts
    ; End of function Sonic_SlopeRepel
    </div><!--QuoteEnd--></div><!--QuoteEEnd-->
    Thinking just purely physics wise, when it is in a period of downward vertical velocity, have it's horizontal velocity increase by factor x. Same for when it is in a state of upward vertical velocity, have it's horizontal velocity decrease by factor x. (This can get a bit mucky if you want it to come to a complete stop and go backwards on a hill..., I would guess when horizontal velocity comes to a complete stop, you then deal with it as going down a hill in the opposite direction...) Not sure if you can do that the way you have the code set up, didn't pay much attention, but physics wise that is what is happening. I love your work on this hack btw :D
     
  11. Mistergambit

    Mistergambit

    Oldbie
    172
    0
    16
    A Black Hole
    life and shit...
    After about 48 hours of mostly constant work in my free time. The new Ball object is almost completed though. It now rolls and bounces when falling off a cliff. I just need to tweak the Solidobject routine, and make it pushable by Sonic again. And make it sort of work like the Metropolis nut when Sonic is on top of it. That OLD ball object is obsolete and a piece of shit. THIS ONE actually will smash walls and badniks, its not some useless object anymore.

    I also I have a mock up of the "Sound test screen". But comes one question...

    Should it read... "Sound Select: 8X (80, 81, 91, 9F, etc...)
    or...
    Should it read... "Sound Select: Green Hill, Marble, Clock Work, etc...)

    I kinda think the first one would be more appropriate, but I want opinions here before I actually finish it. I don't know for sure that it was actually in the beta I'm remaking it after, but why not, it should be interesting to remake.
     
  12. StephenUK

    StephenUK

    Liquor in the front, poker in the rear Tech Member
    1,678
    0
    16
    Manchester, UK
    Quackshot Disassembly
    <!--quoteo(post=462075:date=Jun 1 2010, 08:09 PM:name=Mistergambit)--><div class='quotetop'>QUOTE (Mistergambit @ Jun 1 2010, 08:09 PM) <a href="index.php?act=findpost&pid=462075">[​IMG]</a></div><div class='quotemain'><!--quotec-->After about 48 hours of mostly constant work in my free time. The new Ball object is almost completed though. It now rolls and bounces when falling off a cliff. I just need to tweak the Solidobject routine, and make it pushable by Sonic again. And make it sort of work like the Metropolis nut when Sonic is on top of it

    That OLD ball object is obsolete and a piece of shit. THIS ONE actually will smash walls and badniks, its not some useless object anymore.

    I also I have a mock up of the "Sound test screen". But comes one question...

    Should it read... "Sound Select: 8X (80, 81, 91, 9F, etc...)
    or...
    Should it read... "Sound Select: Green Hill, Marble, Clock Work, etc...)

    I kinda think the first one would be more appropriate, but I want opinions here before I actually finish it.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Personally, I'd do it Megamix style and have the zone or event title, simply so that if someone wants to listen to a track, they don't have to go through every ID to find the one they want. I suppose you could combine the two as follows:

    Sound Select: 8X (Green Hill Zone)

    Congrats on getting the ball working as well, can't wait to see it in action.
     
Thread Status:
Not open for further replies.