summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElectroDeoxys <ElectroDeoxys@gmail.com>2021-02-20 09:40:54 +0000
committerElectroDeoxys <ElectroDeoxys@gmail.com>2021-02-20 09:46:09 +0000
commit57f5afd6704520a8d6538a5351453f622fb3b86f (patch)
treed0738f16c2b7c17b4f9b81fe291f614d375c881d
parent2c41ada0776025dfc2ed8e7f3c2962d3d2fe129c (diff)
Extract duel configuration data, and label duel testing routine
-rw-r--r--src/engine/bank01.asm108
-rw-r--r--src/engine/bank04.asm539
-rw-r--r--src/engine/home.asm12
-rw-r--r--src/text/text1.asm2
-rw-r--r--src/text/text_offsets.asm2
5 files changed, 616 insertions, 47 deletions
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm
index 2d0ca69..82ccfc5 100644
--- a/src/engine/bank01.asm
+++ b/src/engine/bank01.asm
@@ -8184,6 +8184,11 @@ Func_7344: ; 7344 (1:7344)
BuildVersion: ; 7354 (1:7354)
db "VER 12/20 09:36", TX_END
+; possibly unreferenced, used for testing
+; enters computer opponent selection screen
+; handles input to select/cancel/scroll through deck IDs
+; loads the NPC duel configurations if one was selected
+; returns carry if selection was cancelled
Func_7364: ; 7364 (1:7364)
xor a
ld [wTileMapFill], a
@@ -8194,75 +8199,91 @@ Func_7364: ; 7364 (1:7364)
call SetupText
call DrawWideTextBox
call EnableLCD
+
xor a
ld [wOpponentDeckID], a
- call Func_73d8
-.asm_7384
+ call DrawOpponentSelectionScreen
+.wait_input
call DoFrame
ldh a, [hDPadHeld]
or a
- jr z, .asm_7384
+ jr z, .wait_input
ld b, a
+
+ ; handle selection/cancellation buttons
and A_BUTTON | START
- jr nz, .asm_73cd
+ jr nz, .select_opp
bit B_BUTTON_F, b
- jr nz, .asm_73cb
+ jr nz, .cancel
+
+; handle D-pad inputs
+; check right
ld a, [wOpponentDeckID]
bit D_RIGHT_F, b
- jr z, .asm_73a2
- inc a
- cp $35
- jr c, .asm_73a2
- xor a
-.asm_73a2
+ jr z, .check_left
+ inc a ; next deck ID
+ cp DECK_IDS_END + 1
+ jr c, .check_left
+ xor a ; wrap around to first deck ID
+
+.check_left
bit D_LEFT_F, b
- jr z, .asm_73ae
+ jr z, .check_up
or a
- jr nz, .asm_73ad
- ld a, IMAKUNI_DECK_ID
- jr .asm_73ae
-.asm_73ad
- dec a
-.asm_73ae
+ jr nz, .not_first_deck_id
+ ld a, DECK_IDS_END ; wrap around to last deck ID
+ jr .check_up
+.not_first_deck_id
+ dec a ; previous deck ID
+
+.check_up
bit D_UP_F, b
- jr z, .asm_73b9
- add $0a
- cp $35
- jr c, .asm_73b9
- xor a
-.asm_73b9
+ jr z, .check_down
+ add 10
+ cp DECK_IDS_END + 1
+ jr c, .check_down
+ xor a ; wrap around to first deck ID
+
+.check_down
bit D_DOWN_F, b
- jr z, .asm_73c3
- sub $0a
- jr nc, .asm_73c3
- ld a, IMAKUNI_DECK_ID
-.asm_73c3
+ jr z, .got_deck_id
+ sub 10
+ jr nc, .got_deck_id
+ ld a, DECK_IDS_END ; wrap around to last deck ID
+
+.got_deck_id
ld [wOpponentDeckID], a
- call Func_73d8
- jr .asm_7384
-.asm_73cb
+ call DrawOpponentSelectionScreen
+ jr .wait_input
+
+.cancel
scf
ret
-.asm_73cd
+.select_opp
ld a, [wOpponentDeckID]
ld [wNPCDuelDeckID], a
- call Func_3ae8
+ call GetNPCDuelConfigurations
or a
ret
; 0x73d8
-Func_73d8: ; 73d8 (1:73d8)
+; draws the current opponent to be selected
+; (his/her portrait and name)
+; and prints text box for selection
+DrawOpponentSelectionScreen: ; 73d8 (1:73d8)
ld a, [wOpponentDeckID]
ld [wNPCDuelDeckID], a
- call Func_3ae8
- jr c, .asm_73ec
+ call GetNPCDuelConfigurations
+ jr c, .ok
+ ; duel configuration not found for the NPC
+ ; so load a default portrait and name
xor a
ld [wOpponentPortrait], a
ld hl, wOpponentName
ld [hli], a
ld [hl], a
-.asm_73ec
- ld hl, Data_7408
+.ok
+ ld hl, SelectComputerOpponentData
call PlaceTextItems
call DrawDuelistPortraitsAndNames
ld a, [wOpponentDeckID]
@@ -8272,9 +8293,14 @@ Func_73d8: ; 73d8 (1:73d8)
lb bc, 15, 10
call WriteTwoByteNumberInTxSymbolFormat
ret
+; 0x7408
-Data_7408: ; 7408 (1:7408)
- INCROM $7408, $7415
+SelectComputerOpponentData: ; 7408 (1:7408)
+ textitem 10, 0, Text0089
+ textitem 10, 10, NumberOfPrizesText
+ textitem 3, 14, SelectComputerOpponentText
+ db $ff
+; 0x7415
Func_7415: ; 7415 (1:7415)
xor a
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index b780b36..41c4d28 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -1379,8 +1379,543 @@ SetNPCMatchStartTheme: ; 118d3 (4:58d3)
INCLUDE "data/npcs.asm"
-Func_11f4e: ; 11f4e (4:5f4e)
- INCROM $11f4e, $1217b
+_GetNPCDuelConfigurations: ; 11f4e (4:5f4e)
+ push hl
+ push bc
+ push de
+ ld a, [wNPCDuelDeckID]
+ ld e, a
+ ld bc, 9 ; size of struct - 1
+ ld hl, DeckIDDuelConfigurations
+.loop_deck_ids
+ ld a, [hli]
+ cp -1 ; end of list?
+ jr z, .done
+ cp e
+ jr nz, .next_deck_id
+ ld a, [hli]
+ ld [wOpponentPortrait], a
+ ld a, [hli]
+ ld [wOpponentName], a
+ ld a, [hli]
+ ld [wOpponentName + 1], a
+ ld a, [hl]
+ ld [wNPCDuelPrizes], a
+ scf
+ jr .done
+.next_deck_id
+ add hl, bc
+ jr .loop_deck_ids
+.done
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x11f7d
+
+; this is most likely unreferenced
+; since it expects the duel theme song
+; to be stored in the duel configuration
+; associated with the NPC deck ID,
+; but this isn't found in the actual data
+Func_11f7d: ; 11f7d (4:5f7d)
+ push bc
+ push de
+ ld a, [wNPCDuelDeckID]
+ ld e, a
+ ld bc, 9 ; size of struct - 1
+ ld hl, $5fae
+.loop_deck_ids
+ ld a, [hli]
+ cp -1 ; end of list?
+ jr z, .done
+ cp e
+ jr nz, .next_deck_id
+ push hl
+ ld a, [hli]
+ ld [wOpponentPortrait], a
+ ld a, [hli]
+ ld [wOpponentName], a
+ ld a, [hli]
+ ld [wOpponentName + 1], a
+ inc hl
+ ld a, [hli]
+ ld [wDuelTheme], a
+ pop hl
+ dec hl
+ scf
+ jr .done
+.next_deck_id
+ add hl, bc
+ jr .loop_deck_ids
+.done
+ pop de
+ pop bc
+ ret
+; 0x11fae
+
+DeckIDDuelConfigurations: ; 11fae (4:5fae)
+ db SAMS_PRACTICE_DECK_ID ; deck ID
+ db SAM_PIC ; NPC portrait
+ tx SamNPCName ; name text ID
+ db 2 ; number of prize cards
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db SAMS_NORMAL_DECK_ID ; deck ID
+ db SAM_PIC ; NPC portrait
+ tx SamNPCName ; name text ID
+ db 2 ; number of prize cards
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db LIGHTNING_AND_FIRE_DECK_ID ; deck ID
+ db AARON_PIC ; NPC portrait
+ tx AaronNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $eb ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db WATER_AND_FIGHTING_DECK_ID ; deck ID
+ db AARON_PIC ; NPC portrait
+ tx AaronNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $eb ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db GRASS_AND_PSYCHIC_DECK_ID ; deck ID
+ db AARON_PIC ; NPC portrait
+ tx AaronNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $eb ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db LEGENDARY_MOLTRES_DECK_ID ; deck ID
+ db COURTNEY_PIC ; NPC portrait
+ tx CourtneyNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $04 ; unknown
+ db $ed ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db LEGENDARY_ZAPDOS_DECK_ID ; deck ID
+ db STEVE_PIC ; NPC portrait
+ tx SteveNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $04 ; unknown
+ db $ed ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db LEGENDARY_ARTICUNO_DECK_ID ; deck ID
+ db JACK_PIC ; NPC portrait
+ tx JackNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $04 ; unknown
+ db $ed ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db LEGENDARY_DRAGONITE_DECK_ID ; deck ID
+ db ROD_PIC ; NPC portrait
+ tx RodNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $04 ; unknown
+ db $ed ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db FIRST_STRIKE_DECK_ID ; deck ID
+ db MITCH_PIC ; NPC portrait
+ tx MitchNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db ROCK_CRUSHER_DECK_ID ; deck ID
+ db GENE_PIC ; NPC portrait
+ tx GeneNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db GO_GO_RAIN_DANCE_DECK_ID ; deck ID
+ db AMY_PIC ; NPC portrait
+ tx AmyNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $f8 ; unknown
+ db $07 ; unknown
+
+ db ZAPPING_SELFDESTRUCT_DECK_ID ; deck ID
+ db ISAAC_PIC ; NPC portrait
+ tx IsaacNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $f7 ; unknown
+ db $07 ; unknown
+
+ db FLOWER_POWER_DECK_ID ; deck ID
+ db NIKKI_PIC ; NPC portrait
+ tx NikkiNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db STRANGE_PSYSHOCK_DECK_ID ; deck ID
+ db MURRAY_PIC ; NPC portrait
+ tx MurrayNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $fa ; unknown
+ db $07 ; unknown
+
+ db WONDERS_OF_SCIENCE_DECK_ID ; deck ID
+ db RICK_PIC ; NPC portrait
+ tx RickNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db FIRE_CHARGE_DECK_ID ; deck ID
+ db KEN_PIC ; NPC portrait
+ tx KenNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $03 ; unknown
+ db $ea ; unknown
+ db $07 ; unknown
+ db $f6 ; unknown
+ db $07 ; unknown
+
+ db IM_RONALD_DECK_ID ; deck ID
+ db RONALD_PIC ; NPC portrait
+ tx RonaldNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db POWERFUL_RONALD_DECK_ID ; deck ID
+ db RONALD_PIC ; NPC portrait
+ tx RonaldNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db INVINCIBLE_RONALD_DECK_ID ; deck ID
+ db RONALD_PIC ; NPC portrait
+ tx RonaldNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db LEGENDARY_RONALD_DECK_ID ; deck ID
+ db RONALD_PIC ; NPC portrait
+ tx RonaldNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db MUSCLES_FOR_BRAINS_DECK_ID ; deck ID
+ db CHRIS_PIC ; NPC portrait
+ tx ChrisNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db HEATED_BATTLE_DECK_ID ; deck ID
+ db MICHAEL_PIC ; NPC portrait
+ tx MichaelNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db LOVE_TO_BATTLE_DECK_ID ; deck ID
+ db JESSICA_PIC ; NPC portrait
+ tx JessicaNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db EXCAVATION_DECK_ID ; deck ID
+ db RYAN_PIC ; NPC portrait
+ tx RyanNPCName ; name text ID
+ db 3 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db BLISTERING_POKEMON_DECK_ID ; deck ID
+ db ANDREW_PIC ; NPC portrait
+ tx AndrewNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db HARD_POKEMON_DECK_ID ; deck ID
+ db MATTHEW_PIC ; NPC portrait
+ tx MatthewNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f9 ; unknown
+ db $07 ; unknown
+
+ db WATERFRONT_POKEMON_DECK_ID ; deck ID
+ db SARA_PIC ; NPC portrait
+ tx SaraNPCName ; name text ID
+ db 2 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f8 ; unknown
+ db $07 ; unknown
+
+ db LONELY_FRIENDS_DECK_ID ; deck ID
+ db AMANDA_PIC ; NPC portrait
+ tx AmandaNPCName ; name text ID
+ db 3 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f8 ; unknown
+ db $07 ; unknown
+
+ db SOUND_OF_THE_WAVES_DECK_ID ; deck ID
+ db JOSHUA_PIC ; NPC portrait
+ tx JoshuaNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f8 ; unknown
+ db $07 ; unknown
+
+ db PIKACHU_DECK_ID ; deck ID
+ db JENNIFER_PIC ; NPC portrait
+ tx JenniferNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f7 ; unknown
+ db $07 ; unknown
+
+ db BOOM_BOOM_SELFDESTRUCT_DECK_ID ; deck ID
+ db NICHOLAS_PIC ; NPC portrait
+ tx NicholasNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f7 ; unknown
+ db $07 ; unknown
+
+ db POWER_GENERATOR_DECK_ID ; deck ID
+ db BRANDON_PIC ; NPC portrait
+ tx BrandonNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f7 ; unknown
+ db $07 ; unknown
+
+ db ETCETERA_DECK_ID ; deck ID
+ db BRITTANY_PIC ; NPC portrait
+ tx BrittanyNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db FLOWER_GARDEN_DECK_ID ; deck ID
+ db KRISTIN_PIC ; NPC portrait
+ tx KristinNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db KALEIDOSCOPE_DECK_ID ; deck ID
+ db HEATHER_PIC ; NPC portrait
+ tx HeatherNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db GHOST_DECK_ID ; deck ID
+ db ROBERT_PIC ; NPC portrait
+ tx RobertNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fa ; unknown
+ db $07 ; unknown
+
+ db NAP_TIME_DECK_ID ; deck ID
+ db DANIEL_PIC ; NPC portrait
+ tx DanielNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fa ; unknown
+ db $07 ; unknown
+
+ db STRANGE_POWER_DECK_ID ; deck ID
+ db STEPHANIE_PIC ; NPC portrait
+ tx StephanieNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fa ; unknown
+ db $07 ; unknown
+
+ db FLYIN_POKEMON_DECK_ID ; deck ID
+ db JOSEPH_PIC ; NPC portrait
+ tx JosephNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db LOVELY_NIDORAN_DECK_ID ; deck ID
+ db DAVID_PIC ; NPC portrait
+ tx DavidNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db POISON_DECK_ID ; deck ID
+ db ERIK_PIC ; NPC portrait
+ tx ErikNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $fb ; unknown
+ db $07 ; unknown
+
+ db ANGER_DECK_ID ; deck ID
+ db JOHN_PIC ; NPC portrait
+ tx JohnNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f6 ; unknown
+ db $07 ; unknown
+
+ db FLAMETHROWER_DECK_ID ; deck ID
+ db ADAM_PIC ; NPC portrait
+ tx AdamNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f6 ; unknown
+ db $07 ; unknown
+
+ db RESHUFFLE_DECK_ID ; deck ID
+ db JONATHAN_PIC ; NPC portrait
+ tx JonathanNPCName ; name text ID
+ db 4 ; number of prize cards
+ db $02 ; unknown
+ db $e9 ; unknown
+ db $07 ; unknown
+ db $f6 ; unknown
+ db $07 ; unknown
+
+ db IMAKUNI_DECK_ID ; deck ID
+ db IMAKUNI_PIC ; NPC portrait
+ tx ImakuniNPCName ; name text ID
+ db 6 ; number of prize cards
+ db $10 ; unknown
+ db $ec ; unknown
+ db $07 ; unknown
+ db $00 ; unknown
+ db $00 ; unknown
+
+ db -1 ; end
OverworldScriptTable: ; 1217b (4:617b)
dw ScriptCommand_EndScript
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 5a8c822..0651e8d 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -11084,8 +11084,16 @@ GetMapScriptPointer: ; 3abd (0:3abd)
pop bc
ret
-Func_3ae8: ; 3ae8 (0:3ae8)
- farcall Func_11f4e
+; loads some configurations for the duel against
+; the NPC whose deck ID is stored in wNPCDuelDeckID
+; this includes NPC portrait, his/her name text ID,
+; and the number of prize cards
+; this was used in testing since these configurations
+; are stored in the script-related NPC data for normal gameplay
+; returns carry if a duel configuration was found
+; for the given NPC deck ID
+GetNPCDuelConfigurations: ; 3ae8 (0:3ae8)
+ farcall _GetNPCDuelConfigurations
ret
; finds a Script from the first byte and puts the next two bytes (usually arguments?) into cb
diff --git a/src/text/text1.asm b/src/text/text1.asm
index bdc5fa9..e94cb49 100644
--- a/src/text/text1.asm
+++ b/src/text/text1.asm
@@ -620,7 +620,7 @@ SelectComputerOpponentText: ; 36f65 (d:6f65)
text "Select a computer opponent."
done
-Text008b: ; 36f82 (d:6f82)
+NumberOfPrizesText: ; 36f82 (d:6f82)
text "Number of Prizes"
done
diff --git a/src/text/text_offsets.asm b/src/text/text_offsets.asm
index 15147ee..a62e8e7 100644
--- a/src/text/text_offsets.asm
+++ b/src/text/text_offsets.asm
@@ -140,7 +140,7 @@ TextOffsets:: ; 34000 (d:4000)
textpointer DuelistIsThinkingText ; 0x0088
textpointer Text0089 ; 0x0089
textpointer SelectComputerOpponentText ; 0x008a
- textpointer Text008b ; 0x008b
+ textpointer NumberOfPrizesText ; 0x008b
textpointer Text008c ; 0x008c
textpointer Text008d ; 0x008d
textpointer Text008e ; 0x008e