shithub: pokered

Download patch

ref: b1cb3788938fa981e65619f022a41f1c1d91ae3b
parent: ef9e59101e10aed82184bd2fd063b1109e2e4f6a
author: dannye <corrnondacqb@yahoo.com>
date: Mon Jul 13 23:46:23 EDT 2015

Comment naming screen
also use more joypad constants

--- a/engine/battle/end_of_battle.asm
+++ b/engine/battle/end_of_battle.asm
@@ -41,7 +41,7 @@
 	call PrintText
 .evolution
 	xor a
-	ld [wccd4], a
+	ld [wForceEvolution], a
 	predef EvolutionAfterBattle
 .resetVariables
 	xor a
--- a/engine/cable_club.asm
+++ b/engine/cable_club.asm
@@ -816,7 +816,7 @@
 	dec a
 	ld [wWhichPokemon], a
 	ld a, $1
-	ld [wccd4], a
+	ld [wForceEvolution], a
 	ld a, [wTradingWhichEnemyMon]
 	ld hl, wEnemyPartyMons
 	ld b, 0
--- a/engine/evolution.asm
+++ b/engine/evolution.asm
@@ -27,7 +27,7 @@
 	ld a, [wHPBarMaxHP + 1]
 	ld [wcf91], a
 	ld [wd0b5], a
-	call Func_7beb9
+	call Evolution_LoadPic
 	ld de, vFrontPic
 	ld hl, vBackPic
 	ld bc, 7 * 7
@@ -35,7 +35,7 @@
 	ld a, [wHPBarMaxHP]
 	ld [wcf91], a
 	ld [wd0b5], a
-	call Func_7beb9
+	call Evolution_LoadPic
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a
 	ld a, [wHPBarMaxHP]
@@ -51,8 +51,8 @@
 	ld bc, $110
 .asm_7be63
 	push bc
-	call Func_7befa
-	jr c, .asm_7bea9
+	call Evolution_CheckForCancel
+	jr c, .evolutionCancelled
 	call Func_7bec2
 	pop bc
 	inc b
@@ -65,7 +65,7 @@
 	ld [wHPBarOldHP], a
 	call Func_7bed6
 	ld a, [wHPBarMaxHP + 1]
-.asm_7be81
+.afterCancellation
 	ld [wcf1d], a
 	ld a, $ff
 	ld [wc0ee], a
@@ -86,18 +86,18 @@
 	ret z
 	scf
 	ret
-.asm_7bea9
+.evolutionCancelled
 	pop bc
 	ld a, $1
 	ld [wHPBarOldHP + 1], a
 	ld a, [wHPBarMaxHP]
-	jr .asm_7be81
+	jr .afterCancellation
 
 EvolutionSetWholeScreenPalette: ; 7beb4 (1e:7eb4)
 	ld b, $b
 	jp GoPAL_SET
 
-Func_7beb9: ; 7beb9 (1e:7eb9)
+Evolution_LoadPic: ; 7beb9 (1e:7eb9)
 	call GetMonHeader
 	hlCoord 7, 2
 	jp LoadFlippedFrontSpriteByMonIndex
@@ -138,22 +138,22 @@
 	pop bc
 	ret
 
-Func_7befa: ; 7befa (1e:7efa)
+Evolution_CheckForCancel: ; 7befa (1e:7efa)
 	call DelayFrame
 	push bc
 	call JoypadLowSensitivity
 	ld a, [hJoy5]
 	pop bc
-	and $2
-	jr nz, .asm_7bf0d
-.asm_7bf08
+	and B_BUTTON
+	jr nz, .pressedB
+.notAllowedToCancel
 	dec c
-	jr nz, Func_7befa
+	jr nz, Evolution_CheckForCancel
 	and a
 	ret
-.asm_7bf0d
-	ld a, [wccd4]
+.pressedB
+	ld a, [wForceEvolution]
 	and a
-	jr nz, .asm_7bf08
+	jr nz, .notAllowedToCancel
 	scf
 	ret
--- a/engine/evolve_trade.asm
+++ b/engine/evolve_trade.asm
@@ -35,7 +35,7 @@
 	dec a
 	ld [wWhichPokemon], a
 	ld a, $1
-	ld [wccd4], a
+	ld [wForceEvolution], a
 	ld a, LINK_STATE_TRADING
 	ld [wLinkState], a
 	callab TryEvolvingMon
--- a/engine/evos_moves.asm
+++ b/engine/evos_moves.asm
@@ -76,7 +76,7 @@
 	ld a, b
 	cp EV_ITEM
 	jr z, .checkItemEvo
