3 Question's with my sonic 1 hack

Discussion in 'Discussion and Q&A Archive' started by Arsen, May 24, 2014.

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

    Arsen Active Member In Limbo

    Joined:
    May 16, 2014
    Messages:
    39
    Hi Guys, I have some question's ( used Hivebrain 2005 disassembly)

    1. How to edit the bosses

    2.How to sonic when hit's lost's only 10 rings

    3.Add the sonic's super pellout with sprite  (in Sonic 1 i added spin dash)

    P.S: Sorry for bad English :(
     
  2. Shockwave

    Shockwave 3 Time Stones Member

    Joined:
    Dec 18, 2013
    Messages:
    121
    Location:
    LA, CA
    1. Kind of hard to say without asking for something specific, there's a lot of different aspects to bosses you may want to change so it would be preferable to know what you want in particular before I could help out with that.

    2. I assume that you just want Sonic to lose a max of 10 rings when he's hit. Most would want you to figure out for yourself, but for this I'm willing to be generous.

    Go to Obj37_CountRings.



    Obj37_CountRings: ; XREF: Obj37_Indexmovea.l a0,a1

    moveq #0,d5

    move.w ($FFFFFE20).w,d5 ; check number of rings you have

    moveq #32,d0

    cmp.w d0,d5 ; do you have 32 or more?

    bcs.s loc_9CDE ; if not, branch

    move.w d0,d5 ; if yes, set d5 to 32



    Change that 32 to 10, that controls the max amount of rings that'll be dropped.

    Then go to Obj37_ResetCounter and change this...



    Obj37_ResetCounter: ; XREF: Obj37_Loopmove.w #0,($FFFFFE20).w ; reset number of rings to zero

    move.b #$80,($FFFFFE1D).w ; update ring counter

    move.b #0,($FFFFFE1B).w

    move.w #$C6,d0

    jsr (PlaySound_Special).l ; play ring loss sound



    ...to this:



    Obj37_ResetCounter: ; XREF: Obj37_Loopcmpi.w #10,($FFFFFE20).w ; do you have 10 or more rings?

    bcc.s @Subtract ; if yes, branch

    move.w #0,($FFFFFE20).w ; reset number of rings to zero

    bra.s @Update

    @Subtract: subi.w #10,($FFFFFE20).w ; subtract 10 rings

    @Update: move.b #$80,($FFFFFE1D).w ; update ring counter

    move.b #0,($FFFFFE1B).w

    move.w #$C6,d0

    jsr (PlaySound_Special).l ; play ring loss sound



    That will check the amount of ring held before changing the counter. If it's 9 or lower, it'll be set to zero. 10 or higher will have 10 subtracted instead.

    3. That's something that would actually be better for you to figure out on your own. Since you already have the Spin Dash added, you could look at it's code and modify it to use Sonic's running animation and dash him forward instead of making him roll. As for the sprites, you'll want to check out this tutorial on how to use SonMapEd, which you'll want to use to import the Peel Out sprites.
     
  3. DJaftershock

    DJaftershock TWO-DEE-ECKS-GOLD Member

    Joined:
    Nov 20, 2012
    Messages:
    96
    Location:
    The United Kingdom
    http://sonicresearch.org/forums/index.php?showtopic=822

    It's only the second part (Selbi only gives the full guide via PM) but considering I'd have no clue how to do this, this is about the extent of the help I can give. Assuming you're using SonMapED. Watch the video tutorials on YT of his, as well. Sorry if this isn't much.
     
  4. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Just want to clarify this: I don't give this or any of my other guides anymore at all. The people just became too incompetent with their "lolz gimme link" PMs, and I'm fed up with it.
     
  5. Guest

    Not to be rude but these are things you should take the time to actually study a bit of how ASM Coding works and look at how the parts you stated you wanted to change functions. I won't go into full details but this is just one of the basic things you would want to know when it comes to making any form of a change in your hack. I know your new to this but as a heads up, no one is going to do everything for you when it comes to things such as this. I would offer to help, but seeing as I am not on my PC, I can't.
     
  6. DJaftershock

    DJaftershock TWO-DEE-ECKS-GOLD Member

    Joined:
    Nov 20, 2012
    Messages:
    96
    Location:
    The United Kingdom
    Just want to clarify this: I don't give this or any of my other guides anymore at all. The people just became too incompetent with their "lolz gimme link" PMs, and I'm fed up with it.



    Ah. Sorry for the misunderstanding, mate.

    Yeah, I can understand how annoying that'd be. I've tried a complicated hack before and it was nothing but pain, stress, irritation and pain. Also unfinished-ness. So that went straight in the fucking bin. I can trust that stuff like this is hard to do (I never tried.) and having people simply asking you for a hand-holding would really piss me off after a while.
     
  7. Irixion

    Irixion Well-Known Member Member

    Joined:
    Aug 11, 2007
    Messages:
    670
    Location:
    Ontario, Canada
    This is why this place is full of idiots. Retro chops them off and we just say HERE'S COPY PASTE. It's disheartening when there's no awesome E&RE thread filled with goodness here. :| Go learn some assembly, look at how things work, and then come back.
     
  8. Shockwave

    Shockwave 3 Time Stones Member

    Joined:
    Dec 18, 2013
    Messages:
    121
    Location:
    LA, CA
    I know it probably isn't too significant, but I just wanted to give a bit of input regarding that. Sorry Irixion, if I'm one of the people you're referring to when you say "we just say HERE'S COPY PASTE". I can certainly understand being upset over that, but I think it's a bit better to point newcomers in the right direction, let them know where to begin instead of just saying "learn ASM" in a rather negative manner. Definitely not to the level of spoon feeding, but enough to get them started assuming they actually go and read through guides like the 68k tutorials redhotsonic and MarkeyJester made. I was able to get to the point I'm at by reading redhotsonic's tutorial and then looking through all the other tutorials again, realizing how everything actually worked at that point. Maybe Arsen could end up doing the same thing.

    But hell, who knows? I may get as fed up with these newbie posts as everyone else after a while. =P
     
    Last edited by a moderator: May 26, 2014
  9. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
    First off i started out not knowing the first thing about ASM, now i somewhat got the hang of it. porting between sonic games can be  a son of a gun.

    as goes for your 3rd question, Modify the spindash to use peelout's animation assuming you have it up (as well as it's rotated sprites for loops & whatnot) and if you want to keep it after launch, in loc_13A9C you'll see


    loc_13A9C:
    lea (SonAni_Run).l,a1 ; use running animation
    cmpi.w #$600,d2 ; is Sonic at running speed?
    bcc.s loc_13AB4 ; if yes, branch
    lea (SonAni_Walk).l,a1 ; use walking animation
    move.b d0,d1
    lsr.b #1,d1
    add.b d1,d0


    just add on to this and you're set. i think there was a tutorial somewhere on 3rd walk
     
  10. Irixion

    Irixion Well-Known Member Member

    Joined:
    Aug 11, 2007
    Messages:
    670
    Location:
    Ontario, Canada
    I got fed up with these newbie posts a long time ago. So, give them copy/paste, but omit a very important yet simple piece of information and let them wreathe in pain and confusion! >:V

    Like So:

    To change Sonic's peelout animation, first you'll need to edit the art files, you can do this with a variety of programs. SonMapEd is what I prefer to use, but feel free to use whatever makes you happy. After the tiles are in there, you want to find Sonic's animation script, and add said frames. Sonic_Spindash: 1, 2, 3, etc etc, you change the numbers to whatever frames the new animation is, 4, 5, or 6, as an example. Finally, and this is my direct gift and explanation to you (the rest is for you to figure out), Go to Sonic_Spindash, and change the down button check to an up button check. You can find what value to change to in the code that tells Sonic to look up. ; is up button being pressed?.

    Crude and lazy explanation. Cheers.
     
Thread Status:
Not open for further replies.