diff options
Diffstat (limited to 'home')
-rw-r--r-- | home/copy.asm | 19 | ||||
-rw-r--r-- | home/map.asm | 16 | ||||
-rw-r--r-- | home/menu.asm | 66 | ||||
-rw-r--r-- | home/mobile.asm | 14 | ||||
-rw-r--r-- | home/movement.asm | 30 | ||||
-rw-r--r-- | home/tilemap.asm | 83 | ||||
-rw-r--r-- | home/time.asm | 2 | ||||
-rw-r--r-- | home/window.asm | 4 |
8 files changed, 122 insertions, 112 deletions
diff --git a/home/copy.asm b/home/copy.asm index ee66242c4..d17e459ca 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -224,19 +224,19 @@ Request2bpp:: ; eba ld a, [$ffd3] push af - ld a, $8 ld [$ffd3], a + ld a, [wLinkMode] - cp $4 - jr nz, .okay - ld a, [$ffe9] + cp LINK_MOBILE + jr nz, .NotMobile + ld a, [hMobile] and a - jr nz, .okay + jr nz, .NotMobile ld a, $6 ld [$ffd3], a -.okay +.NotMobile ld a, e ld [Requested2bppSource], a ld a, d @@ -245,7 +245,6 @@ Request2bpp:: ; eba ld [Requested2bppDest], a ld a, h ld [Requested2bppDest + 1], a - .loop ld a, c ld hl, $ffd3 @@ -272,11 +271,13 @@ Request2bpp:: ; eba .iterate ld a, [$ffd3] ld [Requested2bpp], a + .wait2 call DelayFrame ld a, [Requested2bpp] and a jr nz, .wait2 + ld a, c ld hl, $ffd3 sub [hl] @@ -302,9 +303,9 @@ Request1bpp:: ; f1e ld a, $8 ld [$ffd3], a ld a, [wLinkMode] - cp $4 + cp LINK_MOBILE jr nz, .NotMobile - ld a, [$ffe9] + ld a, [hMobile] and a jr nz, .NotMobile ld a, $6 diff --git a/home/map.asm b/home/map.asm index 1deb6c3d2..b59ca30ab 100644 --- a/home/map.asm +++ b/home/map.asm @@ -508,17 +508,18 @@ GetMapConnection:: ; 23a3 Function23ac:: ; 23ac - ld a, [hli] + ld a, [hli] ; trigger count ld c, a - ld [wdc07], a + ld [wdc07], a ; current map trigger count ld a, l - ld [wdc07 + 1], a + ld [wdc08], a ; map trigger pointer ld a, h ld [wdc09], a ld a, c and a ret z - ld bc, $0004 + + ld bc, 4 ; size of a map trigger header entry call AddNTimes ret ; 23c3 @@ -534,7 +535,8 @@ Function23c3:: ; 23c3 ld a, c and a ret z - ld bc, $0003 + + ld bc, 3 call AddNTimes ret ; 23da @@ -1958,7 +1960,7 @@ FadeToMenu:: ; 2b29 call Function1d6e callba FadeBlackBGMap call ClearSprites - call Function2ed3 + call DisableSpriteUpdates ret ; 2b3c @@ -1986,7 +1988,7 @@ Function2b5c:: ; 2b5c callba Function49409 call Function3200 callba FadeInBGMap - call Function2ee4 + call EnableSpriteUpdates ret ; 2b74 diff --git a/home/menu.asm b/home/menu.asm index 7c46b97e0..1de260b2d 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -1,14 +1,14 @@ ; Functions used in displaying and handling menus. -LoadMenuDataHeader:: ; 0x1d35 +LoadMenuDataHeader:: call CopyMenuDataHeader - call Function1c00 + call BackUpTiles ret -CopyMenuDataHeader:: ; 0x1d3c +CopyMenuDataHeader:: ld de, wcf81 - ld bc, $0010 + ld bc, 16 call CopyBytes ld a, [hROMBank] ld [wcf8a], a @@ -16,7 +16,7 @@ CopyMenuDataHeader:: ; 0x1d3c ; 0x1d4b Function1d4b:: ; 1d4b - ld [wcf88], a + ld [wPocketPointerLocationBuffer], a ret ; 1d4f @@ -71,7 +71,7 @@ Function1d7d:: ; 1d7d ret ; 1d81 -InterpretMenu2:: ; 0x1d81 +InterpretMenu2:: xor a ld [hBGMapMode], a call Function1cbb @@ -81,12 +81,12 @@ InterpretMenu2:: ; 0x1d81 call Function1c66 ld a, [wcf91] bit 7, a - jr z, .cancel ; 0x1d98 $d + jr z, .cancel call Function1c10 call Function1bc9 call Function1ff8 bit 1, a - jr z, .okay ; 0x1da5 $2 + jr z, .okay .cancel scf ret @@ -103,7 +103,7 @@ GetMenu2:: ; 1dab ret ; 1db8 -Function1db8:: ; 0x1db8 +Function1db8:: push hl push bc push af @@ -151,14 +151,14 @@ _YesNoBox:: ; 1dd9 .okay ld a, b - ld [wcf83], a + ld [wMenuBorderLeftCoord], a add $5 - ld [wcf85], a + ld [wMenuBorderRightCoord], a ld a, c - ld [wcf82], a + ld [wMenuBorderTopCoord], a add $4 - ld [wcf84], a - call Function1c00 + ld [wMenuBorderBottomCoord], a + call BackUpTiles InterpretTwoOptionMenu:: ; 1dfe call InterpretMenu2 @@ -198,7 +198,7 @@ YesNoMenuData2:: ; 1e25 Function1e2e:: ; 1e2e call Function1e35 - call Function1c00 + call BackUpTiles ret ; 1e35 @@ -206,24 +206,24 @@ Function1e35:: ; 1e35 push de call CopyMenuDataHeader pop de - ld a, [wcf83] + ld a, [wMenuBorderLeftCoord] ld h, a - ld a, [wcf85] + ld a, [wMenuBorderRightCoord] sub h ld h, a ld a, d - ld [wcf83], a + ld [wMenuBorderLeftCoord], a add h - ld [wcf85], a - ld a, [wcf82] + ld [wMenuBorderRightCoord], a + ld a, [wMenuBorderTopCoord] ld l, a - ld a, [wcf84] + ld a, [wMenuBorderBottomCoord] sub l ld l, a ld a, e - ld [wcf82], a + ld [wMenuBorderTopCoord], a add l - ld [wcf84], a + ld [wMenuBorderBottomCoord], a ret ; 1e5d @@ -245,14 +245,14 @@ SetUpMenu:: ; 1e70 set 7, [hl] ret -MenuFunc_1e7f:: ; 0x1e7f +MenuFunc_1e7f:: call Function1c66 call Function1ebd call Function1ea6 call Function1cbb ret -MenuWriteText:: ; 0x1e8c +MenuWriteText:: xor a ld [hBGMapMode], a call Function1ebd ; sort out the text @@ -269,18 +269,18 @@ MenuWriteText:: ; 0x1e8c ; 0x1ea6 Function1ea6:: ; 1ea6 - ld a, [wcf83] + ld a, [wMenuBorderLeftCoord] ld c, a - ld a, [wcf85] + ld a, [wMenuBorderRightCoord] sub c ld c, a ld a, [wcf92] add a inc a ld b, a - ld a, [wcf82] + ld a, [wMenuBorderTopCoord] add b - ld [wcf84], a + ld [wMenuBorderBottomCoord], a ret ; 1ebd @@ -410,7 +410,7 @@ Function1f2a:: ; 1f2a ld a, [hl] ld [MenuSelection], a ld a, [wcfa9] - ld [wcf88], a + ld [wPocketPointerLocationBuffer], a and a ret @@ -571,7 +571,7 @@ InterpretMenu:: ; 202a ld a, [hROMBank] ld [wcf94], a callba Function2400e - ld a, [wcf88] + ld a, [wPocketPointerLocationBuffer] ret ; 2039 @@ -579,7 +579,7 @@ Function2039:: ; 2039 ld a, [hROMBank] ld [wcf94], a callba Function24022 - ld a, [wcf88] + ld a, [wPocketPointerLocationBuffer] ret ; 2048 @@ -587,7 +587,7 @@ Function2048:: ; 2048 ld a, [hROMBank] ld [wcf94], a callba Function2403c - ld a, [wcf88] + ld a, [wPocketPointerLocationBuffer] ret ; 2057 diff --git a/home/mobile.asm b/home/mobile.asm index c6c225dc8..dbf982d72 100644 --- a/home/mobile.asm +++ b/home/mobile.asm @@ -74,9 +74,9 @@ Timer:: ; 3e93 push de push hl - ld a, [$ffe9] + ld a, [hMobile] and a - jr z, .asm_3ed2 + jr z, .pop_ret xor a ld [rTAC], a @@ -88,15 +88,15 @@ Timer:: ; 3e93 ld a, [$c86a] or a - jr z, .asm_3ed2 + jr z, .pop_ret ld a, [$c822] bit 1, a - jr nz, .asm_3eca + jr nz, .skip_Function1118de ld a, [rSC] and 1 << rSC_ON - jr nz, .asm_3eca + jr nz, .skip_Function1118de ld a, [hROMBank] push af @@ -111,14 +111,14 @@ Timer:: ; 3e93 ld [$c981], a rst Bankswitch -.asm_3eca +.skip_Function1118de ld a, [rTMA] ld [rTIMA], a ld a, 1 << rTAC_ON | rTAC_65536_HZ ld [rTAC], a -.asm_3ed2 +.pop_ret pop hl pop de pop bc diff --git a/home/movement.asm b/home/movement.asm index d85be3b09..82486b5c1 100644 --- a/home/movement.asm +++ b/home/movement.asm @@ -190,33 +190,3 @@ Function1bf7:: ; 1bf7 ret ; 1c00 -Function1c00:: ; 1c00 - callab Function24374 - ret -; 1c07 - -ExitMenu:: ; 0x1c07 - push af - callab Function243e8 - pop af - ret - -Function1c10:: ; 0x1c10 - callab Function2446d - ret - -WriteBackup:: ; 0x1c17 - push af - call ExitMenu - call Function321c - call UpdateSprites - pop af - ret - -Function1c23:: ; 0x1c23 - call GetMemTileCoord - call Function1c30 - call Function1d19 - call Function1c30 - ret -; 0x1c30 diff --git a/home/tilemap.asm b/home/tilemap.asm index 4ce4dced8..d6a8f31b1 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -1,44 +1,79 @@ -Function1c30:: ; 0x1c30 - call Function1c53 +BackUpTiles:: ; 1c00 + callab _BackUpTiles + ret +; 1c07 + +ExitMenu:: ; 0x1c07 + push af + callab Function243e8 + pop af + ret + +Function1c10:: ; 0x1c10 + callab Function2446d + ret + +WriteBackup:: ; 0x1c17 + push af + call ExitMenu + call Function321c + call UpdateSprites + pop af + ret + +RestoreTileBackup:: ; 0x1c23 + call GetMemTileCoord + call .copy + call GetMemAttrCoord + call .copy + ret +; 0x1c30 + +.copy: ; 0x1c30 + call GetMenuBoxDims inc b inc c -.asm_1c35 + +.row push bc push hl -.asm_1c37 + +.col ld a, [de] ld [hli], a dec de dec c - jr nz, .asm_1c37 ; 0x1c3b $fa + jr nz, .col ; 0x1c3b $fa + pop hl - ld bc, $0014 + ld bc, SCREEN_WIDTH add hl, bc pop bc dec b - jr nz, .asm_1c35 ; 0x1c44 $ef + jr nz, .row ; 0x1c44 $ef + ret Function1c47:: ; 0x1c47 ld b, $10 ld de, wcf81 -.asm_1c4c +.loop ld a, [hld] ld [de], a inc de dec b - jr nz, .asm_1c4c ; 0x1c50 $fa + jr nz, .loop ; 0x1c50 $fa ret -Function1c53:: ; 0x1c53 - ld a, [wcf82] +GetMenuBoxDims:: ; 0x1c53 + ld a, [wMenuBorderTopCoord] ; top ld b, a - ld a, [wcf84] + ld a, [wMenuBorderBottomCoord] ; bottom sub b ld b, a - ld a, [wcf83] + ld a, [wMenuBorderLeftCoord] ; left ld c, a - ld a, [wcf85] + ld a, [wMenuBorderRightCoord] ; right sub c ld c, a ret @@ -110,17 +145,17 @@ Function1c89:: ; 1c89 Function1cbb:: ; 1cbb call GetMemTileCoord - call Function1c53 + call GetMenuBoxDims dec b dec c jp TextBox ; 1cc6 Function1cc6:: ; 1cc6 - ld a, [wcf82] + ld a, [wMenuBorderTopCoord] ld b, a inc b - ld a, [wcf83] + ld a, [wMenuBorderLeftCoord] ld c, a inc c ld a, [wcf91] @@ -142,7 +177,7 @@ Function1ce1:: ; 1ce1 call GetMemTileCoord ld bc, $0015 add hl, bc - call Function1c53 + call GetMenuBoxDims dec b dec c call ClearBox @@ -151,7 +186,7 @@ Function1ce1:: ; 1ce1 Function1cf1:: ; 1cf1 call GetMemTileCoord - call Function1c53 + call GetMenuBoxDims inc c inc b call ClearBox @@ -160,9 +195,9 @@ Function1cf1:: ; 1cf1 GetMemTileCoord:: ; 1cfd - ld a, [wcf83] + ld a, [wMenuBorderLeftCoord] ld c, a - ld a, [wcf82] + ld a, [wMenuBorderTopCoord] ld b, a ; 1d05 @@ -191,10 +226,10 @@ endr ret ; 1d19 -Function1d19:: ; 1d19 - ld a, [wcf83] +GetMemAttrCoord:: ; 1d19 + ld a, [wMenuBorderLeftCoord] ld c, a - ld a, [wcf82] + ld a, [wMenuBorderTopCoord] ld b, a GetAttrCoord:: ; 1d21 diff --git a/home/time.asm b/home/time.asm index 609e466fc..173ea573c 100644 --- a/home/time.asm +++ b/home/time.asm @@ -3,7 +3,7 @@ AskTimer:: ; 591 push af - ld a, [$ffe9] + ld a, [hMobile] and a jr z, .asm_59a call Timer diff --git a/home/window.asm b/home/window.asm index 1b33c9901..1198cfbe1 100644 --- a/home/window.asm +++ b/home/window.asm @@ -16,12 +16,14 @@ ResetWindow:: ; 2dba ; 2dcf -Function2dcf:: ; 2dcf +LoadMoveSprites:: ; 2dcf ld a, [hOAMUpdate] push af ld a, $1 ld [hOAMUpdate], a + call Function2de2 + pop af ld [hOAMUpdate], a ld hl, VramState |