-	ld a, [wccd4]
+	ld a, [wForceEvolution]
 	and a
 	jr nz, Evolution_PartyMonLoop
 	ld a, b
--- a/engine/items/items.asm
+++ b/engine/items/items.asm
@@ -643,7 +643,7 @@
 	ld a,b
 	ld [wcf91],a
 	ld a,$01
-	ld [wccd4],a
+	ld [wForceEvolution],a
 	ld a,(SFX_02_3e - SFX_Headers_02) / 3
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
@@ -1275,7 +1275,7 @@
 	ld [wcc49],a
 	predef LearnMoveFromLevelUp ; learn level up move, if any
 	xor a
-	ld [wccd4],a
+	ld [wForceEvolution],a
 	callab TryEvolvingMon ; evolve pokemon, if appropriate
 	ld a,$01
 	ld [wUpdateSpritesEnabled],a
--- a/engine/menu/main_menu.asm
+++ b/engine/menu/main_menu.asm
@@ -90,7 +90,7 @@
 	call ContinueGame
 	ld hl,wd126
 	set 5,[hl]
-.next6
+.inputLoop
 	xor a
 	ld [hJoyPressed],a
 	ld [hJoyReleased],a
@@ -98,11 +98,11 @@
 	call Joypad
 	ld a,[hJoyHeld]
 	bit 0,a
-	jr nz,.next5
+	jr nz,.pressedA
 	bit 1,a
-	jp nz,.next0
-	jr .next6
-.next5
+	jp nz,.next0 ; pressedB
+	jr .inputLoop
+.pressedA
 	call GBPalWhiteOutWithDelay3
 	call ClearScreen
 	ld a,4
@@ -121,6 +121,7 @@
 	set 2,[hl] ; fly warp or dungeon warp
 	call SpecialWarpIn
 	jp SpecialEnterMap
+
 Func_5bff: ; 5bff (1:5bff)
 	ld a,1
 	ld [wd358],a
@@ -468,7 +469,7 @@
 	call JoypadLowSensitivity
 	ld a,[hJoy5]
 	ld b,a
-	and a,%11111011 ; any key besides select pressed?
+	and a,A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ; any key besides select pressed?
 	jr z,.getJoypadStateLoop
 	bit 1,b ; B button pressed?
 	jr nz,.exitMenu
--- a/engine/menu/naming_screen.asm
+++ b/engine/menu/naming_screen.asm
@@ -21,7 +21,7 @@
 	pop hl
 	ld a, [wCurrentMenuItem]
 	and a
-	jr nz, .asm_654c
+	jr nz, .declinedNickname
 	ld a, [wUpdateSpritesEnabled]
 	push af
 	xor a
@@ -32,9 +32,9 @@
 	call DisplayNamingScreen
 	ld a, [W_ISINBATTLE]
 	and a
-	jr nz, .asm_653e
+	jr nz, .inBattle
 	call ReloadMapSpriteTilePatterns
-.asm_653e
+.inBattle
 	call LoadScreenTilesFromBuffer1
 	pop hl
 	pop af
@@ -42,11 +42,11 @@
 	ld a, [wcf4b]
 	cp $50
 	ret nz
-.asm_654c
+.declinedNickname
 	ld d, h
 	ld e, l
 	ld hl, wcd6d
-	ld bc, $000b
+	ld bc, 11
 	jp CopyData
 
 DoYouWantToNicknameText: ; 0x6557
@@ -65,7 +65,7 @@
 	call LoadGBPal
 	ld a, [wcf4b]
 	cp $50
-	jr z, .asm_6594
+	jr z, .playerCancelled
 	ld hl, wPartyMonNicks
 	ld bc, $b
 	ld a, [wWhichPokemon]
@@ -73,11 +73,11 @@
 	ld e, l
 	ld d, h
 	ld hl, wHPBarMaxHP
-	ld bc, $b
+	ld bc, 11
 	call CopyData
 	and a
 	ret
-.asm_6594
+.playerCancelled
 	scf
 	ret
 
@@ -115,17 +115,17 @@
 	ld [hli], a
 	ld [hli], a
 	ld [wAnimCounter], a
-.asm_65ed
+.selectReturnPoint
 	call PrintAlphabet
 	call GBPalNormal
-.asm_65f3
+.ABStartReturnPoint
 	ld a, [wHPBarMaxHP + 1]
 	and a
