Basic Questions and Answers Thread

Discussion in 'Discussion & Q&A' started by Malevolence, Jul 7, 2009.

  1. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    We did actually have an online emulator on this site at one point.  Called HackTube if I recall correctly.
     
  2. Niko

    Niko All's well that ends well, right? Member

    Joined:
    Mar 1, 2014
    Messages:
    245
    Location:
    $C800
    @MarkeyJester, oh yeah!
    I remember that, when I was playing sFactor online a few years ago..

    Huh, I wonder what happened to it.
    (I'm just going to try and Google search it.)

    EDIT: But, I really don't know what it was called, I don't even remember it displaying a name...
     
    Last edited by a moderator: Jun 13, 2015
  3. rika_chou

    rika_chou Adopt Member

    Joined:
    Aug 11, 2007
    Messages:
    689
    The emulator used on this site was bought by Sega, I think? They asked for the emulator to be removed. 

    The emulator was used on that PlaySega site.
     
    Last edited by a moderator: Jun 13, 2015
  4. Niko

    Niko All's well that ends well, right? Member

    Joined:
    Mar 1, 2014
    Messages:
    245
    Location:
    $C800
    I know Sega bought jEnesis becuase they wanted it for Sonic Classic Collection, but I found it still for download on SegaRetro. 
    The offline java one, that is. 
    Yes, I use jEnesisDS.
     
  5. CS2612

    CS2612 FamiTracker Trash Member

    Joined:
    Jan 23, 2015
    Messages:
    94
    Location:
    Scranton, PA
    Is it possible to obtain Selbi's old Super Peel-Out sprites for his "Importing the Super Peel-Out into Sonic 1" tutorial, or are they lost forever? The link in the original thread (dated 2009) is useless.
     
    Last edited by a moderator: Jun 13, 2015
  6. Niko

    Niko All's well that ends well, right? Member

    Joined:
    Mar 1, 2014
    Messages:
    245
    Location:
    $C800
    @TheModernRetroGamer: I'm not sure, but I know ReadySonic and Sonic OpenSource both offer the code for the same move.
     
  7. CS2612

    CS2612 FamiTracker Trash Member

    Joined:
    Jan 23, 2015
    Messages:
    94
    Location:
    Scranton, PA
    @Calvin Well, do you know hot put the code into S1? My ASM skills keep leading to corrupted ROMs.
     
  8. Niko

    Niko All's well that ends well, right? Member

    Joined:
    Mar 1, 2014
    Messages:
    245
    Location:
    $C800
    I wanna know where that ASM box is!

     

    Sonic_Dash:
    btst #staDash,obStatus2(a0)
    bne.s Sonic_DashLaunch
    cmpi.b #id_LookUp,obAnim(a0)
    bne.s @return
    move.b (v_jpadpress2).w,d0
    andi.b #btnABC,d0
    beq.w @return
    move.b #id_Run,obAnim(a0)
    move.w #0,$3A(a0)
    move.w #sfx_SpinDash,d0
    jsr (PlaySound_Special).l
    addq.l #4,sp
    bset #staDash,obStatus2(a0)

    bsr.w Sonic_LevelBound
    bsr.w Sonic_AnglePos

    @return:
    rts
    ; ---------------------------------------------------------------------------

    Sonic_DashLaunch:
    move.b #id_DashCharge,obAnim(a0)
    move.b (v_jpadhold2).w,d0
    btst #bitUp,d0
    bne.w Sonic_DashCharge
    bclr #staDash,obStatus2(a0) ; stop Dashing
    cmpi.b #$1E,$3A(a0) ; have we been charging long enough?
    bne.s Sonic_DashResetScr
    move.b #id_Dash,obAnim(a0) ; launches here
    move.w #1,obVelX(a0) ; force X speed to nonzero for camera lag's benefit
    move.w #$0C00,obInertia(a0)
    move.w obInertia(a0),d0
    subi.w #$800,d0
    add.w d0,d0
    andi.w #$1F00,d0
    neg.w d0
    addi.w #$2000,d0
    ;move.w d0,(v_cameralag).w
    btst #0,obStatus(a0)
    beq.s @dontflip
    neg.w obInertia(a0)

    @dontflip:
    ;bset #2,obStatus(a0)
    bclr #7,obStatus(a0)
    move.w #sfx_Teleport,d0
    jsr (PlaySound_Special).l
    bra.w Sonic_DashResetScr
    ; ---------------------------------------------------------------------------

    Sonic_DashCharge: ; If still charging the dash...
    cmpi.b #$1E,$3A(a0)
    beq.s Sonic_DashResetScr
    addi.b #1,$3A(a0)


    Sonic_DashResetScr:
    addq.l #4,sp ; increase stack ptr
    cmpi.w #$60,(v_lookshift).w
    beq.s @finish
    bcc.s @skip
    addq.w #4,(v_lookshift).w

    @skip:
    subq.w #2,(v_lookshift).w

    @finish:
    bsr.w Sonic_LevelBound
    bsr.w Sonic_AnglePos
    rts
    So, I'll use JSM code box for now.

    Give credit to Mercury if you use this. 

    EDIT: This code is from ReadySonic, it's publicly available as a disassembly.
     
    Last edited by a moderator: Jun 14, 2015
  9. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,016
    Please stop bringing that "Open Source" Project up.
     
    Last edited by a moderator: Jun 13, 2015
  10. Niko

    Niko All's well that ends well, right? Member

    Joined:
    Mar 1, 2014
    Messages:
    245
    Location:
    $C800
    Alright, fine.
    It must be that badly looked at....
     
     
  11. Chaotix

    Chaotix Bad at Team Fortress 2 Member

    Joined:
    Aug 21, 2014
    Messages:
    190
    Location:
    England
    I believe it's because it's actually stolen code, so that's why it is frowned upon. Or I'm just being an idiot as usual.
     
  12. Niko

    Niko All's well that ends well, right? Member

    Joined:
    Mar 1, 2014
    Messages:
    245
    Location:
    $C800
    I heard about it having tons of stolen code, and that's why I only use ReadySonic for full codes.
    STHOSP I only look for small commands like "check for button."
    Enough of this, he said don't bring it up anymore. 
     
  13. CS2612

    CS2612 FamiTracker Trash Member

    Joined:
    Jan 23, 2015
    Messages:
    94
    Location:
    Scranton, PA
    Calvin, where does the code go, and how will it load the peel-out's sprites?
     
  14. Pokepunch

    Pokepunch That guy who posts on occasion Member

    Joined:
    Aug 7, 2009
    Messages:
    270
    Location:
    UK
    Just try it yourself, or you'll never learn.
     
  15. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    How can I make an object not hurt Sonic if a certain criteria is met?
     
  16. Irixion

    Irixion Well-Known Member Member

    Joined:
    Aug 11, 2007
    Messages:
    670
    Location:
    Ontario, Canada
    > Set flag

    > Have hurt routine check for flag

    > If yes, skip hurt routine.

    Go look at the invincibility monitor and object.
     
    Last edited by a moderator: Jun 17, 2015
  17. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    I want to make certain objects hurt sonic and others not.
     
  18. AURORA☆FIELDS

    AURORA☆FIELDS so uh yes Exiled

    Joined:
    Oct 7, 2011
    Messages:
    759
    Use the object collision byte ($20). 0 is always with no collision, 2 most significant bits are how the object reacts upon collision, rest are the offset it uses for size (specified in TouchResponse). This article is good for reference.
     
  19. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    I know that. In fact, I already tried putting a check for the ram address I'm using and then setting the object collision depending on that. The problem was that it only checked once the object was loaded into the level. I know I could probably the code to a part of the object's code that is constantly used but I was wondering if there was a more efficient way.
     
  20. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    That is the only real way.  The actual collision detection between Sonic and the other objects is handled together in a specific routine (for speed optimal purposes), so your only way of determining if an object's harm is on or off, is by changing the 20th byte to zero or non-zero.  Other methods would be either; very specific, or just not worth the effort.
     
    Last edited by a moderator: Jun 17, 2015