summaryrefslogtreecommitdiff
path: root/_inc
diff options
context:
space:
mode:
authorClownacy <Clownacy@users.noreply.github.com>2018-02-24 23:30:46 +0000
committerClownacy <Clownacy@users.noreply.github.com>2018-02-24 23:30:46 +0000
commitec3a4bcb5021e5a4a971cc02cb9463fe251e06a3 (patch)
tree2654632f0dcafd73563df9d3b93de71d0fb18f31 /_inc
parent08966873b025288a5627a3ed76a738671c4ee564 (diff)
parent11aeeaeb05edff6ac500a4604fca8eb01a47f49a (diff)
Merge branch 'master' into as
Diffstat (limited to '_inc')
-rw-r--r--_inc/DeformLayers (JP1).asm82
-rw-r--r--_inc/DeformLayers.asm56
-rw-r--r--_inc/LevelSizeLoad & BgScrollSpeed.asm56
3 files changed, 112 insertions, 82 deletions
diff --git a/_inc/DeformLayers (JP1).asm b/_inc/DeformLayers (JP1).asm
index e62985f..82e3d30 100644
--- a/_inc/DeformLayers (JP1).asm
+++ b/_inc/DeformLayers (JP1).asm
@@ -12,15 +12,15 @@ DeformLayers:
; ===========================================================================
loc_628E:
- clr.w (v_bgscroll1).w
- clr.w (v_bgscroll2).w
- clr.w (v_bgscroll3).w
- clr.w ($FFFFF75A).w
+ clr.w (v_fg_scroll_flags).w
+ clr.w (v_bg1_scroll_flags).w
+ clr.w (v_bg2_scroll_flags).w
+ clr.w (v_bg3_scroll_flags).w
bsr.w ScrollHoriz
bsr.w ScrollVertical
bsr.w DynamicLevelEvents
move.w (v_screenposy).w,(v_scrposy_dup).w
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
moveq #0,d0
move.b (v_zone).w,d0
add.w d0,d0
@@ -68,7 +68,7 @@ Deform_GHZ:
moveq #0,d0
loc_62F6:
move.w d0,d4
- move.w d0,($FFFFF618).w
+ move.w d0,(v_bgscreenposy_dup_unused).w
move.w (v_screenposx).w,d0
cmpi.b #id_Title,($FFFFF600).w
bne.s loc_630A
@@ -154,7 +154,7 @@ Deform_LZ:
ext.l d5
asl.l #7,d5
bsr.w ScrollBlock1
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea (Lz_Scroll_Data).l,a3
lea (Drown_WobbleData).l,a2
move.b ($FFFFF7D8).w,d2
@@ -255,12 +255,12 @@ loc_6590:
move.w d0,(v_bg2screenposy).w
move.w d0,(v_bg3screenposy).w
bsr.w ScrollBlock2
- move.w (v_bgscreenposy).w,($FFFFF618).w
- move.b (v_bgscroll2).w,d0
- or.b (v_bgscroll3).w,d0
- or.b d0,($FFFFF75A).w
- clr.b (v_bgscroll2).w
- clr.b (v_bgscroll3).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
+ move.b (v_bg1_scroll_flags).w,d0
+ or.b (v_bg2_scroll_flags).w,d0
+ or.b d0,(v_bg3_scroll_flags).w
+ clr.b (v_bg1_scroll_flags).w
+ clr.b (v_bg2_scroll_flags).w
lea ($FFFFA800).w,a1
move.w (v_screenposx).w,d2
neg.w d2
@@ -327,7 +327,7 @@ Deform_SLZ:
ext.l d5
asl.l #7,d5
bsr.w Bg_Scroll_Y
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea ($FFFFA800).w,a1
move.w (v_screenposx).w,d2
neg.w d2
@@ -426,7 +426,7 @@ Deform_SYZ:
asl.l #1,d5
add.l d1,d5
bsr.w Bg_Scroll_Y
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea ($FFFFA800).w,a1
move.w (v_screenposx).w,d2
neg.w d2
@@ -526,12 +526,12 @@ Deform_SBZ:
move.w (v_bgscreenposy).w,d0
move.w d0,(v_bg2screenposy).w
move.w d0,(v_bg3screenposy).w
- move.w d0,($FFFFF618).w
- move.b (v_bgscroll2).w,d0
- or.b ($FFFFF75A).w,d0
- or.b d0,(v_bgscroll3).w
- clr.b (v_bgscroll2).w
- clr.b ($FFFFF75A).w
+ move.w d0,(v_bgscreenposy_dup_unused).w
+ move.b (v_bg1_scroll_flags).w,d0
+ or.b (v_bg3_scroll_flags).w,d0
+ or.b d0,(v_bg2_scroll_flags).w
+ clr.b (v_bg1_scroll_flags).w
+ clr.b (v_bg3_scroll_flags).w
lea ($FFFFA800).w,a1
move.w (v_screenposx).w,d2
neg.w d2
@@ -588,7 +588,7 @@ Bg_Scroll_SBz_2:;loc_68A2:
ext.l d5
asl.l #5,d5
bsr.w ScrollBlock1
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea (v_hscrolltablebuffer).w,a1
move.w #223,d1
move.w (v_screenposx).w,d0
@@ -622,11 +622,11 @@ ScrollHoriz:
sub.w d4,d0 ; compare new with old screen position
bpl.s SH_Forward
- bset #2,(v_bgscroll1).w ; screen moves backward
+ bset #2,(v_fg_scroll_flags).w ; screen moves backward
rts
SH_Forward:
- bset #3,(v_bgscroll1).w ; screen moves forward
+ bset #3,(v_fg_scroll_flags).w ; screen moves forward
locret_65B0:
rts
@@ -835,12 +835,12 @@ loc_6724:
move.w (v_screenposy).w,d0
sub.w d4,d0
bpl.s loc_6760
- bset #0,(v_bgscroll1).w
+ bset #0,(v_fg_scroll_flags).w
rts
; ===========================================================================
loc_6760:
- bset #1,(v_bgscroll1).w
+ bset #1,(v_fg_scroll_flags).w
locret_6766:
rts
@@ -864,10 +864,10 @@ ScrollBlock1:
eori.b #$10,($FFFFF74C).w
sub.l d2,d0
bpl.s loc_6AF2
- bset #2,(v_bgscroll2).w
+ bset #2,(v_bg1_scroll_flags).w
bra.s loc_6AF8
loc_6AF2:
- bset #3,(v_bgscroll2).w
+ bset #3,(v_bg1_scroll_flags).w
loc_6AF8:
move.l (v_bgscreenposy).w,d3
move.l d3,d0
@@ -882,10 +882,10 @@ loc_6AF8:
eori.b #$10,($FFFFF74D).w
sub.l d3,d0
bpl.s loc_6B26
- bset #0,(v_bgscroll2).w
+ bset #0,(v_bg1_scroll_flags).w
rts
loc_6B26:
- bset #1,(v_bgscroll2).w
+ bset #1,(v_bg1_scroll_flags).w
loc_6B2C:
rts
; End of function ScrollBlock1
@@ -904,10 +904,10 @@ Bg_Scroll_Y:
eori.b #$10,($FFFFF74D).w
sub.l d3,d0
bpl.s loc_6B5C
- bset #4,(v_bgscroll2).w
+ bset #4,(v_bg1_scroll_flags).w
rts
loc_6B5C:
- bset #5,(v_bgscroll2).w
+ bset #5,(v_bg1_scroll_flags).w
Exit_Bg_Scroll_Y:
rts
@@ -926,10 +926,10 @@ ScrollBlock2:
eori.b #$10,($FFFFF74D).w
sub.w d3,d0
bpl.s loc_6B8C
- bset #0,(v_bgscroll2).w
+ bset #0,(v_bg1_scroll_flags).w
rts
loc_6B8C:
- bset #1,(v_bgscroll2).w
+ bset #1,(v_bg1_scroll_flags).w
Exit_Scroll_Block2:
rts
; End of function ScrollBlock2
@@ -952,11 +952,11 @@ ScrollBlock3:
eori.b #$10,($FFFFF74C).w
sub.l d2,d0
bpl.s loc_6BC0
- bset d6,(v_bgscroll2).w
+ bset d6,(v_bg1_scroll_flags).w
bra.s Exit_Scroll_Block3
loc_6BC0:
addq.b #1,d6
- bset d6,(v_bgscroll2).w
+ bset d6,(v_bg1_scroll_flags).w
Exit_Scroll_Block3:
rts
; End of function ScrollBlock3
@@ -979,11 +979,11 @@ ScrollBlock4:
eori.b #$10,($FFFFF74E).w
sub.l d2,d0
bpl.s loc_6BF4
- bset d6,(v_bgscroll3).w
+ bset d6,(v_bg2_scroll_flags).w
bra.s Exit_Scroll_Block4
loc_6BF4:
addq.b #1,d6
- bset d6,(v_bgscroll3).w
+ bset d6,(v_bg2_scroll_flags).w
Exit_Scroll_Block4:
rts
;-------------------------------------------------------------------------------
@@ -1001,10 +1001,10 @@ ScrollBlock5:
eori.b #$10,($FFFFF750).w
sub.l d2,d0
bpl.s loc_6C28
- bset d6,($FFFFF75A).w
+ bset d6,(v_bg3_scroll_flags).w
bra.s loc_6C2E
loc_6C28:
addq.b #1,d6
- bset d6,($FFFFF75A).w
+ bset d6,(v_bg3_scroll_flags).w
loc_6C2E:
- rts \ No newline at end of file
+ rts
diff --git a/_inc/DeformLayers.asm b/_inc/DeformLayers.asm
index 188616f..edb3886 100644
--- a/_inc/DeformLayers.asm
+++ b/_inc/DeformLayers.asm
@@ -12,19 +12,19 @@ DeformLayers:
; ===========================================================================
loc_628E:
- clr.w (v_bgscroll1).w
- clr.w (v_bgscroll2).w
- clr.w (v_bgscroll3).w
- clr.w ($FFFFF75A).w
+ clr.w (v_fg_scroll_flags).w
+ clr.w (v_bg1_scroll_flags).w
+ clr.w (v_bg2_scroll_flags).w
+ clr.w (v_bg3_scroll_flags).w
bsr.w ScrollHoriz
bsr.w ScrollVertical
bsr.w DynamicLevelEvents
move.w (v_screenposx).w,(v_scrposx_dup).w
move.w (v_screenposy).w,(v_scrposy_dup).w
- move.w (v_bgscreenposx).w,($FFFFF61C).w
- move.w (v_bgscreenposy).w,($FFFFF618).w
- move.w (v_bg3screenposx).w,($FFFFF620).w
- move.w (v_bg3screenposy).w,($FFFFF61E).w
+ move.w (v_bgscreenposx).w,(v_bgscreenposx_dup_unused).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
+ move.w (v_bg3screenposx).w,(v_bg3screenposx_dup_unused).w
+ move.w (v_bg3screenposy).w,(v_bg3screenposy_dup_unused).w
moveq #0,d0
move.b (v_zone).w,d0
add.w d0,d0
@@ -67,7 +67,7 @@ Deform_GHZ:
move.w d0,(v_bg2screenposy).w
move.w d0,d4
bsr.w ScrollBlock3
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
move.w #$6F,d1
sub.w d4,d1
move.w (v_screenposx).w,d0
@@ -132,7 +132,7 @@ Deform_LZ:
ext.l d5
asl.l #7,d5
bsr.w ScrollBlock1
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea (v_hscrolltablebuffer).w,a1
move.w #223,d1
move.w (v_screenposx).w,d0
@@ -178,7 +178,7 @@ Deform_MZ:
loc_6402:
move.w d0,(v_bg2screenposy).w
bsr.w ScrollBlock3
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea (v_hscrolltablebuffer).w,a1
move.w #223,d1
move.w (v_screenposx).w,d0
@@ -208,7 +208,7 @@ Deform_SLZ:
ext.l d5
asl.l #7,d5
bsr.w ScrollBlock2
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
bsr.w Deform_SLZ_2
lea ($FFFFA800).w,a2
move.w (v_bgscreenposy).w,d0
@@ -321,7 +321,7 @@ Deform_SYZ:
asl.l #1,d5
add.l d1,d5
bsr.w ScrollBlock1
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea (v_hscrolltablebuffer).w,a1
move.w #223,d1
move.w (v_screenposx).w,d0
@@ -352,7 +352,7 @@ Deform_SBZ:
asl.l #4,d5
asl.l #1,d5
bsr.w ScrollBlock1
- move.w (v_bgscreenposy).w,($FFFFF618).w
+ move.w (v_bgscreenposy).w,(v_bgscreenposy_dup_unused).w
lea (v_hscrolltablebuffer).w,a1
move.w #223,d1
move.w (v_screenposx).w,d0
@@ -387,11 +387,11 @@ ScrollHoriz:
sub.w d4,d0 ; compare new with old screen position
bpl.s SH_Forward
- bset #2,(v_bgscroll1).w ; screen moves backward
+ bset #2,(v_fg_scroll_flags).w ; screen moves backward
rts
SH_Forward:
- bset #3,(v_bgscroll1).w ; screen moves forward
+ bset #3,(v_fg_scroll_flags).w ; screen moves forward
locret_65B0:
rts
@@ -600,12 +600,12 @@ loc_6724:
move.w (v_screenposy).w,d0
sub.w d4,d0
bpl.s loc_6760
- bset #0,(v_bgscroll1).w
+ bset #0,(v_fg_scroll_flags).w
rts
; ===========================================================================
loc_6760:
- bset #1,(v_bgscroll1).w
+ bset #1,(v_fg_scroll_flags).w
locret_6766:
rts
@@ -629,12 +629,12 @@ ScrollBlock1:
eori.b #$10,($FFFFF74C).w
sub.l d2,d0
bpl.s loc_6796
- bset #2,(v_bgscroll2).w
+ bset #2,(v_bg1_scroll_flags).w
bra.s loc_679C
; ===========================================================================
loc_6796:
- bset #3,(v_bgscroll2).w
+ bset #3,(v_bg1_scroll_flags).w
loc_679C:
move.l (v_bgscreenposy).w,d3
@@ -650,12 +650,12 @@ loc_679C:
eori.b #$10,($FFFFF74D).w
sub.l d3,d0
bpl.s loc_67CA
- bset #0,(v_bgscroll2).w
+ bset #0,(v_bg1_scroll_flags).w
rts
; ===========================================================================
loc_67CA:
- bset #1,(v_bgscroll2).w
+ bset #1,(v_bg1_scroll_flags).w
locret_67D0:
rts
@@ -683,12 +683,12 @@ ScrollBlock2:
eori.b #$10,($FFFFF74D).w
sub.l d3,d0
bpl.s loc_680C
- bset #0,(v_bgscroll2).w
+ bset #0,(v_bg1_scroll_flags).w
rts
; ===========================================================================
loc_680C:
- bset #1,(v_bgscroll2).w
+ bset #1,(v_bg1_scroll_flags).w
locret_6812:
rts
@@ -709,12 +709,12 @@ ScrollBlock3:
eori.b #$10,($FFFFF74D).w
sub.w d3,d0
bpl.s loc_683C
- bset #0,(v_bgscroll2).w
+ bset #0,(v_bg1_scroll_flags).w
rts
; ===========================================================================
loc_683C:
- bset #1,(v_bgscroll2).w
+ bset #1,(v_bg1_scroll_flags).w
locret_6842:
rts
@@ -740,12 +740,12 @@ ScrollBlock4:
move.w (v_bg2screenposx).w,d0
sub.w d2,d0
bpl.s loc_687E
- bset #2,(v_bgscroll3).w
+ bset #2,(v_bg2_scroll_flags).w
bra.s locret_6884
; ===========================================================================
loc_687E:
- bset #3,(v_bgscroll3).w
+ bset #3,(v_bg2_scroll_flags).w
locret_6884:
rts
diff --git a/_inc/LevelSizeLoad & BgScrollSpeed.asm b/_inc/LevelSizeLoad & BgScrollSpeed.asm
index 629b862..1be7b5a 100644
--- a/_inc/LevelSizeLoad & BgScrollSpeed.asm
+++ b/_inc/LevelSizeLoad & BgScrollSpeed.asm
@@ -146,7 +146,7 @@ SetScr_WithinBottom:
move.b (v_zone).w,d0
lsl.b #2,d0
move.l LoopTileNums(pc,d0.w),(v_256loop1).w
- bra.w LevSz_Unk
+ bra.w LevSz_LoadScrollBlockSize
; ===========================================================================
; ---------------------------------------------------------------------------
; Sonic start location array
@@ -173,27 +173,57 @@ LoopTileNums:
even
; ===========================================================================
-
-LevSz_Unk:
+; LevSz_Unk:
+LevSz_LoadScrollBlockSize:
moveq #0,d0
move.b (v_zone).w,d0
lsl.w #3,d0
- lea dword_61B4(pc,d0.w),a1
- lea ($FFFFF7F0).w,a2
+ lea BGScrollBlockSizes(pc,d0.w),a1
+ lea (v_scroll_block_1_size).w,a2
move.l (a1)+,(a2)+
move.l (a1)+,(a2)+
rts
; End of function LevelSizeLoad
; ===========================================================================
-dword_61B4: dc.l $700100, $1000100
- dc.l $8000100, $1000000
- dc.l $8000100, $1000000
- dc.l $8000100, $1000000
- dc.l $8000100, $1000000
- dc.l $8000100, $1000000
- zonewarning dword_61B4,8
- dc.l $700100, $1000100
+; dword_61B4:
+BGScrollBlockSizes:
+ ; GHZ
+ dc.w $70
+ dc.w $100 ; I guess these used to be per act?
+ dc.w $100 ; Or maybe each scroll block got its own size?
+ dc.w $100 ; Either way, these are unused now.
+ ; LZ
+ dc.w $800
+ dc.w $100
+ dc.w $100
+ dc.w 0
+ ; MZ
+ dc.w $800
+ dc.w $100
+ dc.w $100
+ dc.w 0
+ ; SLZ
+ dc.w $800
+ dc.w $100
+ dc.w $100
+ dc.w 0
+ ; SYZ
+ dc.w $800
+ dc.w $100
+ dc.w $100
+ dc.w 0
+ ; SBZ
+ dc.w $800
+ dc.w $100
+ dc.w $100
+ dc.w 0
+ zonewarning BGScrollBlockSizes,8
+ ; Ending
+ dc.w $70
+ dc.w $100
+ dc.w $100
+ dc.w $100
; ---------------------------------------------------------------------------
; Subroutine to set scroll speed of some backgrounds