aboutsummaryrefslogtreecommitdiffstats
path: root/engine
diff options
context:
space:
mode:
authorRangi <35663410+Rangi42@users.noreply.github.com>2025-03-08 11:16:42 -0500
committerGitHub <noreply@github.com>2025-03-08 11:16:42 -0500
commit147914d179f29f0d5c08bad027040731e323ed92 (patch)
tree51c1546b6ad01c5b827c95c472a6a9de3656a81b /engine
parentUse "command -v" instead of "which" (diff)
downloadpokeyellow-147914d179f29f0d5c08bad027040731e323ed92.tar.gz
pokeyellow-147914d179f29f0d5c08bad027040731e323ed92.tar.xz
pokeyellow-147914d179f29f0d5c08bad027040731e323ed92.zip
Use constants for trade text indexes (#501)
Diffstat (limited to 'engine')
-rw-r--r--engine/events/in_game_trades.asm28
1 files changed, 23 insertions, 5 deletions
diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm
index 228c6bf8..f69b829f 100644
--- a/engine/events/in_game_trades.asm
+++ b/engine/events/in_game_trades.asm
@@ -1,3 +1,12 @@
+; TradeTextPointers1-3 indexes
+ const_def
+ const TRADETEXT_WANNA_TRADE ; 0
+ const TRADETEXT_NO_TRADE ; 1
+ const TRADETEXT_WRONG_MON ; 2
+ const TRADETEXT_THANKS ; 3
+ const TRADETEXT_AFTER_TRADE ; 4
+DEF NUM_TRADE_TEXTS EQU const_value
+
DoInGameTradeDialogue:
; trigger the trade offer/action specified by wWhichTrade
call SaveScreenTilesToBuffer2
@@ -42,14 +51,15 @@ DoInGameTradeDialogue:
predef FlagActionPredef
ld a, c
and a
- ld a, $4
+ ld a, TRADETEXT_AFTER_TRADE
ld [wInGameTradeTextPointerTableIndex], a
jr nz, .printText
; if the trade hasn't been done yet
+ ASSERT TRADETEXT_WANNA_TRADE == 0
xor a
ld [wInGameTradeTextPointerTableIndex], a
call .printText
- ld a, $1
+ ld a, TRADETEXT_NO_TRADE
ld [wInGameTradeTextPointerTableIndex], a
call YesNoChoice
ld a, [wCurrentMenuItem]
@@ -95,13 +105,13 @@ InGameTrade_DoTrade:
push af
call InGameTrade_RestoreScreen
pop af
- ld a, $1
+ ld a, TRADETEXT_NO_TRADE
jp c, .tradeFailed ; jump if the player didn't select a pokemon
ld a, [wInGameTradeGiveMonSpecies]
ld b, a
ld a, [wCurPartySpecies]
cp b
- ld a, $2
+ ld a, TRADETEXT_WRONG_MON
jr nz, .tradeFailed ; jump if the selected mon's species is not the required one
ld a, [wWhichPokemon]
ld hl, wPartyMon1Level
@@ -142,7 +152,7 @@ InGameTrade_DoTrade:
call InGameTrade_RestoreScreen
farcall RedrawMapView
and a
- ld a, $3
+ ld a, TRADETEXT_THANKS
jr .tradeSucceeded
.tradeFailed
scf
@@ -234,30 +244,38 @@ InGameTrade_TrainerString:
InGameTradeTextPointers:
; entries correspond to TRADE_DIALOGSET_* constants
+ table_width 2
dw TradeTextPointers1
dw TradeTextPointers2
dw TradeTextPointers3
+ assert_table_length NUM_TRADE_DIALOGSETS
TradeTextPointers1:
+ table_width 2
dw WannaTrade1Text
dw NoTrade1Text
dw WrongMon1Text
dw Thanks1Text
dw AfterTrade1Text
+ assert_table_length NUM_TRADE_TEXTS
TradeTextPointers2:
+ table_width 2
dw WannaTrade2Text
dw NoTrade2Text
dw WrongMon2Text
dw Thanks2Text
dw AfterTrade2Text
+ assert_table_length NUM_TRADE_TEXTS
TradeTextPointers3:
+ table_width 2
dw WannaTrade3Text
dw NoTrade3Text
dw WrongMon3Text
dw Thanks3Text
dw AfterTrade3Text
+ assert_table_length NUM_TRADE_TEXTS
ConnectCableText:
text_far _ConnectCableText