diff --git a/Dungeons/crumblefloor_tag.asm b/Dungeons/crumblefloor_tag.asm index 00f3c8a..be8de5e 100644 --- a/Dungeons/crumblefloor_tag.asm +++ b/Dungeons/crumblefloor_tag.asm @@ -1,7 +1,9 @@ -org $01CC04 ; holes_1 tag routine +; Crumble Floor Room Tag + +pushpc +org $01CC08 ; holes_3 tag routine JSL CrumbleFloorTag_Main RTS - pullpc ; check under link feet what tile he is standing on @@ -15,10 +17,9 @@ CrumbleFloorTag_Main: LDA.b $22 : CLC : ADC #$08 : AND.b #$F0 STA.w $0225 ; x - LDA.w $0224 : CMP.w $0226 : BNE .differentTile - LDA.w $0225 : CMP.w $0227 : BNE .differentTile - JMP .sameTile + LDA.w $0225 : CMP.w $0227 : BNE .differentTile + JMP .sameTile .differentTile ; do code here for tile code @@ -30,13 +31,13 @@ CrumbleFloorTag_Main: TAX LDA.l $7E2000, X : CMP.w #$0CCC : BNE + - JSR update_pit_tile - SEP #$30 - JSR spawnFallingTile - BRA .doneupdate + JSR update_pit_tile + SEP #$30 + JSR SpawnFallingTile + BRA .doneupdate + LDA.l $7E2000, X : CMP.w #$0C62 : BNE + - JSR update_crack_tile + JSR update_crack_tile + .doneupdate SEP #$30 @@ -52,38 +53,33 @@ CrumbleFloorTag_Main: } -spawnFallingTile: +SpawnFallingTile: { LDX.b #$1D .next - LDA.l $7FF800,X - BNE .skip + LDA.l $7FF800, X : BNE .skip - LDA.b #$03 ; GARNISH 03 - STA.l $7FF800,X + LDA.b #$03 ; GARNISH 03 + STA.l $7FF800, X - LDA.w $022A - STA.l $7FF83C, X + LDA.w $022A : STA.l $7FF83C, X + LDA.w $022B : STA.l $7FF878, X - LDA.w $022B - STA.l $7FF878,X + LDA.w $0228 + CLC + ADC.b #$10 + STA.l $7FF81E, X - LDA.w $0228 - CLC - ADC.b #$10 - STA.l $7FF81E,X + LDA.w $0229 + ADC.b #$00 + STA.l $7FF85A, X - LDA.w $0229 - ADC.b #$00 - STA.l $7FF85A,X + LDA.b #$1F : STA.l $7FF90E, X - LDA.b #$1F - STA.l $7FF90E,X + STA.w $0FB4 - STA.w $0FB4 - - BRA .exit + BRA .exit .skip DEX @@ -93,18 +89,13 @@ spawnFallingTile: RTS } - update_crack_tile: { STZ.b $0E REP #$30 - JSR replace_crack_pit - SEP #$30 - - LDA.b #$01 - STA.b $14 + LDA.b #$01 : STA.b $14 REP #$30 RTS } @@ -113,13 +104,9 @@ update_pit_tile: { STZ.b $0E REP #$30 - JSR replace_tile_pit - SEP #$30 - - LDA.b #$01 - STA.b $14 + LDA.b #$01 : STA.b $14 REP #$30 RTS } @@ -128,32 +115,22 @@ replace_crack_pit: { LDX.w $1000 - LDA.w #$0CCC - STA.w $1006,X + LDA.w #$0CCC : STA.w $1006,X - LDA.w #$0CDC - STA.w $100C,X + LDA.w #$0CDC : STA.w $100C,X - LDA.w #$0CCD - STA.w $1012,X + LDA.w #$0CCD : STA.w $1012,X - LDA.w #$0CDD - STA.w $1018,X + LDA.w #$0CDD : STA.w $1018,X LDX.b $06 - LDA.w #$0CCC - STA.l $7E2000, X - LDA.w #$0CDC - STA.l $7E2080, X - LDA.w #$0CCD - STA.l $7E2002, X - LDA.w #$0CDD - STA.l $7E2082, X + LDA.w #$0CCC : STA.l $7E2000, X + LDA.w #$0CDC : STA.l $7E2080, X + LDA.w #$0CCD : STA.l $7E2002, X + LDA.w #$0CDD : STA.l $7E2082, X - LDA.w #$01E9 - AND.w #$03FF - TAX + LDA.w #$01E9 : AND.w #$03FF : TAX LDA.l $7EFE00,X AND.w #$00FF @@ -201,74 +178,3 @@ replace_tile_pit: JMP replace_tile_continue } - -replace_tile_continue: -{ - LDX.w $1000 - - LDA.w #$0000 - JSR draw_one_corner - STA.w $1002,X - - LDA.w #$0080 - JSR draw_one_corner - STA.w $1008,X - - LDA.w #$0002 - JSR draw_one_corner - STA.w $100E,X - - LDA.w #$0082 - JSR draw_one_corner - STA.w $1014,X - - LDA.w #$0100 - STA.w $1004,X - STA.w $100A,X - STA.w $1010,X - STA.w $1016,X - - LDA.w #$FFFF - STA.w $101A,X - - TXA - CLC - ADC.w #$0018 - STA.w $1000 - - RTS -} -; --------------------------------------------------------- - -draw_one_corner: -{ - CLC - ADC.b $06 - STA.b $0E - - AND.w #$0040 - - LSR A - LSR A - LSR A - LSR A - - XBA - STA.b $08 - - LDA.b $0E - AND.w #$303F - LSR A - ORA.b $08 - STA.b $08 - - LDA.b $0E - AND.w #$0F80 - LSR A - LSR A - ORA.b $08 - XBA - - RTS -} - diff --git a/Dungeons/dungeons.asm b/Dungeons/dungeons.asm index d192372..6764d59 100644 --- a/Dungeons/dungeons.asm +++ b/Dungeons/dungeons.asm @@ -45,6 +45,12 @@ incsrc "Dungeons/custom_tag.asm" ; Tag: Holes0 incsrc "Dungeons/floor_puzzle.asm" +print "End of floor_puzzle.asm ", pc + +; Crumble Floor Tag: Holes3 +incsrc "Dungeons/crumblefloor_tag.asm" + +pushpc incsrc "Dungeons/spike_subtype.asm" diff --git a/Dungeons/floor_puzzle.asm b/Dungeons/floor_puzzle.asm index 6d50002..d97b8ec 100644 --- a/Dungeons/floor_puzzle.asm +++ b/Dungeons/floor_puzzle.asm @@ -330,5 +330,3 @@ SearchToRedStar: BRA -- } -print "End of floor_puzzle.asm ", pc -pushpc \ No newline at end of file