ref: ea426a88794b1d216a278b54d18cefafbf7d8771
parent: 6d333bed5fde0c2da0a6a9df2ccae83933400e42
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Wed Oct 28 09:35:39 EDT 2020
Identify more WRAM labels, and start a <X>_DummyFunction label convention
--- a/audio/sfx_crystal.asm
+++ b/audio/sfx_crystal.asm
@@ -184,7 +184,7 @@
duty_cycle 1
transpose 0, 11
note_type 1, 11, 1
-Sfx_Tingle_branch_17996c:
+.loop1:
octave 5
note C_, 3
octave 6
@@ -192,7 +192,7 @@
octave 5
note C_, 3
rest 2
- sound_loop 2, Sfx_Tingle_branch_17996c
+ sound_loop 2, .loop1
note C_, 2
volume_envelope 10, 1
note G_, 13
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -115,7 +115,7 @@
; wSwarmFlags
const ENGINE_BUENAS_PASSWORD_2
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
-; wGameTimerPause
+; wGameTimerPaused
const ENGINE_62
; wPlayerGender
const ENGINE_PLAYER_IS_FEMALE
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -21,9 +21,13 @@
const TEMPMON ; 3
const WILDMON ; 4
-; wGameTimerPause::
-GAMETIMERPAUSE_TIMER_PAUSED_F EQU 0
-GAMETIMERPAUSE_MOBILE_7_F EQU 7
+; wGameTimerPaused::
+GAME_TIMER_PAUSED_F EQU 0
+GAME_TIMER_MOBILE_F EQU 7
+
+; wJoypadDisable::
+JOYPAD_DISABLE_MON_FAINT_F EQU 6
+JOYPAD_DISABLE_SGB_TRANSFER_F EQU 7
; wOptions::
TEXT_DELAY_MASK EQU %111
--- a/data/events/engine_flags.asm
+++ b/data/events/engine_flags.asm
@@ -125,7 +125,7 @@
engine_flag wSwarmFlags, SWARMFLAGS_BUENAS_PASSWORD_F
engine_flag wSwarmFlags, SWARMFLAGS_GOLDENROD_DEPT_STORE_SALE_F
- engine_flag wGameTimerPause, GAMETIMERPAUSE_MOBILE_7_F
+ engine_flag wGameTimerPaused, GAME_TIMER_MOBILE_F
engine_flag wPlayerGender, PLAYERGENDER_FEMALE_F
--- a/data/events/special_pointers.asm
+++ b/data/events/special_pointers.asm
@@ -55,8 +55,8 @@
add_special UnownPuzzle
add_special SlotMachine
add_special CardFlip
- add_special DummyNonfunctionalGameCornerGame
- add_special ClearBGPalettesBufferScreen
+ add_special UnusedDummyGame ; unused
+ add_special ClearBGPalettesBufferScreen ; unused
add_special FadeOutPalettes
add_special BattleTowerFade
add_special FadeBlackQuickly
@@ -65,21 +65,21 @@
add_special ReloadSpritesNoPalettes ; bank 0
add_special ClearBGPalettes ; bank 0
add_special UpdateTimePals ; bank 0
- add_special ClearTilemap ; bank 0
+ add_special ClearTilemap ; bank 0; unused as special
add_special UpdateSprites ; bank 0
add_special UpdatePlayerSprite ; bank 0
add_special GameCornerPrizeMonCheckDex
- add_special UnusedSetSeenMon
+ add_special UnusedSetSeenMon ; unused
add_special WaitSFX ; bank 0
add_special PlayMapMusic ; bank 0
add_special RestartMapMusic ; bank 0
add_special HealMachineAnim
add_special SurfStartStep
- add_special FindPartyMonAboveLevel
- add_special FindPartyMonAtLeastThatHappy
+ add_special FindPartyMonAboveLevel ; unused
+ add_special FindPartyMonAtLeastThatHappy ; unused
add_special FindPartyMonThatSpecies
add_special FindPartyMonThatSpeciesYourTrainerID
- add_special UnusedCheckUnusedTwoDayTimer
+ add_special UnusedCheckUnusedTwoDayTimer ; unused
add_special DayCareMon1
add_special DayCareMon2
add_special SelectRandomBugContestContestants
@@ -134,7 +134,7 @@
add_special Function170114
add_special BattleTowerBattle
add_special Function1704e1
- add_special DummySpecial_17021d
+ add_special UnusedBattleTowerDummySpecial1
add_special LoadOpponentTrainerAndPokemonWithOTSprite
add_special Function11ba38
add_special CheckForBattleTowerRules
@@ -166,7 +166,7 @@
add_special BeastsCheck
add_special MonCheck
add_special SetPlayerPalette
- add_special DummySpecial_170bd2
+ add_special UnusedBattleTowerDummySpecial2
add_special Mobile_SelectThreeMons
add_special Function1037eb
add_special Function10383c
@@ -181,4 +181,4 @@
add_special UnusedFindItemInPCOrBag
add_special InitialSetDSTFlag
add_special InitialClearDSTFlag
- add_special DummySpecial_c224
+ add_special UnusedDummySpecial ; unused
--- a/engine/battle/battle_transition.asm
+++ b/engine/battle/battle_transition.asm
@@ -258,7 +258,7 @@
StartTrainerBattle_SetUpBGMap:
call StartTrainerBattle_NextScene
xor a
- ld [wcf64], a
+ ld [wBattleTransitionCounter], a
ldh [hBGMapMode], a
ret
@@ -272,7 +272,7 @@
ld a, [wTimeOfDayPalset]
cp DARKNESS_PALSET
jr z, .done
- ld hl, wcf64
+ ld hl, wBattleTransitionCounter
ld a, [hl]
inc [hl]
srl a
@@ -290,7 +290,7 @@
.done
xor a
- ld [wcf64], a
+ ld [wBattleTransitionCounter], a
scf
ret
@@ -322,12 +322,12 @@
ld a, $90
ldh [hLYOverrideEnd], a
xor a
- ld [wcf64], a
- ld [wcf65], a
+ ld [wBattleTransitionCounter], a
+ ld [wBattleTransitionSineWaveOffset], a
ret
StartTrainerBattle_SineWave:
- ld a, [wcf64]
+ ld a, [wBattleTransitionCounter]
cp $60
jr nc, .end
call .DoSineWave
@@ -339,10 +339,10 @@
ret
.DoSineWave:
- ld hl, wcf65
+ ld hl, wBattleTransitionSineWaveOffset
ld a, [hl]
inc [hl]
- ld hl, wcf64
+ ld hl, wBattleTransitionCounter
ld d, [hl]
add [hl]
ld [hl], a
@@ -372,13 +372,13 @@
ldh [rSVBK], a
call StartTrainerBattle_NextScene
xor a
- ld [wcf64], a
+ ld [wBattleTransitionCounter], a
ret
StartTrainerBattle_SpinToBlack:
xor a
ldh [hBGMapMode], a
- ld a, [wcf64]
+ ld a, [wBattleTransitionCounter]
ld e, a
ld d, 0
ld hl, .spin_quadrants
@@ -388,13 +388,13 @@
ld a, [hli]
cp -1
jr z, .end
- ld [wcf65], a
+ ld [wBattleTransitionSineWaveOffset], a
call .load
ld a, 1
ldh [hBGMapMode], a
call DelayFrame
call DelayFrame
- ld hl, wcf64
+ ld hl, wBattleTransitionCounter
inc [hl]
ret
@@ -464,7 +464,7 @@
inc de
.loop1
ld [hl], BATTLETRANSITION_BLACK
- ld a, [wcf65]
+ ld a, [wBattleTransitionSineWaveOffset]
bit RIGHT_QUADRANT_F, a
jr z, .leftside
inc hl
@@ -475,7 +475,7 @@
dec c
jr nz, .loop1
pop hl
- ld a, [wcf65]
+ ld a, [wBattleTransitionSineWaveOffset]
bit LOWER_QUADRANT_F, a
ld bc, SCREEN_WIDTH
jr z, .upper
@@ -490,7 +490,7 @@
jr z, .loop
ld c, a
.loop2
- ld a, [wcf65]
+ ld a, [wBattleTransitionSineWaveOffset]
bit RIGHT_QUADRANT_F, a
jr z, .leftside2
dec hl
@@ -514,13 +514,13 @@
ldh [rSVBK], a
call StartTrainerBattle_NextScene
ld a, $10
- ld [wcf64], a
+ ld [wBattleTransitionCounter], a
ld a, 1
ldh [hBGMapMode], a
ret
StartTrainerBattle_SpeckleToBlack:
- ld hl, wcf64
+ ld hl, wBattleTransitionCounter
ld a, [hl]
and a
jr z, .done
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3006,10 +3006,11 @@
jp MonFaintedAnimation
MonFaintedAnimation:
- ld a, [wcfbe]
+ ld a, [wJoypadDisable]
push af
- set 6, a
- ld [wcfbe], a
+ set JOYPAD_DISABLE_MON_FAINT_F, a
+ ld [wJoypadDisable], a
+
ld b, 7
.OuterLoop:
@@ -3052,7 +3053,7 @@
jr nz, .OuterLoop
pop af
- ld [wcfbe], a
+ ld [wJoypadDisable], a
ret
.Spaces:
@@ -4639,7 +4640,7 @@
PrintPlayerHUD:
ld de, wBattleMonNick
hlcoord 10, 7
- call ret_3e138
+ call Battle_DummyFunction
call PlaceString
push bc
@@ -4725,7 +4726,7 @@
call GetBaseData
ld de, wEnemyMonNick
hlcoord 1, 0
- call ret_3e138
+ call Battle_DummyFunction
call PlaceString
ld h, b
ld l, c
@@ -4854,7 +4855,8 @@
ret z
jp FinishBattleAnim
-ret_3e138:
+Battle_DummyFunction:
+; called before placing either battler's nickname in the HUD
ret
BattleMenu:
--- a/engine/debug/color_picker.asm
+++ b/engine/debug/color_picker.asm
@@ -929,13 +929,13 @@
ret
DebugColor_PushSGBPals:
- ld a, [wcfbe]
+ ld a, [wJoypadDisable]
push af
- set 7, a
- ld [wcfbe], a
+ set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+ ld [wJoypadDisable], a
call _DebugColor_PushSGBPals
pop af
- ld [wcfbe], a
+ ld [wJoypadDisable], a
ret
_DebugColor_PushSGBPals:
--- a/engine/events/battle_tower/battle_tower.asm
+++ b/engine/events/battle_tower/battle_tower.asm
@@ -183,7 +183,7 @@
call _BattleTowerBattle
ret
-DummySpecial_17021d:
+UnusedBattleTowerDummySpecial1:
ret
InitBattleTowerChallengeRAM:
@@ -1008,11 +1008,11 @@
BattleTowerAction_SetByteToQuickSaveChallenge:
ld c, BATTLETOWER_SAVED_AND_LEFT
- jr asm_17079f
+ jr SetBattleTowerChallengeState
BattleTowerAction_SetByteToCancelChallenge:
ld c, BATTLETOWER_NO_CHALLENGE
-asm_17079f:
+SetBattleTowerChallengeState:
ld a, BANK(sBattleTowerChallengeState)
call OpenSRAM
ld a, c
@@ -1447,11 +1447,11 @@
Function170a9c:
ld c, FALSE
- jr asm_170aa2
+ jr Set_s5_aa8d
Function170aa0:
ld c, TRUE
-asm_170aa2:
+Set_s5_aa8d:
ld a, BANK(s5_aa8d)
call OpenSRAM
ld a, c
@@ -1576,7 +1576,7 @@
INCLUDE "data/trainers/sprites.asm"
-DummySpecial_170bd2:
+UnusedBattleTowerDummySpecial2:
ret
CheckForBattleTowerRules:
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -100,7 +100,7 @@
ret
CelebiEvent_SpawnLeaf: ; unreferenced
- ld hl, wcf65
+ ld hl, wFrameCounter2
ld a, [hl]
inc [hl]
and $7
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -426,7 +426,7 @@
ret
.SpawnLeaf:
- ld hl, wcf65
+ ld hl, wFrameCounter2
ld a, [hl]
inc [hl]
and $7
--- a/engine/events/npc_trade.asm
+++ b/engine/events/npc_trade.asm
@@ -56,11 +56,12 @@
call DisableSpriteUpdates
ld a, [wJumptableIndex]
push af
- ld a, [wcf64]
+ ; wTradeDialog aliases wFrameCounter, which TradeAnimation uses
+ ld a, [wTradeDialog]
push af
predef TradeAnimation
pop af
- ld [wcf64], a
+ ld [wTradeDialog], a
pop af
ld [wJumptableIndex], a
call ReturnToMapWithSpeechTextbox
@@ -107,7 +108,7 @@
ld e, NPCTRADE_DIALOG
call GetTradeAttribute
ld a, [hl]
- ld [wcf64], a
+ ld [wTradeDialog], a
ret
DoNPCTrade:
@@ -392,7 +393,7 @@
ld bc, 2 * 4
ld hl, TradeTexts
call AddNTimes
- ld a, [wcf64]
+ ld a, [wTradeDialog]
ld c, a
add hl, bc
add hl, bc
--- a/engine/events/print_unown_2.asm
+++ b/engine/events/print_unown_2.asm
@@ -9,7 +9,7 @@
push bc
push hl
push bc
- ld de, wd002
+ ld de, wPrintedUnownTileSource
call .Copy
call .Rotate
ld hl, UnownPrinter_GBPrinterRectangle
@@ -19,10 +19,10 @@
ld a, [hli]
ld e, a
ld d, [hl]
- ld hl, wd012
+ ld hl, wPrintedUnownTileDest
call .Copy
pop hl
- ld bc, $10
+ ld bc, LEN_2BPP_TILE
add hl, bc
pop bc
inc c
@@ -44,7 +44,7 @@
ret
.Copy:
- ld c, $10
+ ld c, LEN_2BPP_TILE
.loop_copy
ld a, [hli]
ld [de], a
@@ -54,12 +54,12 @@
ret
.Rotate:
- ld hl, wd012
+ ld hl, wPrintedUnownTileDest
ld e, %10000000
ld d, 8
.loop_decompress
push hl
- ld hl, wd002
+ ld hl, wPrintedUnownTileSource
call .CountSetBit
pop hl
ld a, b
--- a/engine/events/specials.asm
+++ b/engine/events/specials.asm
@@ -15,7 +15,7 @@
INCLUDE "data/events/special_pointers.asm"
-DummySpecial_c224:
+UnusedDummySpecial:
ret
SetPlayerPalette:
@@ -207,7 +207,7 @@
call StartGameCornerGame
ret
-DummyNonfunctionalGameCornerGame:
+UnusedDummyGame:
call CheckCoinsAndCoinCase
ret c
ld a, BANK(_DummyGame)
--- a/engine/games/dummy_game.asm
+++ b/engine/games/dummy_game.asm
@@ -133,11 +133,11 @@
.next_try
dec [hl]
xor a
- ld [wcf64], a
+ ld [wDummyGameCardChoice], a
ld hl, wJumptableIndex
inc [hl]
.PickCard1:
- ld a, [wcf64]
+ ld a, [wDummyGameCardChoice]
and a
ret z
dec a
@@ -155,13 +155,13 @@
call DummyGame_Card2Coord
call DummyGame_PlaceCard
xor a
- ld [wcf64], a
+ ld [wDummyGameCardChoice], a
ld hl, wJumptableIndex
inc [hl]
ret
.PickCard2:
- ld a, [wcf64]
+ ld a, [wDummyGameCardChoice]
and a
ret z
dec a
@@ -527,7 +527,7 @@
add hl, bc
ld a, [hl]
inc a
- ld [wcf64], a
+ ld [wDummyGameCardChoice], a
ret
.pressed_left
--- a/engine/games/slot_machine.asm
+++ b/engine/games/slot_machine.asm
@@ -249,7 +249,7 @@
AnimateSlotReelIcons: ; unreferenced
; This animation was present in pokegold-spaceworld.
- ld hl, wcf66
+ ld hl, wUnusedSlotReelIconDelay
ld a, [hl]
inc [hl]
and $7
--- a/engine/gfx/cgb_layouts.asm
+++ b/engine/gfx/cgb_layouts.asm
@@ -43,7 +43,7 @@
dw _CGB_PartyMenu
dw _CGB_Evolution
dw _CGB_GSTitleScreen
- dw _CGB0d
+ dw _CGB_Unused0D
dw _CGB_MoveList
dw _CGB_BetaPikachuMinigame
dw _CGB_PokedexSearchOption
@@ -60,7 +60,7 @@
dw _CGB_TradeTube
dw _CGB_TrainerOrMonFrontpicPals
dw _CGB_MysteryGift
- dw _CGB1e
+ dw _CGB_Unused1E
_CGB_BattleGrayscale:
ld hl, PalPacket_BattleGrayscale + 1
@@ -321,7 +321,7 @@
ldh [hCGBPalUpdate], a
ret
-Function9009: ; unreferenced
+_CGB_Unknown: ; unreferenced
ld hl, BillsPCOrangePalette
call LoadHLPaletteIntoDE
jr .GotPalette
@@ -595,7 +595,7 @@
ldh [hCGBPalUpdate], a
ret
-_CGB0d:
+_CGB_Unused0D:
ld hl, PalPacket_Diploma + 1
call CopyFourPalettes
call WipeAttrmap
@@ -911,7 +911,7 @@
call ApplyPals
ret
-_CGB1e:
+_CGB_Unused1E:
ld de, wBGPals1
ld a, [wCurPartySpecies]
call GetMonPalettePointer
--- a/engine/gfx/color.asm
+++ b/engine/gfx/color.asm
@@ -136,6 +136,7 @@
Intro_LoadMagikarpPalettes: ; unreferenced
call CheckCGB
ret z
+
; CGB only
ld hl, .BGPal
ld de, wBGPals1
@@ -789,13 +790,13 @@
ret
PushSGBPals:
- ld a, [wcfbe]
+ ld a, [wJoypadDisable]
push af
- set 7, a
- ld [wcfbe], a
+ set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+ ld [wJoypadDisable], a
call _PushSGBPals
pop af
- ld [wcfbe], a
+ ld [wJoypadDisable], a
ret
_PushSGBPals:
@@ -841,12 +842,14 @@
InitSGBBorder:
call CheckCGB
ret nz
+
; SGB/DMG only
di
- ld a, [wcfbe]
+ ld a, [wJoypadDisable]
push af
- set 7, a
- ld [wcfbe], a
+ set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+ ld [wJoypadDisable], a
+
xor a
ldh [rJOYP], a
ldh [hSGB], a
@@ -866,7 +869,7 @@
.skip
pop af
- ld [wcfbe], a
+ ld [wJoypadDisable], a
ei
ret
@@ -873,6 +876,7 @@
InitCGBPals::
call CheckCGB
ret z
+
; CGB only
ld a, BANK(vTiles3)
ldh [rVBK], a
--- a/engine/gfx/crystal_layouts.asm
+++ b/engine/gfx/crystal_layouts.asm
@@ -132,7 +132,7 @@
MG_Mobile_Layout01:
call MG_Mobile_Layout_LoadPals
ld de, wBGPals1 palette PAL_BG_TEXT
- ld hl, .Palette_49478
+ ld hl, .TextPalette
ld bc, 1 palettes
ld a, BANK(wBGPals1)
call FarCopyWRAM
@@ -149,12 +149,11 @@
bit 6, a
jr z, .asm_49464
call Function49480
- jr .asm_49467
+ jr .done
.asm_49464
call Function49496
-
-.asm_49467
+.done
farcall ApplyAttrmap
farcall ApplyPals
ld a, TRUE
@@ -161,7 +160,7 @@
ldh [hCGBPalUpdate], a
ret
-.Palette_49478:
+.TextPalette:
RGB 31, 31, 31
RGB 26, 31, 00
RGB 20, 16, 03
@@ -194,7 +193,7 @@
INCLUDE "engine/tilesets/tileset_palettes.asm"
MG_Mobile_Layout02:
- ld hl, .Palette_49732
+ ld hl, .BGPalette
ld de, wBGPals1
ld bc, 1 palettes
ld a, BANK(wBGPals1)
@@ -202,7 +201,7 @@
farcall ApplyPals
call MG_Mobile_Layout_WipeAttrmap
farcall ApplyAttrmap
- ld hl, .Palette_4973a
+ ld hl, .OBPalette
ld de, wOBPals1
ld bc, 1 palettes
ld a, BANK(wOBPals1)
@@ -209,13 +208,13 @@
call FarCopyWRAM
ret
-.Palette_49732:
+.BGPalette:
RGB 31, 31, 31
RGB 23, 16, 07
RGB 23, 07, 07
RGB 03, 07, 20
-.Palette_4973a:
+.OBPalette:
RGB 00, 00, 00
RGB 07, 05, 31
RGB 14, 18, 31
--- a/engine/gfx/sgb_layouts.asm
+++ b/engine/gfx/sgb_layouts.asm
@@ -35,7 +35,7 @@
dw .SGB_PartyMenu
dw .SGB_Evolution
dw .SGB_GSTitleScreen
- dw .SGB0d
+ dw .SGB_Unused0D
dw .SGB_MoveList
dw .SGB_BetaPikachuMinigame
dw .SGB_PokedexSearchOption
@@ -52,7 +52,7 @@
dw .SGB_TradeTube
dw .SGB_TrainerOrMonFrontpicPals
dw .SGB_MysteryGift
- dw .SGB1e
+ dw .SGB_Unused1E
.SGB_BattleGrayscale:
ld hl, PalPacket_BattleGrayscale
@@ -397,7 +397,7 @@
ld de, BlkPacket_AllPal0
ret
-.SGB0d:
+.SGB_Unused0D:
.SGB_TrainerCard:
ld hl, PalPacket_Diploma
ld de, BlkPacket_AllPal0
@@ -437,7 +437,7 @@
ld de, wSGBPals + PALPACKET_LENGTH
ret
-.SGB1e:
+.SGB_Unused1E:
ld hl, PalPacket_Pal01
ld de, wSGBPals
ld bc, PALPACKET_LENGTH
@@ -450,7 +450,7 @@
add hl, hl
ld de, PokemonPalettes
add hl, de
- ld a, [wcf65]
+ ld a, [wUnusedSGB1eColorOffset]
and 3
sla a
sla a
--- a/engine/gfx/sprite_anims.asm
+++ b/engine/gfx/sprite_anims.asm
@@ -357,7 +357,7 @@
AnimSeq_SlotsChansey:
callfar Slots_AnimateChansey
- ld hl, wcf64
+ ld hl, wSlotsDelay
ld a, [hl]
cp $2
ret nz
@@ -382,7 +382,7 @@
jr c, .move_right
call DeinitializeSprite
ld a, $4
- ld [wcf64], a
+ ld [wSlotsDelay], a
ld de, SFX_PLACE_PUZZLE_PIECE_DOWN
call PlaySFX
ret
@@ -819,7 +819,7 @@
ret
AnimSeq_IntroUnownF:
- ld a, [wcf64]
+ ld a, [wSlotsDelay]
cp $40
ret nz
ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
--- a/engine/link/init_list.asm
+++ b/engine/link/init_list.asm
@@ -44,9 +44,9 @@
ld a, h
ld [wListPointer + 1], a
ld a, e
- ld [wUnusedD102], a
+ ld [wUnusedNamesPointer], a
ld a, d
- ld [wUnusedD102 + 1], a
+ ld [wUnusedNamesPointer + 1], a
ld bc, ItemAttributes
ld a, c
ld [wItemAttributesPtr], a
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -165,9 +165,9 @@
ld hl, wTimeCapsulePlayerData
call Function2868a
ld a, LOW(wOTPartyMonOT)
- ld [wUnusedD102], a
+ ld [wUnusedNamesPointer], a
ld a, HIGH(wOTPartyMonOT)
- ld [wUnusedD102 + 1], a
+ ld [wUnusedNamesPointer + 1], a
ld de, MUSIC_NONE
call PlayMusic
ldh a, [hSerialConnectionStatus]
@@ -407,9 +407,9 @@
ld bc, wOTPartyDataEnd - wOTPartyMons
call CopyBytes
ld a, LOW(wOTPartyMonOT)
- ld [wUnusedD102], a
+ ld [wUnusedNamesPointer], a
ld a, HIGH(wOTPartyMonOT)
- ld [wUnusedD102 + 1], a
+ ld [wUnusedNamesPointer + 1], a
ld de, MUSIC_NONE
call PlayMusic
ldh a, [hSerialConnectionStatus]
--- a/engine/menus/intro_menu.asm
+++ b/engine/menus/intro_menu.asm
@@ -465,9 +465,9 @@
xor a
ld [wDontPlayMapMusicOnReload], a
ld [wLinkMode], a
- ld hl, wGameTimerPause
- set GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
- res GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ set GAME_TIMER_PAUSED_F, [hl]
+ res GAME_TIMER_MOBILE_F, [hl]
ld hl, wEnteredMapFromContinue
set 1, [hl]
farcall OverworldLoop
--- a/engine/menus/main_menu.asm
+++ b/engine/menus/main_menu.asm
@@ -31,8 +31,8 @@
ld b, SCGB_DIPLOMA
call GetSGBLayout
call SetPalettes
- ld hl, wGameTimerPause
- res GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+ ld hl, wGameTimerPaused
+ res GAME_TIMER_PAUSED_F, [hl]
call MainMenu_GetWhichMenu
ld [wWhichIndexSet], a
call MainMenu_PrintCurrentTimeAndDay
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -20,7 +20,7 @@
TradeAnimation:
xor a
- ld [wcf66], a
+ ld [wUnusedTradeAnimPlayEvolutionMusic], a
ld hl, wPlayerTrademonSenderName
ld de, wOTTrademonSenderName
call LinkTradeAnim_LoadTradePlayerNames
@@ -71,7 +71,7 @@
TradeAnimationPlayer2:
xor a
- ld [wcf66], a
+ ld [wUnusedTradeAnimPlayEvolutionMusic], a
ld hl, wOTTrademonSenderName
ld de, wPlayerTrademonSenderName
call LinkTradeAnim_LoadTradePlayerNames
@@ -137,7 +137,7 @@
push af
set NO_TEXT_SCROLL, [hl]
call .TradeAnimLayout
- ld a, [wcf66]
+ ld a, [wUnusedTradeAnimPlayEvolutionMusic]
and a
jr nz, .anim_loop
ld de, MUSIC_EVOLUTION
@@ -225,7 +225,7 @@
jr nz, .finished
call .DoTradeAnimCommand
callfar PlaySpriteAnimations
- ld hl, wcf65
+ ld hl, wFrameCounter2
inc [hl]
call DelayFrame
and a
@@ -273,8 +273,8 @@
add_tradeanim TradeAnim_TextboxScrollStart ; 1e
add_tradeanim TradeAnim_ScrollOutRight ; 1f
add_tradeanim TradeAnim_ScrollOutRight2 ; 20
- add_tradeanim TradeAnim_Wait80 ; 21
- add_tradeanim TradeAnim_Wait40 ; 22
+ add_tradeanim TradeAnim_Wait80 ; 21
+ add_tradeanim TradeAnim_Wait40 ; 22
add_tradeanim TradeAnim_RockingBall ; 23
add_tradeanim TradeAnim_DropBall ; 24
add_tradeanim TradeAnim_WaitAnim ; 25
@@ -285,9 +285,9 @@
add_tradeanim TradeAnim_GetTrademonSFX ; 2a
add_tradeanim TradeAnim_End ; 2b
add_tradeanim TradeAnim_AnimateFrontpic ; 2c
- add_tradeanim TradeAnim_Wait96 ; 2d
- add_tradeanim TradeAnim_Wait80IfOTEgg ; 2e
- add_tradeanim TradeAnim_Wait180IfOTEgg ; 2f
+ add_tradeanim TradeAnim_Wait96 ; 2d
+ add_tradeanim TradeAnim_Wait80IfOTEgg ; 2e
+ add_tradeanim TradeAnim_Wait180IfOTEgg ; 2f
TradeAnim_IncrementJumptableIndex:
ld hl, wJumptableIndex
@@ -1333,7 +1333,7 @@
ret
TradeAnim_FlashBGPals:
- ld a, [wcf65]
+ ld a, [wFrameCounter2]
and $7
ret nz
ldh a, [rBGP]
--- a/engine/overworld/events.asm
+++ b/engine/overworld/events.asm
@@ -812,7 +812,7 @@
CheckMenuOW:
xor a
ldh [hMenuReturn], a
- ldh [hUnusedFFA1], a
+ ldh [hUnusedByte], a
ldh a, [hJoyPressed]
bit SELECT_F, a
--- a/engine/overworld/scripting.asm
+++ b/engine/overworld/scripting.asm
@@ -458,11 +458,11 @@
ld de, GiveItemScript
jp ScriptCall
-ret_96f76:
+GiveItemScript_DummyFunction:
ret
GiveItemScript:
- callasm ret_96f76
+ callasm GiveItemScript_DummyFunction
writetext .ReceivedItemText
iffalse .Full
waitsfx
@@ -2316,13 +2316,13 @@
ret
Script_halloffame:
- ld hl, wGameTimerPause
- res GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+ ld hl, wGameTimerPaused
+ res GAME_TIMER_PAUSED_F, [hl]
farcall StubbedTrainerRankings_HallOfFame
farcall StubbedTrainerRankings_HallOfFame2
farcall HallOfFame
- ld hl, wGameTimerPause
- set GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+ ld hl, wGameTimerPaused
+ set GAME_TIMER_PAUSED_F, [hl]
jr ReturnFromCredits
Script_credits:
--- a/engine/pokedex/pokedex.asm
+++ b/engine/pokedex/pokedex.asm
@@ -91,7 +91,7 @@
ld [wJumptableIndex], a
ld [wPrevDexEntryJumptableIndex], a
ld [wPrevDexEntryBackup], a
- ld [wcf66], a
+ ld [wUnusedPokedexByte], a
call Pokedex_CheckUnlockedUnownMode
--- a/engine/pokegear/pokegear.asm
+++ b/engine/pokegear/pokegear.asm
@@ -92,7 +92,7 @@
ld [wJumptableIndex], a ; POKEGEARSTATE_CLOCKINIT
ld [wPokegearCard], a ; POKEGEARCARD_CLOCK
ld [wPokegearMapRegion], a ; JOHTO_REGION
- ld [wcf66], a
+ ld [wUnusedPokegearByte], a
ld [wPokegearPhoneScrollPosition], a
ld [wPokegearPhoneCursorPosition], a
ld [wPokegearPhoneSelectedPerson], a
@@ -2038,7 +2038,7 @@
lb bc, BANK(FlyMapLabelBorderGFX), 6
call Request1bpp
call FlyMap
- call ret_91c8f
+ call Pokegear_DummyFunction
ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout
call SetPalettes
@@ -2243,7 +2243,7 @@
INCLUDE "data/maps/flypoints.asm"
-ret_91c8f:
+Pokegear_DummyFunction:
ret
FlyMap:
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -782,9 +782,9 @@
call ByteFill
xor a
ld [wJumptableIndex], a
- ld [wcf64], a
- ld [wcf65], a
- ld [wcf66], a
+ ld [wUnusedBillsPCData], a
+ ld [wUnusedBillsPCData+1], a
+ ld [wUnusedBillsPCData+2], a
ld [wBillsPC_CursorPosition], a
ld [wBillsPC_ScrollPosition], a
ret
--- a/engine/pokemon/stats_screen.asm
+++ b/engine/pokemon/stats_screen.asm
@@ -33,7 +33,7 @@
push af
ld a, [wJumptableIndex]
ld b, a
- ld a, [wcf64]
+ ld a, [wStatsScreenFlags]
ld c, a
push bc
@@ -52,7 +52,7 @@
ld a, b
ld [wJumptableIndex], a
ld a, c
- ld [wcf64], a
+ ld [wStatsScreenFlags], a
pop af
ld [wBoxAlignment], a
pop af
@@ -63,11 +63,11 @@
xor a
ld [wJumptableIndex], a
; ???
- ld [wcf64], a
- ld a, [wcf64]
+ ld [wStatsScreenFlags], a
+ ld a, [wStatsScreenFlags]
and $ff ^ STAT_PAGE_MASK
or PINK_PAGE ; first_page
- ld [wcf64], a
+ ld [wStatsScreenFlags], a
.loop
ld a, [wJumptableIndex]
and $ff ^ (1 << 7)
@@ -83,11 +83,11 @@
xor a
ld [wJumptableIndex], a
; ???
- ld [wcf64], a
- ld a, [wcf64]
+ ld [wStatsScreenFlags], a
+ ld a, [wStatsScreenFlags]
and $ff ^ STAT_PAGE_MASK
or PINK_PAGE ; first_page
- ld [wcf64], a
+ ld [wStatsScreenFlags], a
.loop
farcall Mobile_SetOverworldDelay
ld a, [wJumptableIndex]
@@ -115,7 +115,7 @@
dw StatsScreen_Exit
StatsScreen_WaitAnim:
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
bit 6, [hl]
jr nz, .try_anim
bit 5, [hl]
@@ -126,10 +126,10 @@
.try_anim
farcall SetUpPokeAnim
jr nc, .finish
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
res 6, [hl]
.finish
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
res 5, [hl]
farcall HDMATransferTilemapToWRAMBank3
ret
@@ -147,7 +147,7 @@
ret
MonStatsInit:
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
res 6, [hl]
call ClearBGPalettes
call ClearTilemap
@@ -157,7 +157,7 @@
cp EGG
jr z, .egg
call StatsScreen_InitUpperHalf
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 4, [hl]
ld h, 4
call StatsScreen_SetJumptableIndex
@@ -217,7 +217,7 @@
ld de, .HatchSoonString
hlcoord 8, 17
call PlaceString
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 5, [hl]
pop hl
pop de
@@ -232,7 +232,7 @@
StatsScreen_LoadPage:
call StatsScreen_LoadGFX
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
res 4, [hl]
ld a, [wJumptableIndex]
inc a
@@ -314,7 +314,7 @@
StatsScreen_JoypadAction:
push af
- ld a, [wcf64]
+ ld a, [wStatsScreenFlags]
maskbits NUM_STAT_PAGES
ld c, a
pop af
@@ -393,10 +393,10 @@
ret
.set_page
- ld a, [wcf64]
+ ld a, [wStatsScreenFlags]
and $ff ^ STAT_PAGE_MASK
or c
- ld [wcf64], a
+ ld [wStatsScreenFlags], a
ld h, 4
call StatsScreen_SetJumptableIndex
ret
@@ -530,7 +530,7 @@
call .ClearBox
call .PageTilemap
call .LoadPals
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
bit 4, [hl]
jr nz, .place_frontpic
call SetPalettes
@@ -541,7 +541,7 @@
ret
.ClearBox:
- ld a, [wcf64]
+ ld a, [wStatsScreenFlags]
maskbits NUM_STAT_PAGES
ld c, a
call StatsScreen_LoadPageIndicators
@@ -551,17 +551,17 @@
ret
.LoadPals:
- ld a, [wcf64]
+ ld a, [wStatsScreenFlags]
maskbits NUM_STAT_PAGES
ld c, a
farcall LoadStatsScreenPals
call DelayFrame
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 5, [hl]
ret
.PageTilemap:
- ld a, [wcf64]
+ ld a, [wStatsScreenFlags]
maskbits NUM_STAT_PAGES
dec a
ld hl, .Jumptable
@@ -848,7 +848,7 @@
ret
.AnimateMon:
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 5, [hl]
ld a, [wCurPartySpecies]
cp UNOWN
@@ -890,7 +890,7 @@
ld d, $0
ld e, ANIM_MON_MENU
predef LoadMonAnimation
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 6, [hl]
ret
@@ -1033,7 +1033,7 @@
.picked
hlcoord 1, 9
call PlaceString
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 5, [hl]
call SetPalettes ; pals
call DelayFrame
@@ -1099,7 +1099,7 @@
hlcoord 0, 0
ld d, $0
predef LoadMonAnimation
- ld hl, wcf64
+ ld hl, wStatsScreenFlags
set 6, [hl]
ret
--- a/engine/printer/printer.asm
+++ b/engine/printer/printer.asm
@@ -447,9 +447,11 @@
ret
.pressed_b
- ld a, [wca80]
+ ld a, [wUnusedGameboyPrinterSafeCancelFlag]
cp $0c
jr nz, .cancel
+
+; wait for printer activity to finish before canceling?
.loop
ld a, [wPrinterOpcode]
and a
--- a/home/game_time.asm
+++ b/home/game_time.asm
@@ -32,8 +32,8 @@
ret nz
; Is the timer paused?
- ld hl, wGameTimerPause
- bit GAMETIMERPAUSE_TIMER_PAUSED_F, [hl]
+ ld hl, wGameTimerPaused
+ bit GAME_TIMER_PAUSED_F, [hl]
ret z
; Is the timer already capped?
--- a/home/init.asm
+++ b/home/init.asm
@@ -10,8 +10,8 @@
ldh [rIE], a
ei
- ld hl, wcfbe
- set 7, [hl]
+ ld hl, wJoypadDisable
+ set JOYPAD_DISABLE_SGB_TRANSFER_F, [hl]
ld c, 32
call DelayFrames
@@ -50,7 +50,7 @@
ldh [rOBP1], a
ldh [rTMA], a
ldh [rTAC], a
- ld [wd000], a
+ ld [wUnusedInitializedToZero], a
ld a, %100 ; Start timer at 4096Hz
ldh [rTAC], a
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -27,8 +27,8 @@
; hJoypadSum: pressed so far
; Any of these three bits can be used to disable input.
- ld a, [wcfbe]
- and %11010000
+ ld a, [wJoypadDisable]
+ and (1 << JOYPAD_DISABLE_MON_FAINT_F) | (1 << JOYPAD_DISABLE_SGB_TRANSFER_F) | (1 << 4)
ret nz
; If we're saving, input is disabled.
--- a/home/names.asm
+++ b/home/names.asm
@@ -56,9 +56,9 @@
.done
ld a, e
- ld [wUnusedD102], a
+ ld [wUnusedNamesPointer], a
ld a, d
- ld [wUnusedD102 + 1], a
+ ld [wUnusedNamesPointer + 1], a
pop de
pop bc
--- a/hram.asm
+++ b/hram.asm
@@ -31,7 +31,7 @@
hMapEntryMethod:: db
hMenuReturn:: db
-hUnusedFFA1:: db
+hUnusedByte:: db
hJoypadReleased:: db
hJoypadPressed:: db
--- a/mobile/mobile_22.asm
+++ b/mobile/mobile_22.asm
@@ -20,18 +20,18 @@
ret
Function89168:
- ld hl, wGameTimerPause
- set GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ set GAME_TIMER_MOBILE_F, [hl]
ret
Function8916e:
- ld hl, wGameTimerPause
- res GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ res GAME_TIMER_MOBILE_F, [hl]
ret
Function89174:
- ld hl, wGameTimerPause
- bit GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ bit GAME_TIMER_MOBILE_F, [hl]
ret
Function8917a:
--- a/mobile/mobile_40.asm
+++ b/mobile/mobile_40.asm
@@ -2660,8 +2660,8 @@
call CloseSRAM
ld hl, wdc41
res 4, [hl]
- ld hl, wGameTimerPause
- bit GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ bit GAME_TIMER_MOBILE_F, [hl]
jr z, .skip
ld hl, wdc41
set 4, [hl]
@@ -4425,15 +4425,15 @@
call ClearSprites
farcall Function8adb3
ret c
- ld hl, wGameTimerPause
- set GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ set GAME_TIMER_MOBILE_F, [hl]
ld hl, wdc41
set 4, [hl]
ret
Function101ead:
- ld hl, wGameTimerPause
- bit GAMETIMERPAUSE_MOBILE_7_F, [hl]
+ ld hl, wGameTimerPaused
+ bit GAME_TIMER_MOBILE_F, [hl]
jr nz, .asm_101ec8
ld hl, wdc41
bit 2, [hl]
--- a/mobile/mobile_5b.asm
+++ b/mobile/mobile_5b.asm
@@ -7,11 +7,11 @@
ldh a, [hSystemBooted]
and a
ret z
- ; Set some flag, preserving the old state
- ld a, [wcfbe]
+ ; Disable the joypad during mobile setup
+ ld a, [wJoypadDisable]
push af
- set 7, a
- ld [wcfbe], a
+ set JOYPAD_DISABLE_SGB_TRANSFER_F, a
+ ld [wJoypadDisable], a
; Do stuff
call MobileSystemSplashScreen_InitGFX ; Load GFX
farcall SetRAMStateForMobile
@@ -24,7 +24,7 @@
ldh [hSystemBooted], a
; Restore the flag state
pop af
- ld [wcfbe], a
+ ld [wJoypadDisable], a
ret
.RunJumptable:
--- a/wram.asm
+++ b/wram.asm
@@ -904,7 +904,7 @@
wGameboyPrinterRAM::
wGameboyPrinter2bppSource:: ds 40 tiles
wGameboyPrinter2bppSourceEnd::
-wca80:: db
+wUnusedGameboyPrinterSafeCancelFlag:: db
wPrinterRowIndex:: db
; Printer data
@@ -1356,12 +1356,6 @@
db
UNION
-; unidentified
-wcf64:: db
-wcf65:: db
-wcf66:: db
-
-NEXTU
; intro data
wIntroSceneFrameCounter:: db
wIntroSceneTimer:: db
@@ -1386,11 +1380,13 @@
wPrevDexEntryBackup::
wPokedexStatus:: db
endc
+wUnusedPokedexByte:: db
NEXTU
; pokegear
wPokegearCard:: db
wPokegearMapRegion:: db
+wUnusedPokegearByte:: db
NEXTU
; pack
@@ -1405,12 +1401,22 @@
wTrainerCardBadgeAttributes:: db
NEXTU
-; card flip data
+; slot machine
+wSlotsDelay:: db
+ ds 1
+wUnusedSlotReelIconDelay:: db
+
+NEXTU
+; card flip
wCardFlipCursorY:: db
wCardFlipCursorX:: db
wCardFlipWhichCard:: db
NEXTU
+; dummy game
+wDummyGameCardChoice:: db
+
+NEXTU
; magnet train
wMagnetTrainOffset:: db
wMagnetTrainPosition:: db
@@ -1423,6 +1429,16 @@
wUnownPuzzleHeldPiece:: db
NEXTU
+; battle transitions
+wBattleTransitionCounter:: db
+wBattleTransitionSineWaveOffset::
+wBattleTransitionSpinQuadrant:: db
+
+NEXTU
+; bill's pc
+wUnusedBillsPCData:: ds 3
+
+NEXTU
; debug mon color picker
wDebugColorRGBJumptableIndex:: db
wDebugColorCurColor:: db
@@ -1435,21 +1451,34 @@
wDebugTilesetCurColor:: db
NEXTU
+; stats screen
+wStatsScreenFlags:: db
+
+NEXTU
; battle tower
- ds $2
+wNrOfBeatenBattleTowerTrainers:: db
+ ds 1
wBattleTowerRoomMenuJumptableIndex:: db
NEXTU
; miscellaneous
wFrameCounter::
-wNrOfBeatenBattleTowerTrainers::
wMomBankDigitCursorPosition::
wNamingScreenLetterCase::
wHallOfFameMonCounter::
-wSlotsDelay::
+wTradeDialog::
db
+wFrameCounter2::
wPrinterQueueLength::
+wUnusedSGB1eColorOffset::
db
+wUnusedTradeAnimPlayEvolutionMusic:: db
+
+NEXTU
+; mobile
+wcf64:: db
+wcf65:: db
+wcf66:: db
ENDU
wRequested2bppSize:: db
@@ -1553,7 +1582,7 @@
wcfbb:: db
-wGameTimerPause::
+wGameTimerPaused::
; bit 0: game timer paused
; bit 7: something mobile
db
@@ -1560,11 +1589,11 @@
ds 1
-wcfbe::
+wJoypadDisable::
; bits 4, 6, or 7 can be used to disable joypad input
; bit 4
-; bit 6: mon fainted?
-; bit 7: SGB flag?
+; bit 6: ongoing mon faint animation
+; bit 7: ongoing sgb data transfer
db
ds 1
@@ -1635,7 +1664,7 @@
wGBCOnlyDecompressBuffer:: ; a $540-byte buffer that continues past this SECTION
-wd000:: db
+wUnusedInitializedToZero:: db
wDefaultSpawnpoint:: db
@@ -1734,6 +1763,11 @@
wWhichBoxToPrint:: db
NEXTU
+; Unown printing
+wPrintedUnownTileSource:: ds 1 tiles
+wPrintedUnownTileDest:: ds 1 tiles
+
+NEXTU
; trainer HUD data
ds 1
wPlaceBallsDirection:: db
@@ -2017,7 +2051,8 @@
ENDU
wListPointer:: dw
-wUnusedD102:: dw
+wUnusedNamesPointer:: dw
+
wItemAttributesPtr:: dw
wCurItem:: db