diff options
| author | Clownacy <Clownacy@users.noreply.github.com> | 2018-02-24 23:30:46 +0000 |
|---|---|---|
| committer | Clownacy <Clownacy@users.noreply.github.com> | 2018-02-24 23:30:46 +0000 |
| commit | ec3a4bcb5021e5a4a971cc02cb9463fe251e06a3 (patch) | |
| tree | 2654632f0dcafd73563df9d3b93de71d0fb18f31 /_inc | |
| parent | 08966873b025288a5627a3ed76a738671c4ee564 (diff) | |
| parent | 11aeeaeb05edff6ac500a4604fca8eb01a47f49a (diff) | |
Merge branch 'master' into as
Diffstat (limited to '_inc')
| -rw-r--r-- | _inc/DeformLayers (JP1).asm | 82 | ||||
| -rw-r--r-- | _inc/DeformLayers.asm | 56 | ||||
| -rw-r--r-- | _inc/LevelSizeLoad & BgScrollSpeed.asm | 56 |
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 |