-	jr nz, .asm_662d
-	call Func_680e
-.asm_65fc
+	jr nz, .submitNickname
+	call PrintNicknameAndUnderscores
+.dPadReturnPoint
 	call PlaceMenuCursor
-.asm_65ff
+.inputLoop
 	ld a, [wCurrentMenuItem]
 	push af
 	callba AnimatePartyMon_ForceSpeed1
@@ -134,17 +134,17 @@
 	call JoypadLowSensitivity
 	ld a, [hJoyPressed]
 	and a
-	jr z, .asm_65ff
-	ld hl, .unknownPointerTable_665e
-.asm_661a
+	jr z, .inputLoop
+	ld hl, .namingScreenButtonFunctions
+.checkForPressedButton
 	sla a
-	jr c, .asm_6624
+	jr c, .foundPressedButton
 	inc hl
 	inc hl
 	inc hl
 	inc hl
-	jr .asm_661a
-.asm_6624
+	jr .checkForPressedButton
+.foundPressedButton
 	ld a, [hli]
 	ld e, a
 	ld a, [hli]
@@ -154,10 +154,11 @@
 	ld l, a
 	push de
 	jp [hl]
-.asm_662d
+
+.submitNickname
 	pop de
 	ld hl, wcf4b
-	ld bc, $b
+	ld bc, 11
 	call CopyData
 	call GBPalWhiteOutWithDelay3
 	call ClearScreen
@@ -175,52 +176,54 @@
 	ld b, BANK(LoadHudTilePatterns)
 	jp Bankswitch
 
-.unknownPointerTable_665e: ; 665e (1:665e)
-	dw .asm_65fc
-	dw .asm_673e
-	dw .asm_65fc
-	dw .asm_672c
-	dw .asm_65fc
-	dw .asm_6718
-	dw .asm_65fc
-	dw .asm_6702
-	dw .asm_65f3
-	dw .asm_668c
-	dw .asm_65ed
-	dw .asm_6683
-	dw .asm_65f3
-	dw .deleteLetter
-	dw .asm_65f3
-	dw .asm_6692
+.namingScreenButtonFunctions
+	dw .dPadReturnPoint
+	dw .pressedDown
+	dw .dPadReturnPoint
+	dw .pressedUp
+	dw .dPadReturnPoint
+	dw .pressedLeft
+	dw .dPadReturnPoint
+	dw .pressedRight
+	dw .ABStartReturnPoint
+	dw .pressedStart
+	dw .selectReturnPoint
+	dw .pressedSelect
+	dw .ABStartReturnPoint
+	dw .pressedB
+	dw .ABStartReturnPoint
+	dw .pressedA
 
-.asm_667e
+.pressedA_changedCase
 	pop de
-	ld de, .asm_65ed
+	ld de, .selectReturnPoint
 	push de
-.asm_6683
+.pressedSelect
 	ld a, [wHPBarOldHP]
 	xor $1
 	ld [wHPBarOldHP], a
 	ret
-.asm_668c
+
+.pressedStart
 	ld a, $1
 	ld [wHPBarMaxHP + 1], a
 	ret
-.asm_6692
+
+.pressedA
 	ld a, [wCurrentMenuItem]
-	cp $5
-	jr nz, .asm_66a0
+	cp $5 ; "ED" row
+	jr nz, .didNotPressED
 	ld a, [wTopMenuItemX]
-	cp $11
-	jr z, .asm_668c
-.asm_66a0
+	cp $11 ; "ED" column
+	jr z, .pressedStart
+.didNotPressED
 	ld a, [wCurrentMenuItem]
-	cp $6
-	jr nz, .asm_66ae
+	cp $6 ; case swtich row
+	jr nz, .didNotPressCaseSwtich
 	ld a, [wTopMenuItemX]
-	cp $1
-	jr z, .asm_667e
-.asm_66ae
+	cp $1 ; case switch column
+	jr z, .pressedA_changedCase
+.didNotPressCaseSwtich
 	ld hl, wMenuCursorLocation
 	ld a, [hli]
 	ld h, [hl]
@@ -232,10 +235,10 @@
 	ld a, [wHPBarNewHP]
 	cp $e5
 	ld de, Dakutens
-	jr z, .asm_66e3
+	jr z, .dakutensAndHandakutens
 	cp $e4
 	ld de, Handakutens
-	jr z, .asm_66e3
+	jr z, .dakutensAndHandakutens
 	ld a, [wNamingScreenType]
 	cp NAME_MON_SCREEN
 	jr nc, .checkMonNameLength
