(the rest just have some new moves inserted)
S2SMTP
S2SMTP
lol, Cool. I'm interested in how you inserted the code....

Posted 05 July 2009 - 11:55 PM
Posted 06 July 2009 - 05:15 AM
Posted 06 July 2009 - 02:31 PM
Posted 06 July 2009 - 02:46 PM
Posted 06 July 2009 - 03:48 PM
Posted 07 July 2009 - 10:49 AM
; Variables for maintaining the new features
HasBlueRing equ $FFFFFFFC ; byte
SavedRingCount equ $FFFFFFFD ; word
resetBlueRing macro
move.b #0,(HasBlueRing) ; take blue ring off
move.w #0,(SavedRingCount)
endm
; ...
PlayLevel: ; XREF: ROM:00003246j ...
; ...
move.l d0,($FFFFFE26).w ; clear score
resetBlueRing
; ...
Demo_Level:
; ...
move.l d0,($FFFFFE26).w ; clear score
resetBlueRing
; ...
Level_LoadObj:
; ...
move.b d0,($FFFFFE1B).w ; clear lives counter
resetBlueRing
loc_39E8:
; ...
move.b d0,($FFFFFE2E).w ; clear speed shoes
resetBlueRing
; ...
Cont_GotoLevel: ; XREF: Cont_MainLoop
; ...
move.l d0,($FFFFFE26).w ; clear score
resetBlueRing
; ...
Obj80_Main: ; XREF: Obj80_Index
; ...
move.w #0,($FFFFFE20).w ; clear rings
resetBlueRing
; ...
EndingDemoLoad: ; XREF: Credits
; ...
move.l d0,($FFFFFE26).w ; clear score
resetBlueRing
; ...
Boundary_Bottom:
; ...
clr.b ($FFFFFE30).w ; clear lamppost counter
resetBlueRing
; ...
KillSonic:
tst.w ($FFFFFE08).w ; is debug mode active?
bne.s Kill_NoDeath ; if yes, branch
resetBlueRing
Obj2E_ChkRings:
cmpi.b #6,d0 ; does monitor contain 10 rings?
bne.s Obj2E_ChkS
move.b #1,(HasBlueRing)
rts
HurtSonic:
tst.b ($FFFFFE2C).w ; does Sonic have a shield?
bne.s Hurt_Shield ; if yes, branch
tst.w ($FFFFFE20).w ; does Sonic have any rings?
beq.w Hurt_NoRings ; if not, branch
tst.b (HasBlueRing) ; does Sonic have a blue ring?
bne.s Hurt_Blue ; if yes, branch
jmp Hurt_LoseRings
Hurt_Blue:
move.b #0,(HasBlueRing) ; take it off
move.w ($FFFFFE20),(SavedRingCount) ; save # of rings
move.w #1,($FFFFFE20) ; only one ring at first
Hurt_LoseRings:
jsr SingleObjLoad
bne.s Hurt_Shield
move.b #$37,0(a1) ; load bouncing multi rings object
move.w 8(a0),8(a1)
move.w $C(a0),$C(a1)
Hurt_Shield:
Obj37_Collect: ; XREF: Obj37_Index
addq.b #2,$24(a0)
move.b #0,$20(a0)
move.b #1,$18(a0)
tst.w (SavedRingCount) ; do we have saved rings?
bne.w RecollectRings ; if so, recollect the rings
bsr.w CollectRing
bra.w Obj37_Sparkle
RecollectRings:
move.w (SavedRingCount),($FFFFFE20)
ori.b #1,($FFFFFE1D).w ; update the rings counter
move.w #$B5,d0 ; play ring sound
jsr Obj25_PlaySnd
move.w #0,(SavedRingCount)
Obj37_Sparkle: ; XREF: Obj37_Index
Obj37_Delete: ; XREF: Obj37_Index
move.w ($FFFFF72E).w,d0
addi.w #$E0,d0
cmp.w $C(a0),d0 ; has object moved below level boundary?
bcs.s Obj37_DoDelete ; if yes, don't bother regenerating those rings
tst.w (SavedRingCount) ; did we save rings?
beq.w Obj37_DoDelete ; nope (or these are regenerated)
move.w (SavedRingCount),($FFFFFE20) ; generate
move.w #0,(SavedRingCount) ; kill those rings!
jsr HurtSonic
Obj37_DoDelete:
bra.w DeleteObject
Posted 09 July 2009 - 11:34 AM
Posted 25 July 2009 - 11:54 AM
Posted 09 August 2009 - 11:26 AM
Posted 09 August 2009 - 02:20 PM
Posted 09 August 2009 - 05:07 PM
Posted 16 August 2009 - 01:25 PM
Posted 31 August 2009 - 10:12 PM
