diff options
| author | xCrystal <rgr.crystal@gmail.com> | 2016-01-26 12:00:40 +0100 | 
|---|---|---|
| committer | xCrystal <rgr.crystal@gmail.com> | 2016-01-26 12:00:40 +0100 | 
| commit | ffbb12fb97e689c20872ef3d1817e7d3ac3a95ba (patch) | |
| tree | 6608475108f79ec196f7a04d1de47d359d1b48d1 | |
| parent | 55cb5ea7c908aec3778e5c8b72197e81969272e7 (diff) | |
more incbins and labels
| -rwxr-xr-x | src/engine/bank1.asm | 54 | ||||
| -rwxr-xr-x | src/engine/bank2.asm | 8 | ||||
| -rwxr-xr-x | src/engine/home.asm | 63 | ||||
| -rwxr-xr-x | src/wram.asm | 16 | 
4 files changed, 108 insertions, 33 deletions
| diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm index 77c9d3e..ad84579 100755 --- a/src/engine/bank1.asm +++ b/src/engine/bank1.asm @@ -128,7 +128,7 @@ Duel_Start: ; 409f (1:409f)  	ld a, $3  	call $2167  	ld hl, $0076 -	call Func_2aab +	call DrawWideTextBox_WaitForInput  	call Func_04a2  	ld a, [hWhoseTurn]  	push af @@ -179,7 +179,7 @@ Duel_Start: ; 409f (1:409f)  	call PlaySong  	ld a, $c3  	ld [hWhoseTurn], a -	call Func_2a59 +	call DrawWideTextBox_PrintText  	call EnableLCD  .asm_41a7  	call Func_053f @@ -190,7 +190,7 @@ Duel_Start: ; 409f (1:409f)  	cp $3  	jr z, .asm_41c8  	call Func_39fc -	call $2aae +	call WaitForWideTextBoxInput  	call $3b31  	call ResetSerial  	ld a, $c2 @@ -198,12 +198,12 @@ Duel_Start: ; 409f (1:409f)  	ret  .asm_41c8 -	call $2aae +	call WaitForWideTextBoxInput  	call $3b31  	ld a, [wDuelTheme]  	call PlaySong  	ld hl, $007a -	call Func_2aab +	call DrawWideTextBox_WaitForInput  	ld a, $1  	ld [$cc08], a  	call $70aa @@ -237,7 +237,49 @@ Func_5aeb: ; 5aeb (1:5aeb)  INCBIN "baserom.gbc",$5aeb,$6785 - $5aeb  Func_6785: ; 6785 (1:6785) -INCBIN "baserom.gbc",$6785,$7354 - $6785 +INCBIN "baserom.gbc",$6785,$7107 - $6785 + +InitializeDuelVariables: ; 7107 (1:7107) +	ld a, [hWhoseTurn] +	ld h, a +	ld l, wPlayerDuelistType & $ff +	ld a, [hl] +	push hl +	push af +	xor a +	ld l, a +.zeroDuelVariablesLoop +	ld [hl], a +	inc l +	jr nz, .zeroDuelVariablesLoop +	pop af +	pop hl +	ld [hl], a +	ld bc, DECK_SIZE ; lb bc, wPlayerCardLocations & $ff, DECK_SIZE +	ld l, wPlayerDeckCards & $ff +.initDuelVariablesLoop +; zero card locations and cards in hand, and init order of cards in deck +	push hl +	ld [hl], b +	ld l, b +	ld [hl], $0 +	pop hl +	inc l +	inc b +	dec c +	jr nz, .initDuelVariablesLoop +	ld l, wPlayerArenaCard & $ff +	ld c, 1 + BENCH_SIZE + 1 +.initPlayArea +; initialize to $ff card in arena as well as cards in bench (plus a terminator?) +	ld [hl], $ff +	inc l +	dec c +	jr nz, .initPlayArea +	ret +; 0x7133 + +INCBIN "baserom.gbc",$7133,$7354 - $7133  BuildVersion: ; 7354 (1:7354)  	db "VER 12/20 09:36",TX_END diff --git a/src/engine/bank2.asm b/src/engine/bank2.asm index 3a65ee2..a250c5c 100755 --- a/src/engine/bank2.asm +++ b/src/engine/bank2.asm @@ -80,9 +80,9 @@ Func_8db0: ; 8db0 (2:4db0)  Func_8dbc: ; 8dbc (2:4dbc)  	ld hl, Unknown_8de2 -	call Func_2636 +	call InitializeCursorParameters  	ld hl, $0224 -	call Func_2a59 +	call DrawWideTextBox_PrintText  .asm_8dc8  	call Func_053f  	jr c, Func_8dbc @@ -349,13 +349,13 @@ Func_8f9d: ; 8f9d (2:4f9d)  	ld [$ce3f], a  	ld [$ce40], a  	ld hl, $022a -	call Func_2aab +	call DrawWideTextBox_WaitForInput  	ld a, [$ceb1]  	jp Func_8dbc  Func_8fe8: ; 8fe8 (2:4fe8)  	ld hl, $022f -	call Func_2aab +	call DrawWideTextBox_WaitForInput  	ld a, [$ceb1]  	ret diff --git a/src/engine/home.asm b/src/engine/home.asm index ba80865..fa33edb 100755 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -3251,7 +3251,8 @@ Func_256d: ; 256d (0:256d)  INCBIN "baserom.gbc",$2589,$2636 - $2589 -Func_2636: ; 2636 (0:2636) +; initializes cursor parameters from the 8 bytes starting at hl +InitializeCursorParameters: ; 2636 (0:2636)  	ld [wCurMenuItem], a  	ld [$ffb1], a  	ld de, wCursorXPosition @@ -3295,7 +3296,7 @@ Func_264b: ; 264b (0:264b)  	push af  	ld a, $1  	ld [$cd99], a -	call Func_26e9 +	call EraseCursor  	pop af  	ld [wCurMenuItem], a  	xor a @@ -3364,10 +3365,10 @@ HandleTextBoxInput: ; 26da (0:26da)  	ret nz  	ld a, [wCursorTileNumber]  	bit 4, [hl] -	jr z, asm_26ec -Func_26e9: ; 26e9 (0:26e9) +	jr z, drawCursor +EraseCursor: ; 26e9 (0:26e9)  	ld a, [wTileBehindCursor] -asm_26ec +drawCursor  	ld c, a  	ld a, [wYDisplacementBetweenMenuItems]  	ld l, a @@ -3390,7 +3391,7 @@ asm_26ec  Func_270b: ; 270b (0:270b)  	ld a, [wCursorTileNumber] -	jr asm_26ec +	jr drawCursor  ; 0x2710  INCBIN "baserom.gbc",$2710,$2a1a - $2710 @@ -3416,7 +3417,7 @@ Func_2a1a: ; 2a1a (0:2a1a)  INCBIN "baserom.gbc",$2a30,$2a3e - $2a30 -Func_2a3e: ; 2a3e (0:2a3e) +DrawNarrowTextBox_PrintText: ; 2a3e (0:2a3e)  	push hl  	call DrawNarrowTextBox  	ld a, $b @@ -3430,7 +3431,7 @@ Func_2a3e: ; 2a3e (0:2a3e)  	ld hl, $c590  	jp Func_21c5 -Func_2a59: ; 2a59 (0:2a59) +DrawWideTextBox_PrintText: ; 2a59 (0:2a59)  	push hl  	call DrawWideTextBox  	ld a, $13 @@ -3450,7 +3451,23 @@ DrawNarrowTextBox: ; 2a6f (0:2a6f)  	ret  ; 0x2a7c -INCBIN "baserom.gbc",$2a7c,$2a9e - $2a7c +DrawNarrowTextBox_WaitForInput: ; 2a7c (0:2a7c) +	call DrawNarrowTextBox_PrintText +	xor a +	ld hl, NarrowTextBoxPromptCursorData +	call InitializeCursorParameters +	call EnableLCD +.waitAorBLoop +	call Func_053f +	call HandleTextBoxInput +	ld a, [hButtonsPressed] +	and $3 +	jr z, .waitAorBLoop +	ret +; 0x2a96 + +NarrowTextBoxPromptCursorData: ; 2a96 (0:2a96) +	db $a, $11, $1, $1, $2f, $1d, $0, $0  ; draws a 20x6 text box aligned to the bottom of the screen  DrawWideTextBox: ; 2a9e (0:2a9e) @@ -3460,31 +3477,35 @@ DrawWideTextBox: ; 2a9e (0:2a9e)  	call DrawRegularTextBox  	ret -Func_2aab: ; 2aab (0:2aab) -	call Func_2a59 +DrawWideTextBox_WaitForInput: ; 2aab (0:2aab) +	call DrawWideTextBox_PrintText +	 +WaitForWideTextBoxInput: ; 2aae (0:2aae)  	xor a -	ld hl, Unknown_2ac8 -	call Func_2636 +	ld hl, WideTextBoxPromptCursorData +	call InitializeCursorParameters  	call EnableLCD -.asm_2ab8 +.waitAorBLoop  	call Func_053f  	call HandleTextBoxInput  	ld a, [hButtonsPressed]  	and $3 -	jr z, .asm_2ab8 -	call Func_26e9 +	jr z, .waitAorBLoop +	call EraseCursor  	ret -Unknown_2ac8: ; 2ac8 (0:2ac8) -INCBIN "baserom.gbc",$2ac8,$2af0 - $2ac8 +WideTextBoxPromptCursorData: ; 2ac8 (0:2ac8) +	db $12, $11, $1, $1, $2f, $1d, $0, $0 +	 +INCBIN "baserom.gbc",$2ad0,$2af0 - $2ad0  Func_2af0: ; 2af0 (0:2af0) -	call Func_2a59 +	call DrawWideTextBox_PrintText  	ld de, $0710  	call Func_2b66  	ld de, $0610  	jr .asm_2b0a -	call Func_2a3e +	call DrawNarrowTextBox_PrintText  	ld de, $0310  	call Func_2b66  	ld de, $0210 @@ -3508,7 +3529,7 @@ Func_2af0: ; 2af0 (0:2af0)  	jr z, .asm_2b1f  	ld a, $1  	call Func_3796 -	call Func_26e9 +	call EraseCursor  .asm_2b39  	ld a, [$cd98]  	ld c, a diff --git a/src/wram.asm b/src/wram.asm index 7fd0798..ffcc81b 100755 --- a/src/wram.asm +++ b/src/wram.asm @@ -69,7 +69,13 @@ wPlayerNumberOfPokemonInPlay:: ; c2ef  wPlayerArenaCardStatus:: ; c2f0  	ds $1 -	ds $f + +; $00   - player +; $01   - link +; other - AI controlled +wPlayerDuelistType:: ; c2f1 +	ds $1 +	ds $e  wOpponentDuelVariables:: ; c300 @@ -115,7 +121,13 @@ wOpponentNumberOfPokemonInPlay:: ; c3ef  wOpponentArenaCardStatus:: ; c3f0  	ds $1 -	ds $f + +; $00   - player +; $01   - link +; other - AI controlled +wOpponentDuelistType:: ; c3f1 +	ds $1 +	ds $e  wPlayerDeck:: ; c400  	ds $80 | 