@@ -248,9 +251,10 @@
 .checkNameLength
 	jr c, .addLetter
 	ret
-.asm_66e3
+
+.dakutensAndHandakutens
 	push hl
-	call Func_6871
+	call DakutensAndHandakutens
 	pop hl
 	ret nc
 	dec hl
@@ -261,7 +265,7 @@
 	ld a, (SFX_02_40 - SFX_Headers_02) / 3
 	call PlaySound
 	ret
-.deleteLetter
+.pressedB
 	ld a, [wHPBarMaxHP]
 	and a
 	ret z
@@ -269,55 +273,55 @@
 	dec hl
 	ld [hl], $50
 	ret
-.asm_6702
+.pressedRight
 	ld a, [wCurrentMenuItem]
 	cp $6
-	ret z
+	ret z ; can't scroll right on bottom row
 	ld a, [wTopMenuItemX]
-	cp $11
-	jp z, .asm_6714
+	cp $11 ; max
+	jp z, .wrapToFirstColumn
 	inc a
 	inc a
-	jr .asm_6755
-.asm_6714
+	jr .done
+.wrapToFirstColumn
 	ld a, $1
-	jr .asm_6755
-.asm_6718
+	jr .done
+.pressedLeft
 	ld a, [wCurrentMenuItem]
 	cp $6
-	ret z
+	ret z ; can't scroll right on bottom row
 	ld a, [wTopMenuItemX]
 	dec a
-	jp z, .asm_6728
+	jp z, .wrapToLastColumn
 	dec a
-	jr .asm_6755
-.asm_6728
-	ld a, $11
-	jr .asm_6755
-.asm_672c
+	jr .done
+.wrapToLastColumn
+	ld a, $11 ; max
+	jr .done
+.pressedUp
 	ld a, [wCurrentMenuItem]
 	dec a
 	ld [wCurrentMenuItem], a
 	and a
 	ret nz
-	ld a, $6
+	ld a, $6 ; wrap to bottom row
 	ld [wCurrentMenuItem], a
-	ld a, $1
-	jr .asm_6755
-.asm_673e
+	ld a, $1 ; force left column
+	jr .done
+.pressedDown
 	ld a, [wCurrentMenuItem]
 	inc a
 	ld [wCurrentMenuItem], a
 	cp $7
-	jr nz, .asm_6750
+	jr nz, .wrapToTopRow
 	ld a, $1
 	ld [wCurrentMenuItem], a
-	jr .asm_6755
-.asm_6750
+	jr .done
+.wrapToTopRow
 	cp $6
 	ret nz
 	ld a, $1
-.asm_6755
+.done
 	ld [wTopMenuItemX], a
 	jp EraseMenuCursor
 
@@ -336,25 +340,25 @@
 	ld a, [wHPBarOldHP]
 	and a
 	ld de, LowerCaseAlphabet
-	jr nz, .asm_677e
+	jr nz, .lowercase
 	ld de, UpperCaseAlphabet
-.asm_677e
+.lowercase
 	hlCoord 2, 5
-	ld bc, $509
-.asm_6784
+	ld bc, $509 ; 5 rows, 9 columns
+.outerLoop
 	push bc
-.asm_6785
+.innerLoop
 	ld a, [de]
 	ld [hli], a
 	inc hl
 	inc de
 	dec c
-	jr nz, .asm_6785
-	ld bc, $16
+	jr nz, .innerLoop
+	ld bc, SCREEN_WIDTH + 2
 	add hl, bc
 	pop bc
 	dec b
-	jr nz, .asm_6784
+	jr nz, .outerLoop
 	call PlaceString
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a
@@ -366,7 +370,7 @@
 UpperCaseAlphabet: ; 67d6 (1:67d6)
 	db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/",$f2,",¥lower case@"
 
-Func_680e: ; 680e (1:680e)
+PrintNicknameAndUnderscores: ; 680e (1:680e)
 	call CalcStringLength
 	ld a, c
 	ld [wHPBarMaxHP], a
@@ -379,46 +383,48 @@
 	hlCoord 10, 3
 	ld a, [wNamingScreenType]
 	cp NAME_MON_SCREEN
-	jr nc, .asm_6835
-	ld b, $7
-	jr .asm_6837
-.asm_6835
-	ld b, $a
-.asm_6837
-	ld a, $76
-.asm_6839
+	jr nc, .pokemon1
+	ld b, 7 ; player or rival max name length
+	jr .playerOrRival1
+.pokemon1
+	ld b, 10 ; pokemon max name length
+.playerOrRival1
+	ld a, $76 ; underscore tile id
+.placeUnderscoreLoop
 	ld [hli], a
 	dec b
