Compare commits
13 Commits
53d2a7606a
...
codemann_O
| Author | SHA1 | Date | |
|---|---|---|---|
| ed2746a27b | |||
| f8917c461a | |||
| 5dd62441a8 | |||
| ab60e3fd35 | |||
|
|
bf2bd1974d | ||
|
|
c438e9fc3c | ||
|
|
17943f9904 | ||
|
|
41c520fe90 | ||
|
|
9fc26e8710 | ||
| 482381fe53 | |||
| 2b3b50fc5c | |||
| b7c32fdfb1 | |||
| ec1083a2e5 |
@@ -334,6 +334,8 @@ DungeonMapDoorConnectors:
|
|||||||
incbin "menu/door_connectors.3bppc"
|
incbin "menu/door_connectors.3bppc"
|
||||||
MapSheetD4:
|
MapSheetD4:
|
||||||
incbin "menu/map_sheet_d4.3bppc"
|
incbin "menu/map_sheet_d4.3bppc"
|
||||||
|
DRSheet14:
|
||||||
|
incbin "menu/dr_sheet_14.3bppc"
|
||||||
|
|
||||||
org $8CD7DF
|
org $8CD7DF
|
||||||
incsrc data/playernamecharmap.asm
|
incsrc data/playernamecharmap.asm
|
||||||
|
|||||||
@@ -368,7 +368,13 @@ CheckEnemies:
|
|||||||
ASL A
|
ASL A
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
LDA.l UWSpritesPointers, X
|
|
||||||
|
; get sprite pointer table
|
||||||
|
LDA.l $89C298 : STA.b $04
|
||||||
|
LDA.w #$0089 : STA.b $06
|
||||||
|
TXY
|
||||||
|
; get sprite pointer for room
|
||||||
|
LDA.b [$04], Y
|
||||||
INC A ; skip the layered/unlayered indicator
|
INC A ; skip the layered/unlayered indicator
|
||||||
STA.b $04
|
STA.b $04
|
||||||
LDA.w #bank(UWSpritesData)
|
LDA.w #bank(UWSpritesData)
|
||||||
|
|||||||
@@ -1453,8 +1453,8 @@ MoveDoorsMapCursor:
|
|||||||
BRA .done
|
BRA .done
|
||||||
|
|
||||||
.no_move
|
.no_move
|
||||||
LDA.b #$3C
|
; LDA.b #$3C
|
||||||
STA.w $012E
|
; STA.w $012E
|
||||||
|
|
||||||
.done
|
.done
|
||||||
PLP
|
PLP
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ endmacro
|
|||||||
%WriteGFXSheetPointer($62, DungeonMapIcons5)
|
%WriteGFXSheetPointer($62, DungeonMapIcons5)
|
||||||
%WriteGFXSheetPointer($63, DungeonMapIcons6)
|
%WriteGFXSheetPointer($63, DungeonMapIcons6)
|
||||||
|
|
||||||
|
%WriteGFXSheetPointer($14, DRSheet14)
|
||||||
|
|
||||||
pullpc
|
pullpc
|
||||||
|
|
||||||
incsrc doors_dungeon_map.asm
|
incsrc doors_dungeon_map.asm
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ db $01
|
|||||||
GKRomVersion:
|
GKRomVersion:
|
||||||
; $01 = Dungeon Maps
|
; $01 = Dungeon Maps
|
||||||
; .., $01 = Dark rooms don't show on map from visition
|
; .., $01 = Dark rooms don't show on map from visition
|
||||||
db $01, $01, $00
|
; .., $02 = OW Fog and Grid modes
|
||||||
|
db $01, $02, $00
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|||||||
BIN
menu/dr_sheet_14.3bpp
Normal file
BIN
menu/dr_sheet_14.3bpp
Normal file
Binary file not shown.
BIN
menu/dr_sheet_14.3bppc
Normal file
BIN
menu/dr_sheet_14.3bppc
Normal file
Binary file not shown.
@@ -49,27 +49,27 @@ WorldMapIcon_pos:
|
|||||||
.hc
|
.hc
|
||||||
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00
|
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00
|
||||||
.ep
|
.ep
|
||||||
dw $0F30, $06E0, $FF00, $FF00, $0F30, $06E0
|
dw $0F40, $0660, $FF00, $FF00, $0F40, $0660
|
||||||
.dp
|
.dp
|
||||||
dw $0170, $0E50, $FF00, $FF00, $0170, $0E50
|
dw $0140, $0D00, $FF00, $FF00, $0140, $0D00
|
||||||
.at
|
.at
|
||||||
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00
|
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00
|
||||||
.sp
|
.sp
|
||||||
dw $8790, $0FD0, $FF00, $FF00, $8790, $0FD0
|
dw $8778, $0F50, $FF00, $FF00, $8778, $0F50
|
||||||
.pod
|
.pod
|
||||||
dw $8F30, $06E0, $FF00, $FF00, $8F30, $06E0
|
dw $8F40, $0660, $FF00, $FF00, $8F40, $0660
|
||||||
.mm
|
.mm
|
||||||
dw $8160, $0D80, $FF00, $FF00, $8160, $0D80
|
dw $8148, $0D00, $FF00, $FF00, $8148, $0D00
|
||||||
.sw
|
.sw
|
||||||
dw $80F0, $0160, $FF00, $FF00, $80F0, $0160
|
dw $80B0, $00C0, $FF00, $FF00, $80B0, $00C0
|
||||||
.ip
|
.ip
|
||||||
dw $8CB0, $0E80, $FF00, $FF00, $8CB0, $0E80
|
dw $8CA0, $0E00, $FF00, $FF00, $8CA0, $0E00
|
||||||
.toh
|
.toh
|
||||||
dw $0900, $0130, $FF00, $FF00, $0900, $0130
|
dw $0900, $0100, $FF00, $FF00, $0900, $0100
|
||||||
.tt
|
.tt
|
||||||
dw $8240, $0840, $FF00, $FF00, $8240, $0840
|
dw $81F8, $0800, $FF00, $FF00, $81F8, $0800
|
||||||
.tr
|
.tr
|
||||||
dw $8F30, $01B0, $FF00, $FF00, $8F30, $01B0
|
dw $8F20, $0100, $FF00, $FF00, $8F20, $0100
|
||||||
.gt
|
.gt
|
||||||
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00
|
dw $FF00, $FF00, $FF00, $FF00, $FF00, $FF00
|
||||||
|
|
||||||
@@ -262,8 +262,8 @@ DrawPrizesOverride:
|
|||||||
|
|
||||||
; determine if draw and/or continue
|
; determine if draw and/or continue
|
||||||
JSR WorldMap_ValidateCoords : BCS .advance
|
JSR WorldMap_ValidateCoords : BCS .advance
|
||||||
JSR WorldMap_DrawTileOverlay
|
|
||||||
JSR WorldMap_DrawTile
|
JSR WorldMap_DrawTile
|
||||||
|
JSR WorldMap_DrawTileOverlay
|
||||||
.advance
|
.advance
|
||||||
LDY.b Scrap05 : DEY #2 : BMI + : JMP .next_dungeon : +
|
LDY.b Scrap05 : DEY #2 : BMI + : JMP .next_dungeon : +
|
||||||
PLB
|
PLB
|
||||||
@@ -321,16 +321,12 @@ RTS
|
|||||||
|
|
||||||
WorldMap_DrawTile:
|
WorldMap_DrawTile:
|
||||||
LDA.b Scrap00 : PHA
|
LDA.b Scrap00 : PHA
|
||||||
SEP #$20
|
|
||||||
LDX.b Scrap0B : TXA : STA.b (OAMPtr+2)
|
|
||||||
INC.b OAMPtr+2
|
|
||||||
REP #$20
|
|
||||||
LDA.l $7EC10A : BIT.w #$4000 : SEP #$20 : BNE .raw_coords ; use raw OAM coordinates
|
LDA.l $7EC10A : BIT.w #$4000 : SEP #$20 : BNE .raw_coords ; use raw OAM coordinates
|
||||||
JSR WorldMap_CalculateOAMCoordinates
|
JSR WorldMap_CalculateOAMCoordinates
|
||||||
BCS .apply_offsets
|
BCS .apply_offsets
|
||||||
REP #$20
|
REP #$20
|
||||||
BRA .exit
|
BRA .exit
|
||||||
.raw_coords
|
.raw_coords
|
||||||
STA.b Scrap0E
|
STA.b Scrap0E
|
||||||
LDA.l $7EC108 : STA.b Scrap0F
|
LDA.l $7EC108 : STA.b Scrap0F
|
||||||
.apply_offsets
|
.apply_offsets
|
||||||
@@ -345,6 +341,8 @@ WorldMap_DrawTile:
|
|||||||
LDA.b Scrap0E : SEC : SBC.b #$04 : STA.b Scrap0E
|
LDA.b Scrap0E : SEC : SBC.b #$04 : STA.b Scrap0E
|
||||||
LDA.b Scrap0F : SBC.b #$04 : STA.b Scrap0F
|
LDA.b Scrap0F : SBC.b #$04 : STA.b Scrap0F
|
||||||
.aligned
|
.aligned
|
||||||
|
LDX.b Scrap0B : TXA : STA.b (OAMPtr+2)
|
||||||
|
INC.b OAMPtr+2
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.b Scrap0E : STA.b (OAMPtr)
|
LDA.b Scrap0E : STA.b (OAMPtr)
|
||||||
INC.b OAMPtr : INC.b OAMPtr
|
INC.b OAMPtr : INC.b OAMPtr
|
||||||
@@ -508,6 +506,45 @@ org $8AC3B6
|
|||||||
JMP WorldMap_CalculateOAMCoordinates_exit_successfully
|
JMP WorldMap_CalculateOAMCoordinates_exit_successfully
|
||||||
|
|
||||||
warnpc $8AC433
|
warnpc $8AC433
|
||||||
|
|
||||||
|
; most of this function is copied from the original, but rearranged
|
||||||
|
org $8AB7F3
|
||||||
|
FluteMenu_HandleSprites:
|
||||||
|
LDA.l $7EC108 : PHA
|
||||||
|
LDA.l $7EC109 : PHA
|
||||||
|
LDA.l $7EC10A : PHA
|
||||||
|
LDA.l $7EC10B : PHA
|
||||||
|
JSL FluteMenu_MoveLinkSprite ; override vanilla (LDA.b $1A : AND.b #$10)
|
||||||
|
BEQ .continue
|
||||||
|
JSR WorldMap_CalculateOAMCoordinates : BCC .continue
|
||||||
|
LDA.b Scrap0E : SEC : SBC.b #$04 : STA.b Scrap0E
|
||||||
|
LDA.b Scrap0F : SEC : SBC.b #$04 : STA.b Scrap0F
|
||||||
|
LDA.b #$00 : STA.b Scrap0D
|
||||||
|
LDA.b #$3E : STA.b Scrap0C
|
||||||
|
JSL OWMapFluteCancelIcon ; override vanilla (LDA.b #$02 : STA.b Scrap0B)
|
||||||
|
LDX.b #$10 : JSR WorldMap_HandleSpriteBlink
|
||||||
|
.continue
|
||||||
|
warnpc $8AB831
|
||||||
|
|
||||||
|
; most of this function is copied from the original, but rearranged
|
||||||
|
org $8ABF78
|
||||||
|
WorldMap_HandleSprites:
|
||||||
|
LDA.l $7EC108 : PHA
|
||||||
|
LDA.l $7EC109 : PHA
|
||||||
|
LDA.l $7EC10A : PHA
|
||||||
|
LDA.l $7EC10B : PHA
|
||||||
|
JSL WorldMap_SkipHandleSprites ; override vanilla (LDA.b $1A : AND.b #$10)
|
||||||
|
BEQ .continue
|
||||||
|
JSR WorldMap_CalculateOAMCoordinates : BCC .continue
|
||||||
|
LDA.b Scrap0E : SEC : SBC.b #$04 : STA.b Scrap0E
|
||||||
|
LDA.b Scrap0F : SEC : SBC.b #$04 : STA.b Scrap0F
|
||||||
|
LDA.b #$00 : STA.b Scrap0D
|
||||||
|
LDA.b #$3E : STA.b Scrap0C
|
||||||
|
LDA.b #$02 : STA.b Scrap0B
|
||||||
|
LDX.b #$00 : JSR WorldMap_HandleSpriteBlink
|
||||||
|
.continue
|
||||||
|
warnpc $8ABFB6
|
||||||
|
|
||||||
pullpc
|
pullpc
|
||||||
|
|
||||||
WorldMap_LoadChrHalfSlot:
|
WorldMap_LoadChrHalfSlot:
|
||||||
|
|||||||
106
owrando.asm
106
owrando.asm
@@ -78,8 +78,6 @@ org $8ab7af ;LDA $F2 : ORA $F0 : AND #$C0
|
|||||||
jml OWFluteCancel2 : nop
|
jml OWFluteCancel2 : nop
|
||||||
org $8ab90d ;JSL $02E99D
|
org $8ab90d ;JSL $02E99D
|
||||||
jsl OWFluteCancel
|
jsl OWFluteCancel
|
||||||
org $8ab816
|
|
||||||
JSL OWMapFluteCancelIcon
|
|
||||||
|
|
||||||
; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house
|
; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house
|
||||||
org $868a76 ; < 30a76 - sprite_prep.asm:785 (LDA $7EF3CA : AND.w #$40)
|
org $868a76 ; < 30a76 - sprite_prep.asm:785 (LDA $7EF3CA : AND.w #$40)
|
||||||
@@ -107,6 +105,9 @@ org $8aba6c ; < ? - Bank0a.asm:474 ()
|
|||||||
jsl OWMapWorldCheck16 : nop
|
jsl OWMapWorldCheck16 : nop
|
||||||
|
|
||||||
; Custom Overworld Map
|
; Custom Overworld Map
|
||||||
|
org $8ABA52
|
||||||
|
JSL OverworldMap_InitGfx_InitScrap
|
||||||
|
|
||||||
org $8ABA99
|
org $8ABA99
|
||||||
WorldMap_LoadDarkWorldMap:
|
WorldMap_LoadDarkWorldMap:
|
||||||
LDA.b GameMode : CMP.b #$14 ; attract module
|
LDA.b GameMode : CMP.b #$14 ; attract module
|
||||||
@@ -121,15 +122,14 @@ BEQ .vanilla_light
|
|||||||
warnpc $8ABAB5
|
warnpc $8ABAB5
|
||||||
.vanilla_light ; $0ABAB5
|
.vanilla_light ; $0ABAB5
|
||||||
|
|
||||||
|
org $8ABD12
|
||||||
|
JSL MoveZoomedInPositionY
|
||||||
|
org $8ABD2F
|
||||||
|
JSL MoveZoomedInPositionX
|
||||||
|
|
||||||
org $8ABB32
|
org $8ABB32
|
||||||
JSL LoadMapOppositeWorld
|
JSL LoadMapOppositeWorld
|
||||||
|
|
||||||
org $8ABF78
|
|
||||||
JSL WorldMap_SkipHandleSprites
|
|
||||||
|
|
||||||
org $8ABA22
|
|
||||||
JSL MoveLinkMapSprite
|
|
||||||
|
|
||||||
org $8ABFF0
|
org $8ABFF0
|
||||||
JSL MoveMirrorPortalMapSprite
|
JSL MoveMirrorPortalMapSprite
|
||||||
; Could insert similar hooks at $8AB860 and $8AB8AC for flute spots
|
; Could insert similar hooks at $8AB860 and $8AB8AC for flute spots
|
||||||
@@ -356,7 +356,7 @@ OWFluteCancel2:
|
|||||||
}
|
}
|
||||||
OWMapFluteCancelIcon:
|
OWMapFluteCancelIcon:
|
||||||
{
|
{
|
||||||
STA.b Scrap0B : LDX.b #$10 ; what we wrote over
|
LDA.b #$02 : STA.b Scrap0B ; what we wrote over
|
||||||
LDA.l OWFlags+1 : AND.b #$01 : BEQ .return
|
LDA.l OWFlags+1 : AND.b #$01 : BEQ .return
|
||||||
LDA.b GameSubMode : CMP.b #$0A : BNE .return
|
LDA.b GameSubMode : CMP.b #$0A : BNE .return
|
||||||
LDA.b FrameCounter : AND.b #$10 : BNE .return
|
LDA.b FrameCounter : AND.b #$10 : BNE .return
|
||||||
@@ -515,6 +515,12 @@ GetOWMapTilemapOffsetToCopy:
|
|||||||
dw $0400+$0210 ; bottom right
|
dw $0400+$0210 ; bottom right
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OverworldMap_InitGfx_InitScrap:
|
||||||
|
{
|
||||||
|
STZ.b ScrapBuffer72 ; clear tile swap flag
|
||||||
|
LDA.b #$11 : STA.b MAINDESQ ; what we wrote over
|
||||||
|
RTL
|
||||||
|
}
|
||||||
LoadMapDarkOrCustom_long:
|
LoadMapDarkOrCustom_long:
|
||||||
{
|
{
|
||||||
PHB : LDA.b #WorldMap_DarkWorldTilemap>>16 : PHA : PLB
|
PHB : LDA.b #WorldMap_DarkWorldTilemap>>16 : PHA : PLB
|
||||||
@@ -543,26 +549,22 @@ LoadMapOppositeWorld:
|
|||||||
LDA.b Joy1B_New : AND.b #$70 ; what we wrote over
|
LDA.b Joy1B_New : AND.b #$70 ; what we wrote over
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
FluteMenu_MoveLinkSprite:
|
||||||
|
{
|
||||||
|
JSR MoveMapSprite
|
||||||
|
BRA WorldMap_SkipHandleSprites_vanilla
|
||||||
|
}
|
||||||
WorldMap_SkipHandleSprites:
|
WorldMap_SkipHandleSprites:
|
||||||
{
|
{
|
||||||
LDA.l OWFlags : AND.b #!FLAG_OW_ADJUST_DYNAMIC_MAP_SPRITE_POSITION : BEQ .vanilla
|
JSR MoveMapSprite : BEQ .vanilla
|
||||||
LDA.b ScrapBuffer72 : BEQ .vanilla ; skip draw if no tile swap
|
LDA.b ScrapBuffer72 : BEQ .vanilla ; skip draw if no tile swap
|
||||||
PLA : PLA : PEA.w $C3AF ; exit without drawing sprites
|
PLA : PLA : PEA.w $C39B ; exit without drawing sprites
|
||||||
RTL
|
RTL
|
||||||
.vanilla
|
.vanilla
|
||||||
LDA.b FrameCounter : AND.b #$10 ; what we wrote over
|
LDA.b FrameCounter : AND.b #$10 ; what we wrote over
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
MoveLinkMapSprite:
|
|
||||||
{
|
|
||||||
STA.l $7EC10A ; what we overwrote
|
|
||||||
SEP #$20
|
|
||||||
JSR MoveMapSprite
|
|
||||||
REP #$20
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
|
|
||||||
MoveMirrorPortalMapSprite:
|
MoveMirrorPortalMapSprite:
|
||||||
{
|
{
|
||||||
STA.l $7EC109 ; what we overwrote
|
STA.l $7EC109 ; what we overwrote
|
||||||
@@ -570,9 +572,54 @@ MoveMirrorPortalMapSprite:
|
|||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MoveZoomedInPositionY:
|
||||||
|
{
|
||||||
|
LDA.l OWFlags : AND.w #!FLAG_OW_ADJUST_DYNAMIC_MAP_SPRITE_POSITION : BEQ .vanilla
|
||||||
|
SEP #$20
|
||||||
|
JSR MoveMapSprite_Setup
|
||||||
|
JSR MoveMapSprite_GetYCoordHighByte
|
||||||
|
PHA
|
||||||
|
REP #$20
|
||||||
|
LDA.l $7EC108 : XBA
|
||||||
|
SEP #$20
|
||||||
|
PLA : XBA
|
||||||
|
REP #$20
|
||||||
|
RTL
|
||||||
|
.vanilla
|
||||||
|
LDA.l $7EC108 ; what we overwrote
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
MoveZoomedInPositionX:
|
||||||
|
{
|
||||||
|
LDA.l OWFlags : AND.w #!FLAG_OW_ADJUST_DYNAMIC_MAP_SPRITE_POSITION : BEQ .vanilla
|
||||||
|
SEP #$20
|
||||||
|
JSR MoveMapSprite_Setup
|
||||||
|
JSR MoveMapSprite_GetXCoordHighByte
|
||||||
|
PHA
|
||||||
|
REP #$20
|
||||||
|
LDA.l $7EC10A : XBA
|
||||||
|
SEP #$20
|
||||||
|
PLA : XBA
|
||||||
|
REP #$20
|
||||||
|
RTL
|
||||||
|
.vanilla
|
||||||
|
LDA.l $7EC10A ; what we overwrote
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
MoveMapSprite:
|
MoveMapSprite:
|
||||||
{
|
{
|
||||||
LDA.l OWFlags : AND.b #!FLAG_OW_ADJUST_DYNAMIC_MAP_SPRITE_POSITION : BEQ .return
|
LDA.l OWFlags : AND.b #!FLAG_OW_ADJUST_DYNAMIC_MAP_SPRITE_POSITION : BEQ .return
|
||||||
|
PHP
|
||||||
|
JSR MoveMapSprite_Setup
|
||||||
|
JSR MoveMapSprite_GetXCoordHighByte : STA.l $7EC10B
|
||||||
|
JSR MoveMapSprite_GetYCoordHighByte : STA.l $7EC109
|
||||||
|
PLP
|
||||||
|
.return
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
MoveMapSprite_Setup:
|
||||||
|
{
|
||||||
LDA.l $7EC10B : AND.b #$0E : LSR
|
LDA.l $7EC10B : AND.b #$0E : LSR
|
||||||
STA.b Scrap00
|
STA.b Scrap00
|
||||||
LDA.l $7EC109 : AND.b #$0E : ASL : ASL
|
LDA.l $7EC109 : AND.b #$0E : ASL : ASL
|
||||||
@@ -591,12 +638,17 @@ MoveMapSprite:
|
|||||||
TAX
|
TAX
|
||||||
AND.b #$07 : ASL
|
AND.b #$07 : ASL
|
||||||
STA.b Scrap00
|
STA.b Scrap00
|
||||||
LDA.l $7EC10B : AND.b #$01 : ORA.b Scrap00 : STA.l $7EC10B
|
RTS
|
||||||
TXA
|
}
|
||||||
AND.b #$38 : LSR : LSR
|
MoveMapSprite_GetXCoordHighByte:
|
||||||
STA.b Scrap00
|
{
|
||||||
LDA.l $7EC109 : AND.b #$01 : ORA.b Scrap00 : STA.l $7EC109
|
LDA.l $7EC10B : AND.b #$01 : ORA.b Scrap00
|
||||||
.return
|
RTS
|
||||||
|
}
|
||||||
|
MoveMapSprite_GetYCoordHighByte:
|
||||||
|
{
|
||||||
|
TXA : AND.b #$38 : LSR : LSR : STA.b Scrap00
|
||||||
|
LDA.l $7EC109 : AND.b #$01 : ORA.b Scrap00
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1289,6 +1341,7 @@ OWWorldTerrainUpdate: ; x = owid of destination screen, y = 1 for land to water,
|
|||||||
STZ.w RandoOverworldForceTrans
|
STZ.w RandoOverworldForceTrans
|
||||||
CMP.b #$02 : BNE +
|
CMP.b #$02 : BNE +
|
||||||
DEC : STA.w LinkDeepWater : STZ.w LinkSwimDirection
|
DEC : STA.w LinkDeepWater : STZ.w LinkSwimDirection
|
||||||
|
LDA.b FlagBY : AND.b #$7F : STA.b FlagBY
|
||||||
LDA.b #$04 : BRA .set_state
|
LDA.b #$04 : BRA .set_state
|
||||||
+
|
+
|
||||||
CMP.b #$03 : BNE ++
|
CMP.b #$03 : BNE ++
|
||||||
@@ -1309,6 +1362,7 @@ OWWorldTerrainUpdate: ; x = owid of destination screen, y = 1 for land to water,
|
|||||||
LDA.b #$01 : STA.w LinkDeepWater
|
LDA.b #$01 : STA.w LinkDeepWater
|
||||||
LDA.l FlippersEquipment : BEQ .no_flippers ; check if flippers obtained
|
LDA.l FlippersEquipment : BEQ .no_flippers ; check if flippers obtained
|
||||||
LDA.b LinkState : CMP.b #$17 : BEQ .no_flippers ; check if bunny
|
LDA.b LinkState : CMP.b #$17 : BEQ .no_flippers ; check if bunny
|
||||||
|
LDA.b FlagBY : AND.b #$7F : STA.b FlagBY
|
||||||
LDA.b #$04 : STA.b LinkState : STZ.w LinkSwimDirection : RTS
|
LDA.b #$04 : STA.b LinkState : STZ.w LinkSwimDirection : RTS
|
||||||
.no_flippers
|
.no_flippers
|
||||||
PHX
|
PHX
|
||||||
|
|||||||
3
ram.asm
3
ram.asm
@@ -65,6 +65,8 @@ LinkSubPixelVelocty = $7E002A ; Word length
|
|||||||
LinkAnimationStep = $7E002E ;
|
LinkAnimationStep = $7E002E ;
|
||||||
LinkDirection = $7E002F ; $00 = Up | $02 = Down | $04 = Left | $06 = Right
|
LinkDirection = $7E002F ; $00 = Up | $02 = Down | $04 = Left | $06 = Right
|
||||||
;
|
;
|
||||||
|
FlagBY = $7E003A ; Bitfield for B and Y buttons.
|
||||||
|
;
|
||||||
OAMOffsetY = $7E0044 ;
|
OAMOffsetY = $7E0044 ;
|
||||||
OAMOffsetX = $7E0045 ;
|
OAMOffsetX = $7E0045 ;
|
||||||
LinkIncapacitatedTimer = $7E0046 ; Countdown when Link takes damage, not same as I-frames
|
LinkIncapacitatedTimer = $7E0046 ; Countdown when Link takes damage, not same as I-frames
|
||||||
@@ -779,6 +781,7 @@ endmacro
|
|||||||
%assertRAM(LinkRecoilZ, $7E0029)
|
%assertRAM(LinkRecoilZ, $7E0029)
|
||||||
%assertRAM(LinkAnimationStep, $7E002E)
|
%assertRAM(LinkAnimationStep, $7E002E)
|
||||||
%assertRAM(LinkDirection, $7E002F)
|
%assertRAM(LinkDirection, $7E002F)
|
||||||
|
%assertRAM(FlagBY, $7E003A)
|
||||||
%assertRAM(OAMOffsetY, $7E0044)
|
%assertRAM(OAMOffsetY, $7E0044)
|
||||||
%assertRAM(OAMOffsetX, $7E0045)
|
%assertRAM(OAMOffsetX, $7E0045)
|
||||||
%assertRAM(LinkIncapacitatedTimer, $7E0046)
|
%assertRAM(LinkIncapacitatedTimer, $7E0046)
|
||||||
|
|||||||
Reference in New Issue
Block a user