mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
More splits; map setup labels
This commit is contained in:
parent
91068077f0
commit
2ffcb4b490
@ -6,7 +6,7 @@
|
|||||||
; FadeMusic
|
; FadeMusic
|
||||||
; PlayStereoSFX
|
; PlayStereoSFX
|
||||||
|
|
||||||
_SoundRestart:: ; e8000
|
_MapSetup_Sound_Off:: ; e8000
|
||||||
; restart sound operation
|
; restart sound operation
|
||||||
; clear all relevant hardware registers & wram
|
; clear all relevant hardware registers & wram
|
||||||
push hl
|
push hl
|
||||||
@ -63,7 +63,7 @@ MusicFadeRestart: ; e803d
|
|||||||
push af
|
push af
|
||||||
ld a, [MusicFadeIDLo]
|
ld a, [MusicFadeIDLo]
|
||||||
push af
|
push af
|
||||||
call _SoundRestart
|
call _MapSetup_Sound_Off
|
||||||
pop af
|
pop af
|
||||||
ld [MusicFadeIDLo], a
|
ld [MusicFadeIDLo], a
|
||||||
pop af
|
pop af
|
||||||
@ -3161,7 +3161,7 @@ ChannelPointers: ; e8fd9
|
|||||||
|
|
||||||
ClearChannels:: ; e8fe9
|
ClearChannels:: ; e8fe9
|
||||||
; runs ClearChannel for all 4 channels
|
; runs ClearChannel for all 4 channels
|
||||||
; doesn't seem to be used, but functionally identical to SoundRestart
|
; doesn't seem to be used, but functionally identical to MapSetup_Sound_Off
|
||||||
ld hl, rNR50
|
ld hl, rNR50
|
||||||
xor a
|
xor a
|
||||||
rept 2
|
rept 2
|
||||||
|
@ -2527,7 +2527,7 @@ WinTrainerBattle: ; 3cfa4
|
|||||||
or [hl]
|
or [hl]
|
||||||
ret nz
|
ret nz
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
ret
|
ret
|
||||||
; 3d02b
|
; 3d02b
|
||||||
|
|
||||||
@ -2911,7 +2911,7 @@ ForcePlayerMonChoice: ; 3d227
|
|||||||
|
|
||||||
.enemy_fainted_mobile_error
|
.enemy_fainted_mobile_error
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call _LoadHPBar
|
call _LoadHPBar
|
||||||
call ExitMenu
|
call ExitMenu
|
||||||
call LoadTileMapToTempTileMap
|
call LoadTileMapToTempTileMap
|
||||||
@ -2995,7 +2995,7 @@ IsMobileBattle: ; 3d2f1
|
|||||||
; 3d2f7
|
; 3d2f7
|
||||||
|
|
||||||
Function3d2f7: ; 3d2f7
|
Function3d2f7: ; 3d2f7
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
Function3d2fa: ; switch to fullscreen menu?
|
Function3d2fa: ; switch to fullscreen menu?
|
||||||
callba Function5004f
|
callba Function5004f
|
||||||
callba Function50405
|
callba Function50405
|
||||||
@ -3137,7 +3137,7 @@ LostBattle: ; 3d38e
|
|||||||
callba BattleTowerText
|
callba BattleTowerText
|
||||||
call WaitPressAorB_BlinkCursor
|
call WaitPressAorB_BlinkCursor
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.not_canlose
|
.not_canlose
|
||||||
@ -5290,7 +5290,7 @@ Function3e234: ; 3e234
|
|||||||
ld a, [wItemAttributeParamBuffer]
|
ld a, [wItemAttributeParamBuffer]
|
||||||
cp $3
|
cp $3
|
||||||
jr z, .asm_3e24a
|
jr z, .asm_3e24a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
|
|
||||||
.asm_3e24a
|
.asm_3e24a
|
||||||
xor a
|
xor a
|
||||||
@ -5332,7 +5332,7 @@ BattleMenu_PKMN: ; 3e28d
|
|||||||
Function3e290:
|
Function3e290:
|
||||||
call ExitMenu
|
call ExitMenu
|
||||||
call LoadStandardMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
Function3e299:
|
Function3e299:
|
||||||
call Function3d2fa
|
call Function3d2fa
|
||||||
xor a
|
xor a
|
||||||
@ -8816,7 +8816,7 @@ endr
|
|||||||
bit 0, a
|
bit 0, a
|
||||||
ret z
|
ret z
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
ret
|
ret
|
||||||
; 3f759
|
; 3f759
|
||||||
|
|
||||||
|
@ -540,7 +540,7 @@ const_value SET 1
|
|||||||
const OBJECT_SPRITE_Y
|
const OBJECT_SPRITE_Y
|
||||||
const OBJECT_SPRITE_X_OFFSET
|
const OBJECT_SPRITE_X_OFFSET
|
||||||
const OBJECT_SPRITE_Y_OFFSET
|
const OBJECT_SPRITE_Y_OFFSET
|
||||||
const OBJECT_27
|
const OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
const OBJECT_28
|
const OBJECT_28
|
||||||
const OBJECT_29
|
const OBJECT_29
|
||||||
const OBJECT_30
|
const OBJECT_30
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
const_value SET $f1
|
const_value SET $f1
|
||||||
const MAPSETUP_WARP
|
const MAPSETUP_WARP
|
||||||
const MAPSETUP_02
|
const MAPSETUP_CONTINUE
|
||||||
const MAPSETUP_RELOADMAP
|
const MAPSETUP_RELOADMAP
|
||||||
const MAPSETUP_04
|
const MAPSETUP_TELEPORT
|
||||||
const MAPSETUP_05
|
const MAPSETUP_DOOR
|
||||||
const MAPSETUP_06
|
const MAPSETUP_FALL
|
||||||
const MAPSETUP_07
|
const MAPSETUP_CONNECTION
|
||||||
const MAPSETUP_08
|
const MAPSETUP_LINKRETURN
|
||||||
const MAPSETUP_09
|
const MAPSETUP_TRAIN
|
||||||
const MAPSETUP_10
|
const MAPSETUP_SUBMENU
|
||||||
const MAPSETUP_BADWARP
|
const MAPSETUP_BADWARP
|
||||||
const MAPSETUP_12
|
const MAPSETUP_FLY
|
||||||
|
|
||||||
; Command descriptions from Condensation water's scripting compendium. const_def
|
; Command descriptions from Condensation water's scripting compendium. const_def
|
||||||
const_def
|
const_def
|
||||||
|
@ -42,10 +42,10 @@ const_value SET -1
|
|||||||
const PLAYEREVENT_SEENBYTRAINER
|
const PLAYEREVENT_SEENBYTRAINER
|
||||||
const PLAYEREVENT_TALKTOTRAINER
|
const PLAYEREVENT_TALKTOTRAINER
|
||||||
const PLAYEREVENT_ITEMBALL
|
const PLAYEREVENT_ITEMBALL
|
||||||
const PLAYEREVENT_4
|
const PLAYEREVENT_CONNECTION
|
||||||
const PLAYEREVENT_WARP
|
const PLAYEREVENT_WARP
|
||||||
const PLAYEREVENT_FALL
|
const PLAYEREVENT_FALL
|
||||||
const PLAYEREVENT_WHITEOUT
|
const PLAYEREVENT_WHITEOUT
|
||||||
const PLAYEREVENT_HATCH
|
const PLAYEREVENT_HATCH
|
||||||
const PLAYEREVENT_9
|
const PLAYEREVENT_JOYCHANGEFACING
|
||||||
NUM_PLAYER_EVENTS EQU const_value
|
NUM_PLAYER_EVENTS EQU const_value
|
||||||
|
2667
engine/billspc.asm
Executable file
2667
engine/billspc.asm
Executable file
File diff suppressed because it is too large
Load Diff
2560
engine/card_flip.asm
Executable file
2560
engine/card_flip.asm
Executable file
File diff suppressed because it is too large
Load Diff
@ -131,7 +131,7 @@ Function109847:: ; 109847
|
|||||||
ld a, $5
|
ld a, $5
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
|
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ Function109847:: ; 109847
|
|||||||
jr .asm_1098de
|
jr .asm_1098de
|
||||||
|
|
||||||
.asm_1098ee
|
.asm_1098ee
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
xor a
|
xor a
|
||||||
ld [hLCDStatCustom], a
|
ld [hLCDStatCustom], a
|
||||||
ld [hBGMapAddress], a
|
ld [hBGMapAddress], a
|
||||||
|
@ -6,7 +6,7 @@ Function1dd702: ; 1dd702
|
|||||||
; 1dd709
|
; 1dd709
|
||||||
|
|
||||||
Function1dd709: ; 1dd709
|
Function1dd709: ; 1dd709
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
|
615
engine/dummy_game.asm
Executable file
615
engine/dummy_game.asm
Executable file
@ -0,0 +1,615 @@
|
|||||||
|
_DummyGame: ; e1e5b (38:5e5b)
|
||||||
|
call Functione1e67
|
||||||
|
call DelayFrame
|
||||||
|
.asm_e1e61
|
||||||
|
call Functione1ebb
|
||||||
|
jr nc, .asm_e1e61
|
||||||
|
ret
|
||||||
|
|
||||||
|
Functione1e67: ; e1e67 (38:5e67)
|
||||||
|
call DisableLCD
|
||||||
|
ld b, $8
|
||||||
|
call GetSGBLayout
|
||||||
|
callab Function8cf53
|
||||||
|
ld hl, LZ_e2221
|
||||||
|
ld de, VTiles2 tile $00
|
||||||
|
call Decompress
|
||||||
|
ld hl, Unknown_e00ed
|
||||||
|
ld de, VTiles0 tile $00
|
||||||
|
ld bc, $40
|
||||||
|
ld a, BANK(Unknown_e00ed)
|
||||||
|
call FarCopyBytes
|
||||||
|
ld a, $8
|
||||||
|
ld hl, wc300
|
||||||
|
ld [hli], a
|
||||||
|
ld [hl], $0
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||||
|
xor a
|
||||||
|
call ByteFill
|
||||||
|
xor a
|
||||||
|
ld [hSCY], a
|
||||||
|
ld [hSCX], a
|
||||||
|
ld [rWY], a
|
||||||
|
ld [wJumptableIndex], a
|
||||||
|
ld a, $1
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ld a, $e3
|
||||||
|
ld [rLCDC], a
|
||||||
|
ld a, $e4
|
||||||
|
call DmgToCgbBGPals
|
||||||
|
ld a, $e0
|
||||||
|
call Functioncf8
|
||||||
|
ret
|
||||||
|
|
||||||
|
Functione1ebb: ; e1ebb (38:5ebb)
|
||||||
|
ld a, [wJumptableIndex]
|
||||||
|
bit 7, a
|
||||||
|
jr nz, .asm_e1ed0
|
||||||
|
call Functione1ed2
|
||||||
|
callab Function8cf69
|
||||||
|
call DelayFrame
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
.asm_e1ed0
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
|
||||||
|
Functione1ed2: ; e1ed2 (38:5ed2)
|
||||||
|
ld a, [wJumptableIndex]
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
ld hl, Jumptable_e1ee1
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
jp [hl]
|
||||||
|
; e1ee1 (38:5ee1)
|
||||||
|
|
||||||
|
Jumptable_e1ee1: ; e1ee1
|
||||||
|
dw Functione1ef3
|
||||||
|
dw Functione1efb
|
||||||
|
dw Functione1f1c
|
||||||
|
dw Functione1f42
|
||||||
|
dw Functione1f61
|
||||||
|
dw Functione1f8b
|
||||||
|
dw Functione1fba
|
||||||
|
dw Functione1fcc
|
||||||
|
dw Functione2000
|
||||||
|
; e1ef3
|
||||||
|
|
||||||
|
Functione1ef3: ; e1ef3
|
||||||
|
call Functione2152
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
ret
|
||||||
|
; e1efb
|
||||||
|
|
||||||
|
Functione1efb: ; e1efb
|
||||||
|
call Functione00ed
|
||||||
|
jr nc, .asm_e1f06
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
set 7, [hl]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_e1f06
|
||||||
|
call Functione209d
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
xor a
|
||||||
|
ld [wc708], a
|
||||||
|
ld hl, wc703
|
||||||
|
rept 4
|
||||||
|
ld [hli], a
|
||||||
|
endr
|
||||||
|
ld [hl], a
|
||||||
|
ld [wc709], a
|
||||||
|
|
||||||
|
Functione1f1c: ; e1f1c
|
||||||
|
ld hl, wc708
|
||||||
|
ld a, [hl]
|
||||||
|
cp $2d
|
||||||
|
jr nc, .asm_e1f30
|
||||||
|
inc [hl]
|
||||||
|
call Functione2183
|
||||||
|
xor a
|
||||||
|
ld [wc6fd], a
|
||||||
|
call Functione2128
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_e1f30
|
||||||
|
ld de, $341c
|
||||||
|
ld a, $c
|
||||||
|
call Function3b2a
|
||||||
|
ld a, $5
|
||||||
|
ld [wc702], a
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
ret
|
||||||
|
; e1f42
|
||||||
|
|
||||||
|
Functione1f42: ; e1f42
|
||||||
|
ld a, [wc702]
|
||||||
|
hlcoord 17, 0
|
||||||
|
add $f6
|
||||||
|
ld [hl], a
|
||||||
|
ld hl, wc702
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
jr nz, .asm_e1f58
|
||||||
|
ld a, $7
|
||||||
|
ld [wJumptableIndex], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_e1f58
|
||||||
|
dec [hl]
|
||||||
|
xor a
|
||||||
|
ld [wcf64], a
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
|
||||||
|
Functione1f61: ; e1f61
|
||||||
|
ld a, [wcf64]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
dec a
|
||||||
|
ld e, a
|
||||||
|
ld d, $0
|
||||||
|
ld hl, wc6d0
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
cp $ff
|
||||||
|
ret z
|
||||||
|
ld [wc6fd], a
|
||||||
|
ld [wPlayerMinimized], a
|
||||||
|
ld a, e
|
||||||
|
ld [EnemyScreens], a
|
||||||
|
call Functione2183
|
||||||
|
call Functione2128
|
||||||
|
xor a
|
||||||
|
ld [wcf64], a
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
ret
|
||||||
|
; e1f8b
|
||||||
|
|
||||||
|
Functione1f8b: ; e1f8b
|
||||||
|
ld a, [wcf64]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
dec a
|
||||||
|
ld hl, EnemyScreens
|
||||||
|
cp [hl]
|
||||||
|
ret z
|
||||||
|
ld e, a
|
||||||
|
ld d, $0
|
||||||
|
ld hl, wc6d0
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
cp $ff
|
||||||
|
ret z
|
||||||
|
ld [wc6fd], a
|
||||||
|
ld [PlayerScreens], a
|
||||||
|
ld a, e
|
||||||
|
ld [wc701], a
|
||||||
|
call Functione2183
|
||||||
|
call Functione2128
|
||||||
|
ld a, $40
|
||||||
|
ld [wc708], a
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
|
||||||
|
Functione1fba: ; e1fba
|
||||||
|
ld hl, wc708
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
jr z, .asm_e1fc3
|
||||||
|
dec [hl]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_e1fc3
|
||||||
|
call Functione2010
|
||||||
|
ld a, $3
|
||||||
|
ld [wJumptableIndex], a
|
||||||
|
ret
|
||||||
|
; e1fcc
|
||||||
|
|
||||||
|
Functione1fcc: ; e1fcc
|
||||||
|
ld a, [hJoypadPressed]
|
||||||
|
and A_BUTTON
|
||||||
|
ret z
|
||||||
|
xor a
|
||||||
|
ld [wc708], a
|
||||||
|
.asm_e1fd5
|
||||||
|
ld hl, wc708
|
||||||
|
ld a, [hl]
|
||||||
|
cp $2d
|
||||||
|
jr nc, .asm_e1ff9
|
||||||
|
inc [hl]
|
||||||
|
push af
|
||||||
|
call Functione2183
|
||||||
|
pop af
|
||||||
|
push hl
|
||||||
|
ld e, a
|
||||||
|
ld d, $0
|
||||||
|
ld hl, wc6d0
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
pop hl
|
||||||
|
cp $ff
|
||||||
|
jr z, .asm_e1fd5
|
||||||
|
ld [wc6fd], a
|
||||||
|
call Functione2128
|
||||||
|
jr .asm_e1fd5
|
||||||
|
|
||||||
|
.asm_e1ff9
|
||||||
|
call WaitPressAorB_BlinkCursor
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
inc [hl]
|
||||||
|
|
||||||
|
Functione2000: ; e2000
|
||||||
|
call Functione00ed
|
||||||
|
jr nc, .asm_e200b
|
||||||
|
ld hl, wJumptableIndex
|
||||||
|
set 7, [hl]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_e200b
|
||||||
|
xor a
|
||||||
|
ld [wJumptableIndex], a
|
||||||
|
ret
|
||||||
|
; e2010
|
||||||
|
|
||||||
|
Functione2010: ; e2010
|
||||||
|
ld hl, wPlayerMinimized
|
||||||
|
ld a, [hli]
|
||||||
|
cp [hl]
|
||||||
|
jr nz, .asm_e2066
|
||||||
|
ld a, [EnemyScreens]
|
||||||
|
call Functione2183
|
||||||
|
call Functione2142
|
||||||
|
ld a, [wc701]
|
||||||
|
call Functione2183
|
||||||
|
call Functione2142
|
||||||
|
ld a, [EnemyScreens]
|
||||||
|
ld e, a
|
||||||
|
ld d, $0
|
||||||
|
ld hl, wc6d0
|
||||||
|
add hl, de
|
||||||
|
ld [hl], $ff
|
||||||
|
ld a, [wc701]
|
||||||
|
ld e, a
|
||||||
|
ld d, $0
|
||||||
|
ld hl, wc6d0
|
||||||
|
add hl, de
|
||||||
|
ld [hl], $ff
|
||||||
|
ld hl, wc703
|
||||||
|
.asm_e2044
|
||||||
|
ld a, [hli]
|
||||||
|
and a
|
||||||
|
jr nz, .asm_e2044
|
||||||
|
dec hl
|
||||||
|
ld a, [wPlayerMinimized]
|
||||||
|
ld [hl], a
|
||||||
|
ld [wc6fd], a
|
||||||
|
ld hl, wc709
|
||||||
|
ld e, [hl]
|
||||||
|
rept 2
|
||||||
|
inc [hl]
|
||||||
|
endr
|
||||||
|
ld d, $0
|
||||||
|
hlcoord 5, 0
|
||||||
|
add hl, de
|
||||||
|
call Functione2128
|
||||||
|
ld hl, UnknownText_0xe2083
|
||||||
|
call PrintText
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_e2066
|
||||||
|
xor a
|
||||||
|
ld [wc6fd], a
|
||||||
|
ld a, [EnemyScreens]
|
||||||
|
call Functione2183
|
||||||
|
call Functione2128
|
||||||
|
ld a, [wc701]
|
||||||
|
call Functione2183
|
||||||
|
call Functione2128
|
||||||
|
ld hl, UnknownText_0xe2098
|
||||||
|
call PrintText
|
||||||
|
ret
|
||||||
|
; e2083
|
||||||
|
|
||||||
|
UnknownText_0xe2083: ; 0xe2083
|
||||||
|
start_asm
|
||||||
|
; 0xe2084
|
||||||
|
|
||||||
|
Functione2084: ; e2084
|
||||||
|
push bc
|
||||||
|
hlcoord 2, 13
|
||||||
|
call Functione2128
|
||||||
|
ld hl, UnknownText_0xe2093
|
||||||
|
pop bc
|
||||||
|
rept 3
|
||||||
|
inc bc
|
||||||
|
endr
|
||||||
|
ret
|
||||||
|
; e2093
|
||||||
|
|
||||||
|
UnknownText_0xe2093: ; 0xe2093
|
||||||
|
; , yeah!
|
||||||
|
text_jump UnknownText_0x1c1a5b
|
||||||
|
db "@"
|
||||||
|
; 0xe2098
|
||||||
|
|
||||||
|
UnknownText_0xe2098: ; 0xe2098
|
||||||
|
; Darn…
|
||||||
|
text_jump UnknownText_0x1c1a65
|
||||||
|
db "@"
|
||||||
|
; 0xe209d
|
||||||
|
|
||||||
|
Functione209d: ; e209d
|
||||||
|
ld hl, wc6d0
|
||||||
|
ld bc, $2d
|
||||||
|
xor a
|
||||||
|
call ByteFill
|
||||||
|
call Functione2101
|
||||||
|
ld c, $2
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $8
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $4
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $7
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $3
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $6
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $1
|
||||||
|
ld b, [hl]
|
||||||
|
call Functione20e5
|
||||||
|
ld c, $5
|
||||||
|
ld hl, wc6d0
|
||||||
|
ld b, $2d
|
||||||
|
.asm_e20db
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
jr nz, .asm_e20e0
|
||||||
|
ld [hl], c
|
||||||
|
|
||||||
|
.asm_e20e0
|
||||||
|
inc hl
|
||||||
|
dec b
|
||||||
|
jr nz, .asm_e20db
|
||||||
|
ret
|
||||||
|
; e20e5
|
||||||
|
|
||||||
|
Functione20e5: ; e20e5
|
||||||
|
push hl
|
||||||
|
ld de, wc6d0
|
||||||
|
.asm_e20e9
|
||||||
|
call Random
|
||||||
|
and $3f
|
||||||
|
cp $2d
|
||||||
|
jr nc, .asm_e20e9
|
||||||
|
ld l, a
|
||||||
|
ld h, $0
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
jr nz, .asm_e20e9
|
||||||
|
ld [hl], c
|
||||||
|
dec b
|
||||||
|
jr nz, .asm_e20e9
|
||||||
|
pop hl
|
||||||
|
inc hl
|
||||||
|
ret
|
||||||
|
; e2101
|
||||||
|
|
||||||
|
Functione2101: ; e2101
|
||||||
|
ld a, [MenuSelection2]
|
||||||
|
dec a
|
||||||
|
ld l, a
|
||||||
|
ld h, 0
|
||||||
|
rept 3
|
||||||
|
add hl, hl
|
||||||
|
endr
|
||||||
|
ld de, Unknown_e2110
|
||||||
|
add hl, de
|
||||||
|
ret
|
||||||
|
; e2110
|
||||||
|
|
||||||
|
Unknown_e2110: ; e2110
|
||||||
|
db $02, $03, $06, $06, $06, $08, $08, $06
|
||||||
|
db $02, $02, $04, $06, $06, $08, $08, $09
|
||||||
|
db $02, $02, $02, $04, $07, $08, $08, $0c
|
||||||
|
; e2128
|
||||||
|
|
||||||
|
Functione2128: ; e2128
|
||||||
|
ld a, [wc6fd]
|
||||||
|
sla a
|
||||||
|
sla a
|
||||||
|
add $4
|
||||||
|
ld [hli], a
|
||||||
|
inc a
|
||||||
|
ld [hld], a
|
||||||
|
inc a
|
||||||
|
ld bc, SCREEN_WIDTH
|
||||||
|
add hl, bc
|
||||||
|
ld [hli], a
|
||||||
|
inc a
|
||||||
|
ld [hl], a
|
||||||
|
ld c, 3
|
||||||
|
call DelayFrames
|
||||||
|
ret
|
||||||
|
; e2142
|
||||||
|
|
||||||
|
Functione2142: ; e2142
|
||||||
|
ld a, $1
|
||||||
|
ld [hli], a
|
||||||
|
ld [hld], a
|
||||||
|
ld bc, SCREEN_WIDTH
|
||||||
|
add hl, bc
|
||||||
|
ld [hli], a
|
||||||
|
ld [hl], a
|
||||||
|
ld c, 3
|
||||||
|
call DelayFrames
|
||||||
|
ret
|
||||||
|
; e2152
|
||||||
|
|
||||||
|
Functione2152: ; e2152
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||||
|
ld a, $1
|
||||||
|
call ByteFill
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld de, String_e2177
|
||||||
|
call PlaceString
|
||||||
|
hlcoord 15, 0
|
||||||
|
ld de, String_e217d
|
||||||
|
call PlaceString
|
||||||
|
ld hl, UnknownText_0xe2176
|
||||||
|
call PrintText
|
||||||
|
ret
|
||||||
|
; e2176
|
||||||
|
|
||||||
|
UnknownText_0xe2176: ; 0xe2176
|
||||||
|
db "@"
|
||||||
|
; 0xe2177
|
||||||
|
|
||||||
|
String_e2177: db "とったもの@"
|
||||||
|
String_e217d: db "あと かい@"
|
||||||
|
; e2183
|
||||||
|
|
||||||
|
Functione2183: ; e2183
|
||||||
|
ld d, $0
|
||||||
|
.asm_e2185
|
||||||
|
sub $9
|
||||||
|
jr c, .asm_e218c
|
||||||
|
inc d
|
||||||
|
jr .asm_e2185
|
||||||
|
|
||||||
|
.asm_e218c
|
||||||
|
add $9
|
||||||
|
ld e, a
|
||||||
|
hlcoord 1, 2
|
||||||
|
ld bc, $28
|
||||||
|
.asm_e2195
|
||||||
|
ld a, d
|
||||||
|
and a
|
||||||
|
jr z, .asm_e219d
|
||||||
|
add hl, bc
|
||||||
|
dec d
|
||||||
|
jr .asm_e2195
|
||||||
|
|
||||||
|
.asm_e219d
|
||||||
|
sla e
|
||||||
|
add hl, de
|
||||||
|
ret
|
||||||
|
; e21a1
|
||||||
|
|
||||||
|
Functione21a1: ; e21a1 (38:61a1)
|
||||||
|
ld a, [wJumptableIndex]
|
||||||
|
cp $7
|
||||||
|
jr nc, .quit
|
||||||
|
call JoyTextDelay
|
||||||
|
ld hl, hJoypadPressed ; $ffa3
|
||||||
|
ld a, [hl]
|
||||||
|
and A_BUTTON
|
||||||
|
jr nz, .pressed_a
|
||||||
|
ld a, [hl]
|
||||||
|
and D_LEFT
|
||||||
|
jr nz, .pressed_left
|
||||||
|
ld a, [hl]
|
||||||
|
and D_RIGHT
|
||||||
|
jr nz, .pressed_right
|
||||||
|
ld a, [hl]
|
||||||
|
and D_UP
|
||||||
|
jr nz, .pressed_up
|
||||||
|
ld a, [hl]
|
||||||
|
and D_DOWN
|
||||||
|
jr nz, .pressed_down
|
||||||
|
ret
|
||||||
|
|
||||||
|
.quit
|
||||||
|
ld hl, 0
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], $0
|
||||||
|
ret
|
||||||
|
|
||||||
|
.pressed_a
|
||||||
|
ld hl, $c
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
inc a
|
||||||
|
ld [wcf64], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.pressed_left
|
||||||
|
ld hl, $6
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
sub $10
|
||||||
|
ld [hl], a
|
||||||
|
ld hl, $c
|
||||||
|
add hl, bc
|
||||||
|
dec [hl]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.pressed_right
|
||||||
|
ld hl, $6
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
cp $80
|
||||||
|
ret z
|
||||||
|
add $10
|
||||||
|
ld [hl], a
|
||||||
|
ld hl, $c
|
||||||
|
add hl, bc
|
||||||
|
inc [hl]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.pressed_up
|
||||||
|
ld hl, $7
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
sub $10
|
||||||
|
ld [hl], a
|
||||||
|
ld hl, $c
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
sub $9
|
||||||
|
ld [hl], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.pressed_down
|
||||||
|
ld hl, $7
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
cp $40
|
||||||
|
ret z
|
||||||
|
add $10
|
||||||
|
ld [hl], a
|
||||||
|
ld hl, $c
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
add $9
|
||||||
|
ld [hl], a
|
||||||
|
ret
|
||||||
|
; e2221 (38:6221)
|
||||||
|
|
||||||
|
LZ_e2221: ; e2221
|
||||||
|
INCBIN "gfx/unknown/0e2221.2bpp.lz"
|
@ -138,7 +138,7 @@ EnterMap: ; 9673e
|
|||||||
call ClearAllScriptFlags3
|
call ClearAllScriptFlags3
|
||||||
|
|
||||||
ld a, [hMapEntryMethod]
|
ld a, [hMapEntryMethod]
|
||||||
cp MAPSETUP_07
|
cp MAPSETUP_CONNECTION
|
||||||
jr nz, .dontset
|
jr nz, .dontset
|
||||||
call SetAll_ScriptFlags3
|
call SetAll_ScriptFlags3
|
||||||
.dontset
|
.dontset
|
||||||
@ -322,9 +322,9 @@ PlayerEvents: ; 9681f
|
|||||||
ld [ScriptRunning], a
|
ld [ScriptRunning], a
|
||||||
call DoPlayerEvent
|
call DoPlayerEvent
|
||||||
ld a, [ScriptRunning]
|
ld a, [ScriptRunning]
|
||||||
cp PLAYEREVENT_4
|
cp PLAYEREVENT_CONNECTION
|
||||||
jr z, .ok2
|
jr z, .ok2
|
||||||
cp PLAYEREVENT_9
|
cp PLAYEREVENT_JOYCHANGEFACING
|
||||||
jr z, .ok2
|
jr z, .ok2
|
||||||
|
|
||||||
xor a
|
xor a
|
||||||
@ -1050,8 +1050,10 @@ DoPlayerEvent: ; 96beb
|
|||||||
ld a, [ScriptRunning]
|
ld a, [ScriptRunning]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
cp PLAYEREVENT_MAPSCRIPT ; run script
|
cp PLAYEREVENT_MAPSCRIPT ; run script
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
cp NUM_PLAYER_EVENTS
|
cp NUM_PLAYER_EVENTS
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
@ -1071,24 +1073,24 @@ endr
|
|||||||
; 96c0c
|
; 96c0c
|
||||||
|
|
||||||
PlayerEventScriptPointers: ; 96c0c
|
PlayerEventScriptPointers: ; 96c0c
|
||||||
dba Invalid_0x96c2d ; 0
|
dba Invalid_0x96c2d ; 0
|
||||||
dba SeenByTrainerScript ; 1
|
dba SeenByTrainerScript ; 1
|
||||||
dba TalkToTrainerScript ; 2
|
dba TalkToTrainerScript ; 2
|
||||||
dba FindItemInBallScript ; 3
|
dba FindItemInBallScript ; 3
|
||||||
dba UnknownScript_0x96c4d ; 4
|
dba UnknownScript_0x96c4d ; 4
|
||||||
dba WarpToNewMapScript ; 5
|
dba WarpToNewMapScript ; 5
|
||||||
dba FallIntoMapScript ; 6
|
dba FallIntoMapScript ; 6
|
||||||
dba Script_OverworldWhiteout ; 7
|
dba Script_OverworldWhiteout ; 7
|
||||||
dba HatchEggScript ; 8
|
dba HatchEggScript ; 8
|
||||||
dba UnknownScript_0x96c4f ; 9
|
dba UnknownScript_0x96c4f ; 9
|
||||||
dba Invalid_0x96c2d ; 10
|
dba Invalid_0x96c2d ; 10
|
||||||
; 96c2d
|
; 96c2d
|
||||||
|
|
||||||
Invalid_0x96c2d: ; 96c2d
|
Invalid_0x96c2d: ; 96c2d
|
||||||
end
|
end
|
||||||
; 96c2e
|
; 96c2e
|
||||||
|
|
||||||
UnknownScript_0x96c2e: ; 96c2e
|
; unreferenced
|
||||||
end
|
end
|
||||||
; 96c2f
|
; 96c2f
|
||||||
|
|
||||||
@ -1099,12 +1101,12 @@ HatchEggScript: ; 96c2f
|
|||||||
|
|
||||||
WarpToNewMapScript: ; 96c34
|
WarpToNewMapScript: ; 96c34
|
||||||
warpsound
|
warpsound
|
||||||
newloadmap MAPSETUP_05
|
newloadmap MAPSETUP_DOOR
|
||||||
end
|
end
|
||||||
; 96c38
|
; 96c38
|
||||||
|
|
||||||
FallIntoMapScript: ; 96c38
|
FallIntoMapScript: ; 96c38
|
||||||
newloadmap MAPSETUP_06
|
newloadmap MAPSETUP_FALL
|
||||||
playsound SFX_KINESIS
|
playsound SFX_KINESIS
|
||||||
applymovement PLAYER, MovementData_0x96c48
|
applymovement PLAYER, MovementData_0x96c48
|
||||||
playsound SFX_STRENGTH
|
playsound SFX_STRENGTH
|
||||||
@ -1123,7 +1125,7 @@ LandAfterPitfallScript: ; 96c4a
|
|||||||
; 96c4d
|
; 96c4d
|
||||||
|
|
||||||
UnknownScript_0x96c4d: ; 4
|
UnknownScript_0x96c4d: ; 4
|
||||||
reloadandreturn MAPSETUP_07
|
reloadandreturn MAPSETUP_CONNECTION
|
||||||
; 96c4f
|
; 96c4f
|
||||||
|
|
||||||
UnknownScript_0x96c4f: ; 9
|
UnknownScript_0x96c4f: ; 9
|
||||||
|
863
engine/events_3.asm
Executable file
863
engine/events_3.asm
Executable file
@ -0,0 +1,863 @@
|
|||||||
|
ReturnFromMapSetupScript:: ; b8000
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
; For some reson, GameFreak chose to use a callba here instead of just falling through.
|
||||||
|
; No other function in the game references the function at 2E:400A, here labeled
|
||||||
|
; ReturnFromMapSetupScript.inefficientcallba.
|
||||||
|
callba .inefficientcallba ; this is a waste of 6 ROM bytes and 2 stack bytes
|
||||||
|
ret
|
||||||
|
; b800a
|
||||||
|
|
||||||
|
.inefficientcallba: ; b800a
|
||||||
|
ld a, [MapGroup]
|
||||||
|
ld b, a
|
||||||
|
ld a, [MapNumber]
|
||||||
|
ld c, a
|
||||||
|
call GetWorldMapLocation
|
||||||
|
ld [wCurrentLandmark], a
|
||||||
|
call .CheckNationalParkGate
|
||||||
|
jr z, .nationalparkgate
|
||||||
|
|
||||||
|
call GetMapPermission
|
||||||
|
cp GATE
|
||||||
|
jr nz, .not_gate
|
||||||
|
|
||||||
|
.nationalparkgate
|
||||||
|
ld a, -1
|
||||||
|
ld [wCurrentLandmark], a
|
||||||
|
|
||||||
|
.not_gate
|
||||||
|
ld hl, wEnteredMapFromContinue
|
||||||
|
bit 1, [hl]
|
||||||
|
res 1, [hl]
|
||||||
|
jr nz, .dont_do_map_sign
|
||||||
|
|
||||||
|
call .CheckMovingWithinLandmark
|
||||||
|
jr z, .dont_do_map_sign
|
||||||
|
ld a, [wCurrentLandmark]
|
||||||
|
ld [wPreviousLandmark], a
|
||||||
|
|
||||||
|
call .CheckSpecialMap
|
||||||
|
jr z, .dont_do_map_sign
|
||||||
|
|
||||||
|
; Display for 60 frames
|
||||||
|
ld a, 60
|
||||||
|
ld [wLandmarkSignTimer], a
|
||||||
|
call LoadMapNameSignGFX
|
||||||
|
call InitMapNameFrame
|
||||||
|
callba Function104303
|
||||||
|
ret
|
||||||
|
|
||||||
|
.dont_do_map_sign
|
||||||
|
ld a, [wCurrentLandmark]
|
||||||
|
ld [wPreviousLandmark], a
|
||||||
|
ld a, $90
|
||||||
|
ld [rWY], a
|
||||||
|
ld [hWY], a
|
||||||
|
xor a
|
||||||
|
ld [hLCDStatCustom], a
|
||||||
|
ret
|
||||||
|
; b8064
|
||||||
|
|
||||||
|
.CheckMovingWithinLandmark: ; b8064
|
||||||
|
ld a, [wCurrentLandmark]
|
||||||
|
ld c, a
|
||||||
|
ld a, [wPreviousLandmark]
|
||||||
|
cp c
|
||||||
|
ret z
|
||||||
|
cp $0
|
||||||
|
ret
|
||||||
|
; b8070
|
||||||
|
|
||||||
|
.CheckSpecialMap: ; b8070
|
||||||
|
cp -1
|
||||||
|
ret z
|
||||||
|
cp SPECIAL_MAP
|
||||||
|
ret z
|
||||||
|
cp RADIO_TOWER
|
||||||
|
ret z
|
||||||
|
cp LAV_RADIO_TOWER
|
||||||
|
ret z
|
||||||
|
cp UNDERGROUND
|
||||||
|
ret z
|
||||||
|
cp INDIGO_PLATEAU
|
||||||
|
ret z
|
||||||
|
cp POWER_PLANT
|
||||||
|
ret z
|
||||||
|
ld a, $1
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; b8089
|
||||||
|
|
||||||
|
.CheckNationalParkGate: ; b8089
|
||||||
|
ld a, [MapGroup]
|
||||||
|
cp GROUP_ROUTE_35_NATIONAL_PARK_GATE
|
||||||
|
ret nz
|
||||||
|
ld a, [MapNumber]
|
||||||
|
cp MAP_ROUTE_35_NATIONAL_PARK_GATE
|
||||||
|
ret z
|
||||||
|
cp MAP_ROUTE_36_NATIONAL_PARK_GATE
|
||||||
|
ret
|
||||||
|
; b8098
|
||||||
|
|
||||||
|
|
||||||
|
PlaceMapNameSign:: ; b8098 (2e:4098)
|
||||||
|
ld hl, wLandmarkSignTimer
|
||||||
|
ld a, [hl]
|
||||||
|
and a
|
||||||
|
jr z, .disappear
|
||||||
|
dec [hl]
|
||||||
|
cp 60
|
||||||
|
ret z
|
||||||
|
cp 59
|
||||||
|
jr nz, .skip2
|
||||||
|
call InitMapNameFrame
|
||||||
|
call PlaceMapNameCenterAlign
|
||||||
|
callba Function104303
|
||||||
|
.skip2
|
||||||
|
ld a, $80
|
||||||
|
ld a, $70
|
||||||
|
ld [rWY], a
|
||||||
|
ld [hWY], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.disappear
|
||||||
|
ld a, $90
|
||||||
|
ld [rWY], a
|
||||||
|
ld [hWY], a
|
||||||
|
xor a
|
||||||
|
ld [hLCDStatCustom], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
LoadMapNameSignGFX: ; b80c6
|
||||||
|
ld de, MapEntryFrameGFX
|
||||||
|
ld hl, VTiles2 tile $60
|
||||||
|
lb bc, BANK(MapEntryFrameGFX), $e
|
||||||
|
call Get2bpp
|
||||||
|
ret
|
||||||
|
; b80d3
|
||||||
|
|
||||||
|
InitMapNameFrame: ; b80d3
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld b, 2
|
||||||
|
ld c, 18
|
||||||
|
call InitMapSignAttrMap
|
||||||
|
call PlaceMapNameFrame
|
||||||
|
ret
|
||||||
|
; b80e1
|
||||||
|
|
||||||
|
|
||||||
|
PlaceMapNameCenterAlign: ; b80e1 (2e:40e1)
|
||||||
|
ld a, [wCurrentLandmark]
|
||||||
|
ld e, a
|
||||||
|
callba GetLandmarkName
|
||||||
|
call .GetNameLength
|
||||||
|
ld a, SCREEN_WIDTH
|
||||||
|
sub c
|
||||||
|
srl a
|
||||||
|
ld b, $0
|
||||||
|
ld c, a
|
||||||
|
hlcoord 0, 2
|
||||||
|
add hl, bc
|
||||||
|
ld de, StringBuffer1
|
||||||
|
call PlaceString
|
||||||
|
ret
|
||||||
|
|
||||||
|
.GetNameLength: ; b8101 (2e:4101)
|
||||||
|
ld c, 0
|
||||||
|
push hl
|
||||||
|
ld hl, StringBuffer1
|
||||||
|
.loop
|
||||||
|
ld a, [hli]
|
||||||
|
cp "@"
|
||||||
|
jr z, .stop
|
||||||
|
cp "%"
|
||||||
|
jr z, .loop
|
||||||
|
inc c
|
||||||
|
jr .loop
|
||||||
|
.stop
|
||||||
|
pop hl
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
InitMapSignAttrMap: ; b8115
|
||||||
|
ld de, AttrMap - TileMap
|
||||||
|
add hl, de
|
||||||
|
rept 2
|
||||||
|
inc b
|
||||||
|
endr
|
||||||
|
rept 2
|
||||||
|
inc c
|
||||||
|
endr
|
||||||
|
ld a, $87
|
||||||
|
.loop
|
||||||
|
push bc
|
||||||
|
push hl
|
||||||
|
.inner_loop
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .inner_loop
|
||||||
|
pop hl
|
||||||
|
ld de, SCREEN_WIDTH
|
||||||
|
add hl, de
|
||||||
|
pop bc
|
||||||
|
dec b
|
||||||
|
jr nz, .loop
|
||||||
|
ret
|
||||||
|
; b812f
|
||||||
|
|
||||||
|
PlaceMapNameFrame: ; b812f
|
||||||
|
hlcoord 0, 0
|
||||||
|
; top left
|
||||||
|
ld a, $61
|
||||||
|
ld [hli], a
|
||||||
|
; top row
|
||||||
|
ld a, $62
|
||||||
|
call .FillTopBottom
|
||||||
|
; top right
|
||||||
|
ld a, $64
|
||||||
|
ld [hli], a
|
||||||
|
; left, first line
|
||||||
|
ld a, $65
|
||||||
|
ld [hli], a
|
||||||
|
; first line
|
||||||
|
call .FillMiddle
|
||||||
|
; right, first line
|
||||||
|
ld a, $6b
|
||||||
|
ld [hli], a
|
||||||
|
; left, second line
|
||||||
|
ld a, $66
|
||||||
|
ld [hli], a
|
||||||
|
; second line
|
||||||
|
call .FillMiddle
|
||||||
|
; right, second line
|
||||||
|
ld a, $6c
|
||||||
|
ld [hli], a
|
||||||
|
; bottom left
|
||||||
|
ld a, $67
|
||||||
|
ld [hli], a
|
||||||
|
; bottom
|
||||||
|
ld a, $68
|
||||||
|
call .FillTopBottom
|
||||||
|
; bottom right
|
||||||
|
ld a, $6a
|
||||||
|
ld [hl], a
|
||||||
|
ret
|
||||||
|
; b815b
|
||||||
|
|
||||||
|
.FillMiddle: ; b815b
|
||||||
|
ld c, 18
|
||||||
|
ld a, $6d
|
||||||
|
.loop
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .loop
|
||||||
|
ret
|
||||||
|
; b8164
|
||||||
|
|
||||||
|
.FillTopBottom: ; b8164
|
||||||
|
ld c, 5
|
||||||
|
jr .enterloop
|
||||||
|
|
||||||
|
.continueloop
|
||||||
|
rept 2
|
||||||
|
ld [hli], a
|
||||||
|
endr
|
||||||
|
|
||||||
|
.enterloop
|
||||||
|
inc a
|
||||||
|
rept 2
|
||||||
|
ld [hli], a
|
||||||
|
endr
|
||||||
|
dec a
|
||||||
|
dec c
|
||||||
|
jr nz, .continueloop
|
||||||
|
ret
|
||||||
|
; b8172
|
||||||
|
|
||||||
|
CheckForSignpostItems: ; b8172
|
||||||
|
; Checks to see if there are hidden items on the screen that have not yet been found. If it finds one, returns carry.
|
||||||
|
call GetMapScriptHeaderBank
|
||||||
|
ld [Buffer1], a
|
||||||
|
; Get the coordinate of the bottom right corner of the screen, and load it in wd1ec/wd1ed.
|
||||||
|
ld a, [XCoord]
|
||||||
|
add SCREEN_WIDTH / 4
|
||||||
|
ld [wd1ed], a
|
||||||
|
ld a, [YCoord]
|
||||||
|
add SCREEN_HEIGHT / 4
|
||||||
|
ld [wd1ec], a
|
||||||
|
; Get the pointer for the first signpost header in the map...
|
||||||
|
ld hl, wdc02
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
; ... before even checking to see if there are any signposts on this map.
|
||||||
|
ld a, [wCurrentMapSignpostCount]
|
||||||
|
and a
|
||||||
|
jr z, .nosignpostitems
|
||||||
|
; For i = 1:wCurrentMapSignpostCount...
|
||||||
|
.loop
|
||||||
|
; Store the counter in Buffer2, and store the signpost header pointer in the stack.
|
||||||
|
ld [Buffer2], a
|
||||||
|
push hl
|
||||||
|
; Get the Y coordinate of the signpost.
|
||||||
|
call .GetFarByte
|
||||||
|
ld e, a
|
||||||
|
; Is the Y coordinate of the signpost on the screen? If not, go to the next signpost.
|
||||||
|
ld a, [wd1ec]
|
||||||
|
sub e
|
||||||
|
jr c, .next
|
||||||
|
cp SCREEN_HEIGHT / 2
|
||||||
|
jr nc, .next
|
||||||
|
; Is the X coordinate of the signpost on the screen? If not, go to the next signpost.
|
||||||
|
call .GetFarByte
|
||||||
|
ld d, a
|
||||||
|
ld a, [wd1ed]
|
||||||
|
sub d
|
||||||
|
jr c, .next
|
||||||
|
cp SCREEN_WIDTH / 2
|
||||||
|
jr nc, .next
|
||||||
|
; Is this signpost a hidden item? If not, go to the next signpost.
|
||||||
|
call .GetFarByte
|
||||||
|
cp SIGNPOST_ITEM
|
||||||
|
jr nz, .next
|
||||||
|
; Has this item already been found? If not, set off the Itemfinder.
|
||||||
|
ld a, [Buffer1]
|
||||||
|
call GetFarHalfword
|
||||||
|
ld a, [Buffer1]
|
||||||
|
call GetFarHalfword
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
ld b, CHECK_FLAG
|
||||||
|
call EventFlagAction
|
||||||
|
ld a, c
|
||||||
|
and a
|
||||||
|
jr z, .itemnearby
|
||||||
|
|
||||||
|
.next
|
||||||
|
; Restore the signpost header pointer and increment it by the length of a signpost header.
|
||||||
|
pop hl
|
||||||
|
ld bc, 5
|
||||||
|
add hl, bc
|
||||||
|
; Restore the signpost counter and decrement it. If it hits zero, there are no hidden items in range.
|
||||||
|
ld a, [Buffer2]
|
||||||
|
dec a
|
||||||
|
jr nz, .loop
|
||||||
|
|
||||||
|
.nosignpostitems
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.itemnearby
|
||||||
|
pop hl
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; b81e2
|
||||||
|
|
||||||
|
.GetFarByte: ; b81e2
|
||||||
|
ld a, [Buffer1]
|
||||||
|
call GetFarByte
|
||||||
|
inc hl
|
||||||
|
ret
|
||||||
|
; b81ea
|
||||||
|
|
||||||
|
|
||||||
|
TreeMonEncounter: ; b81ea
|
||||||
|
callba MobileFn_1060ef
|
||||||
|
|
||||||
|
xor a
|
||||||
|
ld [TempWildMonSpecies], a
|
||||||
|
ld [CurPartyLevel], a
|
||||||
|
|
||||||
|
ld hl, TreeMonMaps
|
||||||
|
call GetTreeMonSet
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
call GetTreeMons
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
call GetTreeMon
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
ld a, BATTLETYPE_TREE
|
||||||
|
ld [BattleType], a
|
||||||
|
ld a, 1
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.no_battle
|
||||||
|
xor a
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
; b8219
|
||||||
|
|
||||||
|
RockMonEncounter: ; b8219
|
||||||
|
|
||||||
|
xor a
|
||||||
|
ld [TempWildMonSpecies], a
|
||||||
|
ld [CurPartyLevel], a
|
||||||
|
|
||||||
|
ld hl, RockMonMaps
|
||||||
|
call GetTreeMonSet
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
call GetTreeMons
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
ld a, 10
|
||||||
|
call RandomRange
|
||||||
|
cp 4
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
call SelectTreeMon
|
||||||
|
jr nc, .no_battle
|
||||||
|
|
||||||
|
ret
|
||||||
|
|
||||||
|
.no_battle
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
; b823e
|
||||||
|
|
||||||
|
db $05 ; ????
|
||||||
|
|
||||||
|
GetTreeMonSet: ; b823f
|
||||||
|
; Return carry and treemon set in a
|
||||||
|
; if the current map is in table hl.
|
||||||
|
ld a, [MapNumber]
|
||||||
|
ld e, a
|
||||||
|
ld a, [MapGroup]
|
||||||
|
ld d, a
|
||||||
|
.loop
|
||||||
|
ld a, [hli]
|
||||||
|
cp -1
|
||||||
|
jr z, .not_in_table
|
||||||
|
|
||||||
|
cp d
|
||||||
|
jr nz, .skip2
|
||||||
|
|
||||||
|
ld a, [hli]
|
||||||
|
cp e
|
||||||
|
jr nz, .skip1
|
||||||
|
|
||||||
|
jr .in_table
|
||||||
|
|
||||||
|
.skip2
|
||||||
|
inc hl
|
||||||
|
.skip1
|
||||||
|
inc hl
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
.not_in_table
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.in_table
|
||||||
|
ld a, [hl]
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; b825e
|
||||||
|
|
||||||
|
TreeMonMaps: ; b825e
|
||||||
|
treemon_map: macro
|
||||||
|
map \1
|
||||||
|
db \2 ; treemon set
|
||||||
|
endm
|
||||||
|
treemon_map ROUTE_26, 4
|
||||||
|
treemon_map ROUTE_27, 4
|
||||||
|
treemon_map ROUTE_28, 0
|
||||||
|
treemon_map ROUTE_29, 3
|
||||||
|
treemon_map ROUTE_30, 3
|
||||||
|
treemon_map ROUTE_31, 3
|
||||||
|
treemon_map ROUTE_32, 4
|
||||||
|
treemon_map ROUTE_33, 2
|
||||||
|
treemon_map ROUTE_34, 3
|
||||||
|
treemon_map ROUTE_35, 3
|
||||||
|
treemon_map ROUTE_36, 3
|
||||||
|
treemon_map ROUTE_37, 3
|
||||||
|
treemon_map ROUTE_38, 3
|
||||||
|
treemon_map ROUTE_39, 3
|
||||||
|
treemon_map ROUTE_40, 0
|
||||||
|
treemon_map ROUTE_41, 0
|
||||||
|
treemon_map ROUTE_42, 2
|
||||||
|
treemon_map ROUTE_43, 5
|
||||||
|
treemon_map ROUTE_44, 1
|
||||||
|
treemon_map ROUTE_45, 1
|
||||||
|
treemon_map ROUTE_46, 1
|
||||||
|
treemon_map NEW_BARK_TOWN, 0
|
||||||
|
treemon_map CHERRYGROVE_CITY, 0
|
||||||
|
treemon_map VIOLET_CITY, 0
|
||||||
|
treemon_map AZALEA_TOWN, 2
|
||||||
|
treemon_map CIANWOOD_CITY, 0
|
||||||
|
treemon_map GOLDENROD_CITY, 0
|
||||||
|
treemon_map OLIVINE_CITY, 0
|
||||||
|
treemon_map ECRUTEAK_CITY, 0
|
||||||
|
treemon_map MAHOGANY_TOWN, 0
|
||||||
|
treemon_map LAKE_OF_RAGE, 5
|
||||||
|
treemon_map BLACKTHORN_CITY, 0
|
||||||
|
treemon_map SILVER_CAVE_OUTSIDE, 0
|
||||||
|
treemon_map ILEX_FOREST, 6
|
||||||
|
db -1
|
||||||
|
; b82c5
|
||||||
|
|
||||||
|
RockMonMaps: ; b82c5
|
||||||
|
treemon_map CIANWOOD_CITY, 7
|
||||||
|
treemon_map ROUTE_40, 7
|
||||||
|
treemon_map DARK_CAVE_VIOLET_ENTRANCE, 7
|
||||||
|
treemon_map SLOWPOKE_WELL_B1F, 7
|
||||||
|
db -1
|
||||||
|
; b82d2
|
||||||
|
|
||||||
|
GetTreeMons: ; b82d2
|
||||||
|
; Return the address of TreeMon table a in hl.
|
||||||
|
; Return nc if table a doesn't exist.
|
||||||
|
|
||||||
|
cp 8
|
||||||
|
jr nc, .quit
|
||||||
|
|
||||||
|
and a
|
||||||
|
jr z, .quit
|
||||||
|
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
ld hl, TreeMons
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
|
||||||
|
.quit
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
; b82e8
|
||||||
|
|
||||||
|
TreeMons: ; b82e8
|
||||||
|
dw TreeMons1
|
||||||
|
dw TreeMons1
|
||||||
|
dw TreeMons2
|
||||||
|
dw TreeMons3
|
||||||
|
dw TreeMons4
|
||||||
|
dw TreeMons5
|
||||||
|
dw TreeMons6
|
||||||
|
dw RockMons
|
||||||
|
dw TreeMons1
|
||||||
|
|
||||||
|
; Two tables each (normal, rare).
|
||||||
|
; Structure:
|
||||||
|
; db %, species, level
|
||||||
|
|
||||||
|
TreeMons1: ; b82fa
|
||||||
|
db 50, SPEAROW, 10
|
||||||
|
db 15, SPEAROW, 10
|
||||||
|
db 15, SPEAROW, 10
|
||||||
|
db 10, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
db 50, SPEAROW, 10
|
||||||
|
db 15, HERACROSS, 10
|
||||||
|
db 15, HERACROSS, 10
|
||||||
|
db 10, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
TreeMons2: ; b8320
|
||||||
|
db 50, SPEAROW, 10
|
||||||
|
db 15, EKANS, 10
|
||||||
|
db 15, SPEAROW, 10
|
||||||
|
db 10, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
db 50, SPEAROW, 10
|
||||||
|
db 15, HERACROSS, 10
|
||||||
|
db 15, HERACROSS, 10
|
||||||
|
db 10, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db 5, AIPOM, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
TreeMons3: ; b8346
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, SPINARAK, 10
|
||||||
|
db 15, LEDYBA, 10
|
||||||
|
db 10, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 10, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
TreeMons4: ; b836c
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, EKANS, 10
|
||||||
|
db 15, HOOTHOOT, 10
|
||||||
|
db 10, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 10, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
TreeMons5: ; b8392
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, VENONAT, 10
|
||||||
|
db 15, HOOTHOOT, 10
|
||||||
|
db 10, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 10, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db 5, EXEGGCUTE, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
TreeMons6: ; b83b8
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 15, PINECO, 10
|
||||||
|
db 10, NOCTOWL, 10
|
||||||
|
db 5, BUTTERFREE, 10
|
||||||
|
db 5, BEEDRILL, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
db 50, HOOTHOOT, 10
|
||||||
|
db 15, CATERPIE, 10
|
||||||
|
db 15, WEEDLE, 10
|
||||||
|
db 10, HOOTHOOT, 10
|
||||||
|
db 5, METAPOD, 10
|
||||||
|
db 5, KAKUNA, 10
|
||||||
|
db -1
|
||||||
|
|
||||||
|
RockMons: ; b83de
|
||||||
|
db 90, KRABBY, 15
|
||||||
|
db 10, SHUCKLE, 15
|
||||||
|
db -1
|
||||||
|
; b83e5
|
||||||
|
|
||||||
|
GetTreeMon: ; b83e5
|
||||||
|
push hl
|
||||||
|
call GetTreeScore
|
||||||
|
pop hl
|
||||||
|
and a
|
||||||
|
jr z, .bad
|
||||||
|
cp 1
|
||||||
|
jr z, .good
|
||||||
|
cp 2
|
||||||
|
jr z, .rare
|
||||||
|
ret
|
||||||
|
|
||||||
|
.bad
|
||||||
|
ld a, 10
|
||||||
|
call RandomRange
|
||||||
|
and a
|
||||||
|
jr nz, NoTreeMon
|
||||||
|
jr SelectTreeMon
|
||||||
|
|
||||||
|
.good
|
||||||
|
ld a, 10
|
||||||
|
call RandomRange
|
||||||
|
cp 5
|
||||||
|
jr nc, NoTreeMon
|
||||||
|
jr SelectTreeMon
|
||||||
|
|
||||||
|
.rare
|
||||||
|
ld a, 10
|
||||||
|
call RandomRange
|
||||||
|
cp 8
|
||||||
|
jr nc, NoTreeMon
|
||||||
|
jr .skip
|
||||||
|
.skip
|
||||||
|
ld a, [hli]
|
||||||
|
cp -1
|
||||||
|
jr nz, .skip
|
||||||
|
call SelectTreeMon
|
||||||
|
ret
|
||||||
|
; b841f
|
||||||
|
|
||||||
|
SelectTreeMon: ; b841f
|
||||||
|
; Read a TreeMons table and pick one monster at random.
|
||||||
|
|
||||||
|
ld a, 100
|
||||||
|
call RandomRange
|
||||||
|
.loop
|
||||||
|
sub [hl]
|
||||||
|
jr c, .ok
|
||||||
|
rept 3
|
||||||
|
inc hl
|
||||||
|
endr
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
.ok
|
||||||
|
ld a, [hli]
|
||||||
|
cp $ff
|
||||||
|
jr z, NoTreeMon
|
||||||
|
|
||||||
|
ld a, [hli]
|
||||||
|
ld [TempWildMonSpecies], a
|
||||||
|
ld a, [hl]
|
||||||
|
ld [CurPartyLevel], a
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
|
||||||
|
NoTreeMon: ; b843b
|
||||||
|
xor a
|
||||||
|
ld [TempWildMonSpecies], a
|
||||||
|
ld [CurPartyLevel], a
|
||||||
|
ret
|
||||||
|
; b8443
|
||||||
|
|
||||||
|
GetTreeScore: ; b8443
|
||||||
|
call .CoordScore
|
||||||
|
ld [Buffer1], a
|
||||||
|
call .OTIDScore
|
||||||
|
ld [Buffer2], a
|
||||||
|
ld c, a
|
||||||
|
ld a, [Buffer1]
|
||||||
|
sub c
|
||||||
|
jr z, .rare
|
||||||
|
jr nc, .ok
|
||||||
|
add 10
|
||||||
|
.ok
|
||||||
|
cp 5
|
||||||
|
jr c, .good
|
||||||
|
|
||||||
|
.bad
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.good
|
||||||
|
ld a, 1
|
||||||
|
ret
|
||||||
|
|
||||||
|
.rare
|
||||||
|
ld a, 2
|
||||||
|
ret
|
||||||
|
; b8466
|
||||||
|
|
||||||
|
.CoordScore: ; b8466
|
||||||
|
call GetFacingTileCoord
|
||||||
|
ld hl, 0
|
||||||
|
ld c, e
|
||||||
|
ld b, 0
|
||||||
|
ld a, d
|
||||||
|
|
||||||
|
and a
|
||||||
|
jr z, .next
|
||||||
|
.loop
|
||||||
|
add hl, bc
|
||||||
|
dec a
|
||||||
|
jr nz, .loop
|
||||||
|
.next
|
||||||
|
|
||||||
|
add hl, bc
|
||||||
|
ld c, d
|
||||||
|
add hl, bc
|
||||||
|
|
||||||
|
ld a, h
|
||||||
|
ld [hDividend], a
|
||||||
|
ld a, l
|
||||||
|
ld [hDividend + 1], a
|
||||||
|
ld a, 5
|
||||||
|
ld [hDivisor], a
|
||||||
|
ld b, 2
|
||||||
|
call Divide
|
||||||
|
|
||||||
|
ld a, [hQuotient + 1]
|
||||||
|
ld [hDividend], a
|
||||||
|
ld a, [hQuotient + 2]
|
||||||
|
ld [hDividend + 1], a
|
||||||
|
ld a, 10
|
||||||
|
ld [hDivisor], a
|
||||||
|
ld b, 2
|
||||||
|
call Divide
|
||||||
|
|
||||||
|
ld a, [hQuotient + 3]
|
||||||
|
ret
|
||||||
|
; b849d
|
||||||
|
|
||||||
|
.OTIDScore: ; b849d
|
||||||
|
ld a, [PlayerID]
|
||||||
|
ld [hDividend], a
|
||||||
|
ld a, [PlayerID + 1]
|
||||||
|
ld [hDividend + 1], a
|
||||||
|
ld a, 10
|
||||||
|
ld [hDivisor], a
|
||||||
|
ld b, 2
|
||||||
|
call Divide
|
||||||
|
ld a, [hQuotient + 3]
|
||||||
|
ret
|
||||||
|
; b84b3
|
||||||
|
|
||||||
|
LoadFishingGFX: ; b84b3
|
||||||
|
ld a, [rVBK]
|
||||||
|
push af
|
||||||
|
ld a, $1
|
||||||
|
ld [rVBK], a
|
||||||
|
|
||||||
|
ld de, FishingGFX
|
||||||
|
ld a, [PlayerGender]
|
||||||
|
bit 0, a
|
||||||
|
jr z, .got_gender
|
||||||
|
ld de, KrisFishingGFX
|
||||||
|
.got_gender
|
||||||
|
|
||||||
|
ld hl, VTiles0 tile $02
|
||||||
|
call .LoadGFX
|
||||||
|
ld hl, VTiles0 tile $06
|
||||||
|
call .LoadGFX
|
||||||
|
ld hl, VTiles0 tile $0a
|
||||||
|
call .LoadGFX
|
||||||
|
ld hl, VTiles1 tile $7c
|
||||||
|
call .LoadGFX
|
||||||
|
|
||||||
|
pop af
|
||||||
|
ld [rVBK], a
|
||||||
|
ret
|
||||||
|
; b84e3
|
||||||
|
|
||||||
|
.LoadGFX: ; b84e3
|
||||||
|
lb bc, BANK(FishingGFX), 2
|
||||||
|
push de
|
||||||
|
call Get2bpp
|
||||||
|
pop de
|
||||||
|
ld hl, 2 tiles
|
||||||
|
add hl, de
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
ret
|
||||||
|
; b84f2
|
||||||
|
|
||||||
|
FishingGFX: ; b84f2
|
||||||
|
INCBIN "gfx/overworld/chris_fish.2bpp"
|
||||||
|
; b8582
|
||||||
|
|
||||||
|
KrisFishingGFX: ; b8582
|
||||||
|
INCBIN "gfx/overworld/kris_fish.2bpp"
|
||||||
|
; b8612
|
@ -372,7 +372,7 @@ INCBIN "gfx/evo/bubble_large.2bpp"
|
|||||||
INCBIN "gfx/evo/bubble.2bpp"
|
INCBIN "gfx/evo/bubble.2bpp"
|
||||||
|
|
||||||
Function4e881: ; 4e881
|
Function4e881: ; 4e881
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -405,7 +405,7 @@ UnknownText_0x4e8bd: ; 0x4e8bd
|
|||||||
|
|
||||||
|
|
||||||
Function4e8c2: ; 4e8c2
|
Function4e8c2: ; 4e8c2
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
|
916
engine/flypoints.asm
Executable file
916
engine/flypoints.asm
Executable file
@ -0,0 +1,916 @@
|
|||||||
|
_FlyMap: ; 91af3
|
||||||
|
call ClearBGPalettes
|
||||||
|
call ClearTileMap
|
||||||
|
call ClearSprites
|
||||||
|
ld hl, hInMenu
|
||||||
|
ld a, [hl]
|
||||||
|
push af
|
||||||
|
ld [hl], $1
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
callba Function8cf53
|
||||||
|
call Function91ff2
|
||||||
|
ld de, GFX_922e1
|
||||||
|
ld hl, VTiles2 tile $30
|
||||||
|
lb bc, BANK(GFX_922e1), 6
|
||||||
|
call Request1bpp
|
||||||
|
call FlyMap
|
||||||
|
call Function91c8f
|
||||||
|
ld b, $2
|
||||||
|
call GetSGBLayout
|
||||||
|
call SetPalettes
|
||||||
|
.loop
|
||||||
|
call JoyTextDelay
|
||||||
|
ld hl, hJoyPressed
|
||||||
|
ld a, [hl]
|
||||||
|
and B_BUTTON
|
||||||
|
jr nz, .pressedB
|
||||||
|
ld a, [hl]
|
||||||
|
and A_BUTTON
|
||||||
|
jr nz, .pressedA
|
||||||
|
call FlyMapScroll
|
||||||
|
call GetMapCursorCoordinates
|
||||||
|
callba Function8cf69
|
||||||
|
call DelayFrame
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
.pressedB
|
||||||
|
ld a, -1
|
||||||
|
jr .exit
|
||||||
|
|
||||||
|
.pressedA
|
||||||
|
ld a, [wd002]
|
||||||
|
ld l, a
|
||||||
|
ld h, 0
|
||||||
|
add hl, hl
|
||||||
|
ld de, Flypoints + 1
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
|
||||||
|
.exit
|
||||||
|
ld [wd002], a
|
||||||
|
pop af
|
||||||
|
ld [hInMenu], a
|
||||||
|
call ClearBGPalettes
|
||||||
|
ld a, $90
|
||||||
|
ld [hWY], a
|
||||||
|
xor a
|
||||||
|
ld [hBGMapAddress], a
|
||||||
|
ld a, VBGMap0 / $100
|
||||||
|
ld [hBGMapAddress + 1], a
|
||||||
|
ld a, [wd002]
|
||||||
|
ld e, a
|
||||||
|
ret
|
||||||
|
; 91b73
|
||||||
|
|
||||||
|
FlyMapScroll: ; 91b73
|
||||||
|
ld a, [StartFlypoint]
|
||||||
|
ld e, a
|
||||||
|
ld a, [EndFlypoint]
|
||||||
|
ld d, a
|
||||||
|
ld hl, hJoyLast
|
||||||
|
ld a, [hl]
|
||||||
|
and D_UP
|
||||||
|
jr nz, .ScrollNext
|
||||||
|
ld a, [hl]
|
||||||
|
and D_DOWN
|
||||||
|
jr nz, .ScrollPrev
|
||||||
|
ret
|
||||||
|
|
||||||
|
.ScrollNext
|
||||||
|
ld hl, wd002
|
||||||
|
ld a, [hl]
|
||||||
|
cp d
|
||||||
|
jr nz, .NotAtEndYet
|
||||||
|
ld a, e
|
||||||
|
dec a
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
.NotAtEndYet
|
||||||
|
inc [hl]
|
||||||
|
call CheckIfVisitedFlypoint
|
||||||
|
jr z, .ScrollNext
|
||||||
|
jr .Finally
|
||||||
|
|
||||||
|
.ScrollPrev
|
||||||
|
ld hl, wd002
|
||||||
|
ld a, [hl]
|
||||||
|
cp e
|
||||||
|
jr nz, .NotAtStartYet
|
||||||
|
ld a, d
|
||||||
|
inc a
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
.NotAtStartYet
|
||||||
|
dec [hl]
|
||||||
|
call CheckIfVisitedFlypoint
|
||||||
|
jr z, .ScrollPrev
|
||||||
|
|
||||||
|
.Finally
|
||||||
|
call TownMapBubble
|
||||||
|
call WaitBGMap
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ret
|
||||||
|
; 91bb5
|
||||||
|
|
||||||
|
TownMapBubble: ; 91bb5
|
||||||
|
; Draw the bubble containing the location text in the town map HUD
|
||||||
|
|
||||||
|
; Top-left corner
|
||||||
|
hlcoord 1, 0
|
||||||
|
ld a, $30
|
||||||
|
ld [hli], a
|
||||||
|
|
||||||
|
; Top row
|
||||||
|
ld bc, 16
|
||||||
|
ld a, " "
|
||||||
|
call ByteFill
|
||||||
|
|
||||||
|
; Top-right corner
|
||||||
|
ld a, $31
|
||||||
|
ld [hl], a
|
||||||
|
hlcoord 1, 1
|
||||||
|
|
||||||
|
|
||||||
|
; Middle row
|
||||||
|
ld bc, 18
|
||||||
|
ld a, " "
|
||||||
|
call ByteFill
|
||||||
|
|
||||||
|
|
||||||
|
; Bottom-left corner
|
||||||
|
hlcoord 1, 2
|
||||||
|
ld a, $32
|
||||||
|
ld [hli], a
|
||||||
|
|
||||||
|
; Bottom row
|
||||||
|
ld bc, 16
|
||||||
|
ld a, " "
|
||||||
|
call ByteFill
|
||||||
|
|
||||||
|
; Bottom-right corner
|
||||||
|
ld a, $33
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
|
||||||
|
; Print "Where?"
|
||||||
|
hlcoord 2, 0
|
||||||
|
ld de, .Where
|
||||||
|
call PlaceString
|
||||||
|
|
||||||
|
; Print the name of the default flypoint
|
||||||
|
call .Name
|
||||||
|
|
||||||
|
; Up/down arrows
|
||||||
|
hlcoord 18, 1
|
||||||
|
ld [hl], $34
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Where
|
||||||
|
db "Where?@"
|
||||||
|
|
||||||
|
.Name
|
||||||
|
; We need the map location of the default flypoint
|
||||||
|
ld a, [wd002]
|
||||||
|
ld l, a
|
||||||
|
ld h, 0
|
||||||
|
add hl, hl ; two bytes per flypoint
|
||||||
|
ld de, Flypoints
|
||||||
|
add hl, de
|
||||||
|
ld e, [hl]
|
||||||
|
|
||||||
|
callba GetLandmarkName
|
||||||
|
|
||||||
|
hlcoord 2, 1
|
||||||
|
ld de, StringBuffer1
|
||||||
|
call PlaceString
|
||||||
|
ret
|
||||||
|
; 91c17
|
||||||
|
|
||||||
|
GetMapCursorCoordinates: ; 91c17
|
||||||
|
ld a, [wd002]
|
||||||
|
ld l, a
|
||||||
|
ld h, $0
|
||||||
|
add hl, hl
|
||||||
|
ld de, Flypoints
|
||||||
|
add hl, de
|
||||||
|
ld e, [hl]
|
||||||
|
callba GetLandmarkCoords
|
||||||
|
ld a, [wd003]
|
||||||
|
ld c, a
|
||||||
|
ld a, [wd004]
|
||||||
|
ld b, a
|
||||||
|
ld hl, $4
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], e
|
||||||
|
ld hl, $5
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], d
|
||||||
|
ret
|
||||||
|
; 91c3c
|
||||||
|
|
||||||
|
CheckIfVisitedFlypoint: ; 91c3c
|
||||||
|
; Check if the flypoint loaded in [hl] has been visited yet.
|
||||||
|
push bc
|
||||||
|
push de
|
||||||
|
push hl
|
||||||
|
ld l, [hl]
|
||||||
|
ld h, 0
|
||||||
|
add hl, hl
|
||||||
|
ld de, Flypoints + 1
|
||||||
|
add hl, de
|
||||||
|
ld c, [hl]
|
||||||
|
call HasVisitedSpawn
|
||||||
|
pop hl
|
||||||
|
pop de
|
||||||
|
pop bc
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 91c50
|
||||||
|
|
||||||
|
HasVisitedSpawn: ; 91c50
|
||||||
|
; Check if spawn point c has been visited.
|
||||||
|
ld hl, VisitedSpawns
|
||||||
|
ld b, CHECK_FLAG
|
||||||
|
ld d, 0
|
||||||
|
predef FlagPredef
|
||||||
|
ld a, c
|
||||||
|
ret
|
||||||
|
; 91c5e
|
||||||
|
|
||||||
|
Flypoints: ; 91c5e
|
||||||
|
; landmark, spawn point
|
||||||
|
|
||||||
|
const_def
|
||||||
|
|
||||||
|
flypoint: MACRO
|
||||||
|
; \1\@FLY EQUS "FLY_\1"
|
||||||
|
; \1\@SPAWN EQUS "SPAWN_\1"
|
||||||
|
; const \1\@FLY
|
||||||
|
; db \2, \1\@SPAWN
|
||||||
|
const FLY_\1
|
||||||
|
db \2, SPAWN_\1
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Johto
|
||||||
|
flypoint NEW_BARK, NEW_BARK_TOWN
|
||||||
|
flypoint CHERRYGROVE, CHERRYGROVE_CITY
|
||||||
|
flypoint VIOLET, VIOLET_CITY
|
||||||
|
flypoint AZALEA, AZALEA_TOWN
|
||||||
|
flypoint GOLDENROD, GOLDENROD_CITY
|
||||||
|
flypoint ECRUTEAK, ECRUTEAK_CITY
|
||||||
|
flypoint OLIVINE, OLIVINE_CITY
|
||||||
|
flypoint CIANWOOD, CIANWOOD_CITY
|
||||||
|
flypoint MAHOGANY, MAHOGANY_TOWN
|
||||||
|
flypoint LAKE, LAKE_OF_RAGE
|
||||||
|
flypoint BLACKTHORN, BLACKTHORN_CITY
|
||||||
|
flypoint MT_SILVER, SILVER_CAVE
|
||||||
|
|
||||||
|
; Kanto
|
||||||
|
KANTO_FLYPOINT EQU const_value
|
||||||
|
|
||||||
|
flypoint PALLET, PALLET_TOWN
|
||||||
|
flypoint VIRIDIAN, VIRIDIAN_CITY
|
||||||
|
flypoint PEWTER, PEWTER_CITY
|
||||||
|
flypoint CERULEAN, CERULEAN_CITY
|
||||||
|
flypoint VERMILION, VERMILION_CITY
|
||||||
|
flypoint ROCK_TUNNEL, ROCK_TUNNEL
|
||||||
|
flypoint LAVENDER, LAVENDER_TOWN
|
||||||
|
flypoint CELADON, CELADON_CITY
|
||||||
|
flypoint SAFFRON, SAFFRON_CITY
|
||||||
|
flypoint FUCHSIA, FUCHSIA_CITY
|
||||||
|
flypoint CINNABAR, CINNABAR_ISLAND
|
||||||
|
flypoint INDIGO, INDIGO_PLATEAU
|
||||||
|
|
||||||
|
db -1
|
||||||
|
; 91c8f
|
||||||
|
|
||||||
|
Function91c8f: ; 91c8f
|
||||||
|
ret
|
||||||
|
; 91c90
|
||||||
|
|
||||||
|
FlyMap: ; 91c90
|
||||||
|
|
||||||
|
ld a, [MapGroup]
|
||||||
|
ld b, a
|
||||||
|
ld a, [MapNumber]
|
||||||
|
ld c, a
|
||||||
|
call GetWorldMapLocation
|
||||||
|
|
||||||
|
; If we're not in a valid location, i.e. Pokecenter floor 2F,
|
||||||
|
; the backup map information is used
|
||||||
|
|
||||||
|
cp SPECIAL_MAP
|
||||||
|
jr nz, .CheckRegion
|
||||||
|
|
||||||
|
ld a, [BackupMapGroup]
|
||||||
|
ld b, a
|
||||||
|
ld a, [BackupMapNumber]
|
||||||
|
ld c, a
|
||||||
|
call GetWorldMapLocation
|
||||||
|
|
||||||
|
.CheckRegion
|
||||||
|
; The first 46 locations are part of Johto. The rest are in Kanto
|
||||||
|
cp KANTO_LANDMARK
|
||||||
|
jr nc, .KantoFlyMap
|
||||||
|
|
||||||
|
.JohtoFlyMap
|
||||||
|
; Note that .NoKanto should be modified in tandem with this branch
|
||||||
|
|
||||||
|
push af
|
||||||
|
|
||||||
|
; Start from New Bark Town
|
||||||
|
ld a, FLY_NEW_BARK
|
||||||
|
ld [wd002], a
|
||||||
|
|
||||||
|
; Flypoints begin at New Bark Town...
|
||||||
|
ld [StartFlypoint], a
|
||||||
|
; ..and end at Silver Cave
|
||||||
|
ld a, FLY_MT_SILVER
|
||||||
|
ld [EndFlypoint], a
|
||||||
|
|
||||||
|
; Fill out the map
|
||||||
|
call FillJohtoMap
|
||||||
|
call .MapHud
|
||||||
|
pop af
|
||||||
|
call TownMapPlayerIcon
|
||||||
|
ret
|
||||||
|
|
||||||
|
.KantoFlyMap
|
||||||
|
|
||||||
|
; The event that there are no flypoints enabled in a map is not
|
||||||
|
; accounted for. As a result, if you attempt to select a flypoint
|
||||||
|
; when there are none enabled, the game will crash. Additionally,
|
||||||
|
; the flypoint selection has a default starting point that
|
||||||
|
; can be flown to even if none are enabled
|
||||||
|
|
||||||
|
; To prevent both of these things from happening when the player
|
||||||
|
; enters Kanto, fly access is restricted until Indigo Plateau is
|
||||||
|
; visited and its flypoint enabled
|
||||||
|
|
||||||
|
push af
|
||||||
|
ld c, SPAWN_INDIGO
|
||||||
|
call HasVisitedSpawn
|
||||||
|
and a
|
||||||
|
jr z, .NoKanto
|
||||||
|
|
||||||
|
; Kanto's map is only loaded if we've visited Indigo Plateau
|
||||||
|
|
||||||
|
; Flypoints begin at Pallet Town...
|
||||||
|
ld a, FLY_PALLET
|
||||||
|
ld [StartFlypoint], a
|
||||||
|
; ...and end at Indigo Plateau
|
||||||
|
ld a, FLY_INDIGO
|
||||||
|
ld [EndFlypoint], a
|
||||||
|
|
||||||
|
; Because Indigo Plateau is the first flypoint the player
|
||||||
|
; visits, it's made the default flypoint
|
||||||
|
ld [wd002], a
|
||||||
|
|
||||||
|
; Fill out the map
|
||||||
|
call FillKantoMap
|
||||||
|
call .MapHud
|
||||||
|
pop af
|
||||||
|
call TownMapPlayerIcon
|
||||||
|
ret
|
||||||
|
|
||||||
|
.NoKanto
|
||||||
|
; If Indigo Plateau hasn't been visited, we use Johto's map instead
|
||||||
|
|
||||||
|
; Start from New Bark Town
|
||||||
|
ld a, FLY_NEW_BARK
|
||||||
|
ld [wd002], a
|
||||||
|
|
||||||
|
; Flypoints begin at New Bark Town...
|
||||||
|
ld [StartFlypoint], a
|
||||||
|
; ..and end at Silver Cave
|
||||||
|
ld a, FLY_MT_SILVER
|
||||||
|
ld [EndFlypoint], a
|
||||||
|
|
||||||
|
call FillJohtoMap
|
||||||
|
|
||||||
|
pop af
|
||||||
|
|
||||||
|
.MapHud
|
||||||
|
call TownMapBubble
|
||||||
|
call TownMapPals
|
||||||
|
|
||||||
|
ld hl, VBGMap0 ; BG Map 0
|
||||||
|
call TownMapBGUpdate
|
||||||
|
|
||||||
|
call TownMapMon
|
||||||
|
ld a, c
|
||||||
|
ld [wd003], a
|
||||||
|
ld a, b
|
||||||
|
ld [wd004], a
|
||||||
|
ret
|
||||||
|
; 91d11
|
||||||
|
|
||||||
|
Function91d11: ; 91d11
|
||||||
|
ld a, [wd002]
|
||||||
|
push af
|
||||||
|
ld a, [wd003]
|
||||||
|
push af
|
||||||
|
ld a, e
|
||||||
|
ld [wd002], a
|
||||||
|
call ClearSprites
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ld a, $1
|
||||||
|
ld [hInMenu], a
|
||||||
|
ld de, GFX_922d1
|
||||||
|
ld hl, VTiles0 tile $7f
|
||||||
|
lb bc, BANK(GFX_922d1), 1
|
||||||
|
call Request2bpp ; actually 1bpp
|
||||||
|
call Function91ed0
|
||||||
|
ld hl, VTiles0 tile $78
|
||||||
|
ld c, $4
|
||||||
|
call Request2bpp
|
||||||
|
call Function91ff2
|
||||||
|
call FillKantoMap
|
||||||
|
call Function91de9
|
||||||
|
call TownMapPals
|
||||||
|
ld hl, VBGMap1
|
||||||
|
call TownMapBGUpdate
|
||||||
|
call FillJohtoMap
|
||||||
|
call Function91de9
|
||||||
|
call TownMapPals
|
||||||
|
ld hl, VBGMap0
|
||||||
|
call TownMapBGUpdate
|
||||||
|
ld b, $2
|
||||||
|
call GetSGBLayout
|
||||||
|
call SetPalettes
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
xor a
|
||||||
|
call Function91e1e
|
||||||
|
.asm_91d6e
|
||||||
|
call JoyTextDelay
|
||||||
|
ld hl, hJoyPressed
|
||||||
|
ld a, [hl]
|
||||||
|
and A_BUTTON | B_BUTTON
|
||||||
|
jr nz, .asm_91d8f
|
||||||
|
ld a, [hJoypadDown]
|
||||||
|
and SELECT
|
||||||
|
jr nz, .asm_91d87
|
||||||
|
call Function91d9b
|
||||||
|
call Function91dcd
|
||||||
|
jr .asm_91d8a
|
||||||
|
|
||||||
|
.asm_91d87
|
||||||
|
call Function91e5a
|
||||||
|
|
||||||
|
.asm_91d8a
|
||||||
|
call DelayFrame
|
||||||
|
jr .asm_91d6e
|
||||||
|
|
||||||
|
.asm_91d8f
|
||||||
|
call ClearSprites
|
||||||
|
pop af
|
||||||
|
ld [wd003], a
|
||||||
|
pop af
|
||||||
|
ld [wd002], a
|
||||||
|
ret
|
||||||
|
; 91d9b
|
||||||
|
|
||||||
|
Function91d9b: ; 91d9b
|
||||||
|
ld a, [hl]
|
||||||
|
and $20
|
||||||
|
jr nz, .asm_91da6
|
||||||
|
ld a, [hl]
|
||||||
|
and $10
|
||||||
|
jr nz, .asm_91db7
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_91da6
|
||||||
|
ld a, [hWY]
|
||||||
|
cp $90
|
||||||
|
ret z
|
||||||
|
call ClearSprites
|
||||||
|
ld a, $90
|
||||||
|
ld [hWY], a
|
||||||
|
xor a
|
||||||
|
call Function91e1e
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_91db7
|
||||||
|
ld a, [StatusFlags]
|
||||||
|
bit 6, a
|
||||||
|
ret z
|
||||||
|
ld a, [hWY]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
call ClearSprites
|
||||||
|
xor a
|
||||||
|
ld [hWY], a
|
||||||
|
ld a, $1
|
||||||
|
call Function91e1e
|
||||||
|
ret
|
||||||
|
; 91dcd
|
||||||
|
|
||||||
|
Function91dcd: ; 91dcd
|
||||||
|
ld a, [hVBlankCounter]
|
||||||
|
ld e, a
|
||||||
|
and $f
|
||||||
|
ret nz
|
||||||
|
ld a, e
|
||||||
|
and $10
|
||||||
|
jr nz, .asm_91ddc
|
||||||
|
call ClearSprites
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_91ddc
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld de, Sprites
|
||||||
|
ld bc, $a0
|
||||||
|
call CopyBytes
|
||||||
|
ret
|
||||||
|
; 91de9
|
||||||
|
|
||||||
|
Function91de9: ; 91de9
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld bc, SCREEN_WIDTH
|
||||||
|
ld a, $7f
|
||||||
|
call ByteFill
|
||||||
|
hlcoord 0, 1
|
||||||
|
ld a, $6
|
||||||
|
ld [hli], a
|
||||||
|
ld bc, SCREEN_HEIGHT
|
||||||
|
ld a, $7
|
||||||
|
call ByteFill
|
||||||
|
ld [hl], $17
|
||||||
|
call GetPokemonName
|
||||||
|
hlcoord 2, 0
|
||||||
|
call PlaceString
|
||||||
|
ld h, b
|
||||||
|
ld l, c
|
||||||
|
ld de, String_91e16
|
||||||
|
call PlaceString
|
||||||
|
ret
|
||||||
|
; 91e16
|
||||||
|
|
||||||
|
String_91e16:
|
||||||
|
db "'S NEST@"
|
||||||
|
; 91e1e
|
||||||
|
|
||||||
|
Function91e1e: ; 91e1e
|
||||||
|
ld [wd003], a
|
||||||
|
ld e, a
|
||||||
|
callba Function2a01f
|
||||||
|
decoord 0, 0
|
||||||
|
ld hl, Sprites
|
||||||
|
.asm_91e2e
|
||||||
|
ld a, [de]
|
||||||
|
and a
|
||||||
|
jr z, .asm_91e4d
|
||||||
|
push de
|
||||||
|
ld e, a
|
||||||
|
push hl
|
||||||
|
callba GetLandmarkCoords
|
||||||
|
pop hl
|
||||||
|
ld a, d
|
||||||
|
sub $4
|
||||||
|
ld [hli], a
|
||||||
|
ld a, e
|
||||||
|
sub $4
|
||||||
|
ld [hli], a
|
||||||
|
ld a, $7f
|
||||||
|
ld [hli], a
|
||||||
|
xor a
|
||||||
|
ld [hli], a
|
||||||
|
pop de
|
||||||
|
inc de
|
||||||
|
jr .asm_91e2e
|
||||||
|
|
||||||
|
.asm_91e4d
|
||||||
|
ld hl, Sprites
|
||||||
|
decoord 0, 0
|
||||||
|
ld bc, $a0
|
||||||
|
call CopyBytes
|
||||||
|
ret
|
||||||
|
; 91e5a
|
||||||
|
|
||||||
|
Function91e5a: ; 91e5a
|
||||||
|
call Function91ea9
|
||||||
|
ret c
|
||||||
|
|
||||||
|
ld a, [wd002]
|
||||||
|
ld e, a
|
||||||
|
callba GetLandmarkCoords
|
||||||
|
ld c, e
|
||||||
|
ld b, d
|
||||||
|
ld de, Unknown_91e9c
|
||||||
|
ld hl, Sprites
|
||||||
|
.asm_91e70
|
||||||
|
ld a, [de]
|
||||||
|
cp $80
|
||||||
|
jr z, .asm_91e91
|
||||||
|
|
||||||
|
add b
|
||||||
|
ld [hli], a
|
||||||
|
inc de
|
||||||
|
|
||||||
|
ld a, [de]
|
||||||
|
add c
|
||||||
|
ld [hli], a
|
||||||
|
inc de
|
||||||
|
|
||||||
|
ld a, [de]
|
||||||
|
add $78
|
||||||
|
ld [hli], a
|
||||||
|
inc de
|
||||||
|
|
||||||
|
push bc
|
||||||
|
ld c, 0
|
||||||
|
ld a, [PlayerGender]
|
||||||
|
bit 0, a
|
||||||
|
jr z, .asm_91e8c
|
||||||
|
inc c
|
||||||
|
.asm_91e8c
|
||||||
|
ld a, c
|
||||||
|
ld [hli], a
|
||||||
|
pop bc
|
||||||
|
|
||||||
|
jr .asm_91e70
|
||||||
|
|
||||||
|
.asm_91e91
|
||||||
|
ld hl, Sprites + $10
|
||||||
|
ld bc, SpritesEnd - (Sprites + $10)
|
||||||
|
xor a
|
||||||
|
call ByteFill
|
||||||
|
ret
|
||||||
|
; 91e9c
|
||||||
|
|
||||||
|
Unknown_91e9c: ; 91e9c
|
||||||
|
db -8, -8, 0
|
||||||
|
db -8, 0, 1
|
||||||
|
db 0, -8, 2
|
||||||
|
db 0, 0, 3
|
||||||
|
db $80 ; terminator
|
||||||
|
; 91ea9
|
||||||
|
|
||||||
|
Function91ea9: ; 91ea9
|
||||||
|
ld a, [wd002]
|
||||||
|
cp FAST_SHIP
|
||||||
|
jr z, .johto
|
||||||
|
cp KANTO_LANDMARK
|
||||||
|
jr c, .johto
|
||||||
|
|
||||||
|
.kanto
|
||||||
|
ld a, [wd003]
|
||||||
|
and a
|
||||||
|
jr z, .clear
|
||||||
|
jr .ok
|
||||||
|
|
||||||
|
.johto
|
||||||
|
ld a, [wd003]
|
||||||
|
and a
|
||||||
|
jr nz, .clear
|
||||||
|
|
||||||
|
.ok
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.clear
|
||||||
|
ld hl, Sprites
|
||||||
|
ld bc, SpritesEnd - Sprites
|
||||||
|
xor a
|
||||||
|
call ByteFill
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 91ed0
|
||||||
|
|
||||||
|
Function91ed0: ; 91ed0
|
||||||
|
ld a, [wd002]
|
||||||
|
cp FAST_SHIP
|
||||||
|
jr z, .asm_91ede
|
||||||
|
callba GetPlayerIcon
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_91ede
|
||||||
|
ld de, FastShipGFX
|
||||||
|
ld b, BANK(FastShipGFX)
|
||||||
|
ret
|
||||||
|
; 91ee4
|
||||||
|
|
||||||
|
TownMapBGUpdate: ; 91ee4
|
||||||
|
; Update BG Map tiles and attributes
|
||||||
|
|
||||||
|
; BG Map address
|
||||||
|
ld a, l
|
||||||
|
ld [hBGMapAddress], a
|
||||||
|
ld a, h
|
||||||
|
ld [hBGMapAddress + 1], a
|
||||||
|
|
||||||
|
; Only update palettes on CGB
|
||||||
|
ld a, [hCGB]
|
||||||
|
and a
|
||||||
|
jr z, .tiles
|
||||||
|
|
||||||
|
; BG Map mode 2 (palettes)
|
||||||
|
ld a, 2
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
|
||||||
|
; The BG Map is updated in thirds, so we wait
|
||||||
|
; 3 frames to update the whole screen's palettes.
|
||||||
|
ld c, 3
|
||||||
|
call DelayFrames
|
||||||
|
|
||||||
|
.tiles
|
||||||
|
; Update BG Map tiles
|
||||||
|
call WaitBGMap
|
||||||
|
|
||||||
|
; Turn off BG Map update
|
||||||
|
xor a
|
||||||
|
ld [hBGMapMode], a
|
||||||
|
ret
|
||||||
|
; 91eff
|
||||||
|
|
||||||
|
FillJohtoMap: ; 91eff
|
||||||
|
ld de, JohtoMap
|
||||||
|
jr FillTownMap
|
||||||
|
|
||||||
|
FillKantoMap: ; 91f04
|
||||||
|
ld de, KantoMap
|
||||||
|
|
||||||
|
FillTownMap: ; 91f07
|
||||||
|
hlcoord 0, 0
|
||||||
|
.loop
|
||||||
|
ld a, [de]
|
||||||
|
cp $ff
|
||||||
|
ret z
|
||||||
|
ld a, [de]
|
||||||
|
ld [hli], a
|
||||||
|
inc de
|
||||||
|
jr .loop
|
||||||
|
; 91f13
|
||||||
|
|
||||||
|
TownMapPals: ; 91f13
|
||||||
|
; Assign palettes based on tile ids
|
||||||
|
|
||||||
|
hlcoord 0, 0
|
||||||
|
decoord 0, 0, AttrMap
|
||||||
|
ld bc, 360
|
||||||
|
.loop
|
||||||
|
; Current tile
|
||||||
|
ld a, [hli]
|
||||||
|
push hl
|
||||||
|
|
||||||
|
; HP/borders use palette 0
|
||||||
|
cp $60
|
||||||
|
jr nc, .pal0
|
||||||
|
|
||||||
|
; The palette data is condensed to nybbles,
|
||||||
|
; least-significant first.
|
||||||
|
ld hl, TownMapPalMap
|
||||||
|
srl a
|
||||||
|
jr c, .odd
|
||||||
|
|
||||||
|
; Even-numbered tile ids take the bottom nybble...
|
||||||
|
add l
|
||||||
|
ld l, a
|
||||||
|
ld a, h
|
||||||
|
adc 0
|
||||||
|
ld h, a
|
||||||
|
ld a, [hl]
|
||||||
|
and %111
|
||||||
|
jr .update
|
||||||
|
|
||||||
|
.odd
|
||||||
|
; ...and odd ids take the top.
|
||||||
|
add l
|
||||||
|
ld l, a
|
||||||
|
ld a, h
|
||||||
|
adc 0
|
||||||
|
ld h, a
|
||||||
|
ld a, [hl]
|
||||||
|
swap a
|
||||||
|
and %111
|
||||||
|
jr .update
|
||||||
|
|
||||||
|
.pal0
|
||||||
|
xor a
|
||||||
|
|
||||||
|
.update
|
||||||
|
pop hl
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
dec bc
|
||||||
|
ld a, b
|
||||||
|
or c
|
||||||
|
jr nz, .loop
|
||||||
|
ret
|
||||||
|
|
||||||
|
TownMapPalMap:
|
||||||
|
db $11, $21, $22, $00, $11, $13, $54, $54, $11, $21, $22, $00
|
||||||
|
db $11, $10, $01, $00, $11, $21, $22, $00, $00, $00, $00, $00
|
||||||
|
db $00, $00, $44, $04, $00, $00, $00, $00, $33, $33, $33, $33
|
||||||
|
db $33, $33, $33, $03, $33, $33, $33, $33, $00, $00, $00, $00
|
||||||
|
; 91f7b
|
||||||
|
|
||||||
|
TownMapMon: ; 91f7b
|
||||||
|
; Draw the FlyMon icon at town map location in
|
||||||
|
|
||||||
|
; Get FlyMon species
|
||||||
|
ld a, [CurPartyMon]
|
||||||
|
ld hl, PartySpecies
|
||||||
|
ld e, a
|
||||||
|
ld d, $0
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
ld [wd265], a
|
||||||
|
|
||||||
|
; Get FlyMon icon
|
||||||
|
ld e, 8 ; starting tile in VRAM
|
||||||
|
callba GetSpeciesIcon
|
||||||
|
|
||||||
|
; Animation/palette
|
||||||
|
ld de, 0
|
||||||
|
ld a, $0
|
||||||
|
call Function3b2a
|
||||||
|
|
||||||
|
ld hl, 3
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], 8
|
||||||
|
ld hl, 2
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], 0
|
||||||
|
ret
|
||||||
|
; 91fa6
|
||||||
|
|
||||||
|
TownMapPlayerIcon: ; 91fa6
|
||||||
|
; Draw the player icon at town map location in a
|
||||||
|
push af
|
||||||
|
|
||||||
|
callba GetPlayerIcon
|
||||||
|
|
||||||
|
; Standing icon
|
||||||
|
ld hl, VTiles0 tile $10
|
||||||
|
ld c, 4 ; # tiles
|
||||||
|
call Request2bpp
|
||||||
|
|
||||||
|
; Walking icon
|
||||||
|
ld hl, $c0
|
||||||
|
add hl, de
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
ld hl, VTiles0 tile $14
|
||||||
|
ld c, 4 ; # tiles
|
||||||
|
ld a, BANK(ChrisSpriteGFX) ; does nothing
|
||||||
|
call Request2bpp
|
||||||
|
|
||||||
|
; Animation/palette
|
||||||
|
ld de, 0
|
||||||
|
ld b, $0a ; Male
|
||||||
|
ld a, [PlayerGender]
|
||||||
|
bit 0, a
|
||||||
|
jr z, .asm_91fd3
|
||||||
|
ld b, $1e ; Female
|
||||||
|
.asm_91fd3
|
||||||
|
ld a, b
|
||||||
|
call Function3b2a
|
||||||
|
|
||||||
|
ld hl, $3
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], $10
|
||||||
|
|
||||||
|
pop af
|
||||||
|
ld e, a
|
||||||
|
push bc
|
||||||
|
callba GetLandmarkCoords
|
||||||
|
pop bc
|
||||||
|
|
||||||
|
ld hl, 4
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], e
|
||||||
|
ld hl, 5
|
||||||
|
add hl, bc
|
||||||
|
ld [hl], d
|
||||||
|
ret
|
||||||
|
; 0x91ff2
|
||||||
|
|
||||||
|
Function91ff2: ; 91ff2
|
||||||
|
ld hl, TownMapGFX
|
||||||
|
ld de, VTiles2
|
||||||
|
lb bc, BANK(TownMapGFX), $30
|
||||||
|
call DecompressRequest2bpp
|
||||||
|
ret
|
||||||
|
; 91fff
|
||||||
|
|
||||||
|
|
||||||
|
JohtoMap: ; 91fff
|
||||||
|
INCBIN "gfx/misc/johto.bin"
|
||||||
|
; 92168
|
||||||
|
|
||||||
|
KantoMap: ; 92168
|
||||||
|
INCBIN "gfx/misc/kanto.bin"
|
||||||
|
; 922d1
|
||||||
|
|
||||||
|
|
||||||
|
GFX_922d1: ; 922d1
|
||||||
|
INCBIN "gfx/unknown/0922d1.2bpp"
|
||||||
|
GFX_922e1: ; 922e1
|
||||||
|
INCBIN "gfx/unknown/0922e1.2bpp"
|
||||||
|
GFX_92301: ; 92301
|
||||||
|
INCBIN "gfx/unknown/092301.2bpp"
|
@ -1,6 +1,6 @@
|
|||||||
LinkCommunications: ; 28000
|
LinkCommunications: ; 28000
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
ld c, $50
|
ld c, 80
|
||||||
call DelayFrames
|
call DelayFrames
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
@ -8,7 +8,7 @@ LinkCommunications: ; 28000
|
|||||||
xor a
|
xor a
|
||||||
ld [hSCX], a
|
ld [hSCX], a
|
||||||
ld [hSCY], a
|
ld [hSCY], a
|
||||||
ld c, $50
|
ld c, 80
|
||||||
call DelayFrames
|
call DelayFrames
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
call UpdateSprites
|
call UpdateSprites
|
||||||
@ -431,7 +431,7 @@ Function28177: ; 28177
|
|||||||
ld de, OTName
|
ld de, OTName
|
||||||
ld bc, NAME_LENGTH
|
ld bc, NAME_LENGTH
|
||||||
call CopyBytes
|
call CopyBytes
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ld a, [wc2d7]
|
ld a, [wc2d7]
|
||||||
push af
|
push af
|
||||||
ld a, $1
|
ld a, $1
|
||||||
@ -509,7 +509,7 @@ UnknownText_0x283ed: ; 0x283ed
|
|||||||
|
|
||||||
Function283f2: ; 283f2
|
Function283f2: ; 283f2
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$ffcc], a
|
ld [hFFCC], a
|
||||||
.asm_283f6
|
.asm_283f6
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [hSerialSend], a
|
ld [hSerialSend], a
|
||||||
@ -521,14 +521,14 @@ Function283f2: ; 283f2
|
|||||||
.asm_28401
|
.asm_28401
|
||||||
dec a
|
dec a
|
||||||
jr nz, .asm_28401
|
jr nz, .asm_28401
|
||||||
ld a, [$ffcc]
|
ld a, [hFFCC]
|
||||||
and a
|
and a
|
||||||
ld a, b
|
ld a, b
|
||||||
pop bc
|
pop bc
|
||||||
jr z, .asm_28411
|
jr z, .asm_28411
|
||||||
dec hl
|
dec hl
|
||||||
xor a
|
xor a
|
||||||
ld [$ffcc], a
|
ld [hFFCC], a
|
||||||
jr .asm_283f6
|
jr .asm_283f6
|
||||||
|
|
||||||
.asm_28411
|
.asm_28411
|
||||||
@ -2172,7 +2172,7 @@ Function28fa1: ; 28fa1
|
|||||||
Function28fdb: ; 28fdb
|
Function28fdb: ; 28fdb
|
||||||
xor a
|
xor a
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -2495,7 +2495,7 @@ Function29220: ; 29220
|
|||||||
; 29229
|
; 29229
|
||||||
|
|
||||||
Function29229: ; 29229
|
Function29229: ; 29229
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -2623,7 +2623,7 @@ Function292ec: ; 292ec
|
|||||||
|
|
||||||
Function292f6: ; 292f6
|
Function292f6: ; 292f6
|
||||||
push af
|
push af
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call WaitTop
|
call WaitTop
|
||||||
ld a, VBGMap1 / $100
|
ld a, VBGMap1 / $100
|
||||||
ld [hBGMapAddress + 1], a
|
ld [hBGMapAddress + 1], a
|
||||||
@ -3902,7 +3902,7 @@ Function29dba: ; 29dba
|
|||||||
|
|
||||||
Function29e0c: ; 29e0c
|
Function29e0c: ; 29e0c
|
||||||
xor a
|
xor a
|
||||||
ld [$ffca], a
|
ld [hFFCA], a
|
||||||
ld a, [wcf5b]
|
ld a, [wcf5b]
|
||||||
ld h, a
|
ld h, a
|
||||||
ld a, [wcf5c]
|
ld a, [wcf5c]
|
||||||
|
@ -655,7 +655,7 @@ Function467b: ; 467b
|
|||||||
ld hl, OBJECT_12
|
ld hl, OBJECT_12
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
rept 3
|
rept 3
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -848,28 +848,28 @@ RestoreDefaultMovement: ; 4769
|
|||||||
; 4780
|
; 4780
|
||||||
|
|
||||||
ClearObjectStructField27: ; 4780
|
ClearObjectStructField27: ; 4780
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], 0
|
ld [hl], 0
|
||||||
ret
|
ret
|
||||||
; 4787
|
; 4787
|
||||||
|
|
||||||
IncrementObjectStructField27: ; 4787
|
IncrementObjectStructField27: ; 4787
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
inc [hl]
|
inc [hl]
|
||||||
ret
|
ret
|
||||||
; 478d
|
; 478d
|
||||||
|
|
||||||
DecrementObjectStructField27: ; 478d
|
DecrementObjectStructField27: ; 478d
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret
|
ret
|
||||||
; 4793
|
; 4793
|
||||||
|
|
||||||
JumptoObjectStructField27: ; 4793
|
JumptoObjectStructField27: ; 4793
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
pop hl
|
pop hl
|
||||||
@ -1043,17 +1043,17 @@ Function47dd: ; 47dd
|
|||||||
|
|
||||||
.ObeyDPad: ; 487c
|
.ObeyDPad: ; 487c
|
||||||
ld hl, Function5000
|
ld hl, Function5000
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 4882
|
; 4882
|
||||||
|
|
||||||
.Movement08: ; 4882
|
.Movement08: ; 4882
|
||||||
ld hl, Function5015
|
ld hl, Function5015
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 4888
|
; 4888
|
||||||
|
|
||||||
.Movement09: ; 4888
|
.Movement09: ; 4888
|
||||||
ld hl, Function5026
|
ld hl, Function5026
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 488e
|
; 488e
|
||||||
|
|
||||||
.Movement0a: ; 488e
|
.Movement0a: ; 488e
|
||||||
@ -1070,7 +1070,7 @@ Function47dd: ; 47dd
|
|||||||
|
|
||||||
.Movement0d: ; 4897
|
.Movement0d: ; 4897
|
||||||
ld hl, Function5000
|
ld hl, Function5000
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 489d
|
; 489d
|
||||||
|
|
||||||
.Movement0e: ; 489d
|
.Movement0e: ; 489d
|
||||||
@ -1079,12 +1079,12 @@ Function47dd: ; 47dd
|
|||||||
|
|
||||||
.Follow: ; 48a0
|
.Follow: ; 48a0
|
||||||
ld hl, Function54e6
|
ld hl, Function54e6
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 48a6
|
; 48a6
|
||||||
|
|
||||||
.Script: ; 48a6
|
.Script: ; 48a6
|
||||||
ld hl, Function500e
|
ld hl, Function500e
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 48ac
|
; 48ac
|
||||||
|
|
||||||
.Strength: ; 48ac
|
.Strength: ; 48ac
|
||||||
@ -1149,12 +1149,15 @@ Function47dd: ; 47dd
|
|||||||
ld hl, OBJECT_MAP_X
|
ld hl, OBJECT_MAP_X
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld d, [hl]
|
ld d, [hl]
|
||||||
|
|
||||||
ld hl, OBJECT_MAP_Y
|
ld hl, OBJECT_MAP_Y
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
|
|
||||||
ld hl, OBJECT_32
|
ld hl, OBJECT_32
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
|
|
||||||
push bc
|
push bc
|
||||||
call GetObjectStruct
|
call GetObjectStruct
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
@ -1162,6 +1165,7 @@ Function47dd: ; 47dd
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp STANDING
|
cp STANDING
|
||||||
jr z, .standing
|
jr z, .standing
|
||||||
|
|
||||||
ld hl, OBJECT_NEXT_MAP_X
|
ld hl, OBJECT_NEXT_MAP_X
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -2400,11 +2404,14 @@ UpdateJumpPosition: ; 4fd5
|
|||||||
; 5000
|
; 5000
|
||||||
|
|
||||||
Function5000: ; unscripted?
|
Function5000: ; unscripted?
|
||||||
|
; copy [wc3de] to [wc2df]
|
||||||
ld a, [wc2de]
|
ld a, [wc2de]
|
||||||
ld hl, wc2df
|
ld hl, wc2df
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld a, $3e
|
; load [wc2de] with movement_step_sleep_1
|
||||||
|
ld a, movement_step_sleep_1
|
||||||
ld [wc2de], a
|
ld [wc2de], a
|
||||||
|
; recover the previous value of [wc2de]
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ret
|
ret
|
||||||
; 500e
|
; 500e
|
||||||
@ -2416,7 +2423,7 @@ Function500e: ; scripted
|
|||||||
; 5015
|
; 5015
|
||||||
|
|
||||||
Function5015: ; 5015
|
Function5015: ; 5015
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
inc [hl]
|
inc [hl]
|
||||||
@ -2431,7 +2438,7 @@ Function5015: ; 5015
|
|||||||
; 5026
|
; 5026
|
||||||
|
|
||||||
Function5026: ; 5026
|
Function5026: ; 5026
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
inc [hl]
|
inc [hl]
|
||||||
@ -2446,16 +2453,16 @@ Function5026: ; 5026
|
|||||||
; 5037
|
; 5037
|
||||||
|
|
||||||
Function5037: ; 5037
|
Function5037: ; 5037
|
||||||
ld hl, Function503d
|
ld hl, GetMovementPerson
|
||||||
jp Function5041
|
jp HandleMovementData
|
||||||
; 503d
|
; 503d
|
||||||
|
|
||||||
Function503d: ; 503d
|
GetMovementPerson: ; 503d
|
||||||
ld a, [wMovementPerson]
|
ld a, [wMovementPerson]
|
||||||
ret
|
ret
|
||||||
; 5041
|
; 5041
|
||||||
|
|
||||||
Function5041: ; 5041
|
HandleMovementData: ; 5041
|
||||||
call CopyMovementPointer
|
call CopyMovementPointer
|
||||||
.loop
|
.loop
|
||||||
xor a
|
xor a
|
||||||
@ -2484,7 +2491,7 @@ GetMovementByte: ; 505e
|
|||||||
jp [hl]
|
jp [hl]
|
||||||
; 5065
|
; 5065
|
||||||
|
|
||||||
Function5065: ; 5065
|
ContinueReadingMovement: ; 5065
|
||||||
ld a, 1
|
ld a, 1
|
||||||
ld [wc2ea], a
|
ld [wc2ea], a
|
||||||
ret
|
ret
|
||||||
@ -2563,7 +2570,8 @@ Function54e6: ; 54e6
|
|||||||
.done
|
.done
|
||||||
call Function550a
|
call Function550a
|
||||||
ret c
|
ret c
|
||||||
ld a, $3e
|
|
||||||
|
ld a, movement_step_sleep_1
|
||||||
ret
|
ret
|
||||||
; 550a
|
; 550a
|
||||||
|
|
||||||
@ -2585,7 +2593,7 @@ Function550a: ; 550a
|
|||||||
.nope
|
.nope
|
||||||
ld a, $ff
|
ld a, $ff
|
||||||
ld [wObjectFollow_Follower], a
|
ld [wObjectFollow_Follower], a
|
||||||
ld a, $47
|
ld a, movement_step_end
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
; 5529
|
; 5529
|
||||||
@ -2696,6 +2704,7 @@ Function5582: ; 5582
|
|||||||
Function55ac: ; 55ac
|
Function55ac: ; 55ac
|
||||||
call FindFirstEmptyObjectStruct
|
call FindFirstEmptyObjectStruct
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
ld d, h
|
ld d, h
|
||||||
ld e, l
|
ld e, l
|
||||||
callba Function8286
|
callba Function8286
|
||||||
@ -2703,11 +2712,14 @@ Function55ac: ; 55ac
|
|||||||
; 55b9
|
; 55b9
|
||||||
|
|
||||||
Function55b9: ; 55b9
|
Function55b9: ; 55b9
|
||||||
|
; load into wc2f0:
|
||||||
|
; -1, -1, [de], [de + 1], [de + 2], [hMapObjectIndexBuffer], [MapX], [MapY], -1
|
||||||
ld hl, wc2f0
|
ld hl, wc2f0
|
||||||
ld [hl], -1
|
ld [hl], -1
|
||||||
inc hl
|
inc hl
|
||||||
ld [hl], -1
|
ld [hl], -1
|
||||||
inc hl
|
inc hl
|
||||||
|
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
inc de
|
inc de
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
@ -2716,8 +2728,10 @@ Function55b9: ; 55b9
|
|||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
||||||
ld a, [hMapObjectIndexBuffer]
|
ld a, [hMapObjectIndexBuffer]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
||||||
push hl
|
push hl
|
||||||
ld hl, OBJECT_MAP_X
|
ld hl, OBJECT_MAP_X
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -2726,6 +2740,7 @@ Function55b9: ; 55b9
|
|||||||
add hl, bc
|
add hl, bc
|
||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
pop hl
|
pop hl
|
||||||
|
|
||||||
ld [hl], d
|
ld [hl], d
|
||||||
inc hl
|
inc hl
|
||||||
ld [hl], e
|
ld [hl], e
|
||||||
@ -2786,17 +2801,21 @@ Function561d: ; 561d
|
|||||||
Function5629: ; 5629
|
Function5629: ; 5629
|
||||||
cp NUM_OBJECTS
|
cp NUM_OBJECTS
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
call GetMapObject
|
call GetMapObject
|
||||||
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
|
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp -1
|
cp -1
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
cp NUM_OBJECT_STRUCTS
|
cp NUM_OBJECT_STRUCTS
|
||||||
ret nc
|
ret nc
|
||||||
|
|
||||||
call GetObjectStruct
|
call GetObjectStruct
|
||||||
call GetObjectSprite
|
call GetObjectSprite
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
call Function5673
|
call Function5673
|
||||||
ret
|
ret
|
||||||
; 5645
|
; 5645
|
||||||
@ -2977,9 +2996,9 @@ Function56cd: ; 56cd
|
|||||||
|
|
||||||
.ok7
|
.ok7
|
||||||
ld a, d
|
ld a, d
|
||||||
ld [$ffbf], a
|
ld [hFFBF], a
|
||||||
.loop
|
.loop
|
||||||
ld a, [$ffbf]
|
ld a, [hFFBF]
|
||||||
ld d, a
|
ld d, a
|
||||||
ld a, [hUsedSpriteTile]
|
ld a, [hUsedSpriteTile]
|
||||||
add e
|
add e
|
||||||
@ -3180,7 +3199,7 @@ ResetFollower: ; 5847
|
|||||||
cp -1
|
cp -1
|
||||||
ret z
|
ret z
|
||||||
call GetObjectStruct
|
call GetObjectStruct
|
||||||
callba Function58e3
|
callba Function58e3 ; no need to bankswitch
|
||||||
ld a, -1
|
ld a, -1
|
||||||
ld [wObjectFollow_Follower], a
|
ld [wObjectFollow_Follower], a
|
||||||
ret
|
ret
|
||||||
@ -3294,16 +3313,19 @@ Function58e3: ; 58e3
|
|||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp -1
|
cp -1
|
||||||
jp z, Function5903
|
jp z, Function5903 ; a jr would have been appropriate here
|
||||||
|
|
||||||
push bc
|
push bc
|
||||||
call GetMapObject
|
call GetMapObject
|
||||||
ld hl, MAPOBJECT_MOVEMENT
|
ld hl, MAPOBJECT_MOVEMENT
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
pop bc
|
pop bc
|
||||||
|
|
||||||
ld hl, OBJECT_MOVEMENTTYPE
|
ld hl, OBJECT_MOVEMENTTYPE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], 0
|
ld [hl], 0
|
||||||
@ -3322,6 +3344,7 @@ Function5903: ; 5903
|
|||||||
ld hl, OBJECT_MOVEMENTTYPE
|
ld hl, OBJECT_MOVEMENTTYPE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], 0
|
ld [hl], 0
|
||||||
@ -3495,7 +3518,7 @@ Function59f3: ; 59f3
|
|||||||
.next
|
.next
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld d, a
|
ld d, a
|
||||||
and %11110000
|
and $f0
|
||||||
ret z
|
ret z
|
||||||
cp c
|
cp c
|
||||||
jr nz, .next
|
jr nz, .next
|
||||||
@ -3503,20 +3526,20 @@ Function59f3: ; 59f3
|
|||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
ld a, d
|
ld a, d
|
||||||
and %00001111
|
and $f
|
||||||
call Function5ac2
|
call .GetObjectStructPointer
|
||||||
call Function5a0d
|
call .asm_5a0d
|
||||||
pop hl
|
pop hl
|
||||||
pop bc
|
pop bc
|
||||||
jr .next
|
jr .next
|
||||||
; 5a0d
|
; 5a0d
|
||||||
|
|
||||||
Function5a0d: ; 5a0d
|
.asm_5a0d: ; 5a0d
|
||||||
ld hl, OBJECT_SPRITE_TILE
|
ld hl, OBJECT_SPRITE_TILE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
and %01111111
|
and %01111111
|
||||||
ld [$ffc1], a
|
ld [hFFC1], a
|
||||||
|
|
||||||
xor a
|
xor a
|
||||||
bit 7, [hl]
|
bit 7, [hl]
|
||||||
@ -3550,7 +3573,7 @@ Function5a0d: ; 5a0d
|
|||||||
jr z, .skip4
|
jr z, .skip4
|
||||||
or %10000000
|
or %10000000
|
||||||
.skip4
|
.skip4
|
||||||
ld [$ffc2], a
|
ld [hFFC2], a
|
||||||
|
|
||||||
ld hl, OBJECT_SPRITE_X
|
ld hl, OBJECT_SPRITE_X
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -3565,7 +3588,7 @@ Function5a0d: ; 5a0d
|
|||||||
ld e, a
|
ld e, a
|
||||||
ld a, [wd14c]
|
ld a, [wd14c]
|
||||||
add e
|
add e
|
||||||
ld [$ffbf], a
|
ld [hFFBF], a
|
||||||
|
|
||||||
ld hl, OBJECT_SPRITE_Y
|
ld hl, OBJECT_SPRITE_Y
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -3580,7 +3603,7 @@ Function5a0d: ; 5a0d
|
|||||||
ld e, a
|
ld e, a
|
||||||
ld a, [wd14d]
|
ld a, [wd14d]
|
||||||
add e
|
add e
|
||||||
ld [$ffc0], a
|
ld [hFFC0], a
|
||||||
|
|
||||||
ld hl, OBJECT_FACING_STEP
|
ld hl, OBJECT_FACING_STEP
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -3609,14 +3632,14 @@ Function5a0d: ; 5a0d
|
|||||||
jr nc, .full
|
jr nc, .full
|
||||||
|
|
||||||
.addsprite
|
.addsprite
|
||||||
ld a, [$ffc0]
|
ld a, [hFFC0]
|
||||||
add [hl]
|
add [hl]
|
||||||
inc hl
|
inc hl
|
||||||
|
|
||||||
ld [bc], a
|
ld [bc], a
|
||||||
inc c
|
inc c
|
||||||
|
|
||||||
ld a, [$ffbf]
|
ld a, [hFFBF]
|
||||||
add [hl]
|
add [hl]
|
||||||
inc hl
|
inc hl
|
||||||
|
|
||||||
@ -3626,7 +3649,7 @@ Function5a0d: ; 5a0d
|
|||||||
ld e, [hl]
|
ld e, [hl]
|
||||||
inc hl
|
inc hl
|
||||||
|
|
||||||
ld a, [$ffc1]
|
ld a, [hFFC1]
|
||||||
bit 2, e
|
bit 2, e
|
||||||
jr z, .nope1
|
jr z, .nope1
|
||||||
xor a
|
xor a
|
||||||
@ -3640,7 +3663,7 @@ Function5a0d: ; 5a0d
|
|||||||
ld a, e
|
ld a, e
|
||||||
bit 1, a
|
bit 1, a
|
||||||
jr z, .nope2
|
jr z, .nope2
|
||||||
ld a, [$ffc2]
|
ld a, [hFFC2]
|
||||||
or e
|
or e
|
||||||
.nope2
|
.nope2
|
||||||
and %11110000
|
and %11110000
|
||||||
@ -3665,7 +3688,7 @@ Function5a0d: ; 5a0d
|
|||||||
ret
|
ret
|
||||||
; 5ac2
|
; 5ac2
|
||||||
|
|
||||||
Function5ac2: ; 5ac2
|
.GetObjectStructPointer: ; 5ac2
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
ld hl, .Addresses
|
ld hl, .Addresses
|
||||||
|
@ -17,28 +17,28 @@ endr
|
|||||||
; 15377
|
; 15377
|
||||||
|
|
||||||
MapSetupScripts: ; 15377
|
MapSetupScripts: ; 15377
|
||||||
dw MapSetupScript1
|
dw MapSetupScript_Warp
|
||||||
dw MapSetupScript2
|
dw MapSetupScript_Continue
|
||||||
dw MapSetupScript3
|
dw MapSetupScript_ReloadMap
|
||||||
dw MapSetupScript4
|
dw MapSetupScript_Teleport
|
||||||
dw MapSetupScript5
|
dw MapSetupScript_Door
|
||||||
dw MapSetupScript6
|
dw MapSetupScript_Fall
|
||||||
dw MapSetupScript7
|
dw MapSetupScript_Connection
|
||||||
dw MapSetupScript8
|
dw MapSetupScript_LinkReturn
|
||||||
dw MapSetupScript9
|
dw MapSetupScript_Train
|
||||||
dw MapSetupScript10
|
dw MapSetupScript_Submenu
|
||||||
dw MapSetupScript11
|
dw MapSetupScript_BadWarp
|
||||||
dw MapSetupScript12
|
dw MapSetupScript_Fly
|
||||||
; 1538f
|
; 1538f
|
||||||
|
|
||||||
MapSetupScript4: ; 1538f
|
MapSetupScript_Teleport: ; 1538f
|
||||||
db map_prolong_sprites
|
db map_prolong_sprites
|
||||||
|
|
||||||
MapSetupScript12: ; 15390
|
MapSetupScript_Fly: ; 15390
|
||||||
db map_fade_out_palettes
|
db map_fade_out_palettes
|
||||||
db map_keep_roam
|
db map_keep_roam
|
||||||
|
|
||||||
MapSetupScript1: ; 15392
|
MapSetupScript_Warp: ; 15392
|
||||||
db map_lcd_off
|
db map_lcd_off
|
||||||
db map_sound_off
|
db map_sound_off
|
||||||
db map_load_spawn
|
db map_load_spawn
|
||||||
@ -63,7 +63,7 @@ MapSetupScript1: ; 15392
|
|||||||
db map_wildmons
|
db map_wildmons
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript11: ; 153a9
|
MapSetupScript_BadWarp: ; 153a9
|
||||||
db map_load_spawn
|
db map_load_spawn
|
||||||
db map_attributes
|
db map_attributes
|
||||||
db map_change_callback
|
db map_change_callback
|
||||||
@ -87,7 +87,7 @@ MapSetupScript11: ; 153a9
|
|||||||
db map_wildmons
|
db map_wildmons
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript7: ; 153bf
|
MapSetupScript_Connection: ; 153bf
|
||||||
db map_animations_off
|
db map_animations_off
|
||||||
db map_load_connection
|
db map_load_connection
|
||||||
db map_attributes
|
db map_attributes
|
||||||
@ -106,13 +106,13 @@ MapSetupScript7: ; 153bf
|
|||||||
db map_animations_on
|
db map_animations_on
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript6: ; 153d0
|
MapSetupScript_Fall: ; 153d0
|
||||||
db map_prolong_sprites
|
db map_prolong_sprites
|
||||||
|
|
||||||
MapSetupScript5: ; 153d1
|
MapSetupScript_Door: ; 153d1
|
||||||
db map_fade_out_palettes
|
db map_fade_out_palettes
|
||||||
|
|
||||||
MapSetupScript9: ; 153d2
|
MapSetupScript_Train: ; 153d2
|
||||||
db map_load_warp
|
db map_load_warp
|
||||||
db map_attributes
|
db map_attributes
|
||||||
db map_warp_face
|
db map_warp_face
|
||||||
@ -135,7 +135,7 @@ MapSetupScript9: ; 153d2
|
|||||||
db map_update_roam
|
db map_update_roam
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript3: ; 153e7
|
MapSetupScript_ReloadMap: ; 153e7
|
||||||
db map_fade
|
db map_fade
|
||||||
db map_clear_bg_palettes
|
db map_clear_bg_palettes
|
||||||
db map_lcd_off
|
db map_lcd_off
|
||||||
@ -153,7 +153,7 @@ MapSetupScript3: ; 153e7
|
|||||||
db map_wildmons
|
db map_wildmons
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript8: ; 153f7
|
MapSetupScript_LinkReturn: ; 153f7
|
||||||
db map_fade
|
db map_fade
|
||||||
db map_lcd_off
|
db map_lcd_off
|
||||||
db map_sound_off
|
db map_sound_off
|
||||||
@ -172,7 +172,7 @@ MapSetupScript8: ; 153f7
|
|||||||
db map_text_scroll_off
|
db map_text_scroll_off
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript2: ; 15408
|
MapSetupScript_Continue: ; 15408
|
||||||
db map_lcd_off
|
db map_lcd_off
|
||||||
db map_sound_off
|
db map_sound_off
|
||||||
db map_attributes_2
|
db map_attributes_2
|
||||||
@ -192,7 +192,7 @@ MapSetupScript2: ; 15408
|
|||||||
db map_wildmons
|
db map_wildmons
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
|
|
||||||
MapSetupScript10: ; 1541a
|
MapSetupScript_Submenu: ; 1541a
|
||||||
db map_load_blocks
|
db map_load_blocks
|
||||||
db map_connection_blocks
|
db map_connection_blocks
|
||||||
db map_end_setup_script
|
db map_end_setup_script
|
||||||
@ -245,7 +245,7 @@ endr
|
|||||||
MapSetupCommands: ; 15440
|
MapSetupCommands: ; 15440
|
||||||
dba EnableLCD ; 00
|
dba EnableLCD ; 00
|
||||||
dba DisableLCD ; 01
|
dba DisableLCD ; 01
|
||||||
dba SoundRestart ; 02
|
dba MapSetup_Sound_Off ; 02
|
||||||
dba PlayMapMusic ; 03
|
dba PlayMapMusic ; 03
|
||||||
dba RestartMapMusic ; 04
|
dba RestartMapMusic ; 04
|
||||||
dba FadeToMapMusic ; 05
|
dba FadeToMapMusic ; 05
|
||||||
@ -271,9 +271,9 @@ MapSetupCommands: ; 15440
|
|||||||
dba LoadWarpData ; 19
|
dba LoadWarpData ; 19
|
||||||
dba LoadMapAttributes ; 1a
|
dba LoadMapAttributes ; 1a
|
||||||
dba LoadMapAttributes_IgnoreHidden ; 1b
|
dba LoadMapAttributes_IgnoreHidden ; 1b
|
||||||
dba WhiteBGMap ; 1c
|
dba ClearBGPalettes ; 1c
|
||||||
dba FadeBlackBGMap ; 1d
|
dba FadeOutPalettes ; 1d
|
||||||
dba FadeInBGMap ; 1e
|
dba FadeInPalettes ; 1e
|
||||||
dba GetCoordOfUpperLeftCorner ; 1f
|
dba GetCoordOfUpperLeftCorner ; 1f
|
||||||
dba RestoreFacingAfterWarp ; 20
|
dba RestoreFacingAfterWarp ; 20
|
||||||
dba SpawnInFacingDown ; 21
|
dba SpawnInFacingDown ; 21
|
||||||
|
@ -61,32 +61,32 @@ MovementPointers: ; 5075
|
|||||||
dw Movement_fix_facing ; 3b
|
dw Movement_fix_facing ; 3b
|
||||||
dw Movement_3c ; 3c
|
dw Movement_3c ; 3c
|
||||||
dw Movement_hide_person ; 3d
|
dw Movement_hide_person ; 3d
|
||||||
dw Movement_show_person ; 3e
|
dw Movement_step_sleep_1 ; 3e
|
||||||
dw Movement_3f ; 3f
|
dw Movement_step_sleep_2 ; 3f
|
||||||
dw Movement_40 ; 40
|
dw Movement_step_sleep_3 ; 40
|
||||||
dw Movement_41 ; 41
|
dw Movement_step_sleep_4 ; 41
|
||||||
dw Movement_42 ; 42
|
dw Movement_step_sleep_5 ; 42
|
||||||
dw Movement_43 ; 43
|
dw Movement_step_sleep_6 ; 43
|
||||||
dw Movement_44 ; 44
|
dw Movement_step_sleep_7 ; 44
|
||||||
dw Movement_accelerate_last ; 45
|
dw Movement_step_sleep_8 ; 45
|
||||||
dw Movement_step_sleep ; 46
|
dw Movement_step_sleep ; 46
|
||||||
dw Movement_step_end ; 47
|
dw Movement_step_end ; 47
|
||||||
dw Movement_48 ; 48
|
dw Movement_48 ; 48
|
||||||
dw Movement_remove_person ; 49
|
dw Movement_remove_person ; 49
|
||||||
dw Movement_4a ; 4a
|
dw Movement_step_loop ; 4a
|
||||||
dw Movement_4b ; 4b
|
dw Movement_4b ; 4b
|
||||||
dw Movement_teleport_from ; 4c
|
dw Movement_teleport_from ; 4c
|
||||||
dw Movement_teleport_to ; 4d
|
dw Movement_teleport_to ; 4d
|
||||||
dw Movement_skyfall ; 4e
|
dw Movement_skyfall ; 4e
|
||||||
dw Movement_step_wait5 ; 4f
|
dw Movement_step_wait5 ; 4f
|
||||||
dw Movement_50 ; 50
|
dw Movement_50 ; 50
|
||||||
dw Movement_51 ; 51
|
dw Movement_fish_got_bite ; 51
|
||||||
dw Movement_52 ; 52
|
dw Movement_fish_cast_rod ; 52
|
||||||
dw Movement_hide_emote ; 53
|
dw Movement_hide_emote ; 53
|
||||||
dw Movement_show_emote ; 54
|
dw Movement_show_emote ; 54
|
||||||
dw Movement_step_shake ; 55
|
dw Movement_step_shake ; 55
|
||||||
dw Movement_56 ; 56
|
dw Movement_56 ; 56
|
||||||
dw Movement_57 ; 57
|
dw Movement_rock_smash ; 57
|
||||||
dw Movement_58 ; 58
|
dw Movement_58 ; 58
|
||||||
dw Movement_59 ; 59
|
dw Movement_59 ; 59
|
||||||
; 5129
|
; 5129
|
||||||
@ -139,7 +139,7 @@ Movement_step_wait5: ; 5145
|
|||||||
ld [hl], $3
|
ld [hl], $3
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $ff
|
ld [hl], STANDING
|
||||||
ret
|
ret
|
||||||
; 516a
|
; 516a
|
||||||
|
|
||||||
@ -156,14 +156,14 @@ Movement_58: ; 516a
|
|||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $ff
|
ld [hl], STANDING
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $12
|
ld [hl], $12
|
||||||
ret
|
ret
|
||||||
; 5189
|
; 5189
|
||||||
|
|
||||||
Movement_51: ; 5189
|
Movement_fish_got_bite: ; 5189
|
||||||
ld hl, OBJECT_11
|
ld hl, OBJECT_11
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $6
|
ld [hl], $6
|
||||||
@ -173,7 +173,7 @@ Movement_51: ; 5189
|
|||||||
ret
|
ret
|
||||||
; 5196
|
; 5196
|
||||||
|
|
||||||
Movement_57: ; 5196
|
Movement_rock_smash: ; 5196
|
||||||
call GetMovementByte
|
call GetMovementByte
|
||||||
ld hl, OBJECT_STEP_DURATION
|
ld hl, OBJECT_STEP_DURATION
|
||||||
add hl, bc
|
add hl, bc
|
||||||
@ -187,7 +187,7 @@ Movement_57: ; 5196
|
|||||||
ret
|
ret
|
||||||
; 51ab
|
; 51ab
|
||||||
|
|
||||||
Movement_52: ; 51ab
|
Movement_fish_cast_rod: ; 51ab
|
||||||
ld hl, OBJECT_11
|
ld hl, OBJECT_11
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $6
|
ld [hl], $6
|
||||||
@ -197,11 +197,11 @@ Movement_52: ; 51ab
|
|||||||
ret
|
ret
|
||||||
; 51b8
|
; 51b8
|
||||||
|
|
||||||
Movement_4a: ; 51b8
|
Movement_step_loop: ; 51b8
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 51c1
|
; 51c1
|
||||||
|
|
||||||
Movement_step_end: ; 51c1
|
Movement_step_end: ; 51c1
|
||||||
@ -209,11 +209,14 @@ Movement_step_end: ; 51c1
|
|||||||
ld hl, OBJECT_MOVEMENTTYPE
|
ld hl, OBJECT_MOVEMENTTYPE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld hl, OBJECT_27
|
|
||||||
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
|
|
||||||
ld hl, VramState
|
ld hl, VramState
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $1
|
ld [hl], $1
|
||||||
@ -225,16 +228,20 @@ Movement_48: ; 51db
|
|||||||
ld hl, OBJECT_MOVEMENTTYPE
|
ld hl, OBJECT_MOVEMENTTYPE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
ld hl, OBJECT_27
|
|
||||||
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $0
|
ld [hl], $0
|
||||||
|
|
||||||
call GetMovementByte
|
call GetMovementByte
|
||||||
ld hl, OBJECT_STEP_DURATION
|
ld hl, OBJECT_STEP_DURATION
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $3
|
ld [hl], $3
|
||||||
|
|
||||||
ld hl, VramState
|
ld hl, VramState
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
ret
|
ret
|
||||||
@ -245,10 +252,10 @@ Movement_remove_person: ; 51fd
|
|||||||
ld hl, wObjectFollow_Leader
|
ld hl, wObjectFollow_Leader
|
||||||
ld a, [hMapObjectIndexBuffer]
|
ld a, [hMapObjectIndexBuffer]
|
||||||
cp [hl]
|
cp [hl]
|
||||||
jr nz, .asm_520a
|
jr nz, .not_leading
|
||||||
ld [hl], $ff
|
ld [hl], -1
|
||||||
|
|
||||||
.asm_520a
|
.not_leading
|
||||||
ld hl, VramState
|
ld hl, VramState
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
ret
|
ret
|
||||||
@ -258,43 +265,45 @@ Movement_4b: ; 5210
|
|||||||
ld hl, OBJECT_11
|
ld hl, OBJECT_11
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $1
|
ld [hl], $1
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $4
|
ld [hl], $4
|
||||||
|
|
||||||
ld hl, VramState
|
ld hl, VramState
|
||||||
res 7, [hl]
|
res 7, [hl]
|
||||||
ret
|
ret
|
||||||
; 5222
|
; 5222
|
||||||
|
|
||||||
Movement_show_person: ; 5222
|
Movement_step_sleep_1: ; 5222
|
||||||
ld a, $1
|
ld a, $1
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_3f: ; 5226
|
Movement_step_sleep_2: ; 5226
|
||||||
ld a, $2
|
ld a, $2
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_40: ; 522a
|
Movement_step_sleep_3: ; 522a
|
||||||
ld a, $3
|
ld a, $3
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_41: ; 522e
|
Movement_step_sleep_4: ; 522e
|
||||||
ld a, $4
|
ld a, $4
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_42: ; 5232
|
Movement_step_sleep_5: ; 5232
|
||||||
ld a, $5
|
ld a, $5
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_43: ; 5236
|
Movement_step_sleep_6: ; 5236
|
||||||
ld a, $6
|
ld a, $6
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_44: ; 523a
|
Movement_step_sleep_7: ; 523a
|
||||||
ld a, $7
|
ld a, $7
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
Movement_accelerate_last: ; 523e
|
Movement_step_sleep_8: ; 523e
|
||||||
ld a, $8
|
ld a, $8
|
||||||
jr Function5247
|
jr Function5247
|
||||||
|
|
||||||
@ -309,15 +318,18 @@ Function5247: ; 5247
|
|||||||
ld hl, OBJECT_STEP_DURATION
|
ld hl, OBJECT_STEP_DURATION
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $3
|
ld [hl], $3
|
||||||
|
|
||||||
ld hl, OBJECT_11
|
ld hl, OBJECT_11
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $1
|
ld [hl], $1
|
||||||
|
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $ff
|
ld [hl], STANDING
|
||||||
ret
|
ret
|
||||||
; 525f
|
; 525f
|
||||||
|
|
||||||
@ -334,7 +346,7 @@ Movement_50: ; 525f
|
|||||||
ld [hl], $3
|
ld [hl], $3
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $ff
|
ld [hl], STANDING
|
||||||
ret
|
ret
|
||||||
; 5279
|
; 5279
|
||||||
|
|
||||||
@ -351,7 +363,7 @@ Movement_56: ; 5279
|
|||||||
ld [hl], $b
|
ld [hl], $b
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $ff
|
ld [hl], STANDING
|
||||||
ret
|
ret
|
||||||
; 5293
|
; 5293
|
||||||
|
|
||||||
@ -359,52 +371,52 @@ Movement_38: ; 5293
|
|||||||
ld hl, OBJECT_FLAGS1
|
ld hl, OBJECT_FLAGS1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
res 3, [hl]
|
res 3, [hl]
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 529c
|
; 529c
|
||||||
|
|
||||||
Movement_39: ; 529c
|
Movement_39: ; 529c
|
||||||
ld hl, OBJECT_FLAGS1
|
ld hl, OBJECT_FLAGS1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set 3, [hl]
|
set 3, [hl]
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52a5
|
; 52a5
|
||||||
|
|
||||||
Movement_remove_fixed_facing: ; 52a5
|
Movement_remove_fixed_facing: ; 52a5
|
||||||
ld hl, OBJECT_FLAGS1
|
ld hl, OBJECT_FLAGS1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
res 2, [hl]
|
res 2, [hl]
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52ae
|
; 52ae
|
||||||
|
|
||||||
Movement_fix_facing: ; 52ae
|
Movement_fix_facing: ; 52ae
|
||||||
ld hl, OBJECT_FLAGS1
|
ld hl, OBJECT_FLAGS1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set 2, [hl]
|
set 2, [hl]
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52b7
|
; 52b7
|
||||||
|
|
||||||
Movement_3c: ; 52b7
|
Movement_3c: ; 52b7
|
||||||
ld hl, OBJECT_FLAGS1
|
ld hl, OBJECT_FLAGS1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
res 0, [hl]
|
res 0, [hl]
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52c0
|
; 52c0
|
||||||
|
|
||||||
Movement_hide_person: ; 52c0
|
Movement_hide_person: ; 52c0
|
||||||
ld hl, OBJECT_FLAGS1
|
ld hl, OBJECT_FLAGS1
|
||||||
add hl, bc
|
add hl, bc
|
||||||
set 0, [hl]
|
set 0, [hl]
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52c9
|
; 52c9
|
||||||
|
|
||||||
Movement_hide_emote: ; 52c9
|
Movement_hide_emote: ; 52c9
|
||||||
call Function5579
|
call Function5579
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52cf
|
; 52cf
|
||||||
|
|
||||||
Movement_show_emote: ; 52cf
|
Movement_show_emote: ; 52cf
|
||||||
call Function5547
|
call Function5547
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52d5
|
; 52d5
|
||||||
|
|
||||||
Movement_step_shake: ; 52d5
|
Movement_step_shake: ; 52d5
|
||||||
@ -413,7 +425,7 @@ Movement_step_shake: ; 52d5
|
|||||||
|
|
||||||
call GetMovementByte
|
call GetMovementByte
|
||||||
call Function5565
|
call Function5565
|
||||||
jp Function5065
|
jp ContinueReadingMovement
|
||||||
; 52de
|
; 52de
|
||||||
|
|
||||||
Movement_turn_head_down: ; 52de
|
Movement_turn_head_down: ; 52de
|
||||||
@ -441,7 +453,7 @@ TurnHead: ; 52ee
|
|||||||
ld [hl], $1
|
ld [hl], $1
|
||||||
ld hl, OBJECT_DIRECTION_WALKING
|
ld hl, OBJECT_DIRECTION_WALKING
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], $ff
|
ld [hl], STANDING
|
||||||
ret
|
ret
|
||||||
; 5300
|
; 5300
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ NamingScreen: ; 116c1
|
|||||||
; 116f8
|
; 116f8
|
||||||
|
|
||||||
Function116f8: ; 116f8
|
Function116f8: ; 116f8
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
ld b, $8
|
ld b, $8
|
||||||
call GetSGBLayout
|
call GetSGBLayout
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
|
@ -594,7 +594,7 @@ Function103fd: ; 103fd
|
|||||||
ld [Options], a
|
ld [Options], a
|
||||||
ld a, $8
|
ld a, $8
|
||||||
ld [PartyMenuActionText], a
|
ld [PartyMenuActionText], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
callba Function5004f
|
callba Function5004f
|
||||||
callba Function50405
|
callba Function50405
|
||||||
callba Function503e0
|
callba Function503e0
|
||||||
@ -922,7 +922,7 @@ Function105dc: ; 105dc (4:45dc)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_1066c: ; 1066c (4:466c)
|
.asm_1066c: ; 1066c (4:466c)
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
jr .asm_1067e
|
jr .asm_1067e
|
||||||
|
|
||||||
.BattleOnly: ; 10671 (4:4671)
|
.BattleOnly: ; 10671 (4:4671)
|
||||||
@ -1401,7 +1401,7 @@ Function108d4: ; 108d4 (4:48d4)
|
|||||||
|
|
||||||
|
|
||||||
Function10955: ; 10955
|
Function10955: ; 10955
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
|
@ -2,10 +2,10 @@ SelectMonFromParty: ; 50000
|
|||||||
call DisableSpriteUpdates
|
call DisableSpriteUpdates
|
||||||
xor a
|
xor a
|
||||||
ld [PartyMenuActionText], a
|
ld [PartyMenuActionText], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function5003f
|
call Function5003f
|
||||||
call WaitBGMap
|
call WaitBGMap
|
||||||
call Function32f9
|
call SetPalettes
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
call PartyMenuSelect
|
call PartyMenuSelect
|
||||||
call Function2b74
|
call Function2b74
|
||||||
@ -17,12 +17,12 @@ Function5001d: ; 5001d
|
|||||||
ld a, b
|
ld a, b
|
||||||
ld [PartyMenuActionText], a
|
ld [PartyMenuActionText], a
|
||||||
call DisableSpriteUpdates
|
call DisableSpriteUpdates
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function5003f
|
call Function5003f
|
||||||
call WaitBGMap
|
call WaitBGMap
|
||||||
ld b, $a
|
ld b, $a
|
||||||
call GetSGBLayout
|
call GetSGBLayout
|
||||||
call Function32f9
|
call SetPalettes
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
call PartyMenuSelect
|
call PartyMenuSelect
|
||||||
call Function2b74
|
call Function2b74
|
||||||
@ -57,43 +57,42 @@ WritePartyMenuTilemap: ; 0x5005f
|
|||||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||||
ld a, " "
|
ld a, " "
|
||||||
call ByteFill ; blank the tilemap
|
call ByteFill ; blank the tilemap
|
||||||
call Function50396 ; This reads from a pointer table???
|
call GetPartyMenuTilemapPointers ; This reads from a pointer table???
|
||||||
.loop
|
.loop
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
cp -1
|
cp $ff
|
||||||
jr z, .asm_50084 ; 0x5007a $8
|
jr z, .end ; 0x5007a $8
|
||||||
push hl
|
push hl
|
||||||
ld hl, .jumptable
|
ld hl, .Jumptable
|
||||||
rst JumpTable
|
rst JumpTable
|
||||||
pop hl
|
pop hl
|
||||||
jr .loop ; 0x50082 $f3
|
jr .loop ; 0x50082 $f3
|
||||||
|
.end
|
||||||
.asm_50084
|
|
||||||
pop af
|
pop af
|
||||||
ld [Options], a
|
ld [Options], a
|
||||||
ret
|
ret
|
||||||
; 0x50089
|
; 0x50089
|
||||||
|
|
||||||
.jumptable: ; 50089
|
.Jumptable: ; 50089
|
||||||
dw .displaynicks ; 0
|
dw PlacePartyNicknames
|
||||||
dw .drawhpbars ; 1
|
dw PlacePartyHPBar
|
||||||
dw Function50138 ; 2
|
dw PlacePartyMenuHPDigits
|
||||||
dw Function50176 ; 3
|
dw PlacePartyMonLevel
|
||||||
dw Function501b2 ; 4
|
dw PlacePartyMonStatus
|
||||||
dw Function501e0 ; 5
|
dw PlacePartyMonTMHMCompatibility
|
||||||
dw Function5022f ; 6
|
dw PlacePartyMonEvoStoneCompatibility
|
||||||
dw Function502b1 ; 7
|
dw PlacePartyMonGender
|
||||||
dw Function50307 ; 8
|
dw PlacePartyMonMobileBattleSelection
|
||||||
; 5009b
|
; 5009b
|
||||||
|
|
||||||
.displaynicks: ; 5009b
|
PlacePartyNicknames: ; 5009b
|
||||||
hlcoord 3, 1
|
hlcoord 3, 1
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
jr z, .done
|
jr z, .end
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, $0
|
ld b, $0
|
||||||
.loop2
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
push hl
|
push hl
|
||||||
@ -103,28 +102,28 @@ WritePartyMenuTilemap: ; 0x5005f
|
|||||||
pop hl
|
pop hl
|
||||||
call PlaceString
|
call PlaceString
|
||||||
pop hl
|
pop hl
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .loop2
|
jr nz, .loop
|
||||||
|
|
||||||
.done
|
.end
|
||||||
rept 2
|
rept 2
|
||||||
dec hl
|
dec hl
|
||||||
endr
|
endr
|
||||||
ld de, .cancelstring
|
ld de, .CANCEL
|
||||||
call PlaceString
|
call PlaceString
|
||||||
ret
|
ret
|
||||||
; 500c8
|
; 500c8
|
||||||
|
|
||||||
.cancelstring: ; 500c8
|
.CANCEL: ; 500c8
|
||||||
db "CANCEL@"
|
db "CANCEL@"
|
||||||
; 500cf
|
; 500cf
|
||||||
|
|
||||||
|
|
||||||
.drawhpbars: ; 500cf
|
PlacePartyHPBar: ; 500cf
|
||||||
xor a
|
xor a
|
||||||
ld [wcda9], a
|
ld [wcda9], a
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
@ -133,17 +132,17 @@ endr
|
|||||||
ld c, a
|
ld c, a
|
||||||
ld b, $0
|
ld b, $0
|
||||||
hlcoord 11, 2
|
hlcoord 11, 2
|
||||||
.loop3
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .skip
|
jr z, .skip
|
||||||
push hl
|
push hl
|
||||||
call _fillhpbar
|
call PlacePartymonHPBar
|
||||||
pop hl
|
pop hl
|
||||||
ld d, 6
|
ld d, $6
|
||||||
ld b, 0
|
ld b, $0
|
||||||
call DrawHPBar
|
call DrawBattleHPBar
|
||||||
ld hl, wcd9b
|
ld hl, wcd9b
|
||||||
ld a, [wcda9]
|
ld a, [wcda9]
|
||||||
ld c, a
|
ld c, a
|
||||||
@ -157,31 +156,31 @@ endr
|
|||||||
ld hl, wcda9
|
ld hl, wcda9
|
||||||
inc [hl]
|
inc [hl]
|
||||||
pop hl
|
pop hl
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .loop3
|
jr nz, .loop
|
||||||
ld b, $a
|
ld b, $a
|
||||||
call GetSGBLayout
|
call GetSGBLayout
|
||||||
ret
|
ret
|
||||||
; 50117
|
; 50117
|
||||||
|
|
||||||
_fillhpbar: ; 50117
|
PlacePartymonHPBar: ; 50117
|
||||||
ld a, b
|
ld a, b
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PARTYMON_STRUCT_LENGTH
|
||||||
ld hl, PartyMon1HP
|
ld hl, PartyMon1HP
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
or [hl]
|
or [hl]
|
||||||
jr nz, .notfainted
|
jr nz, .not_fainted
|
||||||
xor a
|
xor a
|
||||||
ld e, a
|
ld e, a
|
||||||
ld c, a
|
ld c, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.notfainted
|
.not_fainted
|
||||||
dec hl
|
dec hl
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld b, a
|
ld b, a
|
||||||
@ -191,25 +190,25 @@ _fillhpbar: ; 50117
|
|||||||
ld d, a
|
ld d, a
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld e, a
|
ld e, a
|
||||||
predef ComputeHPBarLength
|
predef DrawPartyMenuHPBar
|
||||||
ret
|
ret
|
||||||
; 50138
|
; 50138
|
||||||
|
|
||||||
Function50138: ; 50138
|
PlacePartyMenuHPDigits: ; 50138
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, $0
|
ld b, $0
|
||||||
hlcoord 13, 1
|
hlcoord 13, 1
|
||||||
.asm_50143
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .asm_5016b
|
jr z, .next
|
||||||
push hl
|
push hl
|
||||||
ld a, b
|
ld a, b
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PARTYMON_STRUCT_LENGTH
|
||||||
ld hl, PartyMon1HP
|
ld hl, PartyMon1HP
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld e, l
|
ld e, l
|
||||||
@ -219,7 +218,7 @@ Function50138: ; 50138
|
|||||||
lb bc, 2, 3
|
lb bc, 2, 3
|
||||||
call PrintNum
|
call PrintNum
|
||||||
pop de
|
pop de
|
||||||
ld a, $f3
|
ld a, "/"
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
rept 2
|
rept 2
|
||||||
inc de
|
inc de
|
||||||
@ -227,32 +226,32 @@ endr
|
|||||||
lb bc, 2, 3
|
lb bc, 2, 3
|
||||||
call PrintNum
|
call PrintNum
|
||||||
|
|
||||||
.asm_5016b
|
.next
|
||||||
pop hl
|
pop hl
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_50143
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
; 50176
|
; 50176
|
||||||
|
|
||||||
Function50176: ; 50176
|
PlacePartyMonLevel: ; 50176
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
hlcoord 8, 2
|
hlcoord 8, 2
|
||||||
.asm_50181
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .asm_501a7
|
jr z, .next
|
||||||
push hl
|
push hl
|
||||||
ld a, b
|
ld a, b
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PARTYMON_STRUCT_LENGTH
|
||||||
ld hl, PartyMon1Level
|
ld hl, PartyMon1Level
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld e, l
|
ld e, l
|
||||||
@ -260,70 +259,72 @@ Function50176: ; 50176
|
|||||||
pop hl
|
pop hl
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
cp 100 ; This is distinct from MAX_LEVEL.
|
cp 100 ; This is distinct from MAX_LEVEL.
|
||||||
jr nc, .asm_501a1
|
jr nc, .ThreeDigits
|
||||||
ld a, "<LV>"
|
ld a, "<LV>"
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld bc, $4102
|
lb bc, PRINTNUM_RIGHTALIGN | 1, 2
|
||||||
.asm_501a1
|
; jr .okay
|
||||||
|
.ThreeDigits
|
||||||
lb bc, PRINTNUM_RIGHTALIGN | 1, 3
|
lb bc, PRINTNUM_RIGHTALIGN | 1, 3
|
||||||
|
; .okay
|
||||||
call PrintNum
|
call PrintNum
|
||||||
|
|
||||||
.asm_501a7
|
.next
|
||||||
pop hl
|
pop hl
|
||||||
ld de, SCREEN_WIDTH * 2
|
ld de, SCREEN_WIDTH * 2
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_50181
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
; 501b2
|
; 501b2
|
||||||
|
|
||||||
Function501b2: ; 501b2
|
PlacePartyMonStatus: ; 501b2
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
hlcoord 5, 2
|
hlcoord 5, 2
|
||||||
.asm_501bd
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .asm_501d5
|
jr z, .next
|
||||||
push hl
|
push hl
|
||||||
ld a, b
|
ld a, b
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PARTYMON_STRUCT_LENGTH
|
||||||
ld hl, PartyMon1Status
|
ld hl, PartyMon1Status
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld e, l
|
ld e, l
|
||||||
ld d, h
|
ld d, h
|
||||||
pop hl
|
pop hl
|
||||||
call Function50d0a
|
call PlaceStatusString
|
||||||
|
|
||||||
.asm_501d5
|
.next
|
||||||
pop hl
|
pop hl
|
||||||
ld de, SCREEN_WIDTH * 2
|
ld de, SCREEN_WIDTH * 2
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_501bd
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
; 501e0
|
; 501e0
|
||||||
|
|
||||||
Function501e0: ; 501e0
|
PlacePartyMonTMHMCompatibility: ; 501e0
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
hlcoord 12, 2
|
hlcoord 12, 2
|
||||||
.asm_501eb
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .asm_5020a
|
jr z, .next
|
||||||
push hl
|
push hl
|
||||||
ld hl, PartySpecies
|
ld hl, PartySpecies
|
||||||
ld e, b
|
ld e, b
|
||||||
@ -333,56 +334,56 @@ Function501e0: ; 501e0
|
|||||||
ld [CurPartySpecies], a
|
ld [CurPartySpecies], a
|
||||||
predef CanLearnTMHMMove
|
predef CanLearnTMHMMove
|
||||||
pop hl
|
pop hl
|
||||||
call Function50215
|
call .PlaceAbleNotAble
|
||||||
call PlaceString
|
call PlaceString
|
||||||
|
|
||||||
.asm_5020a
|
.next
|
||||||
pop hl
|
pop hl
|
||||||
ld de, SCREEN_WIDTH * 2
|
ld de, SCREEN_WIDTH * 2
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_501eb
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
; 50215
|
; 50215
|
||||||
|
|
||||||
Function50215: ; 50215
|
.PlaceAbleNotAble: ; 50215
|
||||||
ld a, c
|
ld a, c
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_5021d
|
jr nz, .able
|
||||||
ld de, String_50226
|
ld de, .string_not_able
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_5021d
|
.able
|
||||||
ld de, String_50221
|
ld de, .string_able
|
||||||
ret
|
ret
|
||||||
; 50221
|
; 50221
|
||||||
|
|
||||||
String_50221: ; 50221
|
.string_able: ; 50221
|
||||||
db "ABLE@"
|
db "ABLE@"
|
||||||
; 50226
|
; 50226
|
||||||
|
|
||||||
String_50226: ; 50226
|
.string_not_able: ; 50226
|
||||||
db "NOT ABLE@"
|
db "NOT ABLE@"
|
||||||
; 5022f
|
; 5022f
|
||||||
|
|
||||||
|
|
||||||
Function5022f: ; 5022f
|
PlacePartyMonEvoStoneCompatibility: ; 5022f
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
hlcoord 12, 2
|
hlcoord 12, 2
|
||||||
.asm_5023a
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .asm_5025d
|
jr z, .next
|
||||||
push hl
|
push hl
|
||||||
ld a, b
|
ld a, b
|
||||||
ld bc, PartyMon2 - PartyMon1
|
ld bc, PARTYMON_STRUCT_LENGTH
|
||||||
ld hl, PartyMon1Species
|
ld hl, PartyMon1Species
|
||||||
call AddNTimes
|
call AddNTimes
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -393,22 +394,22 @@ Function5022f: ; 5022f
|
|||||||
rept 2
|
rept 2
|
||||||
add hl, de
|
add hl, de
|
||||||
endr
|
endr
|
||||||
call Function50268
|
call .DetermineCompatibility
|
||||||
pop hl
|
pop hl
|
||||||
call PlaceString
|
call PlaceString
|
||||||
|
|
||||||
.asm_5025d
|
.next
|
||||||
pop hl
|
pop hl
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_5023a
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
; 50268
|
; 50268
|
||||||
|
|
||||||
Function50268: ; 50268
|
.DetermineCompatibility: ; 50268
|
||||||
ld de, StringBuffer1
|
ld de, StringBuffer1
|
||||||
ld a, BANK(EvosAttacksPointers)
|
ld a, BANK(EvosAttacksPointers)
|
||||||
ld bc, 2
|
ld bc, 2
|
||||||
@ -422,15 +423,15 @@ Function50268: ; 50268
|
|||||||
ld bc, $a
|
ld bc, $a
|
||||||
call FarCopyBytes
|
call FarCopyBytes
|
||||||
ld hl, StringBuffer1
|
ld hl, StringBuffer1
|
||||||
.asm_50287
|
.loop2
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
and a
|
and a
|
||||||
jr z, .asm_5029f
|
jr z, .nope
|
||||||
rept 2
|
rept 2
|
||||||
inc hl
|
inc hl
|
||||||
endr
|
endr
|
||||||
cp EVOLVE_ITEM
|
cp EVOLVE_ITEM
|
||||||
jr nz, .asm_50287
|
jr nz, .loop2
|
||||||
rept 2
|
rept 2
|
||||||
dec hl
|
dec hl
|
||||||
endr
|
endr
|
||||||
@ -439,35 +440,35 @@ endr
|
|||||||
rept 2
|
rept 2
|
||||||
inc hl
|
inc hl
|
||||||
endr
|
endr
|
||||||
jr nz, .asm_50287
|
jr nz, .loop2
|
||||||
ld de, String_502a3
|
ld de, .string_able
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.asm_5029f
|
.nope
|
||||||
ld de, String_502a8
|
ld de, .string_not_able
|
||||||
ret
|
ret
|
||||||
; 502a3
|
; 502a3
|
||||||
|
|
||||||
String_502a3: ; 502a3
|
.string_able: ; 502a3
|
||||||
db "ABLE@"
|
db "ABLE@"
|
||||||
; 502a8
|
; 502a8
|
||||||
String_502a8: ; 502a8
|
.string_not_able: ; 502a8
|
||||||
db "NOT ABLE@"
|
db "NOT ABLE@"
|
||||||
; 502b1
|
; 502b1
|
||||||
|
|
||||||
|
|
||||||
Function502b1: ; 502b1
|
PlacePartyMonGender: ; 502b1
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
hlcoord 12, 2
|
hlcoord 12, 2
|
||||||
.asm_502bc
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
call Function50389
|
call PartyMenuCheckEgg
|
||||||
jr z, .asm_502e3
|
jr z, .next
|
||||||
ld [CurPartySpecies], a
|
ld [CurPartySpecies], a
|
||||||
push hl
|
push hl
|
||||||
ld a, b
|
ld a, b
|
||||||
@ -475,86 +476,86 @@ Function502b1: ; 502b1
|
|||||||
xor a
|
xor a
|
||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
call GetGender
|
call GetGender
|
||||||
ld de, String_502fe
|
ld de, .unknown
|
||||||
jr c, .asm_502df
|
jr c, .got_gender
|
||||||
ld de, String_502ee
|
ld de, .male
|
||||||
jr nz, .asm_502df
|
jr nz, .got_gender
|
||||||
ld de, String_502f5
|
ld de, .female
|
||||||
|
|
||||||
.asm_502df
|
.got_gender
|
||||||
pop hl
|
pop hl
|
||||||
call PlaceString
|
call PlaceString
|
||||||
|
|
||||||
.asm_502e3
|
.next
|
||||||
pop hl
|
pop hl
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_502bc
|
jr nz, .loop
|
||||||
ret
|
ret
|
||||||
; 502ee
|
; 502ee
|
||||||
|
|
||||||
String_502ee: ; 502ee
|
.male: ; 502ee
|
||||||
db "♂…MALE@"
|
db "♂…MALE@"
|
||||||
; 502f5
|
; 502f5
|
||||||
|
|
||||||
String_502f5: ; 502f5
|
.female: ; 502f5
|
||||||
db "♀…FEMALE@"
|
db "♀…FEMALE@"
|
||||||
; 502fe
|
; 502fe
|
||||||
|
|
||||||
String_502fe: ; 502fe
|
.unknown: ; 502fe
|
||||||
db "…UNKNOWN@"
|
db "…UNKNOWN@"
|
||||||
; 50307
|
; 50307
|
||||||
|
|
||||||
|
|
||||||
Function50307: ; 50307
|
PlacePartyMonMobileBattleSelection: ; 50307
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
ld b, 0
|
ld b, 0
|
||||||
hlcoord 12, 1
|
hlcoord 12, 1
|
||||||
.asm_50312
|
.loop
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
ld de, String_50372
|
ld de, .String_Sanka_Shinai
|
||||||
call PlaceString
|
call PlaceString
|
||||||
pop hl
|
pop hl
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
pop bc
|
pop bc
|
||||||
inc b
|
inc b
|
||||||
dec c
|
dec c
|
||||||
jr nz, .asm_50312
|
jr nz, .loop
|
||||||
ld a, l
|
ld a, l
|
||||||
ld e, $b
|
ld e, PKMN_NAME_LENGTH
|
||||||
sub e
|
sub e
|
||||||
ld l, a
|
ld l, a
|
||||||
ld a, h
|
ld a, h
|
||||||
sbc $0
|
sbc $0
|
||||||
ld h, a
|
ld h, a
|
||||||
ld de, String_50379
|
ld de, .String_Kettei_Yameru
|
||||||
call PlaceString
|
call PlaceString
|
||||||
ld b, $3
|
ld b, $3
|
||||||
ld c, $0
|
ld c, $0
|
||||||
ld hl, wd002
|
ld hl, wd002
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
.asm_5033b
|
.loop2
|
||||||
push hl
|
push hl
|
||||||
push bc
|
push bc
|
||||||
hlcoord 12, 1
|
hlcoord 12, 1
|
||||||
.asm_50340
|
.loop3
|
||||||
and a
|
and a
|
||||||
jr z, .asm_5034a
|
jr z, .done
|
||||||
ld de, $0028
|
ld de, 2 * SCREEN_WIDTH
|
||||||
add hl, de
|
add hl, de
|
||||||
dec a
|
dec a
|
||||||
jr .asm_50340
|
jr .loop3
|
||||||
|
|
||||||
.asm_5034a
|
.done
|
||||||
ld de, String_5036b
|
ld de, .String_Banme
|
||||||
push hl
|
push hl
|
||||||
call PlaceString
|
call PlaceString
|
||||||
pop hl
|
pop hl
|
||||||
@ -562,7 +563,7 @@ Function50307: ; 50307
|
|||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
ld a, c
|
ld a, c
|
||||||
ld hl, Strings_50383
|
ld hl, .Strings_1_2_3
|
||||||
call GetNthString
|
call GetNthString
|
||||||
ld d, h
|
ld d, h
|
||||||
ld e, l
|
ld e, l
|
||||||
@ -575,24 +576,24 @@ Function50307: ; 50307
|
|||||||
inc c
|
inc c
|
||||||
dec b
|
dec b
|
||||||
ret z
|
ret z
|
||||||
jr .asm_5033b
|
jr .loop2
|
||||||
; 5036b
|
; 5036b
|
||||||
|
|
||||||
String_5036b: ; 5036b
|
.String_Banme: ; 5036b
|
||||||
db " ばんめ @" ; Place
|
db " ばんめ @" ; Place
|
||||||
; 50372
|
; 50372
|
||||||
String_50372: ; 50372
|
.String_Sanka_Shinai: ; 50372
|
||||||
db "さんかしない@" ; Cancel
|
db "さんかしない@" ; Cancel
|
||||||
; 50379
|
; 50379
|
||||||
String_50379: ; 50379
|
.String_Kettei_Yameru: ; 50379
|
||||||
db "けってい やめる@" ; Quit
|
db "けってい やめる@" ; Quit
|
||||||
; 50383
|
; 50383
|
||||||
Strings_50383: ; 50383
|
.Strings_1_2_3: ; 50383
|
||||||
db "1@", "2@", "3@" ; 1st, 2nd, 3rd
|
db "1@", "2@", "3@" ; 1st, 2nd, 3rd
|
||||||
; 50389
|
; 50389
|
||||||
|
|
||||||
|
|
||||||
Function50389: ; 50389
|
PartyMenuCheckEgg: ; 50389
|
||||||
ld a, PartySpecies % $100
|
ld a, PartySpecies % $100
|
||||||
add b
|
add b
|
||||||
ld e, a
|
ld e, a
|
||||||
@ -604,15 +605,15 @@ Function50389: ; 50389
|
|||||||
ret
|
ret
|
||||||
; 50396
|
; 50396
|
||||||
|
|
||||||
Function50396: ; 50396
|
GetPartyMenuTilemapPointers: ; 50396
|
||||||
ld a, [PartyMenuActionText]
|
ld a, [PartyMenuActionText]
|
||||||
and $f0
|
and $f0
|
||||||
jr nz, .override
|
jr nz, .skip
|
||||||
ld a, [PartyMenuActionText]
|
ld a, [PartyMenuActionText]
|
||||||
and $f
|
and $f
|
||||||
ld e, a
|
ld e, a
|
||||||
ld d, 0
|
ld d, 0
|
||||||
ld hl, .selectmonmenuoptions
|
ld hl, .Pointers
|
||||||
rept 2
|
rept 2
|
||||||
add hl, de
|
add hl, de
|
||||||
endr
|
endr
|
||||||
@ -621,31 +622,32 @@ endr
|
|||||||
ld l, a
|
ld l, a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.override
|
.skip
|
||||||
ld hl, .default
|
ld hl, .Default
|
||||||
ret
|
ret
|
||||||
; 503b2
|
; 503b2
|
||||||
|
|
||||||
.selectmonmenuoptions: ; 503b2
|
.Pointers: ; 503b2
|
||||||
dw .default
|
dw .Default
|
||||||
dw .default
|
dw .Default
|
||||||
dw .default
|
dw .Default
|
||||||
dw .unknown1
|
dw .TMHM
|
||||||
dw .default
|
dw .Default
|
||||||
dw .unknown2
|
dw .EvoStone
|
||||||
dw .trade
|
dw .Gender
|
||||||
dw .trade
|
dw .Gender
|
||||||
dw .default
|
dw .Default
|
||||||
dw .unknown3
|
dw .Mobile
|
||||||
; 503c6
|
; 503c6
|
||||||
|
|
||||||
.default: db 0, 1, 2, 3, 4, -1
|
.Default: db 0, 1, 2, 3, 4, $ff
|
||||||
.unknown1: db 0, 5, 3, 4, -1
|
.TMHM: db 0, 5, 3, 4, $ff
|
||||||
.unknown2: db 0, 6, 3, 4, -1
|
.EvoStone: db 0, 6, 3, 4, $ff
|
||||||
.trade: db 0, 7, 3, 4, -1
|
.Gender: db 0, 7, 3, 4, $ff
|
||||||
.unknown3: db 0, 8, 3, 4, -1
|
.Mobile: db 0, 8, 3, 4, $ff
|
||||||
; 503e0
|
; 503e0
|
||||||
|
|
||||||
|
|
||||||
Function503e0: ; 503e0
|
Function503e0: ; 503e0
|
||||||
ld hl, PartyCount
|
ld hl, PartyCount
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
@ -653,7 +655,7 @@ Function503e0: ; 503e0
|
|||||||
ret z
|
ret z
|
||||||
ld c, a
|
ld c, a
|
||||||
xor a
|
xor a
|
||||||
ld [hConnectedMapWidth], a
|
ld [hObjectStructIndexBuffer], a
|
||||||
.asm_503ea
|
.asm_503ea
|
||||||
push bc
|
push bc
|
||||||
push hl
|
push hl
|
||||||
@ -661,9 +663,9 @@ Function503e0: ; 503e0
|
|||||||
ld a, BANK(Function8e83f)
|
ld a, BANK(Function8e83f)
|
||||||
ld e, $0
|
ld e, $0
|
||||||
rst FarCall
|
rst FarCall
|
||||||
ld a, [hConnectedMapWidth]
|
ld a, [hObjectStructIndexBuffer]
|
||||||
inc a
|
inc a
|
||||||
ld [hConnectedMapWidth], a
|
ld [hObjectStructIndexBuffer], a
|
||||||
pop hl
|
pop hl
|
||||||
pop bc
|
pop bc
|
||||||
dec c
|
dec c
|
||||||
@ -671,6 +673,7 @@ Function503e0: ; 503e0
|
|||||||
callab Function8cf69
|
callab Function8cf69
|
||||||
ret
|
ret
|
||||||
; 50405
|
; 50405
|
||||||
|
|
||||||
Function50405: ; 50405
|
Function50405: ; 50405
|
||||||
xor a
|
xor a
|
||||||
ld [wd0e3], a
|
ld [wd0e3], a
|
||||||
@ -692,7 +695,7 @@ Function50405: ; 50405
|
|||||||
ld a, $1
|
ld a, $1
|
||||||
|
|
||||||
.asm_50424
|
.asm_50424
|
||||||
ld [wcfa9], a
|
ld [MenuSelection2], a
|
||||||
ld a, $3
|
ld a, $3
|
||||||
ld [wcfa8], a
|
ld [wcfa8], a
|
||||||
ret
|
ret
|
||||||
@ -713,7 +716,7 @@ Function5042d: ; 0x5042d
|
|||||||
.asm_50444
|
.asm_50444
|
||||||
ld a, $1
|
ld a, $1
|
||||||
.asm_50446
|
.asm_50446
|
||||||
ld [wcfa9], a
|
ld [MenuSelection2], a
|
||||||
ld a, $3
|
ld a, $3
|
||||||
ld [wcfa8], a
|
ld [wcfa8], a
|
||||||
ret
|
ret
|
||||||
@ -738,7 +741,7 @@ PartyMenuSelect: ; 0x50457
|
|||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
inc a
|
inc a
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [wcfa9] ; menu selection?
|
ld a, [MenuSelection2] ; menu selection?
|
||||||
cp b
|
cp b
|
||||||
jr z, .exitmenu ; CANCEL
|
jr z, .exitmenu ; CANCEL
|
||||||
ld [wd0d8], a
|
ld [wd0d8], a
|
||||||
@ -746,7 +749,7 @@ PartyMenuSelect: ; 0x50457
|
|||||||
ld b, a
|
ld b, a
|
||||||
bit 1, b
|
bit 1, b
|
||||||
jr nz, .exitmenu ; B button?
|
jr nz, .exitmenu ; B button?
|
||||||
ld a, [wcfa9]
|
ld a, [MenuSelection2]
|
||||||
dec a
|
dec a
|
||||||
ld [CurPartyMon], a
|
ld [CurPartyMon], a
|
||||||
ld c, a
|
ld c, a
|
||||||
@ -773,7 +776,7 @@ PartyMenuSelect: ; 0x50457
|
|||||||
|
|
||||||
PrintPartyMenuText: ; 5049a
|
PrintPartyMenuText: ; 5049a
|
||||||
hlcoord 0, 14
|
hlcoord 0, 14
|
||||||
ld bc, $0212
|
lb bc, 2, 18
|
||||||
call TextBox
|
call TextBox
|
||||||
ld a, [PartyCount]
|
ld a, [PartyCount]
|
||||||
and a
|
and a
|
||||||
@ -920,6 +923,7 @@ UnknownText_0x505bc: ; 0x505bc
|
|||||||
db "@"
|
db "@"
|
||||||
; 0x505c1
|
; 0x505c1
|
||||||
|
|
||||||
|
|
||||||
Function505c1: ; 505c1
|
Function505c1: ; 505c1
|
||||||
ld e, a
|
ld e, a
|
||||||
ld d, 0
|
ld d, 0
|
||||||
|
@ -60,7 +60,7 @@ Pokedex: ; 40000
|
|||||||
; 40063
|
; 40063
|
||||||
|
|
||||||
InitPokedex: ; 40063
|
InitPokedex: ; 40063
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call Function414b7
|
call Function414b7
|
||||||
@ -487,7 +487,7 @@ Function4034f: ; 4034f
|
|||||||
ld [wcf64], a
|
ld [wcf64], a
|
||||||
pop af
|
pop af
|
||||||
ld [wcf65], a
|
ld [wcf65], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
call Function414fb
|
call Function414fb
|
||||||
call Function4038d
|
call Function4038d
|
||||||
|
@ -1079,9 +1079,11 @@ ApplyMovement: ; 971fa
|
|||||||
ld a, c
|
ld a, c
|
||||||
callba SetFlagsForMovement_1
|
callba SetFlagsForMovement_1
|
||||||
pop bc
|
pop bc
|
||||||
|
|
||||||
push bc
|
push bc
|
||||||
call SetFlagsForMovement_2
|
call SetFlagsForMovement_2
|
||||||
pop bc
|
pop bc
|
||||||
|
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
ld l, a
|
ld l, a
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
@ -1090,6 +1092,7 @@ ApplyMovement: ; 971fa
|
|||||||
ld b, a
|
ld b, a
|
||||||
call GetMovementData
|
call GetMovementData
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
ld a, SCRIPT_WAIT_MOVEMENT
|
ld a, SCRIPT_WAIT_MOVEMENT
|
||||||
ld [ScriptMode], a
|
ld [ScriptMode], a
|
||||||
call StopScript
|
call StopScript
|
||||||
@ -1102,6 +1105,7 @@ SetFlagsForMovement_2: ; 0x97221
|
|||||||
; 0x97228
|
; 0x97228
|
||||||
|
|
||||||
Script_applymovement2: ; 0x97228
|
Script_applymovement2: ; 0x97228
|
||||||
|
; apply movement to last talked
|
||||||
; script command 0x6a
|
; script command 0x6a
|
||||||
; parameters:
|
; parameters:
|
||||||
; data (MovementPointerLabelParam)
|
; data (MovementPointerLabelParam)
|
||||||
@ -1426,12 +1430,12 @@ ShowEmoteScript: ; 973b6
|
|||||||
|
|
||||||
.Show
|
.Show
|
||||||
show_emote
|
show_emote
|
||||||
show_person
|
step_sleep_1
|
||||||
step_end
|
step_end
|
||||||
|
|
||||||
.Hide
|
.Hide
|
||||||
hide_emote
|
hide_emote
|
||||||
show_person
|
step_sleep_1
|
||||||
step_end
|
step_end
|
||||||
; 973c7
|
; 973c7
|
||||||
|
|
||||||
@ -1460,8 +1464,8 @@ Script_earthquake: ; 0x973c7
|
|||||||
; 973eb
|
; 973eb
|
||||||
|
|
||||||
EarthquakeMovement: ; 973eb
|
EarthquakeMovement: ; 973eb
|
||||||
step_shake 16
|
step_shake 16 ; the 16 gets overwritten with the script byte
|
||||||
step_sleep 16
|
step_sleep 16 ; the 16 gets overwritten with the lower 6 bits of the script byte
|
||||||
step_end
|
step_end
|
||||||
EarthquakeMovementEnd
|
EarthquakeMovementEnd
|
||||||
; 973f0
|
; 973f0
|
||||||
@ -2847,6 +2851,7 @@ Script_warp: ; 0x97a1d
|
|||||||
call LoadMapStatus
|
call LoadMapStatus
|
||||||
call StopScript
|
call StopScript
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.not_ok
|
.not_ok
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
@ -3117,6 +3122,7 @@ Script_end: ; 0x97b74
|
|||||||
call ExitScriptSubroutine
|
call ExitScriptSubroutine
|
||||||
jr c, .resume
|
jr c, .resume
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.resume
|
.resume
|
||||||
xor a
|
xor a
|
||||||
ld [ScriptRunning], a
|
ld [ScriptRunning], a
|
||||||
|
2112
engine/slot_machine.asm
Executable file
2112
engine/slot_machine.asm
Executable file
File diff suppressed because it is too large
Load Diff
@ -65,14 +65,14 @@ SpecialsPointers:: ; c029
|
|||||||
add_special Special_SlotMachine
|
add_special Special_SlotMachine
|
||||||
add_special Special_CardFlip
|
add_special Special_CardFlip
|
||||||
add_special Special_DummyNonfunctionalGameCornerGame
|
add_special Special_DummyNonfunctionalGameCornerGame
|
||||||
add_special Special_WhiteBGMapBufferScreen
|
add_special Special_ClearBGPalettesBufferScreen
|
||||||
add_special FadeBlackBGMap
|
add_special FadeOutPalettes
|
||||||
add_special Special_BattleTowerFade
|
add_special Special_BattleTowerFade
|
||||||
add_special Special_FadeBlackQuickly
|
add_special Special_FadeBlackQuickly
|
||||||
add_special FadeInBGMap
|
add_special FadeInPalettes
|
||||||
add_special Special_FadeInQuickly
|
add_special Special_FadeInQuickly
|
||||||
add_special Special_ReloadSpritesNoPalettes
|
add_special Special_ReloadSpritesNoPalettes
|
||||||
add_special WhiteBGMap
|
add_special ClearBGPalettes
|
||||||
add_special UpdateTimePals
|
add_special UpdateTimePals
|
||||||
add_special ClearTileMap
|
add_special ClearTileMap
|
||||||
add_special UpdateSprites
|
add_special UpdateSprites
|
||||||
@ -465,8 +465,8 @@ UnknownText_0xc3d6: ; 0xc3d6
|
|||||||
db "@"
|
db "@"
|
||||||
; 0xc3db
|
; 0xc3db
|
||||||
|
|
||||||
Special_WhiteBGMapBufferScreen: ; c3db
|
Special_ClearBGPalettesBufferScreen: ; c3db
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call BufferScreen
|
call BufferScreen
|
||||||
ret
|
ret
|
||||||
; c3e2
|
; c3e2
|
||||||
|
@ -139,7 +139,7 @@ endr
|
|||||||
; 126b7
|
; 126b7
|
||||||
|
|
||||||
.Clear ; 126b7
|
.Clear ; 126b7
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
call Function2bae
|
call Function2bae
|
||||||
call .DrawMenuAccount_
|
call .DrawMenuAccount_
|
||||||
@ -529,7 +529,7 @@ StartMenu_Pokemon: ; 12976
|
|||||||
.choosemenu
|
.choosemenu
|
||||||
xor a
|
xor a
|
||||||
ld [PartyMenuActionText], a ; Choose a POKéMON.
|
ld [PartyMenuActionText], a ; Choose a POKéMON.
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
|
|
||||||
.menu
|
.menu
|
||||||
callba Function5004f
|
callba Function5004f
|
||||||
@ -1449,7 +1449,7 @@ MonMenu_RockSmash: ; 12f3b
|
|||||||
; 12f50
|
; 12f50
|
||||||
|
|
||||||
MonMenu_SweetScent: ; 12f50
|
MonMenu_SweetScent: ; 12f50
|
||||||
callba DoMovementFunctionc
|
callba SweetScentFromMenu
|
||||||
ld b, $4
|
ld b, $4
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ret
|
ret
|
||||||
@ -1466,7 +1466,7 @@ Function12f5b: ; 12f5b
|
|||||||
ld a, b
|
ld a, b
|
||||||
ld [Options], a
|
ld [Options], a
|
||||||
push af
|
push af
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
pop af
|
pop af
|
||||||
ret
|
ret
|
||||||
; 12f73
|
; 12f73
|
||||||
@ -1527,7 +1527,7 @@ ManagePokemonMoves: ; 12fba
|
|||||||
call MoveScreenLoop
|
call MoveScreenLoop
|
||||||
pop af
|
pop af
|
||||||
ld [Options], a
|
ld [Options], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
|
|
||||||
.egg
|
.egg
|
||||||
ld a, $0
|
ld a, $0
|
||||||
@ -1753,7 +1753,7 @@ String_1316b: ; 1316b
|
|||||||
; 13172
|
; 13172
|
||||||
|
|
||||||
SetUpMoveScreenBG: ; 13172
|
SetUpMoveScreenBG: ; 13172
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
xor a
|
xor a
|
||||||
|
@ -302,7 +302,7 @@ RadioTowerRocketsScript:
|
|||||||
end
|
end
|
||||||
|
|
||||||
BugContestResultsWarpScript:
|
BugContestResultsWarpScript:
|
||||||
special WhiteBGMap
|
special ClearBGPalettes
|
||||||
scall BugContestResults_CopyContestantsToResults
|
scall BugContestResults_CopyContestantsToResults
|
||||||
setevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
|
setevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
|
||||||
clearevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
|
clearevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
|
||||||
|
@ -116,7 +116,7 @@ _UpdateTimePals:: ; 8c070
|
|||||||
ret
|
ret
|
||||||
; 8c079
|
; 8c079
|
||||||
|
|
||||||
FadeInBGMap:: ; 8c079
|
FadeInPalettes:: ; 8c079
|
||||||
ld c, $12
|
ld c, $12
|
||||||
call GetTimePalFade
|
call GetTimePalFade
|
||||||
ld b, $4
|
ld b, $4
|
||||||
@ -124,7 +124,7 @@ FadeInBGMap:: ; 8c079
|
|||||||
ret
|
ret
|
||||||
; 8c084
|
; 8c084
|
||||||
|
|
||||||
FadeBlackBGMap:: ; 8c084
|
FadeOutPalettes:: ; 8c084
|
||||||
call Function8c0c1
|
call Function8c0c1
|
||||||
ld c, $9
|
ld c, $9
|
||||||
call GetTimePalFade
|
call GetTimePalFade
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
_TitleScreen: ; 10ed67
|
_TitleScreen: ; 10ed67
|
||||||
|
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
|
|
||||||
|
34
event/basement_key.asm
Executable file
34
event/basement_key.asm
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
_BasementKey: ; 507b4
|
||||||
|
; Are we even in the right map to use this?
|
||||||
|
ld a, [MapGroup]
|
||||||
|
cp GROUP_WAREHOUSE_ENTRANCE
|
||||||
|
jr nz, .nope
|
||||||
|
|
||||||
|
ld a, [MapNumber]
|
||||||
|
cp MAP_WAREHOUSE_ENTRANCE
|
||||||
|
jr nz, .nope
|
||||||
|
; Are we on the tile in front of the door?
|
||||||
|
call GetFacingTileCoord
|
||||||
|
ld a, d
|
||||||
|
cp 22
|
||||||
|
jr nz, .nope
|
||||||
|
ld a, e
|
||||||
|
cp 10
|
||||||
|
jr nz, .nope
|
||||||
|
; Let's use the Basement Key
|
||||||
|
ld hl, .BasementKeyScript
|
||||||
|
call QueueScript
|
||||||
|
ld a, 1
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.nope
|
||||||
|
ld a, $0
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
; 507e1
|
||||||
|
|
||||||
|
.BasementKeyScript: ; 0x507e1
|
||||||
|
loadmovesprites
|
||||||
|
farjump BasementDoorScript
|
||||||
|
; 0x507e6
|
39
event/card_key.asm
Executable file
39
event/card_key.asm
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
_CardKey: ; 50779
|
||||||
|
; Are we even in the right map to use this?
|
||||||
|
ld a, [MapGroup]
|
||||||
|
cp GROUP_RADIO_TOWER_3F
|
||||||
|
jr nz, .nope
|
||||||
|
|
||||||
|
ld a, [MapNumber]
|
||||||
|
cp MAP_RADIO_TOWER_3F
|
||||||
|
jr nz, .nope
|
||||||
|
; Are we facing the slot?
|
||||||
|
ld a, [PlayerDirection]
|
||||||
|
and $c
|
||||||
|
cp OW_UP
|
||||||
|
jr nz, .nope
|
||||||
|
|
||||||
|
call GetFacingTileCoord
|
||||||
|
ld a, d
|
||||||
|
cp 18
|
||||||
|
jr nz, .nope
|
||||||
|
ld a, e
|
||||||
|
cp 6
|
||||||
|
jr nz, .nope
|
||||||
|
; Let's use the Card Key.
|
||||||
|
ld hl, .CardKeyScript
|
||||||
|
call QueueScript
|
||||||
|
ld a, $1
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.nope
|
||||||
|
ld a, $0
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
; 507af
|
||||||
|
|
||||||
|
.CardKeyScript: ; 0x507af
|
||||||
|
loadmovesprites
|
||||||
|
farjump MapRadioTower3FSignpost2Script
|
||||||
|
; 0x507b4
|
162
event/poisonstep.asm
Executable file
162
event/poisonstep.asm
Executable file
@ -0,0 +1,162 @@
|
|||||||
|
DoPoisonStep:: ; 505da
|
||||||
|
ld a, [PartyCount]
|
||||||
|
and a
|
||||||
|
jr z, .no_faint
|
||||||
|
|
||||||
|
xor a
|
||||||
|
ld c, 7
|
||||||
|
ld hl, EngineBuffer1
|
||||||
|
.loop_clearEngineBuffer1
|
||||||
|
ld [hli], a
|
||||||
|
dec c
|
||||||
|
jr nz, .loop_clearEngineBuffer1
|
||||||
|
|
||||||
|
xor a
|
||||||
|
ld [CurPartyMon], a
|
||||||
|
.loop_check_poison
|
||||||
|
call .DamageMonIfPoisoned
|
||||||
|
jr nc, .not_poisoned
|
||||||
|
; the output flag is stored in c, copy it to the ([CurPartyMon] + 2)nd EngineBuffer
|
||||||
|
; and set the corresponding flag in EngineBuffer1
|
||||||
|
ld a, [CurPartyMon]
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
ld hl, EngineBuffer2
|
||||||
|
add hl, de
|
||||||
|
ld [hl], c
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
or c
|
||||||
|
ld [EngineBuffer1], a
|
||||||
|
|
||||||
|
.not_poisoned
|
||||||
|
ld a, [PartyCount]
|
||||||
|
ld hl, CurPartyMon
|
||||||
|
inc [hl]
|
||||||
|
cp [hl]
|
||||||
|
jr nz, .loop_check_poison
|
||||||
|
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
and %10
|
||||||
|
jr nz, .someone_has_fainted
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
and %01
|
||||||
|
jr z, .no_faint
|
||||||
|
call .PlayPoisonSFX
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.someone_has_fainted
|
||||||
|
ld a, BANK(.Script_MonFaintedToPoison)
|
||||||
|
ld hl, .Script_MonFaintedToPoison
|
||||||
|
call CallScript
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
|
||||||
|
.no_faint
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
; 5062e
|
||||||
|
|
||||||
|
.DamageMonIfPoisoned: ; 5062e
|
||||||
|
; check if mon is poisoned, return if not
|
||||||
|
ld a, MON_STATUS
|
||||||
|
call GetPartyParamLocation
|
||||||
|
ld a, [hl]
|
||||||
|
and 1 << PSN
|
||||||
|
ret z
|
||||||
|
|
||||||
|
; check if mon is already fainted, return if so
|
||||||
|
ld a, MON_HP
|
||||||
|
call GetPartyParamLocation
|
||||||
|
ld a, [hli]
|
||||||
|
ld b, a
|
||||||
|
ld c, [hl]
|
||||||
|
or c
|
||||||
|
ret z
|
||||||
|
|
||||||
|
; do 1 HP damage
|
||||||
|
dec bc
|
||||||
|
ld [hl], c
|
||||||
|
dec hl
|
||||||
|
ld [hl], b
|
||||||
|
|
||||||
|
; check if mon has fainted as a result of poison damage
|
||||||
|
ld a, b
|
||||||
|
or c
|
||||||
|
jr nz, .not_fainted
|
||||||
|
|
||||||
|
; the mon has fainted, reset its status, set carry, and return %10
|
||||||
|
ld a, MON_STATUS
|
||||||
|
call GetPartyParamLocation
|
||||||
|
ld [hl], 0
|
||||||
|
ld c, %10
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
|
||||||
|
.not_fainted
|
||||||
|
; set carry and return %01
|
||||||
|
ld c, %01
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 50658
|
||||||
|
|
||||||
|
.PlayPoisonSFX: ; 50658
|
||||||
|
ld de, SFX_POISON
|
||||||
|
call PlaySFX
|
||||||
|
ld b, $2
|
||||||
|
predef Functioncbcdd
|
||||||
|
call DelayFrame
|
||||||
|
ret
|
||||||
|
; 50669
|
||||||
|
|
||||||
|
.Script_MonFaintedToPoison: ; 50669
|
||||||
|
callasm .PlayPoisonSFX
|
||||||
|
loadfont
|
||||||
|
callasm .CheckWhitedOut
|
||||||
|
iffalse .whiteout
|
||||||
|
loadmovesprites
|
||||||
|
end
|
||||||
|
; 50677
|
||||||
|
|
||||||
|
.whiteout: ; 50677
|
||||||
|
farjump Script_OverworldWhiteout
|
||||||
|
; 5067b
|
||||||
|
|
||||||
|
.CheckWhitedOut: ; 5067b
|
||||||
|
xor a
|
||||||
|
ld [CurPartyMon], a
|
||||||
|
ld de, EngineBuffer2
|
||||||
|
.party_loop
|
||||||
|
push de
|
||||||
|
ld a, [de]
|
||||||
|
and %10
|
||||||
|
jr z, .mon_not_fainted
|
||||||
|
ld c, HAPPINESS_POISONFAINT
|
||||||
|
callba ChangeHappiness
|
||||||
|
callba GetPartyNick
|
||||||
|
ld hl, .PoisonFaintText
|
||||||
|
call PrintText
|
||||||
|
|
||||||
|
.mon_not_fainted
|
||||||
|
pop de
|
||||||
|
inc de
|
||||||
|
ld hl, CurPartyMon
|
||||||
|
inc [hl]
|
||||||
|
ld a, [PartyCount]
|
||||||
|
cp [hl]
|
||||||
|
jr nz, .party_loop
|
||||||
|
predef CheckPlayerPartyForFitPkmn
|
||||||
|
ld a, d
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
; 506b2
|
||||||
|
|
||||||
|
.PoisonFaintText: ; 506b2
|
||||||
|
text_jump UnknownText_0x1c0acc
|
||||||
|
db "@"
|
||||||
|
; 506b7
|
||||||
|
|
||||||
|
.PoisonWhiteOutText: ; 506b7
|
||||||
|
text_jump UnknownText_0x1c0ada
|
||||||
|
db "@"
|
||||||
|
; 506bc
|
74
event/sacred_ash.asm
Executable file
74
event/sacred_ash.asm
Executable file
@ -0,0 +1,74 @@
|
|||||||
|
|
||||||
|
_SacredAsh: ; 507e6
|
||||||
|
ld a, $0
|
||||||
|
ld [wd0ec], a
|
||||||
|
call CheckAnyFaintedMon
|
||||||
|
ret nc
|
||||||
|
|
||||||
|
ld hl, SacredAshScript
|
||||||
|
call QueueScript
|
||||||
|
ld a, $1
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
; 507fb
|
||||||
|
|
||||||
|
CheckAnyFaintedMon: ; 507fb
|
||||||
|
ld de, PARTYMON_STRUCT_LENGTH
|
||||||
|
ld bc, PartySpecies
|
||||||
|
ld hl, PartyMon1HP
|
||||||
|
ld a, [PartyCount]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
|
||||||
|
.loop
|
||||||
|
push af
|
||||||
|
push hl
|
||||||
|
ld a, [bc]
|
||||||
|
inc bc
|
||||||
|
cp EGG
|
||||||
|
jr z, .next
|
||||||
|
|
||||||
|
ld a, [hli]
|
||||||
|
or [hl]
|
||||||
|
jr z, .done
|
||||||
|
|
||||||
|
.next
|
||||||
|
pop hl
|
||||||
|
add hl, de
|
||||||
|
pop af
|
||||||
|
dec a
|
||||||
|
jr nz, .loop
|
||||||
|
xor a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.done
|
||||||
|
pop hl
|
||||||
|
pop af
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 50821
|
||||||
|
|
||||||
|
SacredAshScript: ; 0x50821
|
||||||
|
special HealParty
|
||||||
|
reloadmappart
|
||||||
|
playsound SFX_WARP_TO
|
||||||
|
special FadeOutPalettes
|
||||||
|
special FadeInPalettes
|
||||||
|
special FadeOutPalettes
|
||||||
|
special FadeInPalettes
|
||||||
|
special FadeOutPalettes
|
||||||
|
special FadeInPalettes
|
||||||
|
waitbutton
|
||||||
|
writetext UnknownText_0x50845
|
||||||
|
playsound SFX_CAUGHT_MON
|
||||||
|
waitbutton
|
||||||
|
closetext
|
||||||
|
loadmovesprites
|
||||||
|
end
|
||||||
|
; 0x50845
|
||||||
|
|
||||||
|
UnknownText_0x50845: ; 0x50845
|
||||||
|
; 's #MON were all healed!
|
||||||
|
text_jump UnknownText_0x1c0b65
|
||||||
|
db "@"
|
||||||
|
; 0x5084a
|
51
event/squirtbottle.asm
Executable file
51
event/squirtbottle.asm
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
_Squirtbottle: ; 50730
|
||||||
|
ld hl, UnknownScript_0x5073c
|
||||||
|
call QueueScript
|
||||||
|
ld a, $1
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
; 5073c
|
||||||
|
|
||||||
|
UnknownScript_0x5073c: ; 0x5073c
|
||||||
|
reloadmappart
|
||||||
|
special UpdateTimePals
|
||||||
|
callasm Function50753
|
||||||
|
iffalse UnknownScript_0x5074b
|
||||||
|
farjump WateredWeirdTreeScript
|
||||||
|
; 0x5074b
|
||||||
|
|
||||||
|
UnknownScript_0x5074b: ; 0x5074b
|
||||||
|
jumptext UnknownText_0x5074e
|
||||||
|
; 0x5074e
|
||||||
|
|
||||||
|
UnknownText_0x5074e: ; 0x5074e
|
||||||
|
; sprinkled water. But nothing happened…
|
||||||
|
text_jump UnknownText_0x1c0b3b
|
||||||
|
db "@"
|
||||||
|
; 0x50753
|
||||||
|
|
||||||
|
Function50753: ; 50753
|
||||||
|
ld a, [MapGroup]
|
||||||
|
cp GROUP_ROUTE_36
|
||||||
|
jr nz, .asm_50774
|
||||||
|
|
||||||
|
ld a, [MapNumber]
|
||||||
|
cp MAP_ROUTE_36
|
||||||
|
jr nz, .asm_50774
|
||||||
|
|
||||||
|
callba GetFacingObject
|
||||||
|
jr c, .asm_50774
|
||||||
|
|
||||||
|
ld a, d
|
||||||
|
cp $17
|
||||||
|
jr nz, .asm_50774
|
||||||
|
|
||||||
|
ld a, $1
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_50774
|
||||||
|
xor a
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
; 50779
|
75
event/sweet_scent.asm
Executable file
75
event/sweet_scent.asm
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
SweetScentFromMenu: ; 506bc
|
||||||
|
ld hl, UnknownScript_0x506c8
|
||||||
|
call QueueScript
|
||||||
|
ld a, $1
|
||||||
|
ld [wd0ec], a
|
||||||
|
ret
|
||||||
|
; 506c8
|
||||||
|
|
||||||
|
UnknownScript_0x506c8: ; 0x506c8
|
||||||
|
reloadmappart
|
||||||
|
special UpdateTimePals
|
||||||
|
callasm GetPartyNick
|
||||||
|
writetext UnknownText_0x50726
|
||||||
|
closetext
|
||||||
|
callasm SweetScentEncounter
|
||||||
|
iffalse UnknownScript_0x506e9
|
||||||
|
checkflag ENGINE_BUG_CONTEST_TIMER
|
||||||
|
iftrue UnknownScript_0x506e5
|
||||||
|
battlecheck
|
||||||
|
startbattle
|
||||||
|
returnafterbattle
|
||||||
|
end
|
||||||
|
; 0x506e5
|
||||||
|
|
||||||
|
UnknownScript_0x506e5: ; 0x506e5
|
||||||
|
farjump BugCatchingContestBattleScript
|
||||||
|
; 0x506e9
|
||||||
|
|
||||||
|
UnknownScript_0x506e9: ; 0x506e9
|
||||||
|
writetext UnknownText_0x5072b
|
||||||
|
closetext
|
||||||
|
loadmovesprites
|
||||||
|
end
|
||||||
|
; 0x506ef
|
||||||
|
|
||||||
|
SweetScentEncounter: ; 506ef
|
||||||
|
callba CanUseSweetScent
|
||||||
|
jr nc, .no_battle
|
||||||
|
ld hl, StatusFlags2
|
||||||
|
bit 2, [hl]
|
||||||
|
jr nz, .not_in_bug_contest
|
||||||
|
callba GetMapEncounterRate
|
||||||
|
ld a, b
|
||||||
|
and a
|
||||||
|
jr z, .no_battle
|
||||||
|
callba ChooseWildEncounter
|
||||||
|
jr nz, .no_battle
|
||||||
|
jr .start_battle
|
||||||
|
|
||||||
|
.not_in_bug_contest
|
||||||
|
callba ChooseWildEncounter_BugContest
|
||||||
|
|
||||||
|
.start_battle
|
||||||
|
ld a, $1
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.no_battle
|
||||||
|
xor a
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ld [BattleType], a
|
||||||
|
ret
|
||||||
|
; 50726
|
||||||
|
|
||||||
|
UnknownText_0x50726: ; 0x50726
|
||||||
|
; used SWEET SCENT!
|
||||||
|
text_jump UnknownText_0x1c0b03
|
||||||
|
db "@"
|
||||||
|
; 0x5072b
|
||||||
|
|
||||||
|
UnknownText_0x5072b: ; 0x5072b
|
||||||
|
; Looks like there's nothing here…
|
||||||
|
text_jump UnknownText_0x1c0b1a
|
||||||
|
db "@"
|
||||||
|
; 0x50730
|
@ -10,7 +10,7 @@ Script_OverworldWhiteout:: ; 0x124c8
|
|||||||
Script_Whiteout: ; 0x124ce
|
Script_Whiteout: ; 0x124ce
|
||||||
writetext .WhitedOutText
|
writetext .WhitedOutText
|
||||||
closetext
|
closetext
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
pause 40
|
pause 40
|
||||||
special HealParty
|
special HealParty
|
||||||
checkflag ENGINE_BUG_CONTEST_TIMER
|
checkflag ENGINE_BUG_CONTEST_TIMER
|
||||||
|
2
home.asm
2
home.asm
@ -530,7 +530,7 @@ CompareLong:: ; 31e4
|
|||||||
; 31f3
|
; 31f3
|
||||||
|
|
||||||
|
|
||||||
WhiteBGMap:: ; 31f3
|
ClearBGPalettes:: ; 31f3
|
||||||
call ClearPalettes
|
call ClearPalettes
|
||||||
WaitBGMap:: ; 31f6
|
WaitBGMap:: ; 31f6
|
||||||
; Tell VBlank to update BG Map
|
; Tell VBlank to update BG Map
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Audio interfaces.
|
; Audio interfaces.
|
||||||
|
|
||||||
SoundRestart:: ; 3b4e
|
MapSetup_Sound_Off:: ; 3b4e
|
||||||
|
|
||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
@ -9,11 +9,11 @@ SoundRestart:: ; 3b4e
|
|||||||
|
|
||||||
ld a, [hROMBank]
|
ld a, [hROMBank]
|
||||||
push af
|
push af
|
||||||
ld a, BANK(_SoundRestart)
|
ld a, BANK(_MapSetup_Sound_Off)
|
||||||
ld [hROMBank], a
|
ld [hROMBank], a
|
||||||
ld [MBC3RomBank], a
|
ld [MBC3RomBank], a
|
||||||
|
|
||||||
call _SoundRestart
|
call _MapSetup_Sound_Off
|
||||||
|
|
||||||
pop af
|
pop af
|
||||||
ld [hROMBank], a
|
ld [hROMBank], a
|
||||||
@ -81,7 +81,7 @@ PlayMusic:: ; 3b97
|
|||||||
|
|
||||||
ld a, [hROMBank]
|
ld a, [hROMBank]
|
||||||
push af
|
push af
|
||||||
ld a, BANK(_PlayMusic) ; and BANK(_SoundRestart)
|
ld a, BANK(_PlayMusic) ; and BANK(_MapSetup_Sound_Off)
|
||||||
ld [hROMBank], a
|
ld [hROMBank], a
|
||||||
ld [MBC3RomBank], a
|
ld [MBC3RomBank], a
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ PlayMusic:: ; 3b97
|
|||||||
jr .end
|
jr .end
|
||||||
|
|
||||||
.nomusic
|
.nomusic
|
||||||
call _SoundRestart
|
call _MapSetup_Sound_Off
|
||||||
|
|
||||||
.end
|
.end
|
||||||
pop af
|
pop af
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Reset:: ; 150
|
Reset:: ; 150
|
||||||
di
|
di
|
||||||
call SoundRestart
|
call MapSetup_Sound_Off
|
||||||
xor a
|
xor a
|
||||||
ld [hMapAnims], a
|
ld [hMapAnims], a
|
||||||
call ClearPalettes
|
call ClearPalettes
|
||||||
@ -168,7 +168,7 @@ Init:: ; 17d
|
|||||||
|
|
||||||
predef Function9853
|
predef Function9853
|
||||||
|
|
||||||
call SoundRestart
|
call MapSetup_Sound_Off
|
||||||
xor a
|
xor a
|
||||||
ld [wMapMusic], a
|
ld [wMapMusic], a
|
||||||
jp GameInit
|
jp GameInit
|
||||||
|
17
home/map.asm
17
home/map.asm
@ -209,8 +209,8 @@ endr
|
|||||||
ret
|
ret
|
||||||
; 222a
|
; 222a
|
||||||
|
|
||||||
Function222a:: ; 222a
|
ReturnToMapFromSubmenu:: ; 222a
|
||||||
ld a, MAPSETUP_10
|
ld a, MAPSETUP_SUBMENU
|
||||||
ld [hMapEntryMethod], a
|
ld [hMapEntryMethod], a
|
||||||
callba RunMapSetupScript
|
callba RunMapSetupScript
|
||||||
xor a
|
xor a
|
||||||
@ -1099,13 +1099,14 @@ Call_a_de:: ; 26b7
|
|||||||
; 26c7
|
; 26c7
|
||||||
|
|
||||||
GetMovementData:: ; 26c7
|
GetMovementData:: ; 26c7
|
||||||
|
; Initialize the movement data for person c at b:hl
|
||||||
ld a, [hROMBank]
|
ld a, [hROMBank]
|
||||||
push af
|
push af
|
||||||
ld a, b
|
ld a, b
|
||||||
rst Bankswitch
|
rst Bankswitch
|
||||||
|
|
||||||
ld a, c
|
ld a, c
|
||||||
call Function19e9
|
call LoadMovementDataPointer
|
||||||
|
|
||||||
pop hl
|
pop hl
|
||||||
ld a, h
|
ld a, h
|
||||||
@ -1964,7 +1965,7 @@ FadeToMenu:: ; 2b29
|
|||||||
xor a
|
xor a
|
||||||
ld [hBGMapMode], a
|
ld [hBGMapMode], a
|
||||||
call LoadStandardMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
callba FadeBlackBGMap
|
callba FadeOutPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call DisableSpriteUpdates
|
call DisableSpriteUpdates
|
||||||
ret
|
ret
|
||||||
@ -1972,7 +1973,7 @@ FadeToMenu:: ; 2b29
|
|||||||
|
|
||||||
|
|
||||||
Function2b3c:: ; 2b3c
|
Function2b3c:: ; 2b3c
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function2bae
|
call Function2bae
|
||||||
call UpdateSprites
|
call UpdateSprites
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
@ -1981,7 +1982,7 @@ Function2b3c:: ; 2b3c
|
|||||||
; 2b4d
|
; 2b4d
|
||||||
|
|
||||||
Function2b4d:: ; 2b4d
|
Function2b4d:: ; 2b4d
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
call Function2bae
|
call Function2bae
|
||||||
call UpdateSprites
|
call UpdateSprites
|
||||||
@ -1993,7 +1994,7 @@ Function2b5c:: ; 2b5c
|
|||||||
call GetSGBLayout
|
call GetSGBLayout
|
||||||
callba Function49409
|
callba Function49409
|
||||||
call Function3200
|
call Function3200
|
||||||
callba FadeInBGMap
|
callba FadeInPalettes
|
||||||
call EnableSpriteUpdates
|
call EnableSpriteUpdates
|
||||||
ret
|
ret
|
||||||
; 2b74
|
; 2b74
|
||||||
@ -2003,7 +2004,7 @@ Function2b74:: ; 0x2b74
|
|||||||
push af
|
push af
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [wc2ce], a
|
ld [wc2ce], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call Function2bae
|
call Function2bae
|
||||||
hlcoord 0, 12
|
hlcoord 0, 12
|
||||||
|
@ -428,7 +428,8 @@ Function19b8:: ; 19b8
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Function19e9:: ; 19e9
|
LoadMovementDataPointer:: ; 19e9
|
||||||
|
; Load the movement data pointer for person a.
|
||||||
ld [wMovementPerson], a
|
ld [wMovementPerson], a
|
||||||
ld a, [hROMBank]
|
ld a, [hROMBank]
|
||||||
ld [wMovementDataPointer], a
|
ld [wMovementDataPointer], a
|
||||||
@ -439,12 +440,15 @@ Function19e9:: ; 19e9
|
|||||||
ld a, [wMovementPerson]
|
ld a, [wMovementPerson]
|
||||||
call CheckObjectVisibility
|
call CheckObjectVisibility
|
||||||
ret c
|
ret c
|
||||||
|
|
||||||
ld hl, OBJECT_MOVEMENTTYPE
|
ld hl, OBJECT_MOVEMENTTYPE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], SPRITEMOVEDATA_SCRIPTED
|
ld [hl], SPRITEMOVEDATA_SCRIPTED
|
||||||
|
|
||||||
ld hl, OBJECT_09
|
ld hl, OBJECT_09
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld [hl], 0
|
ld [hl], 0
|
||||||
|
|
||||||
ld hl, VramState
|
ld hl, VramState
|
||||||
set 7, [hl]
|
set 7, [hl]
|
||||||
and a
|
and a
|
||||||
@ -589,14 +593,15 @@ endr
|
|||||||
; 1aae
|
; 1aae
|
||||||
|
|
||||||
Function1aae:: ; 1aae
|
Function1aae:: ; 1aae
|
||||||
|
; Switch to the movement data bank
|
||||||
ld a, [hROMBank]
|
ld a, [hROMBank]
|
||||||
push af
|
push af
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
rst Bankswitch
|
rst Bankswitch
|
||||||
|
; Load the current script byte as given by OBJECT_MOVEMENT_BYTE_INDEX, and increment OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld d, [hl]
|
ld d, [hl]
|
||||||
ld hl, OBJECT_27
|
ld hl, OBJECT_MOVEMENT_BYTE_INDEX
|
||||||
add hl, bc
|
add hl, bc
|
||||||
add [hl]
|
add [hl]
|
||||||
ld e, a
|
ld e, a
|
||||||
|
@ -6,7 +6,7 @@ Serial:: ; 6ef
|
|||||||
push de
|
push de
|
||||||
push hl
|
push hl
|
||||||
|
|
||||||
ld a, [$ffc9]
|
ld a, [hFFC9]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_71c
|
jr nz, .asm_71c
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ Serial:: ; 6ef
|
|||||||
|
|
||||||
.asm_752
|
.asm_752
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$ffca], a
|
ld [hFFCA], a
|
||||||
ld a, $fe
|
ld a, $fe
|
||||||
ld [hSerialSend], a
|
ld [hSerialSend], a
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ Serial:: ; 6ef
|
|||||||
|
|
||||||
Function75f:: ; 75f
|
Function75f:: ; 75f
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$ffcc], a
|
ld [hFFCC], a
|
||||||
.asm_763
|
.asm_763
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [hSerialSend], a
|
ld [hSerialSend], a
|
||||||
@ -103,7 +103,7 @@ Function75f:: ; 75f
|
|||||||
.asm_76e
|
.asm_76e
|
||||||
dec a
|
dec a
|
||||||
jr nz, .asm_76e
|
jr nz, .asm_76e
|
||||||
ld a, [$ffcc]
|
ld a, [hFFCC]
|
||||||
and a
|
and a
|
||||||
ld a, b
|
ld a, b
|
||||||
pop bc
|
pop bc
|
||||||
@ -112,7 +112,7 @@ Function75f:: ; 75f
|
|||||||
cp $fd
|
cp $fd
|
||||||
jr nz, .asm_763
|
jr nz, .asm_763
|
||||||
xor a
|
xor a
|
||||||
ld [$ffcc], a
|
ld [hFFCC], a
|
||||||
jr .asm_763
|
jr .asm_763
|
||||||
|
|
||||||
.asm_782
|
.asm_782
|
||||||
@ -127,7 +127,7 @@ Function75f:: ; 75f
|
|||||||
|
|
||||||
Function78a:: ; 78a
|
Function78a:: ; 78a
|
||||||
xor a
|
xor a
|
||||||
ld [$ffca], a
|
ld [hFFCA], a
|
||||||
ld a, [hLinkPlayerNumber]
|
ld a, [hLinkPlayerNumber]
|
||||||
cp $2
|
cp $2
|
||||||
jr nz, .asm_79b
|
jr nz, .asm_79b
|
||||||
@ -137,7 +137,7 @@ Function78a:: ; 78a
|
|||||||
ld [rSC], a
|
ld [rSC], a
|
||||||
|
|
||||||
.asm_79b
|
.asm_79b
|
||||||
ld a, [$ffca]
|
ld a, [hFFCA]
|
||||||
and a
|
and a
|
||||||
jr nz, .asm_7e5
|
jr nz, .asm_7e5
|
||||||
ld a, [hLinkPlayerNumber]
|
ld a, [hLinkPlayerNumber]
|
||||||
@ -182,7 +182,7 @@ Function78a:: ; 78a
|
|||||||
|
|
||||||
.asm_7e5
|
.asm_7e5
|
||||||
xor a
|
xor a
|
||||||
ld [$ffca], a
|
ld [hFFCA], a
|
||||||
ld a, [rIE]
|
ld a, [rIE]
|
||||||
and $f
|
and $f
|
||||||
sub $8
|
sub $8
|
||||||
@ -251,7 +251,7 @@ Function83b:: ; 83b
|
|||||||
ld de, wcf51
|
ld de, wcf51
|
||||||
ld c, $2
|
ld c, $2
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$ffcc], a
|
ld [hFFCC], a
|
||||||
.asm_847
|
.asm_847
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
@ -259,10 +259,10 @@ Function83b:: ; 83b
|
|||||||
call Function78a
|
call Function78a
|
||||||
ld b, a
|
ld b, a
|
||||||
inc hl
|
inc hl
|
||||||
ld a, [$ffcc]
|
ld a, [hFFCC]
|
||||||
and a
|
and a
|
||||||
ld a, $0
|
ld a, $0
|
||||||
ld [$ffcc], a
|
ld [hFFCC], a
|
||||||
jr nz, .asm_847
|
jr nz, .asm_847
|
||||||
ld a, b
|
ld a, b
|
||||||
ld [de], a
|
ld [de], a
|
||||||
|
8
hram.asm
8
hram.asm
@ -68,14 +68,18 @@ hPrintNum10 EQU $ffbc
|
|||||||
|
|
||||||
hUsedSpriteIndex EQU $ffbd
|
hUsedSpriteIndex EQU $ffbd
|
||||||
hUsedSpriteTile EQU $ffbe
|
hUsedSpriteTile EQU $ffbe
|
||||||
|
hFFBF EQU $ffbf
|
||||||
|
hFFC0 EQU $ffc0
|
||||||
|
hFFC1 EQU $ffc1
|
||||||
|
hFFC2 EQU $ffc2
|
||||||
hMoneyTemp EQU $ffc3
|
hMoneyTemp EQU $ffc3
|
||||||
|
|
||||||
hLCDStatCustom EQU $ffc6
|
hLCDStatCustom EQU $ffc6
|
||||||
|
|
||||||
hFFC9 EQU $ffc9
|
hFFC9 EQU $ffc9
|
||||||
|
hFFCA EQU $ffca
|
||||||
hLinkPlayerNumber EQU $ffcb
|
hLinkPlayerNumber EQU $ffcb
|
||||||
|
hFFCC EQU $ffcc
|
||||||
hSerialSend EQU $ffcd
|
hSerialSend EQU $ffcd
|
||||||
hSerialReceive EQU $ffce
|
hSerialReceive EQU $ffce
|
||||||
|
|
||||||
|
@ -714,7 +714,7 @@ endr
|
|||||||
and a
|
and a
|
||||||
jr z, .toss
|
jr z, .toss
|
||||||
|
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
|
|
||||||
.toss
|
.toss
|
||||||
@ -1866,7 +1866,7 @@ UseItem_SelectMon: ; f1f9 (3:71f9)
|
|||||||
push hl
|
push hl
|
||||||
push de
|
push de
|
||||||
push bc
|
push bc
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Functionf21c
|
call Functionf21c
|
||||||
pop bc
|
pop bc
|
||||||
pop de
|
pop de
|
||||||
|
@ -303,16 +303,44 @@ hide_person: macro
|
|||||||
db movement_hide_person ; $3d
|
db movement_hide_person ; $3d
|
||||||
endm
|
endm
|
||||||
|
|
||||||
enum movement_show_person
|
enum movement_step_sleep_1
|
||||||
show_person: macro
|
step_sleep_1: macro
|
||||||
db movement_show_person ; $3e
|
db movement_step_sleep_1 ; $3e
|
||||||
endm
|
endm
|
||||||
|
|
||||||
__enum__ = $45
|
enum movement_step_sleep_2
|
||||||
|
step_sleep_2: macro
|
||||||
|
db movement_step_sleep_2 ; $3f
|
||||||
|
endm
|
||||||
|
|
||||||
enum movement_accelerate_last
|
enum movement_step_sleep_3
|
||||||
accelerate_last: macro
|
step_sleep_3: macro
|
||||||
db movement_accelerate_last ; $45
|
db movement_step_sleep_3 ; $40
|
||||||
|
endm
|
||||||
|
|
||||||
|
enum movement_step_sleep_4
|
||||||
|
step_sleep_4: macro
|
||||||
|
db movement_step_sleep_4 ; $41
|
||||||
|
endm
|
||||||
|
|
||||||
|
enum movement_step_sleep_5
|
||||||
|
step_sleep_5: macro
|
||||||
|
db movement_step_sleep_5 ; $42
|
||||||
|
endm
|
||||||
|
|
||||||
|
enum movement_step_sleep_6
|
||||||
|
step_sleep_6: macro
|
||||||
|
db movement_step_sleep_6 ; $43
|
||||||
|
endm
|
||||||
|
|
||||||
|
enum movement_step_sleep_7
|
||||||
|
step_sleep_7: macro
|
||||||
|
db movement_step_sleep_7 ; $44
|
||||||
|
endm
|
||||||
|
|
||||||
|
enum movement_step_sleep_8
|
||||||
|
step_sleep_8: macro
|
||||||
|
db movement_step_sleep_8 ; $45
|
||||||
endm
|
endm
|
||||||
|
|
||||||
enum movement_step_sleep
|
enum movement_step_sleep
|
||||||
@ -333,6 +361,11 @@ remove_person: macro
|
|||||||
db movement_remove_person ; $49
|
db movement_remove_person ; $49
|
||||||
endm
|
endm
|
||||||
|
|
||||||
|
enum movement_step_loop
|
||||||
|
step_loop: macro
|
||||||
|
db movement_step_loop ; $4a
|
||||||
|
endm
|
||||||
|
|
||||||
__enum__ = $4c
|
__enum__ = $4c
|
||||||
|
|
||||||
enum movement_teleport_from
|
enum movement_teleport_from
|
||||||
@ -362,9 +395,9 @@ fish_got_bite: macro
|
|||||||
db movement_fish_got_bite ; $51
|
db movement_fish_got_bite ; $51
|
||||||
endm
|
endm
|
||||||
|
|
||||||
enum movement_fish_got_bite_2
|
enum movement_fish_cast_rod
|
||||||
fish_got_bite_2: macro
|
fish_cast_rod: macro
|
||||||
db movement_fish_got_bite_2 ; $52
|
db movement_fish_cast_rod ; $52
|
||||||
endm
|
endm
|
||||||
|
|
||||||
enum movement_hide_emote
|
enum movement_hide_emote
|
||||||
|
@ -31,7 +31,7 @@ Script_BattleRoomLoop: ; 0x9f425
|
|||||||
keeptextopen
|
keeptextopen
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special BattleTowerBattle ; calls predef startbattle
|
special BattleTowerBattle ; calls predef startbattle
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
reloadmap
|
reloadmap
|
||||||
if_not_equal $0, Script_FailedBattleTowerChallenge
|
if_not_equal $0, Script_FailedBattleTowerChallenge
|
||||||
copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
|
copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
|
||||||
@ -46,10 +46,10 @@ Script_BattleRoomLoop: ; 0x9f425
|
|||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
playmusic MUSIC_HEAL
|
playmusic MUSIC_HEAL
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
special LoadMapPalettes
|
special LoadMapPalettes
|
||||||
pause 60
|
pause 60
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
special RestartMapMusic
|
special RestartMapMusic
|
||||||
loadfont
|
loadfont
|
||||||
writetext Text_NextUpOpponentNo
|
writetext Text_NextUpOpponentNo
|
||||||
@ -73,7 +73,7 @@ Script_DontBattleNextOpponent: ; 0x9f483
|
|||||||
special BattleTowerAction
|
special BattleTowerAction
|
||||||
playsound SFX_SAVE
|
playsound SFX_SAVE
|
||||||
waitbutton
|
waitbutton
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
special Reset
|
special Reset
|
||||||
Script_DontSaveAndEndTheSession: ; 0x9f4a3
|
Script_DontSaveAndEndTheSession: ; 0x9f4a3
|
||||||
writetext Text_CancelYourBattleRoomChallenge
|
writetext Text_CancelYourBattleRoomChallenge
|
||||||
@ -84,7 +84,7 @@ Script_DontSaveAndEndTheSession: ; 0x9f4a3
|
|||||||
writebyte BATTLE_TOWER_ACTION_06
|
writebyte BATTLE_TOWER_ACTION_06
|
||||||
special BattleTowerAction
|
special BattleTowerAction
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
warpfacing UP, BATTLE_TOWER_1F, $7, $7
|
warpfacing UP, BATTLE_TOWER_1F, $7, $7
|
||||||
loadfont
|
loadfont
|
||||||
jump UnknownScript_0x9e4b0
|
jump UnknownScript_0x9e4b0
|
||||||
|
@ -30,10 +30,10 @@ UnknownScript_0x19b0de:
|
|||||||
writetext UnknownText_0x19b266
|
writetext UnknownText_0x19b266
|
||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
playmusic MUSIC_HEAL
|
playmusic MUSIC_HEAL
|
||||||
pause 60
|
pause 60
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
special RestartMapMusic
|
special RestartMapMusic
|
||||||
loadfont
|
loadfont
|
||||||
writetext UnknownText_0x19b296
|
writetext UnknownText_0x19b296
|
||||||
|
@ -176,8 +176,8 @@ MovementData_0x1884eb:
|
|||||||
jump_step_up
|
jump_step_up
|
||||||
db $38 ; movement
|
db $38 ; movement
|
||||||
remove_fixed_facing
|
remove_fixed_facing
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_down
|
step_down
|
||||||
step_down
|
step_down
|
||||||
step_end
|
step_end
|
||||||
|
@ -49,7 +49,7 @@ ColosseumScript_Initialize:
|
|||||||
|
|
||||||
MapColosseumSignpost1Script:
|
MapColosseumSignpost1Script:
|
||||||
special Special_Colosseum
|
special Special_Colosseum
|
||||||
newloadmap MAPSETUP_08
|
newloadmap MAPSETUP_LINKRETURN
|
||||||
end
|
end
|
||||||
|
|
||||||
ChrisScript_0x193499:
|
ChrisScript_0x193499:
|
||||||
|
@ -84,7 +84,7 @@ UnknownScript_0x99dc6:
|
|||||||
follow PLAYER, $8
|
follow PLAYER, $8
|
||||||
applymovement PLAYER, MovementData_0x99e5f
|
applymovement PLAYER, MovementData_0x99e5f
|
||||||
stopfollow
|
stopfollow
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
playsound SFX_ENTER_DOOR
|
playsound SFX_ENTER_DOOR
|
||||||
waitbutton
|
waitbutton
|
||||||
warp ECRUTEAK_CITY, $6, $1b
|
warp ECRUTEAK_CITY, $6, $1b
|
||||||
|
@ -64,7 +64,7 @@ SailorScript_0x75160:
|
|||||||
loadmovesprites
|
loadmovesprites
|
||||||
scall .LetThePlayerOut
|
scall .LetThePlayerOut
|
||||||
playsound SFX_EXIT_BUILDING
|
playsound SFX_EXIT_BUILDING
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
|
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
|
||||||
domaptrigger VERMILION_PORT, $1
|
domaptrigger VERMILION_PORT, $1
|
||||||
@ -77,7 +77,7 @@ SailorScript_0x75160:
|
|||||||
loadmovesprites
|
loadmovesprites
|
||||||
scall .LetThePlayerOut
|
scall .LetThePlayerOut
|
||||||
playsound SFX_EXIT_BUILDING
|
playsound SFX_EXIT_BUILDING
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
setevent EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
|
setevent EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
|
||||||
domaptrigger OLIVINE_PORT, $1
|
domaptrigger OLIVINE_PORT, $1
|
||||||
|
@ -35,7 +35,7 @@ OfficerScript_0x550ec:
|
|||||||
writebyte $0
|
writebyte $0
|
||||||
special Special_MagnetTrain
|
special Special_MagnetTrain
|
||||||
warpcheck
|
warpcheck
|
||||||
newloadmap MAPSETUP_09
|
newloadmap MAPSETUP_TRAIN
|
||||||
applymovement PLAYER, .MovementBoardTheTrain
|
applymovement PLAYER, .MovementBoardTheTrain
|
||||||
wait $14
|
wait $14
|
||||||
end
|
end
|
||||||
|
@ -572,8 +572,8 @@ MovementData_0x6eed2:
|
|||||||
big_step_down
|
big_step_down
|
||||||
fix_facing
|
fix_facing
|
||||||
jump_step_up
|
jump_step_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
remove_fixed_facing
|
remove_fixed_facing
|
||||||
big_step_up
|
big_step_up
|
||||||
big_step_up
|
big_step_up
|
||||||
@ -664,8 +664,8 @@ MovementData_0x6ef23:
|
|||||||
big_step_left
|
big_step_left
|
||||||
fix_facing
|
fix_facing
|
||||||
jump_step_right
|
jump_step_right
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
remove_fixed_facing
|
remove_fixed_facing
|
||||||
big_step_left
|
big_step_left
|
||||||
big_step_left
|
big_step_left
|
||||||
@ -694,8 +694,8 @@ MovementData_0x6ef3d:
|
|||||||
big_step_left
|
big_step_left
|
||||||
fix_facing
|
fix_facing
|
||||||
jump_step_right
|
jump_step_right
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
remove_fixed_facing
|
remove_fixed_facing
|
||||||
big_step_right
|
big_step_right
|
||||||
big_step_right
|
big_step_right
|
||||||
|
@ -154,7 +154,7 @@ TeleportGuyScript:
|
|||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
playsound SFX_WARP_TO
|
playsound SFX_WARP_TO
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
warp NEW_BARK_TOWN, $d, $6
|
warp NEW_BARK_TOWN, $d, $6
|
||||||
end
|
end
|
||||||
|
@ -125,7 +125,7 @@ LanceScript_0x180e7b:
|
|||||||
pause 30
|
pause 30
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
applymovement $3, MovementData_0x180f5b
|
applymovement $3, MovementData_0x180f5b
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
pause 15
|
pause 15
|
||||||
warpfacing UP, HALL_OF_FAME, $4, $d
|
warpfacing UP, HALL_OF_FAME, $4, $d
|
||||||
end
|
end
|
||||||
|
@ -35,11 +35,11 @@ MapMobileBattleRoomSignpost0Script:
|
|||||||
writetext MobileBattleRoom_HealText
|
writetext MobileBattleRoom_HealText
|
||||||
pause 20
|
pause 20
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
playmusic MUSIC_HEAL
|
playmusic MUSIC_HEAL
|
||||||
special LoadMapPalettes
|
special LoadMapPalettes
|
||||||
pause 60
|
pause 60
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
special RestartMapMusic
|
special RestartMapMusic
|
||||||
refreshscreen $0
|
refreshscreen $0
|
||||||
.two_:
|
.two_:
|
||||||
|
@ -42,9 +42,9 @@ UnknownScript_0x60bab:
|
|||||||
loadmovesprites
|
loadmovesprites
|
||||||
special RestartMapMusic
|
special RestartMapMusic
|
||||||
cry AMPHAROS
|
cry AMPHAROS
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
pause 10
|
pause 10
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
loadfont
|
loadfont
|
||||||
writetext UnknownText_0x60f3d
|
writetext UnknownText_0x60f3d
|
||||||
closetext
|
closetext
|
||||||
@ -116,10 +116,10 @@ UnknownScript_0x60c51:
|
|||||||
cry AMPHAROS
|
cry AMPHAROS
|
||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
end
|
end
|
||||||
|
|
||||||
ItemFragment_0x60c66:
|
ItemFragment_0x60c66:
|
||||||
@ -131,8 +131,8 @@ MovementData_0x60c68:
|
|||||||
slow_step_right
|
slow_step_right
|
||||||
slow_step_up
|
slow_step_up
|
||||||
slow_step_up
|
slow_step_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_end
|
step_end
|
||||||
|
|
||||||
MovementData_0x60c70:
|
MovementData_0x60c70:
|
||||||
@ -153,7 +153,7 @@ MovementData_0x60c79:
|
|||||||
slow_step_up
|
slow_step_up
|
||||||
slow_step_up
|
slow_step_up
|
||||||
slow_step_up
|
slow_step_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_end
|
step_end
|
||||||
|
|
||||||
UnknownText_0x60c81:
|
UnknownText_0x60c81:
|
||||||
|
@ -39,7 +39,7 @@ SailorScript_0x748c0:
|
|||||||
waitbutton
|
waitbutton
|
||||||
applymovement PLAYER, MovementData_0x74a30
|
applymovement PLAYER, MovementData_0x74a30
|
||||||
playsound SFX_EXIT_BUILDING
|
playsound SFX_EXIT_BUILDING
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
checkevent EVENT_FAST_SHIP_FIRST_TIME
|
checkevent EVENT_FAST_SHIP_FIRST_TIME
|
||||||
iffalse UnknownScript_0x7490a
|
iffalse UnknownScript_0x7490a
|
||||||
|
@ -75,7 +75,7 @@ Route35NationalParkgate_GoBackIn:
|
|||||||
loadmovesprites
|
loadmovesprites
|
||||||
scall Route35NationalParkgate_EnterContest
|
scall Route35NationalParkgate_EnterContest
|
||||||
playsound SFX_ENTER_DOOR
|
playsound SFX_ENTER_DOOR
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
|
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
|
||||||
end
|
end
|
||||||
@ -112,7 +112,7 @@ Route35NationalParkgate_OkayToProceed:
|
|||||||
special Special_GiveParkBalls
|
special Special_GiveParkBalls
|
||||||
scall Route35NationalParkgate_EnterContest
|
scall Route35NationalParkgate_EnterContest
|
||||||
playsound SFX_ENTER_DOOR
|
playsound SFX_ENTER_DOOR
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
special Special_SelectRandomBugContestContestants
|
special Special_SelectRandomBugContestContestants
|
||||||
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
|
warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
|
||||||
|
@ -83,7 +83,7 @@ Route36NationalParkgate_MapScriptHeader:
|
|||||||
loadmovesprites
|
loadmovesprites
|
||||||
spriteface PLAYER, LEFT
|
spriteface PLAYER, LEFT
|
||||||
playsound SFX_EXIT_BUILDING
|
playsound SFX_EXIT_BUILDING
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
|
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
|
||||||
end
|
end
|
||||||
@ -166,7 +166,7 @@ Route36OfficerScriptContest:
|
|||||||
special Special_GiveParkBalls
|
special Special_GiveParkBalls
|
||||||
spriteface PLAYER, LEFT
|
spriteface PLAYER, LEFT
|
||||||
playsound SFX_EXIT_BUILDING
|
playsound SFX_EXIT_BUILDING
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
special Special_SelectRandomBugContestContestants
|
special Special_SelectRandomBugContestContestants
|
||||||
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
|
warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
|
||||||
|
@ -35,7 +35,7 @@ OfficerScript_0x18a81e:
|
|||||||
writebyte $1
|
writebyte $1
|
||||||
special Special_MagnetTrain
|
special Special_MagnetTrain
|
||||||
warpcheck
|
warpcheck
|
||||||
newloadmap MAPSETUP_09
|
newloadmap MAPSETUP_TRAIN
|
||||||
applymovement PLAYER, .MovementBoardTheTrain
|
applymovement PLAYER, .MovementBoardTheTrain
|
||||||
wait $14
|
wait $14
|
||||||
end
|
end
|
||||||
|
@ -56,7 +56,7 @@ GruntM1Script:
|
|||||||
clearevent EVENT_AZALEA_TOWN_SLOWPOKES
|
clearevent EVENT_AZALEA_TOWN_SLOWPOKES
|
||||||
clearevent EVENT_KURTS_HOUSE_SLOWPOKE
|
clearevent EVENT_KURTS_HOUSE_SLOWPOKE
|
||||||
clearevent EVENT_KURTS_HOUSE_KURT_1
|
clearevent EVENT_KURTS_HOUSE_KURT_1
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
special HealParty
|
special HealParty
|
||||||
pause 15
|
pause 15
|
||||||
warp KURTS_HOUSE, $3, $3
|
warp KURTS_HOUSE, $3, $3
|
||||||
@ -121,15 +121,15 @@ KurtSlowpokeWellVictoryMovementData:
|
|||||||
step_left
|
step_left
|
||||||
step_left
|
step_left
|
||||||
step_up
|
step_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_left
|
step_left
|
||||||
step_up
|
step_up
|
||||||
step_up
|
step_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
turn_head_left
|
turn_head_left
|
||||||
step_end
|
step_end
|
||||||
|
|
||||||
|
@ -445,9 +445,9 @@ ExplodingTrap22:
|
|||||||
end
|
end
|
||||||
|
|
||||||
VoltorbExplodingTrap:
|
VoltorbExplodingTrap:
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
cry VOLTORB
|
cry VOLTORB
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
setlasttalked $ff
|
setlasttalked $ff
|
||||||
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
|
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
|
||||||
loadpokedata VOLTORB, 23
|
loadpokedata VOLTORB, 23
|
||||||
@ -455,9 +455,9 @@ VoltorbExplodingTrap:
|
|||||||
end
|
end
|
||||||
|
|
||||||
GeodudeExplodingTrap:
|
GeodudeExplodingTrap:
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
cry GEODUDE
|
cry GEODUDE
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
setlasttalked $ff
|
setlasttalked $ff
|
||||||
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
|
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
|
||||||
loadpokedata GEODUDE, 21
|
loadpokedata GEODUDE, 21
|
||||||
@ -465,9 +465,9 @@ GeodudeExplodingTrap:
|
|||||||
end
|
end
|
||||||
|
|
||||||
KoffingExplodingTrap:
|
KoffingExplodingTrap:
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
cry KOFFING
|
cry KOFFING
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
setlasttalked $ff
|
setlasttalked $ff
|
||||||
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
|
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
|
||||||
loadpokedata KOFFING, 21
|
loadpokedata KOFFING, 21
|
||||||
|
@ -155,11 +155,11 @@ UnknownScript_0x6d091:
|
|||||||
writetext UnknownText_0x6da97
|
writetext UnknownText_0x6da97
|
||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
special Mobile_HealParty
|
special Mobile_HealParty
|
||||||
playsound SFX_FULL_HEAL
|
playsound SFX_FULL_HEAL
|
||||||
special HealParty
|
special HealParty
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
loadfont
|
loadfont
|
||||||
writetext UnknownText_0x6daf7
|
writetext UnknownText_0x6daf7
|
||||||
closetext
|
closetext
|
||||||
@ -449,17 +449,17 @@ MovementData_0x6d254:
|
|||||||
step_end
|
step_end
|
||||||
|
|
||||||
MovementData_0x6d258:
|
MovementData_0x6d258:
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_left
|
step_left
|
||||||
step_left
|
step_left
|
||||||
turn_head_up
|
turn_head_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_right
|
step_right
|
||||||
step_right
|
step_right
|
||||||
step_right
|
step_right
|
||||||
step_right
|
step_right
|
||||||
turn_head_up
|
turn_head_up
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
step_left
|
step_left
|
||||||
step_left
|
step_left
|
||||||
turn_head_down
|
turn_head_down
|
||||||
|
@ -254,8 +254,8 @@ MovementData_0x6e147:
|
|||||||
fix_facing
|
fix_facing
|
||||||
fast_jump_step_left
|
fast_jump_step_left
|
||||||
remove_fixed_facing
|
remove_fixed_facing
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
accelerate_last
|
step_sleep_8
|
||||||
slow_step_right
|
slow_step_right
|
||||||
big_step_down
|
big_step_down
|
||||||
big_step_down
|
big_step_down
|
||||||
|
@ -39,7 +39,7 @@ TimeCapsule_Initialize:
|
|||||||
|
|
||||||
MapTimeCapsuleSignpost1Script:
|
MapTimeCapsuleSignpost1Script:
|
||||||
special Special_TimeCapsule
|
special Special_TimeCapsule
|
||||||
newloadmap MAPSETUP_08
|
newloadmap MAPSETUP_LINKRETURN
|
||||||
end
|
end
|
||||||
|
|
||||||
ChrisScript_0x19351a:
|
ChrisScript_0x19351a:
|
||||||
|
@ -39,7 +39,7 @@ TradeCenter_Initialize:
|
|||||||
|
|
||||||
MapTradeCenterSignpost1Script:
|
MapTradeCenterSignpost1Script:
|
||||||
special Special_TradeCenter
|
special Special_TradeCenter
|
||||||
newloadmap MAPSETUP_08
|
newloadmap MAPSETUP_LINKRETURN
|
||||||
end
|
end
|
||||||
|
|
||||||
ChrisScript_0x19340b:
|
ChrisScript_0x19340b:
|
||||||
|
@ -51,7 +51,7 @@ SailorScript_0x74dc4:
|
|||||||
waitbutton
|
waitbutton
|
||||||
applymovement PLAYER, MovementData_0x74ef1
|
applymovement PLAYER, MovementData_0x74ef1
|
||||||
playsound SFX_EXIT_BUILDING
|
playsound SFX_EXIT_BUILDING
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
waitbutton
|
waitbutton
|
||||||
setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
|
setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
|
||||||
clearevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
|
clearevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
|
||||||
|
@ -226,10 +226,10 @@ OlderHaircutBrotherScript:
|
|||||||
writetext UnknownText_0x7c6b8
|
writetext UnknownText_0x7c6b8
|
||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
playmusic MUSIC_HEAL
|
playmusic MUSIC_HEAL
|
||||||
pause 60
|
pause 60
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
special RestartMapMusic
|
special RestartMapMusic
|
||||||
loadfont
|
loadfont
|
||||||
writetext UnknownText_0x7c6d8
|
writetext UnknownText_0x7c6d8
|
||||||
@ -309,10 +309,10 @@ YoungerHaircutBrotherScript:
|
|||||||
writetext UnknownText_0x7c80e
|
writetext UnknownText_0x7c80e
|
||||||
closetext
|
closetext
|
||||||
loadmovesprites
|
loadmovesprites
|
||||||
special FadeBlackBGMap
|
special FadeOutPalettes
|
||||||
playmusic MUSIC_HEAL
|
playmusic MUSIC_HEAL
|
||||||
pause 60
|
pause 60
|
||||||
special FadeInBGMap
|
special FadeInPalettes
|
||||||
special RestartMapMusic
|
special RestartMapMusic
|
||||||
loadfont
|
loadfont
|
||||||
writetext UnknownText_0x7c82a
|
writetext UnknownText_0x7c82a
|
||||||
|
@ -371,7 +371,7 @@ Function11c1ca: ; 11c1ca
|
|||||||
ld a, [MenuSelection2]
|
ld a, [MenuSelection2]
|
||||||
dec a
|
dec a
|
||||||
call Function11c254
|
call Function11c254
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
call Function11d323
|
call Function11d323
|
||||||
|
@ -1801,7 +1801,7 @@ Function89b07: ; 89b07
|
|||||||
; 89b14
|
; 89b14
|
||||||
|
|
||||||
Function89b14: ; 89b14
|
Function89b14: ; 89b14
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function89b07
|
call Function89b07
|
||||||
call Function89b00
|
call Function89b00
|
||||||
ret
|
ret
|
||||||
@ -1814,7 +1814,7 @@ Function89b1e: ; 89b1e (22:5b1e)
|
|||||||
|
|
||||||
Function89b28: ; 89b28 (22:5b28)
|
Function89b28: ; 89b28 (22:5b28)
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893e2
|
call Function893e2
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
call Function891ab
|
call Function891ab
|
||||||
@ -2414,7 +2414,7 @@ Function89eb9: ; 89eb9 (22:5eb9)
|
|||||||
jp Function89e36
|
jp Function89e36
|
||||||
|
|
||||||
Function89ee1: ; 89ee1 (22:5ee1)
|
Function89ee1: ; 89ee1 (22:5ee1)
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893e2
|
call Function893e2
|
||||||
call Function8923c
|
call Function8923c
|
||||||
callba Function4a3a7
|
callba Function4a3a7
|
||||||
@ -2602,7 +2602,7 @@ Function89fed: ; 89fed (22:5fed)
|
|||||||
|
|
||||||
Function89ff6: ; 89ff6 (22:5ff6)
|
Function89ff6: ; 89ff6 (22:5ff6)
|
||||||
call Function891fe
|
call Function891fe
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call Function89807
|
call Function89807
|
||||||
call Function89492
|
call Function89492
|
||||||
@ -2937,14 +2937,14 @@ Function8a241: ; 8a241 (22:6241)
|
|||||||
ret
|
ret
|
||||||
.asm_8a254
|
.asm_8a254
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
call Function891de
|
call Function891de
|
||||||
and a
|
and a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
Function8a262: ; 8a262 (22:6262)
|
Function8a262: ; 8a262 (22:6262)
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893e2
|
call Function893e2
|
||||||
call Function8923c
|
call Function8923c
|
||||||
callba Function4a3a7
|
callba Function4a3a7
|
||||||
@ -3501,7 +3501,7 @@ Jumptable_8a671: ; 8a671 (22:6671)
|
|||||||
|
|
||||||
Function8a679: ; 8a679 (22:6679)
|
Function8a679: ; 8a679 (22:6679)
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
call Function8931b
|
call Function8931b
|
||||||
@ -3546,7 +3546,7 @@ Function8a6c5: ; 8a6c5 (22:66c5)
|
|||||||
|
|
||||||
Function8a6cd: ; 8a6cd (22:66cd)
|
Function8a6cd: ; 8a6cd (22:66cd)
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
call Function8931b
|
call Function8931b
|
||||||
@ -3594,7 +3594,7 @@ Function8a6cd: ; 8a6cd (22:66cd)
|
|||||||
.asm_8a73f
|
.asm_8a73f
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
.asm_8a742
|
.asm_8a742
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function89448
|
call Function89448
|
||||||
call Function891d3
|
call Function891d3
|
||||||
call Function8b677
|
call Function8b677
|
||||||
@ -3657,7 +3657,7 @@ Function8a78c: ; 8a78c (22:678c)
|
|||||||
call DelayFrame
|
call DelayFrame
|
||||||
call JoyTextDelay
|
call JoyTextDelay
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
pop bc
|
pop bc
|
||||||
@ -3687,7 +3687,7 @@ Function8a7cb: ; 8a7cb (22:67cb)
|
|||||||
pop af
|
pop af
|
||||||
ld [MenuSelection], a
|
ld [MenuSelection], a
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
call Function8931b
|
call Function8931b
|
||||||
@ -3781,7 +3781,7 @@ Function8a8a1: ; 8a8a1 (22:68a1)
|
|||||||
|
|
||||||
Function8a8c3: ; 8a8c3 (22:68c3)
|
Function8a8c3: ; 8a8c3 (22:68c3)
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
call Function8931b
|
call Function8931b
|
||||||
@ -3969,7 +3969,7 @@ Function8aa0a: ; 8aa0a (22:6a0a)
|
|||||||
call Function89381
|
call Function89381
|
||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
call Function891fe
|
call Function891fe
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call Function89807
|
call Function89807
|
||||||
call Function89492
|
call Function89492
|
||||||
@ -4027,7 +4027,7 @@ Function8aa73: ; 8aa73 (22:6a73)
|
|||||||
call Function89193
|
call Function89193
|
||||||
.asm_8aa9d
|
.asm_8aa9d
|
||||||
call Function891fe
|
call Function891fe
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call Function89807
|
call Function89807
|
||||||
call Function89492
|
call Function89492
|
||||||
@ -4101,7 +4101,7 @@ Function8ab11: ; 8ab11 (22:6b11)
|
|||||||
|
|
||||||
Function8ab3b: ; 8ab3b (22:6b3b)
|
Function8ab3b: ; 8ab3b (22:6b3b)
|
||||||
call Function891fe
|
call Function891fe
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call Function89807
|
call Function89807
|
||||||
call Function89492
|
call Function89492
|
||||||
@ -4140,7 +4140,7 @@ Function8ab77: ; 8ab77 (22:6b77)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
Function8ab93: ; 8ab93 (22:6b93)
|
Function8ab93: ; 8ab93 (22:6b93)
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call LoadStandardMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
callba Function105688
|
callba Function105688
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
@ -4183,7 +4183,7 @@ Function8aba9: ; 8aba9
|
|||||||
call PlayClickSFX
|
call PlayClickSFX
|
||||||
.asm_8abe5
|
.asm_8abe5
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
call Function8931b
|
call Function8931b
|
||||||
@ -4228,7 +4228,7 @@ Function8ac4e: ; 8ac4e
|
|||||||
ld [MenuSelection], a
|
ld [MenuSelection], a
|
||||||
push de
|
push de
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
pop bc
|
pop bc
|
||||||
call Function89844
|
call Function89844
|
||||||
@ -4337,7 +4337,7 @@ Function8ad0b: ; 8ad0b
|
|||||||
ld a, [MenuSelection]
|
ld a, [MenuSelection]
|
||||||
ld [wd02f], a
|
ld [wd02f], a
|
||||||
call Function891de
|
call Function891de
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function893cc
|
call Function893cc
|
||||||
call OpenSRAMBank4
|
call OpenSRAMBank4
|
||||||
call Function8931b
|
call Function8931b
|
||||||
|
@ -574,7 +574,7 @@ Function8b664: ; 8b664 (22:7664)
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
Function8b677: ; 8b677
|
Function8b677: ; 8b677
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
call Function8b690
|
call Function8b690
|
||||||
call Function8b6bb
|
call Function8b6bb
|
||||||
|
@ -48,7 +48,7 @@ Function100022: ; 100022
|
|||||||
|
|
||||||
Function100057: ; 100057
|
Function100057: ; 100057
|
||||||
call Function1000a4
|
call Function1000a4
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ld hl, VramState
|
ld hl, VramState
|
||||||
res 1, [hl]
|
res 1, [hl]
|
||||||
ret
|
ret
|
||||||
@ -74,7 +74,7 @@ Function100063: ; 100063
|
|||||||
Function100082: ; 100082
|
Function100082: ; 100082
|
||||||
xor a
|
xor a
|
||||||
ld hl, OverworldMap
|
ld hl, OverworldMap
|
||||||
ld bc, 1300
|
ld bc, OverworldMapEnd - OverworldMap
|
||||||
call ByteFill
|
call ByteFill
|
||||||
di
|
di
|
||||||
call DoubleSpeed
|
call DoubleSpeed
|
||||||
@ -312,7 +312,7 @@ Function10016f: ; 10016f
|
|||||||
Function10020b: ; 10020b
|
Function10020b: ; 10020b
|
||||||
xor a
|
xor a
|
||||||
ld [wc303], a
|
ld [wc303], a
|
||||||
callba FadeBlackBGMap
|
callba FadeOutPalettes
|
||||||
callba Function106464
|
callba Function106464
|
||||||
call HideSprites
|
call HideSprites
|
||||||
call DelayFrame
|
call DelayFrame
|
||||||
@ -412,7 +412,7 @@ Function1002c9: ; 1002c9
|
|||||||
; 1002dc
|
; 1002dc
|
||||||
|
|
||||||
Function1002dc: ; 1002dc
|
Function1002dc: ; 1002dc
|
||||||
ld a, MAPSETUP_08
|
ld a, MAPSETUP_LINKRETURN
|
||||||
ld [hMapEntryMethod], a
|
ld [hMapEntryMethod], a
|
||||||
callba RunMapSetupScript
|
callba RunMapSetupScript
|
||||||
xor a
|
xor a
|
||||||
@ -3048,7 +3048,7 @@ Function10138b: ; 10138b
|
|||||||
; 1013aa
|
; 1013aa
|
||||||
|
|
||||||
Function1013aa: ; 1013aa
|
Function1013aa: ; 1013aa
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
call Function2bae
|
call Function2bae
|
||||||
callba Function106464
|
callba Function106464
|
||||||
|
@ -951,7 +951,7 @@ Function106442: ; 106442
|
|||||||
call Function3e32
|
call Function3e32
|
||||||
xor a
|
xor a
|
||||||
ld [hMobile], a
|
ld [hMobile], a
|
||||||
ld [$ffc9], a
|
ld [hFFC9], a
|
||||||
ld a, [wcd25]
|
ld a, [wcd25]
|
||||||
inc a
|
inc a
|
||||||
ld [wcd25], a
|
ld [wcd25], a
|
||||||
|
@ -125,7 +125,7 @@ Function108089: ; 108089
|
|||||||
Function1080b7: ; 1080b7
|
Function1080b7: ; 1080b7
|
||||||
xor a
|
xor a
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -188,7 +188,7 @@ Function1080b7: ; 1080b7
|
|||||||
Function108157: ; 108157
|
Function108157: ; 108157
|
||||||
xor a
|
xor a
|
||||||
ld [wJumptableIndex], a
|
ld [wJumptableIndex], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -508,7 +508,7 @@ Function10830e: ; 10830e
|
|||||||
; 10839b
|
; 10839b
|
||||||
|
|
||||||
Function10839b: ; 10839b
|
Function10839b: ; 10839b
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -643,7 +643,7 @@ Function10842c: ; 10842c
|
|||||||
; 1084d7
|
; 1084d7
|
||||||
|
|
||||||
Function1084d7: ; 1084d7
|
Function1084d7: ; 1084d7
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -712,7 +712,7 @@ Function1084d7: ; 1084d7
|
|||||||
; 108589
|
; 108589
|
||||||
|
|
||||||
Function108589: ; 108589
|
Function108589: ; 108589
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
@ -781,7 +781,7 @@ Function108589: ; 108589
|
|||||||
|
|
||||||
Function108638: ; 108638
|
Function108638: ; 108638
|
||||||
callba Function8d03d
|
callba Function8d03d
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
xor a
|
xor a
|
||||||
@ -817,7 +817,7 @@ Function108638: ; 108638
|
|||||||
|
|
||||||
Function108689: ; 108689
|
Function108689: ; 108689
|
||||||
callba Function8d03d
|
callba Function8d03d
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
xor a
|
xor a
|
||||||
@ -862,7 +862,7 @@ Function108689: ; 108689
|
|||||||
; 1086f4
|
; 1086f4
|
||||||
|
|
||||||
Function1086f4: ; 1086f4
|
Function1086f4: ; 1086f4
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
xor a
|
xor a
|
||||||
@ -1162,7 +1162,7 @@ Function108919: ; 108919
|
|||||||
ld c, $28
|
ld c, $28
|
||||||
call Function1082cc
|
call Function1082cc
|
||||||
callba Function8d03d
|
callba Function8d03d
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
|
@ -7708,7 +7708,7 @@ Function117699: ; 117699 (45:7699)
|
|||||||
ld hl, wc708
|
ld hl, wc708
|
||||||
ld bc, $11
|
ld bc, $11
|
||||||
call ByteFill
|
call ByteFill
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
callba Function171c87
|
callba Function171c87
|
||||||
callba Function104061
|
callba Function104061
|
||||||
@ -7726,7 +7726,7 @@ Function1176ee: ; 1176ee (45:76ee)
|
|||||||
jr Function1176ee
|
jr Function1176ee
|
||||||
.asm_117709
|
.asm_117709
|
||||||
callba Function8cf53
|
callba Function8cf53
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
ret
|
ret
|
||||||
@ -8172,7 +8172,7 @@ Function117a94: ; 0x117a94
|
|||||||
ld [wcf64], a
|
ld [wcf64], a
|
||||||
ld [wcf65], a
|
ld [wcf65], a
|
||||||
ld [wcf66], a
|
ld [wcf66], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
callba Function172e78
|
callba Function172e78
|
||||||
callba Function104000
|
callba Function104000
|
||||||
@ -8180,7 +8180,7 @@ Function117a94: ; 0x117a94
|
|||||||
; 0x117ab4
|
; 0x117ab4
|
||||||
|
|
||||||
Function117ab4: ; 0x117ab4
|
Function117ab4: ; 0x117ab4
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
callba Function172e78
|
callba Function172e78
|
||||||
callba Function172eb9
|
callba Function172eb9
|
||||||
@ -8197,7 +8197,7 @@ Function117acd: ; 0x117acd
|
|||||||
callba Function104000
|
callba Function104000
|
||||||
jr Function117acd
|
jr Function117acd
|
||||||
.asm_117ae2
|
.asm_117ae2
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ asm_11800b
|
|||||||
pop af
|
pop af
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
call Function118452
|
call Function118452
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
Function11805e: ; 11805e (46:405e)
|
Function11805e: ; 11805e (46:405e)
|
||||||
ret
|
ret
|
||||||
; 11805f
|
; 11805f
|
||||||
@ -84,7 +84,7 @@ Function11805f: ; 11805f
|
|||||||
pop af
|
pop af
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
call Function118452
|
call Function118452
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ret
|
ret
|
||||||
; 1180b8
|
; 1180b8
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ Function1180b8: ; 1180b8
|
|||||||
pop af
|
pop af
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
call Function118452
|
call Function118452
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ret
|
ret
|
||||||
; 11811a
|
; 11811a
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ Function118125: ; 118125
|
|||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
call Function118452
|
call Function118452
|
||||||
call Function118180
|
call Function118180
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ret
|
ret
|
||||||
; 118180
|
; 118180
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ Function1181da: ; 1181da
|
|||||||
pop af
|
pop af
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
call Function118452
|
call Function118452
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ret
|
ret
|
||||||
; 118233
|
; 118233
|
||||||
|
|
||||||
@ -374,7 +374,7 @@ Function1182d5: ; 1182d5
|
|||||||
pop af
|
pop af
|
||||||
ld [rSVBK], a
|
ld [rSVBK], a
|
||||||
call Function118452
|
call Function118452
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
ret
|
ret
|
||||||
; 118329
|
; 118329
|
||||||
|
|
||||||
@ -482,7 +482,7 @@ Function1183cb: ; 1183cb
|
|||||||
ld a, $f
|
ld a, $f
|
||||||
ld [rIE], a
|
ld [rIE], a
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [$ffc9], a
|
ld [hFFC9], a
|
||||||
ld [hMobile], a
|
ld [hMobile], a
|
||||||
ei
|
ei
|
||||||
callba Function106462
|
callba Function106462
|
||||||
@ -512,7 +512,7 @@ Function118440: ; 118440
|
|||||||
Function118452: ; 118452
|
Function118452: ; 118452
|
||||||
di
|
di
|
||||||
xor a
|
xor a
|
||||||
ld [$ffc9], a
|
ld [hFFC9], a
|
||||||
ld [hMobile], a
|
ld [hMobile], a
|
||||||
ld [hVBlank], a
|
ld [hVBlank], a
|
||||||
call NormalSpeed
|
call NormalSpeed
|
||||||
@ -5682,7 +5682,7 @@ Function11a9c0: ; 11a9c0
|
|||||||
; 11a9ce
|
; 11a9ce
|
||||||
|
|
||||||
Function11a9ce: ; 11a9ce
|
Function11a9ce: ; 11a9ce
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call Function2bae
|
call Function2bae
|
||||||
call Call_ExitMenu
|
call Call_ExitMenu
|
||||||
callba Function106462
|
callba Function106462
|
||||||
@ -5950,7 +5950,7 @@ Function11acb7: ; 11acb7
|
|||||||
; 11ad1b
|
; 11ad1b
|
||||||
|
|
||||||
Function11ad1b: ; 11ad1b
|
Function11ad1b: ; 11ad1b
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
callba Function17c000
|
callba Function17c000
|
||||||
|
@ -140,7 +140,7 @@ Function16c0dc: ; 16c0dc
|
|||||||
; 16c0ec
|
; 16c0ec
|
||||||
|
|
||||||
Function16c0ec: ; 16c0ec
|
Function16c0ec: ; 16c0ec
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
push af
|
push af
|
||||||
ld a, $ff
|
ld a, $ff
|
||||||
@ -885,7 +885,7 @@ Function16d42e: ; 16d42e
|
|||||||
|
|
||||||
Function16d43b: ; 16d43b
|
Function16d43b: ; 16d43b
|
||||||
call LoadStandardMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
callba Function16d421
|
callba Function16d421
|
||||||
|
@ -283,7 +283,7 @@ Function1704e1: ; 1704e1
|
|||||||
; 1704f1
|
; 1704f1
|
||||||
|
|
||||||
Function1704f1: ; 1704f1
|
Function1704f1: ; 1704f1
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
.asm_1704fa
|
.asm_1704fa
|
||||||
@ -1590,7 +1590,7 @@ Function1719ed: ; 1719ed (5c:59ed)
|
|||||||
ld [wcd4a], a
|
ld [wcd4a], a
|
||||||
dec a
|
dec a
|
||||||
ld [wcd4b], a
|
ld [wcd4b], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
callba Function171d2b
|
callba Function171d2b
|
||||||
callba Function104061
|
callba Function104061
|
||||||
@ -1883,7 +1883,7 @@ Function171c2c: ; 171c2c (5c:5c2c)
|
|||||||
dec [hl]
|
dec [hl]
|
||||||
ret nz
|
ret nz
|
||||||
call ExitMenu
|
call ExitMenu
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
jr asm_171c60
|
jr asm_171c60
|
||||||
|
|
||||||
Function171c39: ; 171c39 (5c:5c39)
|
Function171c39: ; 171c39 (5c:5c39)
|
||||||
@ -1895,7 +1895,7 @@ Function171c41: ; 171c41 (5c:5c41)
|
|||||||
ld hl, wcd4c
|
ld hl, wcd4c
|
||||||
dec [hl]
|
dec [hl]
|
||||||
ret nz
|
ret nz
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
callba Function106462
|
callba Function106462
|
||||||
callba Function106464
|
callba Function106464
|
||||||
ld a, $2
|
ld a, $2
|
||||||
|
@ -561,7 +561,7 @@ Function17d2ce: ; 17d2ce
|
|||||||
ld a, d
|
ld a, d
|
||||||
ld [MusicFadeIDHi], a
|
ld [MusicFadeIDHi], a
|
||||||
call PlayMusic
|
call PlayMusic
|
||||||
call Function222a
|
call ReturnToMapFromSubmenu
|
||||||
call Function2b3c
|
call Function2b3c
|
||||||
ret
|
ret
|
||||||
; 17d314
|
; 17d314
|
||||||
@ -626,7 +626,7 @@ Function17d370: ; 17d370
|
|||||||
ld [wcd79], a
|
ld [wcd79], a
|
||||||
dec a
|
dec a
|
||||||
ld [wcd6c], a
|
ld [wcd6c], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
callba Function104061
|
callba Function104061
|
||||||
@ -672,7 +672,7 @@ Function17d370: ; 17d370
|
|||||||
; 17d3f6
|
; 17d3f6
|
||||||
|
|
||||||
Function17d3f6: ; 17d3f6
|
Function17d3f6: ; 17d3f6
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearSprites
|
call ClearSprites
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
callba Function104061
|
callba Function104061
|
||||||
@ -1245,7 +1245,7 @@ Function17d78d: ; 17d78d
|
|||||||
call CloseSRAM
|
call CloseSRAM
|
||||||
xor a
|
xor a
|
||||||
ld [wcd77], a
|
ld [wcd77], a
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
ret
|
ret
|
||||||
; 17d7b4
|
; 17d7b4
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ SECTION "bank43", ROMX, BANK[$43]
|
|||||||
|
|
||||||
UnusedTitleScreen: ; 10c000
|
UnusedTitleScreen: ; 10c000
|
||||||
|
|
||||||
call WhiteBGMap
|
call ClearBGPalettes
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
call DisableLCD
|
call DisableLCD
|
||||||
xor a
|
xor a
|
||||||
|
14
wram.asm
14
wram.asm
@ -321,10 +321,10 @@ ScriptVar:: ; c2dd
|
|||||||
wc2de:: ds 1
|
wc2de:: ds 1
|
||||||
wc2df:: ds 3
|
wc2df:: ds 3
|
||||||
wMovementPerson:: ds 1
|
wMovementPerson:: ds 1
|
||||||
wMovementDataPointer:: ds 3
|
wMovementDataPointer:: ds 3 ; dba
|
||||||
wc2e6:: ds 4
|
wc2e6:: ds 4
|
||||||
wc2ea:: ds 1
|
wc2ea:: ds 1
|
||||||
wMovementPointer:: ds 2
|
wMovementPointer:: ds 2 ; c2eb
|
||||||
ds 3
|
ds 3
|
||||||
wc2f0:: ds 1
|
wc2f0:: ds 1
|
||||||
wc2f1:: ds 1
|
wc2f1:: ds 1
|
||||||
@ -334,7 +334,8 @@ wc2f4:: ds 1
|
|||||||
wc2f5:: ds 1
|
wc2f5:: ds 1
|
||||||
wc2f6:: ds 1
|
wc2f6:: ds 1
|
||||||
wc2f7:: ds 1
|
wc2f7:: ds 1
|
||||||
wc2f8:: ds 2
|
wc2f8:: ds 1
|
||||||
|
ds 1
|
||||||
|
|
||||||
TileDown:: ; c2fa
|
TileDown:: ; c2fa
|
||||||
ds 1
|
ds 1
|
||||||
@ -1478,6 +1479,10 @@ wd014:: ds 2
|
|||||||
wd016:: ds 1
|
wd016:: ds 1
|
||||||
wMartItem8BCD::
|
wMartItem8BCD::
|
||||||
wd017:: ds 1
|
wd017:: ds 1
|
||||||
|
|
||||||
|
wd018_Mon:: party_struct wd018_Mon
|
||||||
|
ds wd018_Mon - @
|
||||||
|
|
||||||
wd018:: ds 1
|
wd018:: ds 1
|
||||||
wd019:: ds 1
|
wd019:: ds 1
|
||||||
wMartItem9BCD::
|
wMartItem9BCD::
|
||||||
@ -1506,6 +1511,7 @@ CurFruitTree::
|
|||||||
CurInput::
|
CurInput::
|
||||||
EngineBuffer1:: ; d03e
|
EngineBuffer1:: ; d03e
|
||||||
ds 1
|
ds 1
|
||||||
|
|
||||||
wd03f::
|
wd03f::
|
||||||
wJumpStdScriptBuffer::
|
wJumpStdScriptBuffer::
|
||||||
CurFruit:: ; d03f
|
CurFruit:: ; d03f
|
||||||
@ -2153,7 +2159,7 @@ object_struct: MACRO
|
|||||||
\1Palette:: ds 1
|
\1Palette:: ds 1
|
||||||
\1Walking:: ds 1
|
\1Walking:: ds 1
|
||||||
\1Direction:: ds 1
|
\1Direction:: ds 1
|
||||||
ds 1
|
\1Object09:: ds 1
|
||||||
\1StepDuration:: ds 1
|
\1StepDuration:: ds 1
|
||||||
\1Action:: ds 1
|
\1Action:: ds 1
|
||||||
\1Object12:: ds 1
|
\1Object12:: ds 1
|
||||||
|
Loading…
Reference in New Issue
Block a user