summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--battle/effect_commands.asm4
-rw-r--r--constants/event_flags.asm2
-rw-r--r--constants/map_constants.asm2
-rwxr-xr-xengine/anim_hp_bar.asm68
-rwxr-xr-xengine/time.asm2
m---------extras0
-rw-r--r--main.asm2
-rw-r--r--maps/BlackthornGym2F.asm10
-rw-r--r--maps/IcePathB1F.asm12
-rw-r--r--wram.asm1
10 files changed, 55 insertions, 48 deletions
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index 1350300ca..b4b28d986 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -2924,7 +2924,9 @@ TruncateHL_BC: ; 3534d
ld a, [wLinkMode]
cp 3
jr z, .done
-
+; If we go back to the loop point,
+; it's the same as doing this exact
+; same check twice.
ld a, h
or b
jr nz, .loop
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
index 775991a87..636d0226c 100644
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -1232,7 +1232,7 @@
const EVENT_BEAT_BLACKBELT_LUNG
const EVENT_BEAT_BLACKBELT_KENJI
const EVENT_BEAT_BLACKBELT_WAI
-; Beauti
+; Beauty
const EVENT_BEAT_BEAUTY_VICTORIA
const EVENT_BEAT_BEAUTY_SAMANTHA
const EVENT_BEAT_BEAUTY_JULIE
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index bedcf29dd..341b3709c 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -707,3 +707,5 @@ CMDQUEUE_04 EQU 4
CMDQUEUE_05 EQU 5
CMDQUEUE_ENTRY_SIZE EQU 6
CMDQUEUE_CAPACITY EQU 4
+
+CMDQUEUE_STONETABLE EQU 2
diff --git a/engine/anim_hp_bar.asm b/engine/anim_hp_bar.asm
index c88c73145..43bf2396d 100755
--- a/engine/anim_hp_bar.asm
+++ b/engine/anim_hp_bar.asm
@@ -5,14 +5,14 @@ _AnimateHPBar: ; d627
.ShortAnimLoop
push bc
push hl
- call Functiond6e2
+ call ShortAnim_UpdateVariables
pop hl
pop bc
push af
push bc
push hl
- call Functiond730
- call Functiond7c9
+ call ShortHPBarAnim_UpdateTiles
+ call HPBarAnim_BGMapUpdate
pop hl
pop bc
pop af
@@ -24,15 +24,15 @@ _AnimateHPBar: ; d627
.LongAnimLoop
push bc
push hl
- call Functiond6f5
+ call LongAnim_UpdateVariables
pop hl
pop bc
ret c
push af
push bc
push hl
- call Functiond749
- call Functiond7c9
+ call LongHPBarAnim_UpdateTiles
+ call HPBarAnim_BGMapUpdate
pop hl
pop bc
pop af
@@ -132,7 +132,7 @@ _AnimateHPBar: ; d627
ret
; d6e2
-Functiond6e2: ; d6e2
+ShortAnim_UpdateVariables: ; d6e2
ld hl, wCurHPBarPixels
ld a, [wNewHPBarPixels]
cp [hl]
@@ -144,12 +144,12 @@ Functiond6e2: ; d6e2
ld a, c
add [hl]
ld [hl], a
- call Functiond839
+ call ShortHPBar_CalcPixelFrame
and a
ret
; d6f5
-Functiond6f5: ; d6f5
+LongAnim_UpdateVariables: ; d6f5
.loop
ld hl, Buffer3
ld a, [hli]
@@ -186,6 +186,10 @@ Functiond6f5: ; d6f5
ld c, a
ld a, [hli]
ld b, a
+ ; This routine is buggy. The result from ComputeHPBarPixels is stored
+ ; in e. However, the pop de opcode deletes this result before it is even
+ ; used. The game then proceeds as though it never deleted that output.
+ ; To fix, move the line "ld a, e" to here.
call ComputeHPBarPixels
pop bc
pop de
@@ -199,8 +203,8 @@ Functiond6f5: ; d6f5
ret
; d730
-Functiond730: ; d730
- call Functiond784
+ShortHPBarAnim_UpdateTiles: ; d730
+ call HPBarAnim_UpdateHPRemaining
ld d, $6
ld a, [wWhichHPBar]
and $1
@@ -209,14 +213,14 @@ Functiond730: ; d730
ld e, a
ld c, a
push de
- call Functiond771
+ call HPBarAnim_RedrawHPBar
pop de
- call Functiond7b4
+ call HPBarAnim_PaletteUpdate
ret
; d749
-Functiond749: ; d749
- call Functiond784
+LongHPBarAnim_UpdateTiles: ; d749
+ call HPBarAnim_UpdateHPRemaining
ld a, [Buffer3]
ld c, a
ld a, [Buffer4]
@@ -232,20 +236,20 @@ Functiond749: ; d749
and $1
ld b, a
push de
- call Functiond771
+ call HPBarAnim_RedrawHPBar
pop de
- call Functiond7b4
+ call HPBarAnim_PaletteUpdate
ret
; d771
-Functiond771: ; d771
+HPBarAnim_RedrawHPBar: ; d771
ld a, [wWhichHPBar]
cp $2
jr nz, .skip
- ld a, $28
+ ld a, 2 * SCREEN_WIDTH
add l
ld l, a
- ld a, $0
+ ld a, 0
adc h
ld h, a
.skip
@@ -253,17 +257,17 @@ Functiond771: ; d771
ret
; d784
-Functiond784: ; d784
+HPBarAnim_UpdateHPRemaining: ; d784
ld a, [wWhichHPBar]
and a
ret z
cp $1
jr z, .load_15
- ld de, $16
+ ld de, SCREEN_WIDTH + 2
jr .loaded_de
.load_15
- ld de, $15
+ ld de, SCREEN_WIDTH + 1
.loaded_de
push hl
add hl, de
@@ -284,7 +288,7 @@ endr
ret
; d7b4
-Functiond7b4: ; d7b4
+HPBarAnim_PaletteUpdate: ; d7b4
ld a, [hCGB]
and a
ret z
@@ -296,7 +300,7 @@ Functiond7b4: ; d7b4
ret
; d7c9
-Functiond7c9: ; d7c9
+HPBarAnim_BGMapUpdate: ; d7c9
ld a, [hCGB]
and a
jr nz, .cgb
@@ -312,13 +316,13 @@ Functiond7c9: ; d7c9
jr z, .load_1
ld a, [CurPartyMon]
cp $3
- jr nc, .c_is_1
+ jr nc, .bottom_half_of_screen
ld c, $0
- jr .c_is_0
+ jr .got_third
-.c_is_1
+.bottom_half_of_screen
ld c, $1
-.c_is_0
+.got_third
push af
cp $2
jr z, .skip_delay
@@ -370,14 +374,14 @@ Functiond7c9: ; d7c9
ret
; d839
-Functiond839: ; d839
+ShortHPBar_CalcPixelFrame: ; d839
ld a, [Buffer1]
ld c, a
ld b, 0
ld hl, 0
ld a, [wCurHPBarPixels]
cp 6 * 8
- jr nc, .coppy_buffer
+ jr nc, .return_max
and a
jr z, .return_zero
call AddNTimes
@@ -423,7 +427,7 @@ Functiond839: ; d839
ld [Buffer3], a
ret
-.coppy_buffer
+.return_max
ld a, [Buffer1]
ld [Buffer3], a
ret
diff --git a/engine/time.asm b/engine/time.asm
index 235645966..29670afdc 100755
--- a/engine/time.asm
+++ b/engine/time.asm
@@ -124,10 +124,8 @@ endr
jr z, .RestartKenjiBreakCountdown
dec [hl]
jr nz, .DontRestartKenjiBreakCountdown
-
.RestartKenjiBreakCountdown
call Special_SampleKenjiBreakCountdown
-
.DontRestartKenjiBreakCountdown
jr RestartDailyResetTimer
; 11485
diff --git a/extras b/extras
-Subproject 68edf51f1070b056c281471242220f9c6142e1b
+Subproject adbc204d741bec7a68c1e6cd67751f226d0347c
diff --git a/main.asm b/main.asm
index 90b6ef046..517dd661f 100644
--- a/main.asm
+++ b/main.asm
@@ -2008,7 +2008,7 @@ HealPartyMon: ; c677
ret
ComputeHPBarPixels: ; c699
-; bc * (6 * 8) / de
+; e = bc * (6 * 8) / de
ld a, b
or c
jr z, .zero
diff --git a/maps/BlackthornGym2F.asm b/maps/BlackthornGym2F.asm
index d77464877..02a4d2234 100644
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -23,8 +23,8 @@ BlackthornGym2F_MapScriptHeader:
return
.BoulderCmdQueue
- dbw MAPCALLBACK_OBJECTS, .BoulderTable ; check if any stones are sitting on a warp
- db 0, 0 ; filler
+ dbw CMDQUEUE_STONETABLE, .BoulderTable ; check if any stones are sitting on a warp
+ dw 0 ; filler
.BoulderTable
stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Disappear4
@@ -137,9 +137,9 @@ BlackthornGym2F_MapEventHeader:
db 5
warp_def $7, $1, 3, BLACKTHORN_GYM_1F
warp_def $9, $7, 4, BLACKTHORN_GYM_1F
- warp_def $5, $2, 5, BLACKTHORN_GYM_1F
- warp_def $7, $8, 6, BLACKTHORN_GYM_1F
- warp_def $3, $8, 7, BLACKTHORN_GYM_1F
+ warp_def $5, $2, 5, BLACKTHORN_GYM_1F ; hole
+ warp_def $7, $8, 6, BLACKTHORN_GYM_1F ; hole
+ warp_def $3, $8, 7, BLACKTHORN_GYM_1F ; hole
.XYTriggers:
db 0
diff --git a/maps/IcePathB1F.asm b/maps/IcePathB1F.asm
index 9e9390f67..afac65352 100644
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -21,8 +21,8 @@ IcePathB1F_MapScriptHeader:
return
.CommandQueue:
- dbw MAPCALLBACK_OBJECTS, .StoneTable ; check if any stones are sitting on a warp
- db 0, 0 ; filler
+ dbw CMDQUEUE_STONETABLE, .StoneTable ; check if any stones are sitting on a warp
+ dw 0 ; filler
.StoneTable:
stonetable 3, ICEPATHB1F_BOULDER1, .Boulder1
@@ -90,10 +90,10 @@ IcePathB1F_MapEventHeader:
db 8
warp_def $f, $3, 3, ICE_PATH_1F
warp_def $3, $11, 1, ICE_PATH_B2F_MAHOGANY_SIDE
- warp_def $2, $b, 3, ICE_PATH_B2F_MAHOGANY_SIDE
- warp_def $7, $4, 4, ICE_PATH_B2F_MAHOGANY_SIDE
- warp_def $c, $5, 5, ICE_PATH_B2F_MAHOGANY_SIDE
- warp_def $d, $c, 6, ICE_PATH_B2F_MAHOGANY_SIDE
+ warp_def $2, $b, 3, ICE_PATH_B2F_MAHOGANY_SIDE ; hole
+ warp_def $7, $4, 4, ICE_PATH_B2F_MAHOGANY_SIDE ; hole
+ warp_def $c, $5, 5, ICE_PATH_B2F_MAHOGANY_SIDE ; hole
+ warp_def $d, $c, 6, ICE_PATH_B2F_MAHOGANY_SIDE ; hole
warp_def $19, $5, 4, ICE_PATH_1F
warp_def $1b, $b, 1, ICE_PATH_B2F_BLACKTHORN_SIDE
diff --git a/wram.asm b/wram.asm
index bb3c83c4b..2786879ee 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1806,6 +1806,7 @@ CurPartyMon:: ; d109
wWhichHPBar::
; 0: Enemy
; 1: Player
+; 2: Party Menu
ds 1
wPokemonWithdrawDepositParameter::
; 0: Take from PC