From fb01f5b17f051430299345199da1108f54b7d466 Mon Sep 17 00:00:00 2001 From: jidoc01 Date: Fri, 27 Sep 2019 11:53:02 +0200 Subject: Finish Func_1866 --- src/engine/bank06.asm | 88 +++++++++++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 38 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index e3ee426..dcfbf68 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -954,30 +954,33 @@ Func_18661: ; 18661 (6:4661) ld e, a ldh a, [hDPadHeld] or a - jr z, .asm_46a2 + jr z, .check_button +; check input from dpad bit D_LEFT_F, a - jr nz, .asm_467a + jr nz, .left_or_right bit D_RIGHT_F, a - jr z, .asm_4680 -.asm_467a + jr z, .check_up_and_down +.left_or_right +; swap the lsb of x position value. ld a, d - xor $01 + xor $1 ld d, a - jr .asm_468c -.asm_4680 + jr .cursor_moved + +.check_up_and_down bit D_UP_F, a - jr nz, .asm_4688 + jr nz, .up_or_down bit D_DOWN_F, a - jr z, .asm_46a2 -.asm_4688 + jr z, .check_button +.up_or_down ld a, e - xor $01 + xor $1 ld e, a -.asm_468c - ld a, $01 +.cursor_moved + ld a, $1 ld [wcfe3], a push de - call .asm_46d4 + call .draw_blank_cursor pop de ld a, d ld [wCheckMenuCursorXPosition], a @@ -985,59 +988,68 @@ Func_18661: ; 18661 (6:4661) ld [wCheckMenuCursorYPosition], a xor a ld [wCheckMenuCursorBlinkCounter], a -.asm_46a2 +.check_button ldh a, [hKeysPressed] and A_BUTTON | B_BUTTON - jr z, .asm_46bd + jr z, .check_cursor_moved and A_BUTTON - jr nz, .asm_46b3 - ld a, $ff + jr nz, .a_button + +; b button + ld a, -1 call Func_190fb scf ret -.asm_46b3 - call .asm_46f3 - ld a, $01 + +; a button +.a_button + call .draw_cursor + ld a, 1 call Func_190fb scf ret -.asm_46bd + +.check_cursor_moved ld a, [wcfe3] or a - jr z, .asm_46c6 + jr z, .check_cursor_blink call PlaySFX -.asm_46c6 +.check_cursor_blink ld hl, wCheckMenuCursorBlinkCounter ld a, [hl] inc [hl] - and $0f + and %00001111 ret nz - ld a, $0f + ld a, SYM_CURSOR_R bit D_RIGHT_F, [hl] - jr z, .asm_46d6 -.asm_46d4 ; 186d4 (6:46d4) - ld a, $00 -.asm_46d6 + jr z, .draw_tile +.draw_blank_cursor ; 186d4 (6:46d4) + ld a, SYM_SPACE +.draw_tile ld e, a - ld a, $0a + ld a, 10 ld l, a ld a, [wCheckMenuCursorXPosition] ld h, a - call HtimesL + call HtimesL ; h = x_pos * 10 ld a, l - add $01 + add 1 ; a = 10 + 1 = 11 ld b, a ld a, [wCheckMenuCursorYPosition] - sla a - add $0e + sla a ; a = y_pos * 2 + add 14 ; a = y_pos * 2 + 14 ld c, a ld a, e + ; b = 11 + ; c = y_pos * 2 + 14 + ; h = x_pos * 10 + ; l = 10 call WriteByteToBGMap0 or a ret -.asm_46f3: ; 186f3 (6:46f3) - ld a, $0f - jr .asm_46d6 +.draw_cursor ; 186f3 (6:46f3) + ld a, SYM_CURSOR_R + jr .draw_tile ; (6:46f7) INCLUDE "data/effect_commands.asm" -- cgit v1.2.3 From dbefbe866839f91f0911508aa05f19ec56e9defe Mon Sep 17 00:00:00 2001 From: jidoc01 Date: Fri, 27 Sep 2019 12:03:29 +0200 Subject: Rename wcfe3 --- src/engine/bank02.asm | 18 +++++++++--------- src/engine/bank06.asm | 24 ++++++++++++------------ 2 files changed, 21 insertions(+), 21 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank02.asm b/src/engine/bank02.asm index 51127a2..d48250f 100644 --- a/src/engine/bank02.asm +++ b/src/engine/bank02.asm @@ -1215,7 +1215,7 @@ DrawPlayArea_HandText: ; 8676 (2:4676) ; returns a = $ff if B pressed HandleCheckMenuInput_YourOrOppPlayArea: ; 86ac (2:46ac) xor a - ld [wcfe3], a + ld [wPlaysSfx], a ld a, [wCheckMenuCursorXPosition] ld d, a ld a, [wCheckMenuCursorYPosition] @@ -1283,7 +1283,7 @@ HandleCheckMenuInput_YourOrOppPlayArea: ; 86ac (2:46ac) .erase ld a, $01 - ld [wcfe3], a + ld [wPlaysSfx], a push de call EraseCheckMenuCursor_YourOrOppPlayArea pop de @@ -1319,7 +1319,7 @@ HandleCheckMenuInput_YourOrOppPlayArea: ; 86ac (2:46ac) ret .sfx - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .draw_cursor call PlaySFX @@ -1638,7 +1638,7 @@ LoadCursorTile: ; 8992 (2:4992) ; similar to OpenInPlayAreaScreen_HandleInput Func_89ae: ; 89ae (2:49ae) xor a - ld [wcfe3], a + ld [wPlaysSfx], a ld hl, wce53 ld e, [hl] @@ -1757,7 +1757,7 @@ Func_89ae: ; 89ae (2:49ae) .next ld a, $01 - ld [wcfe3], a + ld [wPlaysSfx], a ; reset cursor blink xor a @@ -1784,7 +1784,7 @@ Func_89ae: ; 89ae (2:49ae) ret .return - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .skip_sfx call PlaySFX @@ -2267,7 +2267,7 @@ ResetCheckMenuCursorPositionAndBlink: ; 905a (2:505a) ; returns a = $ff if B pressed HandleCheckMenuInput: ; 9065 (2:5065) xor a - ld [wcfe3], a + ld [wPlaysSfx], a ld a, [wCheckMenuCursorXPosition] ld d, a ld a, [wCheckMenuCursorYPosition] @@ -2304,7 +2304,7 @@ HandleCheckMenuInput: ; 9065 (2:5065) .okay ld a, $01 - ld [wcfe3], a + ld [wPlaysSfx], a push de call EraseCheckMenuCursor pop de @@ -2337,7 +2337,7 @@ HandleCheckMenuInput: ; 9065 (2:5065) ret .no_input - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .check_blink call PlaySFX diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index dcfbf68..fae87bf 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -523,7 +523,7 @@ OpenInPlayAreaScreen_TransitionTable2: OpenInPlayAreaScreen_HandleInput: ; 183bb (6:43bb) xor a - ld [wcfe3], a + ld [wPlaysSfx], a ld hl, wInPlayAreaInputTablePointer ld e, [hl] inc hl @@ -655,7 +655,7 @@ OpenInPlayAreaScreen_HandleInput: ; 183bb (6:43bb) ld [wInPlayAreaCurPosition], a .next ld a, $01 - ld [wcfe3], a + ld [wPlaysSfx], a xor a ld [wCheckMenuCursorBlinkCounter], a .check_button @@ -681,7 +681,7 @@ OpenInPlayAreaScreen_HandleInput: ; 183bb (6:43bb) ret .return - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .skip_sfx call PlaySFX @@ -947,7 +947,7 @@ GlossaryData2: Func_18661: ; 18661 (6:4661) xor a - ld [wcfe3], a + ld [wPlaysSfx], a ld a, [wCheckMenuCursorXPosition] ld d, a ld a, [wCheckMenuCursorYPosition] @@ -978,7 +978,7 @@ Func_18661: ; 18661 (6:4661) ld e, a .cursor_moved ld a, $1 - ld [wcfe3], a + ld [wPlaysSfx], a push de call .draw_blank_cursor pop de @@ -1010,7 +1010,7 @@ Func_18661: ; 18661 (6:4661) ret .check_cursor_moved - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .check_cursor_blink call PlaySFX @@ -2128,7 +2128,7 @@ endr ; if pressed, set the carry bit on. NamingScreen_CheckButtonState: xor a - ld [wcfe3], a + ld [wPlaysSfx], a ldh a, [hDPadHeld] or a jp z, .no_press @@ -2277,7 +2277,7 @@ NamingScreen_CheckButtonState: cp d jp z, NamingScreen_CheckButtonState ld a, $01 - ld [wcfe3], a + ld [wPlaysSfx], a .no_press ldh a, [hKeysPressed] and A_BUTTON | B_BUTTON @@ -2293,7 +2293,7 @@ NamingScreen_CheckButtonState: scf ret .asm_69ef - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .asm_69f8 call PlaySFX @@ -3001,7 +3001,7 @@ Func_1aec3: ; 1aec3 (6:6ec3) Func_1aefb: ; 1aefb (6:6efb) xor a - ld [wcfe3], a + ld [wPlaysSfx], a ldh a, [hDPadHeld] or a jp z, .asm_6f73 @@ -3075,7 +3075,7 @@ Func_1aefb: ; 1aefb (6:6efb) cp d jp z, Func_1aefb ld a, $01 - ld [wcfe3], a + ld [wPlaysSfx], a .asm_6f73 ldh a, [hKeysPressed] and $03 @@ -3091,7 +3091,7 @@ Func_1aefb: ; 1aefb (6:6efb) scf ret .asm_6f89 - ld a, [wcfe3] + ld a, [wPlaysSfx] or a jr z, .asm_6f92 call PlaySFX -- cgit v1.2.3 From c88c1b02cca80965eef4b8862e925cf5f03d85d4 Mon Sep 17 00:00:00 2001 From: jidoc01 Date: Fri, 27 Sep 2019 13:50:45 +0200 Subject: Disassemble move animation data The disassembled data is pretty huge, so I moved it into a new separated file(data/move_animations.asm). I've just named the data labels in a simple way, and it's needed to rename them depending on their corresponding move names. --- src/engine/bank06.asm | 298 +++++++++++++++++++++++++------------------------- 1 file changed, 150 insertions(+), 148 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index fae87bf..3cb5987 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -1061,7 +1061,7 @@ Func_18f9c: ; 18f9c (6:4f9c) ld l, a ld h, 0 add hl, hl - ld de, Data_006_51a4 + ld de, PointerTable_MoveAnimation .asm_4fa8 add hl, de ld e, [hl] @@ -1369,154 +1369,156 @@ Func_19168: ; 19168 (6:5168) ret -Data_006_51a4: +PointerTable_MoveAnimation: dw $0000 - dw $52c6 - dw $52cf - dw $52c6 - dw $52c6 - dw $52c6 - dw $52d8 - dw $52d8 - dw $52e3 - dw $52d8 - dw $52f0 - dw $52f0 - dw $52f0 - dw $52f0 - dw $52fd - dw $5308 - dw $5313 - dw $531e - dw $5329 - dw $5334 - dw $533f - dw $534a - dw $5357 - dw $5362 - dw $5362 - dw $536d - dw $536d - dw $536d - dw $5378 - dw $5383 - dw $538e - dw $5383 - dw $5399 - dw $53a4 - dw $53af - dw $53ba - dw $53c5 - dw $53d0 - dw $53d5 - dw $53e0 - dw $53eb - dw $53f6 - dw $53f6 - dw $53f6 - dw $5401 - dw $540c - dw $5417 - dw $5422 - dw $542d - dw $542d - dw $5438 - dw $5438 - dw $5438 - dw $5438 - dw $5438 - dw $5443 - dw $5443 - dw $544e - dw $5443 - dw $5443 - dw $5443 - dw $5453 - dw $5453 - dw $5460 - dw $5453 - dw $5467 - dw $5467 - dw $5472 - dw $5472 - dw $547d - dw $5488 - dw $548f - dw $549c - dw $549c - dw $54a9 - dw $54a9 - dw $54ae - dw $54ae - dw $54b3 - dw $54be - dw $54c3 - dw $54c8 - dw $54d3 - dw $54e0 - dw $54eb - dw $54f2 - dw $54f9 - dw $5504 - dw $5513 - dw $5516 - dw $5521 - dw $552e - dw $5533 - dw $553a - dw $5543 - dw $554a - dw $5555 - dw $555e - dw $556d - dw $5574 - dw $557b - dw $557e - dw $5583 - dw $5583 - dw $5583 - dw $558c - dw $5597 - dw $559c - dw $55a1 - dw $55a4 - dw $55a9 - dw $55b4 - dw $55b4 - dw $55bf - dw $55c4 - dw $55c9 - dw $55ce - dw $55d5 - dw $55e0 - dw $55e5 - dw $55e6 - dw $55ed - dw $55f2 - dw $55fb - dw $55fe - dw $5601 - dw $5604 - dw $5607 - dw $560a - dw $560f - dw $5612 - dw $561d - dw $5628 - dw $562d - dw $5632 - dw $5637 - dw $5644 - dw $564f - dw $5654 - dw $5659 - dw $565e - dw $5665 - dw $5668 - dw $5673 - dw $5673 - - INCROM $192c6, $1991f + dw MoveAnimation_52c6 + dw MoveAnimation_52cf + dw MoveAnimation_52c6 + dw MoveAnimation_52c6 + dw MoveAnimation_52c6 + dw MoveAnimation_52d8 + dw MoveAnimation_52d8 + dw MoveAnimation_52e3 + dw MoveAnimation_52d8 + dw MoveAnimation_52f0 + dw MoveAnimation_52f0 + dw MoveAnimation_52f0 + dw MoveAnimation_52f0 + dw MoveAnimation_52fd + dw MoveAnimation_5308 + dw MoveAnimation_5313 + dw MoveAnimation_531e + dw MoveAnimation_5329 + dw MoveAnimation_5334 + dw MoveAnimation_533f + dw MoveAnimation_534a + dw MoveAnimation_5357 + dw MoveAnimation_5362 + dw MoveAnimation_5362 + dw MoveAnimation_536d + dw MoveAnimation_536d + dw MoveAnimation_536d + dw MoveAnimation_5378 + dw MoveAnimation_5383 + dw MoveAnimation_538e + dw MoveAnimation_5383 + dw MoveAnimation_5399 + dw MoveAnimation_53a4 + dw MoveAnimation_53af + dw MoveAnimation_53ba + dw MoveAnimation_53c5 + dw MoveAnimation_53d0 + dw MoveAnimation_53d5 + dw MoveAnimation_53e0 + dw MoveAnimation_53eb + dw MoveAnimation_53f6 + dw MoveAnimation_53f6 + dw MoveAnimation_53f6 + dw MoveAnimation_5401 + dw MoveAnimation_540c + dw MoveAnimation_5417 + dw MoveAnimation_5422 + dw MoveAnimation_542d + dw MoveAnimation_542d + dw MoveAnimation_5438 + dw MoveAnimation_5438 + dw MoveAnimation_5438 + dw MoveAnimation_5438 + dw MoveAnimation_5438 + dw MoveAnimation_5443 + dw MoveAnimation_5443 + dw MoveAnimation_544e + dw MoveAnimation_5443 + dw MoveAnimation_5443 + dw MoveAnimation_5443 + dw MoveAnimation_5453 + dw MoveAnimation_5453 + dw MoveAnimation_5460 + dw MoveAnimation_5453 + dw MoveAnimation_5467 + dw MoveAnimation_5467 + dw MoveAnimation_5472 + dw MoveAnimation_5472 + dw MoveAnimation_547d + dw MoveAnimation_5488 + dw MoveAnimation_548f + dw MoveAnimation_549c + dw MoveAnimation_549c + dw MoveAnimation_54a9 + dw MoveAnimation_54a9 + dw MoveAnimation_54ae + dw MoveAnimation_54ae + dw MoveAnimation_54b3 + dw MoveAnimation_54be + dw MoveAnimation_54c3 + dw MoveAnimation_54c8 + dw MoveAnimation_54d3 + dw MoveAnimation_54e0 + dw MoveAnimation_54eb + dw MoveAnimation_54f2 + dw MoveAnimation_54f9 + dw MoveAnimation_5504 + dw MoveAnimation_5513 + dw MoveAnimation_5516 + dw MoveAnimation_5521 + dw MoveAnimation_552e + dw MoveAnimation_5533 + dw MoveAnimation_553a + dw MoveAnimation_5543 + dw MoveAnimation_554a + dw MoveAnimation_5555 + dw MoveAnimation_555e + dw MoveAnimation_556d + dw MoveAnimation_5574 + dw MoveAnimation_557b + dw MoveAnimation_557e + dw MoveAnimation_5583 + dw MoveAnimation_5583 + dw MoveAnimation_5583 + dw MoveAnimation_558c + dw MoveAnimation_5597 + dw MoveAnimation_559c + dw MoveAnimation_55a1 + dw MoveAnimation_55a4 + dw MoveAnimation_55a9 + dw MoveAnimation_55b4 + dw MoveAnimation_55b4 + dw MoveAnimation_55bf + dw MoveAnimation_55c4 + dw MoveAnimation_55c9 + dw MoveAnimation_55ce + dw MoveAnimation_55d5 + dw MoveAnimation_55e0 + dw MoveAnimation_55e5 + dw MoveAnimation_55e6 + dw MoveAnimation_55ed + dw MoveAnimation_55f2 + dw MoveAnimation_55fb + dw MoveAnimation_55fe + dw MoveAnimation_5601 + dw MoveAnimation_5604 + dw MoveAnimation_5607 + dw MoveAnimation_560a + dw MoveAnimation_560f + dw MoveAnimation_5612 + dw MoveAnimation_561d + dw MoveAnimation_5628 + dw MoveAnimation_562d + dw MoveAnimation_5632 + dw MoveAnimation_5637 + dw MoveAnimation_5644 + dw MoveAnimation_564f + dw MoveAnimation_5654 + dw MoveAnimation_5659 + dw MoveAnimation_565e + dw MoveAnimation_5665 + dw MoveAnimation_5668 + dw MoveAnimation_5673 + dw MoveAnimation_5673 + +INCLUDE "data/move_animations.asm" + + INCROM $19674, $1991f Func_1991f: ; 1991f (6:591f) add a -- cgit v1.2.3 From e717bccded4f0fed817e7897491e798cfdc67c8d Mon Sep 17 00:00:00 2001 From: jidoc01 Date: Tue, 1 Oct 2019 16:43:32 +0200 Subject: Analyze animation data & Add animation constants Analyzed data structure for animation, and formatted data in "move_animations.asm". But still needs analysis on which effect using which code. --- src/engine/bank06.asm | 147 -------------------------------------------------- 1 file changed, 147 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index 3cb5987..27deeb2 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -1369,153 +1369,6 @@ Func_19168: ; 19168 (6:5168) ret -PointerTable_MoveAnimation: - dw $0000 - dw MoveAnimation_52c6 - dw MoveAnimation_52cf - dw MoveAnimation_52c6 - dw MoveAnimation_52c6 - dw MoveAnimation_52c6 - dw MoveAnimation_52d8 - dw MoveAnimation_52d8 - dw MoveAnimation_52e3 - dw MoveAnimation_52d8 - dw MoveAnimation_52f0 - dw MoveAnimation_52f0 - dw MoveAnimation_52f0 - dw MoveAnimation_52f0 - dw MoveAnimation_52fd - dw MoveAnimation_5308 - dw MoveAnimation_5313 - dw MoveAnimation_531e - dw MoveAnimation_5329 - dw MoveAnimation_5334 - dw MoveAnimation_533f - dw MoveAnimation_534a - dw MoveAnimation_5357 - dw MoveAnimation_5362 - dw MoveAnimation_5362 - dw MoveAnimation_536d - dw MoveAnimation_536d - dw MoveAnimation_536d - dw MoveAnimation_5378 - dw MoveAnimation_5383 - dw MoveAnimation_538e - dw MoveAnimation_5383 - dw MoveAnimation_5399 - dw MoveAnimation_53a4 - dw MoveAnimation_53af - dw MoveAnimation_53ba - dw MoveAnimation_53c5 - dw MoveAnimation_53d0 - dw MoveAnimation_53d5 - dw MoveAnimation_53e0 - dw MoveAnimation_53eb - dw MoveAnimation_53f6 - dw MoveAnimation_53f6 - dw MoveAnimation_53f6 - dw MoveAnimation_5401 - dw MoveAnimation_540c - dw MoveAnimation_5417 - dw MoveAnimation_5422 - dw MoveAnimation_542d - dw MoveAnimation_542d - dw MoveAnimation_5438 - dw MoveAnimation_5438 - dw MoveAnimation_5438 - dw MoveAnimation_5438 - dw MoveAnimation_5438 - dw MoveAnimation_5443 - dw MoveAnimation_5443 - dw MoveAnimation_544e - dw MoveAnimation_5443 - dw MoveAnimation_5443 - dw MoveAnimation_5443 - dw MoveAnimation_5453 - dw MoveAnimation_5453 - dw MoveAnimation_5460 - dw MoveAnimation_5453 - dw MoveAnimation_5467 - dw MoveAnimation_5467 - dw MoveAnimation_5472 - dw MoveAnimation_5472 - dw MoveAnimation_547d - dw MoveAnimation_5488 - dw MoveAnimation_548f - dw MoveAnimation_549c - dw MoveAnimation_549c - dw MoveAnimation_54a9 - dw MoveAnimation_54a9 - dw MoveAnimation_54ae - dw MoveAnimation_54ae - dw MoveAnimation_54b3 - dw MoveAnimation_54be - dw MoveAnimation_54c3 - dw MoveAnimation_54c8 - dw MoveAnimation_54d3 - dw MoveAnimation_54e0 - dw MoveAnimation_54eb - dw MoveAnimation_54f2 - dw MoveAnimation_54f9 - dw MoveAnimation_5504 - dw MoveAnimation_5513 - dw MoveAnimation_5516 - dw MoveAnimation_5521 - dw MoveAnimation_552e - dw MoveAnimation_5533 - dw MoveAnimation_553a - dw MoveAnimation_5543 - dw MoveAnimation_554a - dw MoveAnimation_5555 - dw MoveAnimation_555e - dw MoveAnimation_556d - dw MoveAnimation_5574 - dw MoveAnimation_557b - dw MoveAnimation_557e - dw MoveAnimation_5583 - dw MoveAnimation_5583 - dw MoveAnimation_5583 - dw MoveAnimation_558c - dw MoveAnimation_5597 - dw MoveAnimation_559c - dw MoveAnimation_55a1 - dw MoveAnimation_55a4 - dw MoveAnimation_55a9 - dw MoveAnimation_55b4 - dw MoveAnimation_55b4 - dw MoveAnimation_55bf - dw MoveAnimation_55c4 - dw MoveAnimation_55c9 - dw MoveAnimation_55ce - dw MoveAnimation_55d5 - dw MoveAnimation_55e0 - dw MoveAnimation_55e5 - dw MoveAnimation_55e6 - dw MoveAnimation_55ed - dw MoveAnimation_55f2 - dw MoveAnimation_55fb - dw MoveAnimation_55fe - dw MoveAnimation_5601 - dw MoveAnimation_5604 - dw MoveAnimation_5607 - dw MoveAnimation_560a - dw MoveAnimation_560f - dw MoveAnimation_5612 - dw MoveAnimation_561d - dw MoveAnimation_5628 - dw MoveAnimation_562d - dw MoveAnimation_5632 - dw MoveAnimation_5637 - dw MoveAnimation_5644 - dw MoveAnimation_564f - dw MoveAnimation_5654 - dw MoveAnimation_5659 - dw MoveAnimation_565e - dw MoveAnimation_5665 - dw MoveAnimation_5668 - dw MoveAnimation_5673 - dw MoveAnimation_5673 - INCLUDE "data/move_animations.asm" INCROM $19674, $1991f -- cgit v1.2.3 From dd9412dd57ac9a0057dc43751593e222752ce7c2 Mon Sep 17 00:00:00 2001 From: jidoc01 Date: Mon, 7 Oct 2019 15:39:34 +0200 Subject: Rename wd422 to wTempAnimation This wram variable stores an animation to play. --- src/engine/home.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/engine') diff --git a/src/engine/home.asm b/src/engine/home.asm index 15778ca..b7374aa 100644 --- a/src/engine/home.asm +++ b/src/engine/home.asm @@ -11241,7 +11241,7 @@ CheckAnyAnimationPlaying: ; 3b52 (0:3b52) ret Func_3b6a: ; 3b6a (0:3b6a) - ld [wd422], a + ld [wTempAnimation], a ; hold an animation temporarily ldh a, [hBankROM] push af ld [wd4be], a @@ -11250,7 +11250,7 @@ Func_3b6a: ; 3b6a (0:3b6a) push de ld a, $07 call BankswitchROM - ld a, [wd422] + ld a, [wTempAnimation] cp $61 jr nc, .asm_3b90 ld hl, wd4ad -- cgit v1.2.3 From 7aead19969e32ca7818237159dc4e08b8c38b51a Mon Sep 17 00:00:00 2001 From: jidoc01 Date: Mon, 7 Oct 2019 22:18:55 +0200 Subject: Disassemble 1c8ef ~ 1cac5 --- src/engine/bank07.asm | 298 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 297 insertions(+), 1 deletion(-) (limited to 'src/engine') diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 7c53b96..7a2d90a 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -367,7 +367,303 @@ Func_1c83d: ; 1c83d (7:483d) ret ; 0x1c858 - INCROM $1c858, $1cb18 + INCROM $1c858, $1c8ef + +Func_1c8ef: ; 1c8ef (7:48ef) + ld a, [wDoFrameFunction + 0] + cp LOW(Func_3ba2) + jr nz, .error + ld a, [wDoFrameFunction + 1] + cp HIGH(Func_3ba2) + jr z, .okay +.error + debug_ret + ret + +.okay + ld a, [wTempAnimation] + ld [wd4bf], a + cp $61 + jp nc, $4b5e ; asm_007_4b5e + push hl + push bc + push de + call Func_1cab3 +; hl: pointer + ld a, [wd421] + or a + jr z, .check_to_play_sfx + + push hl + ld bc, $0003 + add hl, bc + ld a, [hl] + and %10000000 + pop hl + + jr z, .return +.check_to_play_sfx + push hl + ld bc, $0004 + add hl, bc + ld a, [hl] + pop hl + + or a + jr z, .calc_addr + call PlaySFX +.calc_addr + push hl + ld bc, $0005 + add hl, bc + ld a, [hl] + rlca + add $48 + ld l, a ; LO + ld a, HIGH(.address) ; $49 + adc 0 + ld h, a ; HI +; hl: pointer + ld a, [hli] + ld b, [hl] + ld c, a + pop hl + + call PushBC_Ret ; call bc +.return + pop de + pop bc + pop hl + ret + +.address + dw Func_1c94a + +Func_1c94a: + ld e, l + ld d, h + ld c, 3 +.loop + ld a, [de] + or a + jr z, .return_with_carry + inc de + dec c + jr nz, .loop + ld a, [hli] + farcall Func_1299f + ld a, [wWhichSprite] + ld [wAnimationQueue], a ; push an animation to the queue + xor a + ld [wd4ca], a + ld [wd4cb], a + ld a, [hli] + farcall $20, $4418 + ld a, [hli] + + push af + ld a, [hli] + ld [wd42b], a + call Func_1c980 + pop af + + farcall Func_12ab5 + or a + jr .return + +.return_with_carry + scf +.return + ret + +Func_1c980: ; 1c980 (7:4980) + push hl + push bc + ld a, [wAnimationQueue] + ld c, SPRITE_ANIM_FIELD_01 + call GetSpriteAnimBufferProperty_SpriteInA + call Func_1c9a2 + + push af + and %01100000 + or [hl] + ld [hli], a + ld a, b + ld [hli], a + ld [hl], c + pop af + + ld bc, $000c + add hl, bc + ld c, a + and %00000011 + or [hl] + ld [hl], a + pop bc + pop hl + ret + +Func_1c9a2: ; 1c9a2 (7:49a2) + push hl + ld c, 0 + ld a, [wd42b] + and %00000100 + jr nz, .calc_addr + + ld a, [wd4ae] + add a + ld c, a + add a + add c + add a + ld c, a + ld a, [wd4af] + cp PLAYER_TURN + jr z, .player_turn + + ld a, $06 + add c + ld c, a +.player_turn + ld a, [wd4b0] + add c ; a = [wd4b0] + c + ld c, a + ld b, 0 + ld hl, Data_1c9e0 + add hl, bc + ld c, [hl] +.calc_addr + ld a, c + add a ; a = c * 2 + add c ; a = c * 3 + ld c, a + ld b, 0 + ld hl, Data_1ca04 + add hl, bc + ld b, [hl] + inc hl + ld c, [hl] + inc hl + ld a, [wd42b] + and [hl] + pop hl + ret + +Data_1c9e0: + db $01 + db $01 + db $01 + db $01 + db $01 + db $01 + db $02 + db $02 + db $02 + db $02 + db $02 + db $02 + db $03 + db $04 + db $05 + db $06 + db $07 + db $08 + db $03 + db $04 + db $05 + db $06 + db $07 + db $08 + db $09 + db $0a + db $0b + db $0c + db $0d + db $0e + db $09 + db $0a + db $0b + db $0c + db $0d + db $0e + +macro_1ca04: MACRO + dw \1 + db \2 +ENDM +Data_1ca04: +; value(2), flag(1) + macro_1ca04 $5858, $08 + macro_1ca04 $5028, $00 + macro_1ca04 $3088, $63 + macro_1ca04 $4858, $00 + macro_1ca04 $6018, $00 + macro_1ca04 $6038, $00 + macro_1ca04 $6058, $00 + macro_1ca04 $6078, $00 + macro_1ca04 $6098, $00 + macro_1ca04 $5058, $00 + macro_1ca04 $2898, $00 + macro_1ca04 $2878, $00 + macro_1ca04 $2858, $00 + macro_1ca04 $2838, $00 + macro_1ca04 $2818, $00 + +Func_1ca31: + push hl + push bc + ld a, [wd4ac] + ld b, a + ld hl, wd4ad + ld a, [hl] + ld c, a + add %00001000 + and %01111111 + cp b + jp z, .asm_007_4a6b + ld [hl], a + ld b, 0 + ld hl, $d42c + add hl, bc + ld a, [wTempAnimation] + ld [hli], a + ld a, [wd4ae] + ld [hli], a + ld a, [wd4af] + ld [hli], a + ld a, [wd4b0] + ld [hli], a + ld a, [$d4b1] + ld [hli], a + ld a, [$d4b2] + ld [hli], a + ld a, [$d4b3] + ld [hli], a + ld a, [wd4be] + ld [hl], a +.asm_007_4a6b + pop bc + pop hl + ret + + INCROM $1ca6e, $1cab3 + +Func_1cab3: ; 1cab3 (7:4ab3) + push bc + ld a, [wTempAnimation] + ld l, a + ld h, 0 + add hl, hl ; hl = anim * 2 + ld b, h + ld c, l + add hl, hl ; hl = anim * 4 + add hl, bc ; hl = anim * 6 + ld bc, $4e32 + add hl, bc + pop bc + ret + + INCROM $1cac5, $1cb18 Func_1cb18: ; 1cb18 (7:4b18) push hl -- cgit v1.2.3 From b0450daf6fe16d3ceba2cd51a01fe3531a084f7f Mon Sep 17 00:00:00 2001 From: Andrew Martinek Date: Thu, 14 Nov 2019 11:23:27 -0500 Subject: minor formatting changes --- src/engine/bank06.asm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src/engine') diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm index 27deeb2..19f5e1f 100644 --- a/src/engine/bank06.asm +++ b/src/engine/bank06.asm @@ -1031,19 +1031,17 @@ Func_18661: ; 18661 (6:4661) ld l, a ld a, [wCheckMenuCursorXPosition] ld h, a - call HtimesL ; h = x_pos * 10 + call HtimesL ld a, l - add 1 ; a = 10 + 1 = 11 + add 1 ld b, a ld a, [wCheckMenuCursorYPosition] - sla a ; a = y_pos * 2 - add 14 ; a = y_pos * 2 + 14 + sla a + add 14 ld c, a ld a, e - ; b = 11 - ; c = y_pos * 2 + 14 - ; h = x_pos * 10 - ; l = 10 + ; b = 11, c = y_pos * 2 + 14 + ; h = x_pos * 10, l = 10 call WriteByteToBGMap0 or a ret @@ -3303,4 +3301,4 @@ Func_1bae4: ; 1bae4 (6:7ae4) rept $508 db $ff -endr \ No newline at end of file +endr -- cgit v1.2.3