Skid dust from s2 to s1?

Discussion in 'Discussion and Q&A Archive' started by Dark Lips, Jul 3, 2009.

Thread Status:
Not open for further replies.
  1. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    Hi there, I was just looking at the s2 asm file looking for a referance to the skid dust object in s2... you know the puffs of dust that apear as sonic breaks and turns? The reason I am doing this is becasue i wish to add it to Sonic Redemtpion. I have also looked in the s2 beta asm but I dont think it was implemeneted in the beta versions of sonic 2. So does anybody know where or what it is called in the s2 asm? Thank you ;)
     
  2. SaunicBoom

    SaunicBoom Well-Known Member Member

    Joined:
    Sep 14, 2007
    Messages:
    324
    If I remember correctly, it was Object 08. Also included was the spindash dust and watersplash, if I'm not mistaken.
     
  3. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    ok I already had the code in place as I followed the Spindash dust guide on retro... however even with code modifications to s1 I still dont have skid dust infact its even gone as far as the spindash dust no longer shows...


    any Ideas what I have got wrong?



    Code:
    ; =============================================================
    
    ; = >  Spindash and Skid Dust Routine   &#40;OBJ08 in S2&#41;   <<<<<<<<<<<<<<<<<<<<<<<<<=
    
    ; =============================================================
    
    
    
    SpinDash_dust&#58;
    
    
    
    Sprite_1DD20&#58;				
    
    		moveq	#0,d0
    
    		move.b	$24&#40;a0&#41;,d0
    
    		move	off_1DD2E&#40;pc,d0.w&#41;,d1
    
    		jmp	off_1DD2E&#40;pc,d1.w&#41;
    
    		
    
    ; ===========================================================================
    
    
    
    off_1DD2E&#58;	dc loc_1DD36-off_1DD2E; 0
    
    		dc loc_1DD90-off_1DD2E; 1
    
    		dc loc_1DE46-off_1DD2E; 2
    
    		dc loc_1DE4A-off_1DD2E; 3
    
    ; ===========================================================================
    
    
    
    loc_1DD36&#58;			
    
    		addq.b	#2,$24&#40;a0&#41;
    
    		move.l	#MapUnc_1DF5E,4&#40;a0&#41;
    
    		or.b	#4,1&#40;a0&#41;
    
    		move.b	#1,$18&#40;a0&#41;
    
    		move.b	#$10,$19&#40;a0&#41;
    
    		move	#$7A0,2&#40;a0&#41;
    
    		move	#-$3000,$3E&#40;a0&#41;
    
    		move	#$F400,$3C&#40;a0&#41;
    
    		cmp	#-$2E40,a0
    
    		beq.s	loc_1DD8C
    
    		move.b	#1,$34&#40;a0&#41;
    
    		cmp	#2,&#40;$FFFFFF70&#41;.w
    
    		beq.s	loc_1DD8C
    
    		move	#$48C,2&#40;a0&#41;
    
    		move	#-$4FC0,$3E&#40;a0&#41;
    
    		move	#-$6E80,$3C&#40;a0&#41;
    
     
    
    loc_1DD8C&#58;			
    
    		
    
    				rts
    
    			   &#59;bsr.w	sub_16D6E
    
     
    
    loc_1DD90&#58;				
    
    		movea.w	$3E&#40;a0&#41;,a2
    
    		moveq	#0,d0
    
    		move.b	$1C&#40;a0&#41;,d0
    
    		add	d0,d0
    
    		move	off_1DDA4&#40;pc,d0.w&#41;,d1
    
    		jmp	off_1DDA4&#40;pc,d1.w&#41;
    
    		
    
    ; ===========================================================================
    
    
    
    off_1DDA4&#58;	dc loc_1DE28-off_1DDA4; 0 
    
    		dc loc_1DDAC-off_1DDA4; 1
    
    		dc loc_1DDCC-off_1DDA4; 2
    
    		dc loc_1DE20-off_1DDA4; 3
    
    
    
    ; ===========================================================================
    
     
    
    loc_1DDAC&#58;				
    
    		move	&#40;$FFFFF646&#41;.w,$C&#40;a0&#41;
    
    		tst.b	$1D&#40;a0&#41;
    
    		bne.s	loc_1DE28
    
    		move	8&#40;a2&#41;,8&#40;a0&#41;
    
    		move.b	#0,$22&#40;a0&#41;
    
    		and	#$7FFF,2&#40;a0&#41;
    
    		bra.s	loc_1DE28
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DDCC&#58;			
    
    		cmp.b	#$C,$28&#40;a2&#41;
    
    		bcs.s	loc_1DE3E
    
    		cmp.b	#4,$24&#40;a2&#41;
    
    		bcc.s	loc_1DE3E
    
    		tst.b	$39&#40;a2&#41;
    
    		beq.s	loc_1DE3E
    
    		move	8&#40;a2&#41;,8&#40;a0&#41;
    
    		move	$C&#40;a2&#41;,$C&#40;a0&#41;
    
    		move.b	$22&#40;a2&#41;,$22&#40;a0&#41;
    
    		and.b	#1,$22&#40;a0&#41;
    
    		tst.b	$34&#40;a0&#41;
    
    		beq.s	loc_1DE06
    
    		sub	#4,$C&#40;a0&#41;
    
     
    
    loc_1DE06&#58;			
    
    		tst.b	$1D&#40;a0&#41;
    
    		bne.s	loc_1DE28
    
    		and	#$7FFF,2&#40;a0&#41;
    
    		tst	2&#40;a2&#41;
    
    		bpl.s	loc_1DE28
    
    		or	#-$8000,2&#40;a0&#41;
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DE20&#58;				
    
    				cmpi.w	#$C,&#40;$FFFFFE14&#41;.w&#59; check air remaining
    
    				bcs.s	loc_1DE3E
    
    
    
    
    
    loc_1DE28&#58;				
    
    		lea	&#40;off_1DF38&#41;.l,a1
    
    		jsr	AnimateSprite
    
    		bsr.w	loc_1DEE4
    
    		jmp	DisplaySprite
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DE3E&#58;				
    
    		move.b	#0,$1C&#40;a0&#41;
    
    		rts	
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DE46&#58;			
    
    		bra.w	DeleteObject
    
    		
    
    ; ===========================================================================
    
     
    
     
    
    loc_1DE4A&#58;
    
    
    
    			  movea.w	$3E&#40;a0&#41;,a2
    
    			moveq	#$10,d1
    
    			cmp.b	#$D,$1C&#40;a2&#41;
    
    			beq.s	loc_1DE64
    
    			moveq	#$6,d1
    
    			cmp.b	#$3,$21&#40;a2&#41;
    
    			beq.s	loc_1DE64
    
    			move.b	#2,$24&#40;a0&#41;
    
    			move.b	#0,$32&#40;a0&#41;
    
    			rts
    
    			
    
    ; ===========================================================================
    
     
    
    loc_1DE64&#58;				
    
    		subq.b	#1,$32&#40;a0&#41;
    
    		bpl.s	loc_1DEE0
    
    		move.b	#3,$32&#40;a0&#41;
    
    		jsr	SingleObjLoad
    
    		bne.s	loc_1DEE0
    
    		move.b	0&#40;a0&#41;,0&#40;a1&#41;
    
    		move	8&#40;a2&#41;,8&#40;a1&#41;
    
    		move	$C&#40;a2&#41;,$C&#40;a1&#41;
    
    		tst.b	$34&#40;a0&#41;
    
    		beq.s	loc_1DE9A
    
    		sub	#4,d1
    
     
    
    loc_1DE9A&#58;			
    
    		add	d1,$C&#40;a1&#41;
    
    		move.b	#0,$22&#40;a1&#41;
    
    		move.b	#3,$1C&#40;a1&#41;
    
    		addq.b	#2,$24&#40;a1&#41;
    
    		move.l	4&#40;a0&#41;,4&#40;a1&#41;
    
    		move.b	1&#40;a0&#41;,1&#40;a1&#41;
    
    		move.b	#1,$18&#40;a1&#41;
    
    		move.b	#4,$19&#40;a1&#41;
    
    		move	2&#40;a0&#41;,2&#40;a1&#41;
    
    		move	$3E&#40;a0&#41;,$3E&#40;a1&#41;
    
    		and	#$7FFF,2&#40;a1&#41;
    
    		tst	2&#40;a2&#41;
    
    		bpl.s	loc_1DEE0
    
    		or	#-$8000,2&#40;a1&#41;
    
     
    
    loc_1DEE0&#58;			
    
    		bsr.s	loc_1DEE4
    
    		rts	
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DEE4&#58;				
    
    		moveq	#0,d0
    
    		move.b	$1A&#40;a0&#41;,d0
    
    		cmp.b	$30&#40;a0&#41;,d0
    
    		beq.w	locret_1DF36
    
    		move.b	d0,$30&#40;a0&#41;
    
    		lea	&#40;off_1E074&#41;.l,a2
    
    		add	d0,d0
    
    		add	&#40;a2,d0.w&#41;,a2
    
    		move	&#40;a2&#41;+,d5
    
    		subq	#1,d5
    
    		bmi.w	locret_1DF36
    
    		move $3C&#40;a0&#41;,d4
    
     
    
    loc_1DF0A&#58;			
    
    		moveq	#0,d1
    
    		move	&#40;a2&#41;+,d1
    
    		move	d1,d3
    
    		lsr.w	#8,d3
    
    		and	#$F0,d3&#59; &#39;ð&#39;
    
    		add	#$10,d3
    
    		and	#$FFF,d1
    
    		lsl.l	#5,d1
    
    		add.l	#Art_Dust,d1
    
    		move	d4,d2
    
    		add	d3,d4
    
    		add	d3,d4
    
    	jsr	 &#40;QueueDMATransfer&#41;.l
    
    		dbf	d5,loc_1DF0A
    
    	rts
    
     
    
    locret_1DF36&#58;			
    
    		
    
    				rts	
    
    		
    
    ; ===========================================================================
    
    
    
    off_1DF38&#58;	dc byte_1DF40-off_1DF38; 0 
    
    		dc byte_1DF43-off_1DF38; 1
    
    		dc byte_1DF4F-off_1DF38; 2
    
    		dc byte_1DF58-off_1DF38; 3
    
    byte_1DF40&#58;	dc.b   $1F,  0,  $FF&#59; 0 
    
    byte_1DF43&#58;	dc.b	 3,  1,  2,  3,  4,  5,  6,  7,  8,  9,$FD,  0; 0
    
    byte_1DF4F&#58;	dc.b	 1, $A, $B, $C, $D, $E, $F,$10,$FF; 0 
    
    byte_1DF58&#58;	dc.b	 3,$11,$12,$13,$14,$FC; 0	
    
    
    
    ; -------------------------------------------------------------------------------
    
    ; Unknown Sprite Mappings
    
    ; -------------------------------------------------------------------------------
    
    
    
    MapUnc_1DF5E&#58;
    
    	dc word_1DF8A-MapUnc_1DF5E; 0
    
    	dc word_1DF8C-MapUnc_1DF5E; 1
    
    	dc word_1DF96-MapUnc_1DF5E; 2
    
    	dc word_1DFA0-MapUnc_1DF5E; 3
    
    	dc word_1DFAA-MapUnc_1DF5E; 4
    
    	dc word_1DFB4-MapUnc_1DF5E; 5
    
    	dc word_1DFBE-MapUnc_1DF5E; 6
    
    	dc word_1DFC8-MapUnc_1DF5E; 7
    
    	dc word_1DFD2-MapUnc_1DF5E; 8
    
    	dc word_1DFDC-MapUnc_1DF5E; 9
    
    	dc word_1DFE6-MapUnc_1DF5E; 10
    
    	dc word_1DFF0-MapUnc_1DF5E; 11
    
    	dc word_1DFFA-MapUnc_1DF5E; 12
    
    	dc word_1E004-MapUnc_1DF5E; 13
    
    	dc word_1E016-MapUnc_1DF5E; 14
    
    	dc word_1E028-MapUnc_1DF5E; 15
    
    	dc word_1E03A-MapUnc_1DF5E; 16
    
    	dc word_1E04C-MapUnc_1DF5E; 17
    
    	dc word_1E056-MapUnc_1DF5E; 18
    
    	dc word_1E060-MapUnc_1DF5E; 19
    
    	dc word_1E06A-MapUnc_1DF5E; 20
    
    	dc word_1DF8A-MapUnc_1DF5E; 21
    
    word_1DF8A&#58;	dc.b 0
    
    word_1DF8C&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DF96&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFA0&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFAA&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFB4&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFBE&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFC8&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DFD2&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DFDC&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DFE6&#58;	dc.b 1
    
    	dc.b $4, $0D, $0, 0,$E0; 0
    
    word_1DFF0&#58;	dc.b 1
    
    	dc.b $4, $0D, $0, 0,$E0; 0
    
    word_1DFFA&#58;	dc.b 1
    
    	dc.b $4, $0D, $0, 0,$E0; 0
    
    word_1E004&#58;	dc.b 2
    
    	dc.b $F4, $01, $0, 0,$E8; 0
    
    	dc.b $4, $0D, $0, 2,$E0; 4
    
    word_1E016&#58;	dc.b 2
    
    	dc.b $F4, $05, $0, 0,$E8; 0
    
    	dc.b $4, $0D, $0, 4,$E0; 4
    
    word_1E028&#58;	dc.b 2
    
    	dc.b $F4, $09, $0, 0,$E0; 0
    
    	dc.b $4, $0D, $0, 6,$E0; 4
    
    word_1E03A&#58;	dc.b 2
    
    	dc.b $F4, $09, $0, 0,$E0; 0
    
    	dc.b $4, $0D, $0, 6,$E0; 4
    
    word_1E04C&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, 0,$F8; 0
    
    word_1E056&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, 4,$F8; 0
    
    word_1E060&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, 8,$F8; 0
    
    word_1E06A&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, $C,$F8; 0
    
    	dc.b 0
    
    off_1E074&#58;	dc word_1E0A0-off_1E074; 0
    
    	dc word_1E0A2-off_1E074; 1
    
    	dc word_1E0A6-off_1E074; 2
    
    	dc word_1E0AA-off_1E074; 3
    
    	dc word_1E0AE-off_1E074; 4
    
    	dc word_1E0B2-off_1E074; 5
    
    	dc word_1E0B6-off_1E074; 6
    
    	dc word_1E0BA-off_1E074; 7
    
    	dc word_1E0BE-off_1E074; 8
    
    	dc word_1E0C2-off_1E074; 9
    
    	dc word_1E0C6-off_1E074; 10
    
    	dc word_1E0CA-off_1E074; 11
    
    	dc word_1E0CE-off_1E074; 12
    
    	dc word_1E0D2-off_1E074; 13
    
    	dc word_1E0D8-off_1E074; 14
    
    	dc word_1E0DE-off_1E074; 15
    
    	dc word_1E0E4-off_1E074; 16
    
    	dc word_1E0EA-off_1E074; 17
    
    	dc word_1E0EA-off_1E074; 18
    
    	dc word_1E0EA-off_1E074; 19
    
    	dc word_1E0EA-off_1E074; 20
    
    	dc word_1E0EC-off_1E074; 21
    
    word_1E0A0&#58;	dc 0
    
    word_1E0A2&#58;	dc 1
    
    	dc $7000
    
    word_1E0A6&#58;	dc 1
    
    	dc $F008
    
    word_1E0AA&#58;	dc 1
    
    	dc $F018
    
    word_1E0AE&#58;	dc 1
    
    	dc $F028
    
    word_1E0B2&#58;	dc 1
    
    	dc $F038
    
    word_1E0B6&#58;	dc 1
    
    	dc $F048
    
    word_1E0BA&#58;	dc 1
    
    	dc $7058
    
    word_1E0BE&#58;	dc 1
    
    	dc $7060
    
    word_1E0C2&#58;	dc 1
    
    	dc $7068
    
    word_1E0C6&#58;	dc 1
    
    	dc $7070
    
    word_1E0CA&#58;	dc 1
    
    	dc $7078
    
    word_1E0CE&#58;	dc 1
    
    	dc $7080
    
    word_1E0D2&#58;	dc 2
    
    	dc $1088
    
    	dc $708A
    
    word_1E0D8&#58;	dc 2
    
    	dc $3092
    
    	dc $7096
    
    word_1E0DE&#58;	dc 2
    
    	dc $509E
    
    	dc $70A4
    
    word_1E0E4&#58;	dc 2
    
    	dc $50AC
    
    	dc $70B2
    
    word_1E0EA&#58;	dc 0
    
    word_1E0EC&#58;	dc 1
    
    	dc $F0BA
    
    	even
     
  4. Spanner

    Spanner The Tool Member

    Joined:
    Aug 9, 2007
    Messages:
    2,570
    Changing dc to dc.l might help.
     
  5. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    Thanks for the advice SOTI.... tried it but still nothing - heres what the code looks like now....



    Code:
    SpinDash_dust&#58;
    
    
    
    Sprite_1DD20&#58;				
    
    		moveq	#0,d0
    
    		move.b	$24&#40;a0&#41;,d0
    
    		move	off_1DD2E&#40;pc,d0.w&#41;,d1
    
    		jmp	off_1DD2E&#40;pc,d1.w&#41;
    
    		
    
    ; ===========================================================================
    
    
    
    off_1DD2E&#58;	dc.l loc_1DD36-off_1DD2E; 0
    
    		dc.l loc_1DD90-off_1DD2E; 1
    
    		dc.l loc_1DE46-off_1DD2E; 2
    
    		dc.l loc_1DE4A-off_1DD2E; 3
    
    ; ===========================================================================
    
    
    
    loc_1DD36&#58;			
    
    		addq.b	#2,$24&#40;a0&#41;
    
    		move.l	#MapUnc_1DF5E,4&#40;a0&#41;
    
    		or.b	#4,1&#40;a0&#41;
    
    		move.b	#1,$18&#40;a0&#41;
    
    		move.b	#$10,$19&#40;a0&#41;
    
    		move	#$7A0,2&#40;a0&#41;
    
    		move	#-$3000,$3E&#40;a0&#41;
    
    		move	#$F400,$3C&#40;a0&#41;
    
    		cmp	#-$2E40,a0
    
    		beq.s	loc_1DD8C
    
    		move.b	#1,$34&#40;a0&#41;
    
    		cmp	#2,&#40;$FFFFFF70&#41;.w
    
    		beq.s	loc_1DD8C
    
    		move	#$48C,2&#40;a0&#41;
    
    		move	#-$4FC0,$3E&#40;a0&#41;
    
    		move	#-$6E80,$3C&#40;a0&#41;
    
     
    
    loc_1DD8C&#58;			
    
    		
    
    				rts
    
    			  &#59;bsr.w	sub_16D6E
    
     
    
    loc_1DD90&#58;				
    
    		movea.w	$3E&#40;a0&#41;,a2
    
    		moveq	#0,d0
    
    		move.b	$1C&#40;a0&#41;,d0
    
    		add	d0,d0
    
    		move	off_1DDA4&#40;pc,d0.w&#41;,d1
    
    		jmp	off_1DDA4&#40;pc,d1.w&#41;
    
    		
    
    ; ===========================================================================
    
    
    
    off_1DDA4&#58;	dc.l loc_1DE28-off_1DDA4; 0; DATA XREF&#58; h+6E30?o h+6E32?o ...
    
    		dc.l loc_1DDAC-off_1DDA4; 1
    
    		dc.l loc_1DDCC-off_1DDA4; 2
    
    		dc.l loc_1DE20-off_1DDA4; 3
    
    
    
    ; ===========================================================================
    
     
    
    loc_1DDAC&#58;		&#59; DATA XREF&#58; h+6E30?o
    
    		move	&#40;$FFFFF646&#41;.w,$C&#40;a0&#41;
    
    		tst.b	$1D&#40;a0&#41;
    
    		bne.s	loc_1DE28
    
    		move	8&#40;a2&#41;,8&#40;a0&#41;
    
    		move.b	#0,$22&#40;a0&#41;
    
    		and	#$7FFF,2&#40;a0&#41;
    
    		bra.s	loc_1DE28
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DDCC&#58;			
    
    		cmp.b	#$C,$28&#40;a2&#41;
    
    		bcs.s	loc_1DE3E
    
    		cmp.b	#4,$24&#40;a2&#41;
    
    		bcc.s	loc_1DE3E
    
    		tst.b	$39&#40;a2&#41;
    
    		beq.s	loc_1DE3E
    
    		move	8&#40;a2&#41;,8&#40;a0&#41;
    
    		move	$C&#40;a2&#41;,$C&#40;a0&#41;
    
    		move.b	$22&#40;a2&#41;,$22&#40;a0&#41;
    
    		and.b	#1,$22&#40;a0&#41;
    
    		tst.b	$34&#40;a0&#41;
    
    		beq.s	loc_1DE06
    
    		sub	#4,$C&#40;a0&#41;
    
     
    
    loc_1DE06&#58;			
    
    		tst.b	$1D&#40;a0&#41;
    
    		bne.s	loc_1DE28
    
    		and	#$7FFF,2&#40;a0&#41;
    
    		tst	2&#40;a2&#41;
    
    		bpl.s	loc_1DE28
    
    		or	#-$8000,2&#40;a0&#41;
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DE20&#58;				
    
    				cmpi.w	#$C,&#40;$FFFFFE14&#41;.w; check air remaining
    
    				bcs.s	loc_1DE3E
    
    
    
    
    
    loc_1DE28&#58;				
    
    		lea	&#40;off_1DF38&#41;.l,a1
    
    		jsr	AnimateSprite
    
    		bsr.w	loc_1DEE4
    
    		jmp	DisplaySprite
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DE3E&#58;				
    
    		move.b	#0,$1C&#40;a0&#41;
    
    		rts	
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DE46&#58;			
    
    		bra.w	DeleteObject
    
    		
    
    ; ===========================================================================
    
     
    
     
    
    loc_1DE4A&#58;
    
    
    
    			  movea.w	$3E&#40;a0&#41;,a2
    
    			moveq	#$10,d1
    
    			cmp.b	#$D,$1C&#40;a2&#41;
    
    			beq.s	loc_1DE64
    
    			moveq	#$6,d1
    
    			cmp.b	#$3,$21&#40;a2&#41;
    
    			beq.s	loc_1DE64
    
    			move.b	#2,$24&#40;a0&#41;
    
    			move.b	#0,$32&#40;a0&#41;
    
    			rts
    
    			
    
    ; ===========================================================================
    
     
    
    loc_1DE64&#58;				
    
    		subq.b	#1,$32&#40;a0&#41;
    
    		bpl.s	loc_1DEE0
    
    		move.b	#3,$32&#40;a0&#41;
    
    		jsr	SingleObjLoad
    
    		bne.s	loc_1DEE0
    
    		move.b	0&#40;a0&#41;,0&#40;a1&#41;
    
    		move	8&#40;a2&#41;,8&#40;a1&#41;
    
    		move	$C&#40;a2&#41;,$C&#40;a1&#41;
    
    		tst.b	$34&#40;a0&#41;
    
    		beq.s	loc_1DE9A
    
    		sub	#4,d1
    
     
    
    loc_1DE9A&#58;			
    
    		add	d1,$C&#40;a1&#41;
    
    		move.b	#0,$22&#40;a1&#41;
    
    		move.b	#3,$1C&#40;a1&#41;
    
    		addq.b	#2,$24&#40;a1&#41;
    
    		move.l	4&#40;a0&#41;,4&#40;a1&#41;
    
    		move.b	1&#40;a0&#41;,1&#40;a1&#41;
    
    		move.b	#1,$18&#40;a1&#41;
    
    		move.b	#4,$19&#40;a1&#41;
    
    		move	2&#40;a0&#41;,2&#40;a1&#41;
    
    		move	$3E&#40;a0&#41;,$3E&#40;a1&#41;
    
    		and	#$7FFF,2&#40;a1&#41;
    
    		tst	2&#40;a2&#41;
    
    		bpl.s	loc_1DEE0
    
    		or	#-$8000,2&#40;a1&#41;
    
     
    
    loc_1DEE0&#58;			
    
    		bsr.s	loc_1DEE4
    
    		rts	
    
    		
    
    ; ===========================================================================
    
     
    
    loc_1DEE4&#58;				
    
    		moveq	#0,d0
    
    		move.b	$1A&#40;a0&#41;,d0
    
    		cmp.b	$30&#40;a0&#41;,d0
    
    		beq.w	locret_1DF36
    
    		move.b	d0,$30&#40;a0&#41;
    
    		lea	&#40;off_1E074&#41;.l,a2
    
    		add	d0,d0
    
    		add	&#40;a2,d0.w&#41;,a2
    
    		move	&#40;a2&#41;+,d5
    
    		subq	#1,d5
    
    		bmi.w	locret_1DF36
    
    		move $3C&#40;a0&#41;,d4
    
     
    
    loc_1DF0A&#58;			
    
    		moveq	#0,d1
    
    		move	&#40;a2&#41;+,d1
    
    		move	d1,d3
    
    		lsr.w	#8,d3
    
    		and	#$F0,d3; &#39;ð&#39;
    
    		add	#$10,d3
    
    		and	#$FFF,d1
    
    		lsl.l	#5,d1
    
    		add.l	#Art_Dust,d1
    
    		move	d4,d2
    
    		add	d3,d4
    
    		add	d3,d4
    
    	jsr	 &#40;QueueDMATransfer&#41;.l
    
    		dbf	d5,loc_1DF0A
    
    	rts
    
     
    
    locret_1DF36&#58;			
    
    		
    
    				rts	
    
    		
    
    ; ===========================================================================
    
    
    
    off_1DF38&#58;	dc.l byte_1DF40-off_1DF38; 0 
    
    		dc.l byte_1DF43-off_1DF38; 1
    
    		dc.l byte_1DF4F-off_1DF38; 2
    
    		dc.l byte_1DF58-off_1DF38; 3
    
    byte_1DF40&#58;	dc.b   $1F,  0,  $FF; 0 
    
    byte_1DF43&#58;	dc.b	 3,  1,  2,  3,  4,  5,  6,  7,  8,  9,$FD,  0; 0
    
    byte_1DF4F&#58;	dc.b	 1, $A, $B, $C, $D, $E, $F,$10,$FF; 0 
    
    byte_1DF58&#58;	dc.b	 3,$11,$12,$13,$14,$FC; 0	
    
    
    
    ; -------------------------------------------------------------------------------
    
    ; Unknown Sprite Mappings
    
    ; -------------------------------------------------------------------------------
    
    
    
    MapUnc_1DF5E&#58;
    
    	dc.l word_1DF8A-MapUnc_1DF5E; 0
    
    	dc.l word_1DF8C-MapUnc_1DF5E; 1
    
    	dc.l word_1DF96-MapUnc_1DF5E; 2
    
    	dc.l word_1DFA0-MapUnc_1DF5E; 3
    
    	dc.l word_1DFAA-MapUnc_1DF5E; 4
    
    	dc.l word_1DFB4-MapUnc_1DF5E; 5
    
    	dc.l word_1DFBE-MapUnc_1DF5E; 6
    
    	dc.l word_1DFC8-MapUnc_1DF5E; 7
    
    	dc.l word_1DFD2-MapUnc_1DF5E; 8
    
    	dc.l word_1DFDC-MapUnc_1DF5E; 9
    
    	dc.l word_1DFE6-MapUnc_1DF5E; 10
    
    	dc.l word_1DFF0-MapUnc_1DF5E; 11
    
    	dc.l word_1DFFA-MapUnc_1DF5E; 12
    
    	dc.l word_1E004-MapUnc_1DF5E; 13
    
    	dc.l word_1E016-MapUnc_1DF5E; 14
    
    	dc.l word_1E028-MapUnc_1DF5E; 15
    
    	dc.l word_1E03A-MapUnc_1DF5E; 16
    
    	dc.l word_1E04C-MapUnc_1DF5E; 17
    
    	dc.l word_1E056-MapUnc_1DF5E; 18
    
    	dc.l word_1E060-MapUnc_1DF5E; 19
    
    	dc.l word_1E06A-MapUnc_1DF5E; 20
    
    	dc.l word_1DF8A-MapUnc_1DF5E; 21
    
    word_1DF8A&#58;	dc.b 0
    
    word_1DF8C&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DF96&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFA0&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFAA&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFB4&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFBE&#58;	dc.b 1
    
    	dc.b $E2, $0F, $0, 0,$F0; 0
    
    word_1DFC8&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DFD2&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DFDC&#58;	dc.b 1
    
    	dc.b $F2, $0D, $0, 0,$F0; 0
    
    word_1DFE6&#58;	dc.b 1
    
    	dc.b $4, $0D, $0, 0,$E0; 0
    
    word_1DFF0&#58;	dc.b 1
    
    	dc.b $4, $0D, $0, 0,$E0; 0
    
    word_1DFFA&#58;	dc.b 1
    
    	dc.b $4, $0D, $0, 0,$E0; 0
    
    word_1E004&#58;	dc.b 2
    
    	dc.b $F4, $01, $0, 0,$E8; 0
    
    	dc.b $4, $0D, $0, 2,$E0; 4
    
    word_1E016&#58;	dc.b 2
    
    	dc.b $F4, $05, $0, 0,$E8; 0
    
    	dc.b $4, $0D, $0, 4,$E0; 4
    
    word_1E028&#58;	dc.b 2
    
    	dc.b $F4, $09, $0, 0,$E0; 0
    
    	dc.b $4, $0D, $0, 6,$E0; 4
    
    word_1E03A&#58;	dc.b 2
    
    	dc.b $F4, $09, $0, 0,$E0; 0
    
    	dc.b $4, $0D, $0, 6,$E0; 4
    
    word_1E04C&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, 0,$F8; 0
    
    word_1E056&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, 4,$F8; 0
    
    word_1E060&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, 8,$F8; 0
    
    word_1E06A&#58;	dc.b 1
    
    	dc.b $F8, $05, $0, $C,$F8; 0
    
    	dc.b 0
    
    off_1E074&#58;	dc.l word_1E0A0-off_1E074; 0
    
    	dc.l word_1E0A2-off_1E074; 1
    
    	dc.l word_1E0A6-off_1E074; 2
    
    	dc.l word_1E0AA-off_1E074; 3
    
    	dc.l word_1E0AE-off_1E074; 4
    
    	dc.l word_1E0B2-off_1E074; 5
    
    	dc.l word_1E0B6-off_1E074; 6
    
    	dc.l word_1E0BA-off_1E074; 7
    
    	dc.l word_1E0BE-off_1E074; 8
    
    	dc.l word_1E0C2-off_1E074; 9
    
    	dc.l word_1E0C6-off_1E074; 10
    
    	dc.l word_1E0CA-off_1E074; 11
    
    	dc.l word_1E0CE-off_1E074; 12
    
    	dc.l word_1E0D2-off_1E074; 13
    
    	dc.l word_1E0D8-off_1E074; 14
    
    	dc.l word_1E0DE-off_1E074; 15
    
    	dc.l word_1E0E4-off_1E074; 16
    
    	dc.l word_1E0EA-off_1E074; 17
    
    	dc.l word_1E0EA-off_1E074; 18
    
    	dc.l word_1E0EA-off_1E074; 19
    
    	dc.l word_1E0EA-off_1E074; 20
    
    	dc.l word_1E0EC-off_1E074; 21
    
    word_1E0A0&#58;	dc.l 0
    
    word_1E0A2&#58;	dc.l 1
    
    	dc.l $7000
    
    word_1E0A6&#58;	dc.l 1
    
    	dc.l $F008
    
    word_1E0AA&#58;	dc.l 1
    
    	dc.l $F018
    
    word_1E0AE&#58;	dc.l 1
    
    	dc.l $F028
    
    word_1E0B2&#58;	dc.l 1
    
    	dc.l $F038
    
    word_1E0B6&#58;	dc.l 1
    
    	dc.l $F048
    
    word_1E0BA&#58;	dc.l 1
    
    	dc.l $7058
    
    word_1E0BE&#58;	dc.l 1
    
    	dc.l $7060
    
    word_1E0C2&#58;	dc.l 1
    
    	dc.l $7068
    
    word_1E0C6&#58;	dc.l 1
    
    	dc.l $7070
    
    word_1E0CA&#58;	dc.l 1
    
    	dc.l $7078
    
    word_1E0CE&#58;	dc.l 1
    
    	dc.l $7080
    
    word_1E0D2&#58;	dc.l 2
    
    	dc.l $1088
    
    	dc.l $708A
    
    word_1E0D8&#58;	dc.l 2
    
    	dc.l $3092
    
    	dc.l $7096
    
    word_1E0DE&#58;	dc.l 2
    
    	dc.l $509E
    
    	dc.l $70A4
    
    word_1E0E4&#58;	dc.l 2
    
    	dc.l $50AC
    
    	dc.l $70B2
    
    word_1E0EA&#58;	dc.l 0
    
    word_1E0EC&#58;	dc.l 1
    
    	dc.l $F0BA
    
    	even

    Any other ideas?
     
    Last edited by a moderator: Jul 3, 2009
  6. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Have you just put this code somewhere in the ASM without giving instructions so the stuff is used?
     
  7. DeoxysKyogre

    DeoxysKyogre No idea what to put here .-. Member

    Joined:
    Jan 31, 2009
    Messages:
    298
    From part of my knowledge, i say, um, om... You should use Sonic Retro's SpinDash guide if you want to get the spin dash dust... If you want the guide's SpinDash_Dust part (the Part 2) there you go:


    http://info.sonicretro.org/SCHG_How-to:Add..._Sonic_1/Part_2


    And you should add at the end before the rts in Sonic_Moveleft and and change a little this little code a bit:


    cmpi.b #$C,air_left(a0)


    bcs.s loc_130B2 ; if he's drowning, branch to not make dust


    move.b #6,(Sonic_Dust+routine).w


    move.b #$15,(Sonic_Dust+mapping_frame).w


    And this for Sonic_Moveright and change some things (Nearly the same code, but it has a different branch):


    cmpi.b #$C,air_left(a0)


    bcs.s locret_1314E ; if he's drowning, branch to not make dust


    move.b #6,(Sonic_Dust+routine).w


    move.b #$15,(Sonic_Dust+mapping_frame).w


    Hope it helps
     
  8. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    ok I have got the spindash dust back by following the guide again but Dont understand what to replace Sonic_Dust+routine with?
     
  9. Dark Lips

    Dark Lips Well-Known Member Member

    Joined:
    Nov 14, 2008
    Messages:
    293
    Location:
    Wolverhampton UK
    sorry for the double post... just wanted you all to know I figured it out and thank you for your time and efforts helping me :p
     
Thread Status:
Not open for further replies.