summaryrefslogtreecommitdiff
path: root/src/engine/bank04.asm
diff options
context:
space:
mode:
authorAndrew Martinek <andrewrmartinek@gmail.com>2020-12-20 17:31:00 -0500
committerAndrew Martinek <andrewrmartinek@gmail.com>2020-12-20 17:31:00 -0500
commite8ec8efa902ea56cf17bdcd908067247d13ee28d (patch)
treeba708ba6b0e0125148de6de2c48713d0b64d70de /src/engine/bank04.asm
parent5930b53dd28705197ebfc1a905ea3175552ba39a (diff)
parent9fab715759ddf919b0c4bb9a01095c4c225fcac0 (diff)
Merge in master (and update some macros)
Diffstat (limited to 'src/engine/bank04.asm')
-rw-r--r--src/engine/bank04.asm83
1 files changed, 72 insertions, 11 deletions
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index 7a7f052..dc148ad 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -13,8 +13,8 @@ Func_10000: ; 10000 (4:4000)
bit LCDC_ENABLE_F, a
jr nz, .asm_10025
xor a
- ld [rSCX], a
- ld [rSCY], a
+ ldh [rSCX], a
+ ldh [rSCY], a
.asm_10025
call Func_1288c
@@ -1023,9 +1023,9 @@ OverworldScriptTable: ; 1217b (4:617b)
dw Func_d1b3
dw ScriptCommand_QuitScriptFully
dw Func_d244
- dw Func_d24c
+ dw ScriptCommand_ChooseDeckToDuelAgainstMultichoice
dw ScriptCommand_OpenDeckMachine
- dw Func_d271
+ dw ScriptCommand_ChooseStarterDeckMultichoice
dw ScriptCommand_EnterMap
dw ScriptCommand_MoveArbitraryNPC
dw Func_d209
@@ -1048,8 +1048,8 @@ OverworldScriptTable: ; 1217b (4:617b)
dw ScriptCommand_WaitForSongToFinish
dw Func_d435
dw ScriptCommand_AskQuestionJumpDefaultYes
- dw Func_d2f6
- dw Func_d317
+ dw ScriptCommand_ShowSamNormalMultichoice
+ dw ScriptCommand_ShowSamTutorialMultichoice
dw Func_d43d
dw ScriptCommand_EndScriptLoop2
dw ScriptCommand_EndScriptLoop3
@@ -1073,7 +1073,68 @@ OverworldScriptTable: ; 1217b (4:617b)
dw ScriptCommand_EndScriptLoop9
dw ScriptCommand_EndScriptLoop10
- INCROM $1224b, $1229f
+
+MultichoiceTextbox_ConfigTable_ChooseDeckToDuelAgainst: ;1224b
+ db $04, $00 ; x, y to start drawing box
+ db $10, $08 ; width, height of box
+ db $06, $02 ; x, y coordinate to start printing next text
+ tx Text03f6 ; text id to print next
+ db $06, $04 ; x, y coordinate to start printing next text
+ tx Text03f7 ; text id to print next
+ db $06, $06 ; x, y coordinate to start printing next text
+ tx Text03f8 ; text id to print next
+ db $ff ; marker byte -- end text entries
+ db $05, $02 ; cursor starting x, y
+ db $02 ; number of tiles the cursor moves per toggle
+ db $03 ; cursor max index
+ db $0f ; cursor image
+
+ db $00, $00, $00 ; marker bytes -- end of config table
+
+MultichoiceTextbox_ConfigTable_ChooseDeckStarterDeck: ;12264
+ db $04, $00 ; x, y to start drawing box
+ db $10, $08 ; width, height of box
+ db $06, $02 ; x, y coordinate to start printing next text
+ tx Text03fa ; text id to print next
+ db $06, $04 ; x, y coordinate to start printing next text
+ tx Text03fb ; text id to print next
+ db $06, $06 ; x, y coordinate to start printing next text
+ tx Text03fc ; text id to print next
+ db $ff ; marker byte -- end text entries
+ db $05, $02 ; cursor starting x, y
+ db $02 ; number of tiles the cursor moves per toggle
+ db $03 ; cursor max index
+ db $0f ; cursor image
+
+ db $00, $00, $00 ; marker bytes -- end of config table
+
+SamNormalMultichoice_ConfigurationTable: ;1227d
+ db $0A, $00 ; x, y to start drawing box
+ db $0A, $0A ; width, height of box
+ db $0C, $02 ; x, y coordinate to start printing next text
+ tx Text03ff ; text id to print next
+ db $ff ; marker byte -- end text entries
+ db $0b, $02 ; cursor starting x, y
+ db $02 ; number of tiles the cursor moves per toggle
+ db $04 ; cursor max index
+ db $0f ; cursor image
+
+ db $00, $00, $00 ; marker bytes -- end of config table
+
+SamTutorialMultichoice_ConfigurationTable: ;1228e
+ db $06, $00 ; x, y to start drawing box
+ db $0E, $12 ; width, height of box
+ db $08, $02 ; x coordinate to start printing text
+ tx Text0400 ; text id to print next
+ db $ff ; marker byte -- end text entries
+ db $07, $02 ; cursor starting x, y
+ db $02 ; number of tiles the cursor moves per toggle
+ db $08 ; cursor max index
+ db $0f ; cursor image
+
+ db $00, $00, $00 ; marker bytes -- end of config table
+
+
Unknown_1229f: ; 1229f (4:629f)
INCROM $1229f, $126d1
@@ -1103,7 +1164,7 @@ _GameLoop: ; 126d1 (4:66d1)
scf
ret
-MainMenuFunctionTable:
+MainMenuFunctionTable: ; 126fc (4:66fc)
dw MainMenu_CardPop
dw MainMenu_ContinueFromDiary
dw MainMenu_NewGame
@@ -1230,7 +1291,7 @@ Unknown_128fb: ; 128fb
Func_1296e: ; 1296e (4:696e)
INCROM $1296e, $1299f
-; creates a new entry in SpriteAnimBuffer, Alse loads the sprite if need be
+; creates a new entry in SpriteAnimBuffer, else loads the sprite if need be
CreateSpriteAndAnimBufferEntry: ; 1299f (4:699f)
push af
ld a, [wd5d7]
@@ -1489,7 +1550,7 @@ HandleAnimationFrame: ; 12b13 (4:6b13)
call GetAnimFramePointerFromOffset
inc de
ld a, [de]
- call SetAimationCounterAndLoop
+ call SetAnimationCounterAndLoop
jr c, .tryHandlingFrame
inc de
ld bc, SPRITE_ANIM_COORD_X
@@ -1547,7 +1608,7 @@ GetAnimFramePointerFromOffset: ; 12b6a (4:6b6a)
; Sets the animation counter for the current sprite. If the value is zero, loop the animation
; a - new animation counter
-SetAimationCounterAndLoop: ; 12b89 (4:6b89)
+SetAnimationCounterAndLoop: ; 12b89 (4:6b89)
push hl
push bc
ld bc, SPRITE_ANIM_COUNTER