summaryrefslogtreecommitdiff
path: root/engine/bank3c.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/bank3c.asm')
-rw-r--r--engine/bank3c.asm182
1 files changed, 24 insertions, 158 deletions
diff --git a/engine/bank3c.asm b/engine/bank3c.asm
index 1f3c967f..d3bcc897 100644
--- a/engine/bank3c.asm
+++ b/engine/bank3c.asm
@@ -1,7 +1,7 @@
INCLUDE "engine/pikachu_pcm.asm"
INCLUDE "engine/overworld/advance_player_sprite.asm"
-ResetStatusAndHalveMoneyOnBlackout:: ; f0274 (3c:4274)
+ResetStatusAndHalveMoneyOnBlackout: ; f0274 (3c:4274)
; Reset player status on blackout.
xor a
ld [wd435], a
@@ -50,31 +50,31 @@ ResetStatusAndHalveMoneyOnBlackout:: ; f0274 (3c:4274)
ld [wJoyIgnore], a
predef_jump HealParty
-Func_f02da:: ; f02da (3c:42da)
+SetMapSpecificScriptFlagsOnMapReload: ; f02da (3c:42da)
ld a, [wCurMap]
cp VERMILION_GYM ; ??? new thing about verm gym?
- jr z, .asm_f02ee
+ jr z, .verm_gym
ld c, a
- ld hl, Pointer_f02fa
-.asm_f02e5
+ ld hl, .MapList
+.search_loop
ld a, [hli]
cp c
- jr z, .asm_f02f4
+ jr z, .in_list
cp a, $ff
- jr nz, .asm_f02e5
+ jr nz, .search_loop
ret
-.asm_f02ee
+.verm_gym
ld hl, wCurrentMapScriptFlags
set 6, [hl]
ret
-.asm_f02f4
+.in_list
ld hl, wCurrentMapScriptFlags
set 5, [hl]
ret
-Pointer_f02fa:: ; f02fa (3c:42fa)
+.MapList ; f02fa (3c:42fa)
db SILPH_CO_2F
db SILPH_CO_3F
db SILPH_CO_4F
@@ -102,18 +102,18 @@ Pointer_f02fa:: ; f02fa (3c:42fa)
db AGATHAS_ROOM
db $ff
-BeachHouse_GFX:: ; f0314 (3c:4314)
+BeachHouse_GFX: ; f0314 (3c:4314)
INCBIN "gfx/tilesets/beachhouse.2bpp"
-BeachHouse_Block:: ; f0914 (3c:4914)
+BeachHouse_Block: ; f0914 (3c:4914)
INCBIN "gfx/blocksets/beachhouse.bst"
-Func_f0a54:: ; f0a54 (3c:4a54)
+Func_f0a54: ; f0a54 (3c:4a54)
ret
-Func_f0a55:: ; f0a55 (3c:4a55)
+LoadUnusedBluesHouseMissableObjectData: ; f0a55 (3c:4a55)
; referenced in an unused function
- ld hl, Pointer_f0a76 ; 3c:4a76
+ ld hl, .MissableObjectsMaps
.loop
ld a, [hli]
cp a, $ff
@@ -121,13 +121,13 @@ Func_f0a55:: ; f0a55 (3c:4a55)
ld b, a
ld a, [wCurMap]
cp b
- jr z, .asm_f0a68
+ jr z, .found
inc hl
inc hl
inc hl
jr .loop
-.asm_f0a68
+.found
ld a, [hli]
ld c, a
ld b, 0
@@ -138,16 +138,16 @@ Func_f0a55:: ; f0a55 (3c:4a55)
call CopyData
ret
-Pointer_f0a76:: ; f0a76 (3c:4a76)
- dbbw BLUES_HOUSE, Pointer_f0a7bEnd - Pointer_f0a7b, Pointer_f0a7b
+.MissableObjectsMaps:
+ dbbw BLUES_HOUSE, .End - .Start, .Start
db $ff
-Pointer_f0a7b:
+.Start:
db 1, HS_DAISY_SITTING_COPY
db 2, HS_DAISY_WALKING_COPY
db 3, HS_TOWN_MAP_COPY
db $ff
-Pointer_f0a7bEnd:
+.End:
TryApplyPikachuMovementData: ; f0a82
ld a, [wd472]
@@ -209,41 +209,14 @@ INCLUDE "scripts/oakslab2.asm"
INCLUDE "scripts/school2.asm"
INCLUDE "scripts/museum1f2.asm"
INCLUDE "scripts/pewterpokecenter2.asm"
-
-Func_f1e22:
- ld hl, PikachuMovementData_f1e2b
- ld b, SPRITE_FACING_RIGHT
- call TryApplyPikachuMovementData
- ret
-
-PikachuMovementData_f1e2b:
- db $00
- db $1d
- db $1f
- db $38
- db $3f
-
+INCLUDE "scripts/pokemontower2_2.asm"
INCLUDE "scripts/celadonmart3_2.asm"
INCLUDE "scripts/celadonmansion1_2.asm"
INCLUDE "scripts/celadonmansion3_2.asm"
-
-Func_f1f23:
- ld hl, PikachuMovementData_f1f2c
- ld b, SPRITE_FACING_DOWN
- call TryApplyPikachuMovementData
- ret
-
-PikachuMovementData_f1f2c:
- db $00
- db $20
- db $1e
- db $35
- db $3f
-
+INCLUDE "scripts/celadongamecorner2.asm"
INCLUDE "scripts/celadondiner2.asm"
INCLUDE "scripts/safarizoneentrance2.asm"
INCLUDE "scripts/cinnabargym3.asm"
-
INCLUDE "scripts/mtmoonpokecenter2.asm"
INCLUDE "data/mapHeaders/beach_house.asm"
@@ -259,111 +232,4 @@ INCLUDE "scripts/ssanne9_2.asm"
INCLUDE "scripts/silphco11_2.asm"
INCLUDE "engine/overworld/hidden_objects.asm"
-
-Func_f2cd0:
- ld d, 0
- ld hl, Jumptable_f2ce1
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call JumpToAddress
- ld e, a
- ld d, 0
- ret
-
-Jumptable_f2ce1:
- dw Func_f2ceb
- dw Func_f2ceb
- dw Func_f2cee
- dw Func_f2cf4
- dw Func_f2d06
-
-Func_f2ceb:
- ld a, 0
- ret
-
-Func_f2cee:
- call Random
- and $1
- ret
-
-Func_f2cf4: ; should return to a, instead returns to b
- call Random
- swap a
- cp 1 * $ff / 3
- ld b, 0
- ret c
- cp 2 * $ff / 3
- ld b, 1
- ret c
- ld b, 2
- ret
-
-Func_f2d06:
- call Random
- and $3
- ret
-
-Func_f2d0c:
- ld hl, GymTrashCans3c
- ld a, [wGymTrashCanIndex]
- ld c, a
- ld b, 0
- ld a, 9
- call AddNTimes
- call AddNTimes ; ????
- ld a, [hli]
- ld [hGymTrashCanRandNumMask], a
- ld e, a
- push hl
- call Func_f2cd0
- pop hl
- add hl, de
- add hl, de
- ld a, [hli]
- ld [wSecondLockTrashCanIndex], a
- ld a, [hl]
- ld [wSecondLockTrashCanIndex + 1], a
- ret
-
-GymTrashCans3c: ; f2d31 (3c:6d31)
-; First byte: number of trashcan entries
-; Following four byte pairs: indices for the second trash can.
-; BUG: Rows that have 3 trashcan entries are sampled incorrectly.
-; The sampling occurs by taking a random number and seeing which
-; third of the range 0-255 the number falls in. However, it returns
-; that value to the wrong register, so the result is never used.
-; Instead of using an offset in [0,1,2], the offset is instead
-; in the full range 0-255. This results in truly random behavior.
- db 4
- db 1,3, 3,1, 1,-1, 3,-1
- db 3
- db 0,2, 2,4, 4,0, -1,-1
- db 4
- db 1,5, 5,1, 1,-1, 5,-1
- db 3
- db 0,4, 4,6, 6,0, -1,-1
- db 4
- db 1,3, 3,1, 5,5, 7,7
- db 3
- db 2,4, 4,8, 8,2, -1,-1
- db 3
- db 3,7, 7,9, 9,3, -1,-1
- db 4
- db 4,8, 6,10, 8,4, 10,6
- db 3
- db 5,7, 7,11, 11,5, -1,-1
- db 3
- db 6,10, 10,12, 12,6, -1,-1
- db 4
- db 7,9, 9,7, 11,13, 13,11
- db 3
- db 8,10, 10,14, 14,8, -1,-1
- db 4
- db 9,13, 13,9, 9,-1, 13,-1
- db 3
- db 10,12, 12,14, 14,10, -1,-1
- db 4
- db 11,13, 13,11, 11,-1, 13,-1
+INCLUDE "engine/vermilion_gym_trash_cans.asm"