From 308189b638d3dbed2283e041221b8db7d6063094 Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Sun, 23 Nov 2025 22:19:21 -0500 Subject: Use `ld_hli_a_string` macro to make byte-by-byte strings more obvious (#540) --- engine/battle/core.asm | 12 +----------- engine/battle/link_battle_versus_text.asm | 4 +--- engine/pokemon/status_ailments.asm | 30 +++++------------------------- home/pokemon.asm | 6 +----- macros/code.asm | 8 ++++++++ 5 files changed, 16 insertions(+), 44 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 0916176c..672bd416 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6841,17 +6841,7 @@ InitWildBattle: ld [hli], a ; write front sprite pointer ld [hl], b ld hl, wEnemyMonNick ; set name to "GHOST" - ld a, 'G' - ld [hli], a - ld a, 'H' - ld [hli], a - ld a, 'O' - ld [hli], a - ld a, 'S' - ld [hli], a - ld a, 'T' - ld [hli], a - ld [hl], '@' + ld_hli_a_string "GHOST@" ld a, [wCurPartySpecies] push af ld a, MON_GHOST diff --git a/engine/battle/link_battle_versus_text.asm b/engine/battle/link_battle_versus_text.asm index d37d40c7..89201f4a 100644 --- a/engine/battle/link_battle_versus_text.asm +++ b/engine/battle/link_battle_versus_text.asm @@ -13,9 +13,7 @@ DisplayLinkBattleVersusTextBox: call PlaceString ; place bold "VS" tiles between the names hlcoord 9, 8 - ld a, '' - ld [hli], a - ld [hl], '' + ld_hli_a_string "" xor a ld [wUpdateSpritesEnabled], a callfar SetupPlayerAndEnemyPokeballs diff --git a/engine/pokemon/status_ailments.asm b/engine/pokemon/status_ailments.asm index 2c5b3bcd..3cc2d490 100644 --- a/engine/pokemon/status_ailments.asm +++ b/engine/pokemon/status_ailments.asm @@ -10,37 +10,17 @@ PrintStatusAilment:: jr nz, .par and SLP_MASK ret z - ld a, 'S' - ld [hli], a - ld a, 'L' - ld [hli], a - ld [hl], 'P' + ld_hli_a_string "SLP" ret .psn - ld a, 'P' - ld [hli], a - ld a, 'S' - ld [hli], a - ld [hl], 'N' + ld_hli_a_string "PSN" ret .brn - ld a, 'B' - ld [hli], a - ld a, 'R' - ld [hli], a - ld [hl], 'N' + ld_hli_a_string "BRN" ret .frz - ld a, 'F' - ld [hli], a - ld a, 'R' - ld [hli], a - ld [hl], 'Z' + ld_hli_a_string "FRZ" ret .par - ld a, 'P' - ld [hli], a - ld a, 'A' - ld [hli], a - ld [hl], 'R' + ld_hli_a_string "PAR" ret diff --git a/home/pokemon.asm b/home/pokemon.asm index d720a642..df984d00 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -320,11 +320,7 @@ PrintStatusCondition:: pop de jr nz, PrintStatusConditionNotFainted ; if the pokemon's HP is 0, print "FNT" - ld a, 'F' - ld [hli], a - ld a, 'N' - ld [hli], a - ld [hl], 'T' + ld_hli_a_string "FNT" and a ret diff --git a/macros/code.asm b/macros/code.asm index c972f97e..70ff4249 100644 --- a/macros/code.asm +++ b/macros/code.asm @@ -10,6 +10,14 @@ ENDM ; Design patterns +MACRO ld_hli_a_string + FOR n, CHARLEN(\1) - 1 + ld a, CHARVAL(STRCHAR(\1, n)) + ld [hli], a + ENDR + ld [hl], CHARVAL(STRCHAR(\1, CHARLEN(\1) - 1)) +ENDM + MACRO dict IF \1 == 0 and a -- cgit v1.3.1-sl0p