-	jr nz, .asm_6839
+	jr nz, .placeUnderscoreLoop
 	ld a, [wNamingScreenType]
 	cp NAME_MON_SCREEN
 	ld a, [wHPBarMaxHP]
-	jr nc, .asm_684b
-	cp $7
-	jr .asm_684d
-.asm_684b
-	cp $a
-.asm_684d
-	jr nz, .asm_6867
+	jr nc, .pokemon2
+	cp 7 ; player or rival max name length
+	jr .playerOrRival2
+.pokemon2
+	cp 10 ; pokemon max name length
+.playerOrRival2
+	jr nz, .emptySpacesRemaining
+	; when all spaces are filled, force the cursor onto the ED tile
 	call EraseMenuCursor
-	ld a, $11
+	ld a, $11 ; "ED" x coord
 	ld [wTopMenuItemX], a
-	ld a, $5
+	ld a, $5 ; "ED" y corrd
 	ld [wCurrentMenuItem], a
 	ld a, [wNamingScreenType]
 	cp NAME_MON_SCREEN
-	ld a, $9
-	jr nc, .asm_6867
-	ld a, $6
-.asm_6867
+	ld a, 9 ; keep the last underscore raised
+	jr nc, .pokemon3
+	ld a, 6 ; keep the last underscore raised
+.pokemon3
+.emptySpacesRemaining
 	ld c, a
 	ld b, $0
 	hlCoord 10, 3
 	add hl, bc
-	ld [hl], $77
+	ld [hl], $77 ; raised underscore tile id
 	ret
 
-Func_6871: ; 6871 (1:6871)
+DakutensAndHandakutens: ; 6871 (1:6871)
 	push de
 	call CalcStringLength
 	dec hl
@@ -452,13 +458,13 @@
 CalcStringLength: ; 68eb (1:68eb)
 	ld hl, wcf4b
 	ld c, $0
-.asm_68f0
+.loop
 	ld a, [hl]
 	cp $50
 	ret z
 	inc hl
 	inc c
-	jr .asm_68f0
+	jr .loop
 
 PrintNamingText: ; 68f8 (1:68f8)
 	hlCoord 0, 1
--- a/engine/menu/pokedex.asm
+++ b/engine/menu/pokedex.asm
@@ -554,7 +554,7 @@
 .waitForButtonPress
 	call JoypadLowSensitivity
 	ld a,[hJoy5]
-	and a,%00000011 ; A button and B button
+	and a,A_BUTTON | B_BUTTON
 	jr z,.waitForButtonPress
 	pop af
 	ld [hTilesetType],a
--- a/home/text.asm
+++ b/home/text.asm
@@ -576,7 +576,7 @@
 	push bc
 	call Joypad
 	ld a,[hJoyHeld]
-	and a,%00000011 ; A and B buttons
+	and a,A_BUTTON | B_BUTTON
 	jr nz,.skipDelay
 	ld c,30
 	call DelayFrames
@@ -654,7 +654,7 @@
 	call Joypad
 	pop de
 	ld a,[hJoyHeld] ; joypad state
-	and a,%00000011 ; is A or B button pressed?
+	and a,A_BUTTON | B_BUTTON
 	jr nz,.skipDelay ; if so, skip the delay
 	ld c,10
 	call DelayFrames
--- a/main.asm
+++ b/main.asm
@@ -3461,7 +3461,7 @@
 	set 6, [hl] ; indicate that the player has tried pushing
 	ret z ; the player must try pushing twice before the boulder will move
 	ld a, [hJoyHeld]
-	and $f0
+	and D_RIGHT | D_LEFT | D_UP | D_DOWN
 	ret z
 	predef CheckForCollisionWhenPushingBoulder
 	ld a, [wTileInFrontOfBoulderAndBoulderCollisionResult]
--- a/wram.asm
+++ b/wram.asm
@@ -399,7 +399,8 @@
 ; overloaded with below labels
 
 wccd3:: ds 1 ; used in battle, pokemon, PC and game corner stuff
-wccd4:: ds 1 ; used in evolving pokemon and has a direct reference for simulated joypad stuff in vermillion and seafoam
+wForceEvolution::
+wccd4:: ds 1 ; has a direct reference for simulated joypad stuff in vermillion and seafoam
 
 ; if [ccd5] != 1, the second AI layer is not applied
 wAILayer2Encouragement:: ; ccd5