diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 2116 |
1 files changed, 60 insertions, 2056 deletions
@@ -13429,12 +13429,12 @@ MenuData_0x24f34: ; 0x24f34 dn 2, 2 ; rows, columns db 6 ; spacing dba Strings24f3d - dbw $09, 0 + dbw BANK(MenuData_0x24f34), 0 ; 0x24f3d Strings24f3d: ; 0x24f3d db "FIGHT@" - db $4a, "@" + db "<PKMN>@" db "PACK@" db "RUN@" ; 24f4e @@ -13540,95 +13540,95 @@ Function24fe1: ; 24fe1 Function24ff9: ; 24ff9 ld a, $1 ld [wItemQuantityChangeBuffer], a -.asm_24ffe - call Function25072 - call Function2500e - jr nc, .asm_24ffe - cp $ff - jr nz, .asm_2500c +.loop + call Function25072 ; update display + call Function2500e ; joy action + jr nc, .loop + cp -1 + jr nz, .nope scf ret -.asm_2500c +.nope and a ret ; 2500e Function2500e: ; 2500e - call Function354b - bit 1, c - jr nz, .asm_2502b - bit 0, c - jr nz, .asm_2502f - bit 7, c - jr nz, .asm_25033 - bit 6, c - jr nz, .asm_2503f - bit 5, c - jr nz, .asm_2504d - bit 4, c - jr nz, .asm_2505f + call Function354b ; get joypad + bit B_BUTTON_F, c + jr nz, .b + bit A_BUTTON_F, c + jr nz, .a + bit D_DOWN_F, c + jr nz, .down + bit D_UP_F, c + jr nz, .up + bit D_LEFT_F, c + jr nz, .left + bit D_RIGHT_F, c + jr nz, .right and a ret -.asm_2502b - ld a, $ff +.b + ld a, -1 scf ret -.asm_2502f - ld a, $0 +.a + ld a, 0 scf ret -.asm_25033 +.down ld hl, wItemQuantityChangeBuffer dec [hl] - jr nz, .asm_2503d + jr nz, .finish_down ld a, [wItemQuantityBuffer] ld [hl], a -.asm_2503d +.finish_down and a ret -.asm_2503f +.up ld hl, wItemQuantityChangeBuffer inc [hl] ld a, [wItemQuantityBuffer] cp [hl] - jr nc, .asm_2504b + jr nc, .finish_up ld [hl], $1 -.asm_2504b +.finish_up and a ret -.asm_2504d +.left ld a, [wItemQuantityChangeBuffer] sub $a - jr c, .asm_25058 - jr z, .asm_25058 - jr .asm_2505a + jr c, .load_1 + jr z, .load_1 + jr .finish_left -.asm_25058 +.load_1 ld a, $1 -.asm_2505a +.finish_left ld [wItemQuantityChangeBuffer], a and a ret -.asm_2505f +.right ld a, [wItemQuantityChangeBuffer] add $a ld b, a ld a, [wItemQuantityBuffer] cp b - jr nc, .asm_2506c + jr nc, .finish_right ld b, a -.asm_2506c +.finish_right ld a, b ld [wItemQuantityChangeBuffer], a and a @@ -13745,610 +13745,7 @@ MenuDataHeader_0x250fd: ; 0x250fd db 0 ; default option ; 0x25105 -Function25105: ; 25105 - ld a, [VramState] - push af - xor a - ld [VramState], a - ld hl, Options - ld a, [hl] - push af - set 4, [hl] - call Function2513b -.asm_25117 - call UpdateTime - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_25132 - ld a, [hJoyLast] - and B_BUTTON - jr nz, .asm_25132 - call Function2518e - call DelayFrame - jr .asm_25117 -.asm_25132 - pop af - ld [Options], a - pop af - ld [VramState], a - ret - -Function2513b: ; 2513b (9:513b) - call ClearBGPalettes - call ClearSprites - call ClearTileMap - call DisableLCD - callba Function8833e - ld hl, CardRightCornerGFX - ld de, VTiles2 tile $1c - ld bc, $10 - ld a, BANK(CardRightCornerGFX) - call FarCopyBytes - ld hl, CardStatusGFX - ld de, VTiles2 tile $29 - ld bc, $60 + $500 - ld a, BANK(CardStatusGFX) - call FarCopyBytes - call Function25299 - hlcoord 0, 8 - ld d, $6 - call Function253b0 - call EnableLCD - call WaitBGMap - ld b, SCGB_15 - call GetSGBLayout - call SetPalettes - call WaitBGMap - ld hl, wJumptableIndex - xor a -rept 3 - ld [hli], a -endr - ld [hl], a - ret - -Function2518e: ; 2518e (9:518e) - ld a, [wJumptableIndex] - ld e, a - ld d, $0 - ld hl, Jumptable_2519d -rept 2 - add hl, de -endr - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -Jumptable_2519d: ; 2519d (9:519d) - dw Function251b6 - dw Function251d7 - dw Function251f4 - dw Function25221 - dw Function2524c - dw Function25279 - dw Function251b0 - - -Function251ab: ; 251ab (9:51ab) - ld hl, wJumptableIndex - inc [hl] - ret - -Function251b0: ; 251b0 (9:51b0) - ld hl, wJumptableIndex - set 7, [hl] - ret - -Function251b6: ; 251b6 (9:51b6) - call ClearSprites - hlcoord 0, 8 - ld d, $6 - call Function253b0 - call WaitBGMap - ld de, CardStatusGFX - ld hl, VTiles2 tile $29 - lb bc, BANK(CardStatusGFX), $6 + $50 - call Request2bpp - call Function2530a - call Function251ab - ret - -Function251d7: ; 251d7 (9:51d7) - call Function25415 - ld hl, hJoyLast - ld a, [hl] - and D_RIGHT | A_BUTTON - jr nz, .asm_251e3 - ret -.asm_251e3 - ld a, $2 - ld [wJumptableIndex], a - ret -; 251e9 (9:51e9) - -Function251e9: ; 251e9 - ld a, [KantoBadges] - and a - ret z - ld a, $4 - ld [wJumptableIndex], a - ret -; 251f4 - -Function251f4: ; 251f4 (9:51f4) - call ClearSprites - hlcoord 0, 8 - ld d, $6 - call Function253b0 - call WaitBGMap - ld de, LeaderGFX - ld hl, VTiles2 tile $29 - lb bc, BANK(LeaderGFX), $56 - call Request2bpp - ld de, BadgeGFX - ld hl, VTiles0 tile $00 - lb bc, BANK(BadgeGFX), $2c - call Request2bpp - call Function2536c - call Function251ab - ret - -Function25221: ; 25221 (9:5221) - ld hl, Unknown_254c9 - call Function25438 - ld hl, hJoyLast - ld a, [hl] - and A_BUTTON - jr nz, Function25246 - ld a, [hl] - and D_LEFT - jr nz, .asm_25235 - ret -.asm_25235 - ld a, $0 - ld [wJumptableIndex], a - ret -; 2523b (9:523b) - -Function2523b: ; 2523b - ld a, [KantoBadges] - and a - ret z - ld a, $4 - ld [wJumptableIndex], a - ret -; 25246 - -Function25246: ; 25246 - ld a, $6 - ld [wJumptableIndex], a - ret - -Function2524c: ; 2524c (9:524c) - call ClearSprites - hlcoord 0, 8 - ld d, $6 - call Function253b0 - call WaitBGMap - ld de, LeaderGFX2 - ld hl, VTiles2 tile $29 - lb bc, BANK(LeaderGFX2), $56 - call Request2bpp - ld de, BadgeGFX2 - ld hl, VTiles0 tile $00 - lb bc, BANK(BadgeGFX2), $2c - call Request2bpp - call Function2536c - call Function251ab - ret - -Function25279: ; 25279 (9:5279) - ld hl, Unknown_254c9 - call Function25438 - ld hl, hJoyLast - ld a, [hl] - and D_LEFT - jr nz, .asm_2528d - ld a, [hl] - and D_RIGHT - jr nz, .asm_25293 - ret -.asm_2528d - ld a, $2 - ld [wJumptableIndex], a - ret -.asm_25293 - ld a, $0 - ld [wJumptableIndex], a - ret - -Function25299: ; 25299 (9:5299) - hlcoord 0, 0 - ld d, $5 - call Function253b0 - hlcoord 2, 2 - ld de, String_252ec - call PlaceString - hlcoord 2, 4 - ld de, Tilemap_252f9 - call Function253a8 - hlcoord 7, 2 - ld de, PlayerName - call PlaceString - hlcoord 5, 4 - ld de, PlayerID - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - hlcoord 7, 6 - ld de, Money - lb bc, PRINTNUM_MONEY | 3, 6 - call PrintNum - hlcoord 1, 3 - ld de, Tilemap_252fc - call Function253a8 - hlcoord 14, 1 - lb bc, 5, 7 - xor a - ld [hFillBox], a - predef FillBox - ret -; 252ec (9:52ec) - -String_252ec: ; 252ec - db "NAME/" - next "" - next "MONEY@" - -Tilemap_252f9: ; 252f9 - db $27, $28, $ff ; ID NO - -Tilemap_252fc: ; 252fc - db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, $ff ; ____________> -; 2530a - -Function2530a: ; 2530a (9:530a) - hlcoord 2, 10 - ld de, String_2534c - call PlaceString - hlcoord 10, 15 - ld de, String_2535c - call PlaceString - ld hl, PokedexCaught - ld b, $20 - call CountSetBits - ld de, wd265 - hlcoord 15, 10 - lb bc, 1, 3 - call PrintNum - call Function25415 - hlcoord 2, 8 - ld de, Tilemap_25366 - call Function253a8 - ld a, [StatusFlags] ; pokedex - bit 0, a - ret nz - hlcoord 1, 9 - lb bc, 2, 17 - call ClearBox - ret -; 2534c (9:534c) - -String_2534c: ; 2534c - db "#DEX" - next "PLAY TIME" - db "@" - -String_2535b: ; 2535b - db "@" - -String_2535c: ; 2535c - db " BADGES▶@" - -Tilemap_25366: ; 25366 - db $29, $2a, $2b, $2c, $2d, $ff -; 2536c - -Function2536c: ; 2536c (9:536c) - hlcoord 2, 8 - ld de, Tilemap_253a2 - call Function253a8 - hlcoord 2, 10 - ld a, $29 - ld c, $4 -.asm_2537c - call Function253f4 -rept 4 - inc hl -endr - dec c - jr nz, .asm_2537c - hlcoord 2, 13 - ld a, $51 - ld c, $4 -.asm_2538d - call Function253f4 -rept 4 - inc hl -endr - dec c - jr nz, .asm_2538d - xor a - ld [wcf64], a - ld hl, Unknown_254c9 - call Function25448 - ret -; 253a2 (9:53a2) - -Tilemap_253a2: ; 253a2 - db $79, $7a, $7b, $7c, $7d, $ff ; "BADGES" -; 253a8 - -Function253a8: ; 253a8 (9:53a8) - ld a, [de] - cp $ff - ret z - ld [hli], a - inc de - jr Function253a8 - -Function253b0: ; 253b0 (9:53b0) - ld e, $14 -.asm_253b2 - ld a, $23 - ld [hli], a - dec e - jr nz, .asm_253b2 - ld a, $23 - ld [hli], a - ld e, $11 - ld a, $7f -.asm_253bf - ld [hli], a - dec e - jr nz, .asm_253bf - ld a, $1c - ld [hli], a - ld a, $23 - ld [hli], a -.asm_253c9 - ld a, $23 - ld [hli], a - ld e, $12 - ld a, $7f -.asm_253d0 - ld [hli], a - dec e - jr nz, .asm_253d0 - ld a, $23 - ld [hli], a - dec d - jr nz, .asm_253c9 - ld a, $23 - ld [hli], a - ld a, $24 - ld [hli], a - ld e, $11 - ld a, $7f -.asm_253e4 - ld [hli], a - dec e - jr nz, .asm_253e4 - ld a, $23 - ld [hli], a - ld e, $14 -.asm_253ed - ld a, $23 - ld [hli], a - dec e - jr nz, .asm_253ed - ret - -Function253f4: ; 253f4 (9:53f4) - push de - push hl - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - ld de, $11 - add hl, de - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - ld de, $11 - add hl, de - ld [hli], a - inc a - ld [hli], a - inc a - ld [hli], a - inc a - pop hl - pop de - ret - -Function25415: ; 25415 (9:5415) - hlcoord 11, 12 - ld de, GameTimeHours - lb bc, 2, 4 - call PrintNum - inc hl - ld de, GameTimeMinutes - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ld a, [hVBlankCounter] - and $1f - ret nz - hlcoord 15, 12 - ld a, [hl] - xor $51 - ld [hl], a - ret - -Function25438: ; 25438 (9:5438) - ld a, [hVBlankCounter] - and $7 - ret nz - ld a, [wcf64] - inc a - and $7 - ld [wcf64], a - jr Function25448 - -Function25448: ; 25448 (9:5448) - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - ld c, a - ld de, Sprites - ld b, 8 -.asm_25453 - srl c - push bc - jr nc, .asm_25472 - push hl - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - ld a, [hli] - ld [wcf66], a - ld a, [wcf64] - add l - ld l, a - ld a, 0 - adc h - ld h, a - ld a, [hl] - ld [wcf65], a - call Function2547b - pop hl -.asm_25472 - ld bc, $b - add hl, bc - pop bc - dec b - jr nz, .asm_25453 - ret - -Function2547b: ; 2547b (9:547b) - ld a, [wcf65] - and $80 - jr nz, .asm_25487 - ld hl, Unknown_254a7 - jr .asm_2548a -.asm_25487 - ld hl, Unknown_254b8 -.asm_2548a - ld a, [hli] - cp $ff - ret z - add b - ld [de], a - inc de - ld a, [hli] - add c - ld [de], a - inc de - ld a, [wcf65] - and $7f - add [hl] - ld [de], a - inc hl - inc de - ld a, [wcf66] - add [hl] - ld [de], a - inc hl - inc de - jr .asm_2548a -; 254a7 (9:54a7) - -Unknown_254a7: ; 254a7 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $08, $00, $02, $00 - db $08, $08, $03, $00 - db $ff - -Unknown_254b8: ; 254b8 - db $00, $00, $01, $20 - db $00, $08, $00, $20 - db $08, $00, $03, $20 - db $08, $08, $02, $20 - db $ff - -Unknown_254c9: ; 254c9 -; Template OAM data for each badge on the trainer card. -; Format: - ; y, x, palette - ; cycle 1: face tile, in1 tile, in2 tile, in3 tile - ; cycle 2: face tile, in1 tile, in2 tile, in3 tile - - dw JohtoBadges - - ; Zephyrbadge - db $68, $18, $00 - db $00, $20, $24, $20 | $80 - db $00, $20, $24, $20 | $80 - - ; Hivebadge - db $68, $38, $00 - db $04, $20, $24, $20 | $80 - db $04, $20, $24, $20 | $80 - - ; Plainbadge - db $68, $58, $00 - db $08, $20, $24, $20 | $80 - db $08, $20, $24, $20 | $80 - - ; Fogbadge - db $68, $78, $00 - db $0c, $20, $24, $20 | $80 - db $0c, $20, $24, $20 | $80 - - ; Mineralbadge - db $80, $38, $00 - db $10, $20, $24, $20 | $80 - db $10, $20, $24, $20 | $80 - - ; Stormbadge - db $80, $18, $00 - db $14, $20, $24, $20 | $80 - db $14, $20, $24, $20 | $80 - - ; Glacierbadge - db $80, $58, $00 - db $18, $20, $24, $20 | $80 - db $18, $20, $24, $20 | $80 - - ; Risingbadge - ; X-flips on alternate cycles. - db $80, $78, $00 - db $1c, $20, $24, $20 | $80 - db $1c | $80, $20, $24, $20 | $80 -; 25523 - -CardStatusGFX: INCBIN "gfx/misc/card_status.2bpp" - -LeaderGFX: INCBIN "gfx/misc/leaders.w24.2bpp" -LeaderGFX2: INCBIN "gfx/misc/leaders.w24.2bpp" -BadgeGFX: INCBIN "gfx/misc/badges.2bpp" -BadgeGFX2: INCBIN "gfx/misc/badges.2bpp" - -CardRightCornerGFX: INCBIN "gfx/misc/card_right_corner.2bpp" - +INCLUDE "engine/trainer_card.asm" ProfOaksPC: ; 0x265d3 ld hl, OakPCText1 @@ -14630,1400 +14027,7 @@ OakPCText4: ; 0x2674c text_jump _OakPCText4 db "@" - -InitDecorations: ; 26751 (9:6751) - ld a, DECO_FEATHERY_BED - ld [Bed], a - ld a, DECO_TOWN_MAP - ld [Poster], a - ret - -_KrisDecorationMenu: ; 0x2675c - ld a, [wcf76] - push af - ld hl, MenuDataHeader_0x2679a - call LoadMenuDataHeader - xor a - ld [wd1ee], a - ld a, $1 - ld [wd1ef], a -.asm_2676f - ld a, [wd1ef] - ld [wMenuCursorBuffer], a - call Function26806 - call DoNthMenu - ld a, [MenuSelection2] - ld [wd1ef], a - jr c, .asm_2678e - ld a, [MenuSelection] - ld hl, Unknown_267aa - call MenuJumptable - jr nc, .asm_2676f - -.asm_2678e - call ExitMenu - pop af - ld [wcf76], a - ld a, [wd1ee] - ld c, a - ret -; 0x2679a - -MenuDataHeader_0x2679a: ; 0x2679a - db $40 ; flags - db 00, 05 ; start coords - db 17, 19 ; end coords - dw MenuData2_0x267a2 - db 1 ; default option -; 0x267a2 - -MenuData2_0x267a2: ; 0x267a2 - db $a0 ; flags - db 0 ; items - dw wd002 - dw PlaceNthMenuStrings - dw Unknown_267aa -; 0x267aa - -Unknown_267aa: ; 267aa - dw Function268b5, .bed - dw Function268ca, .carpet - dw Function268df, .plant - dw Function268f3, .poster - dw Function26908, .game - dw Function2691d, .ornament - dw Function26945, .big_doll - dw Function26959, .exit - -.bed db "BED@" -.carpet db "CARPET@" -.plant db "PLANT@" -.poster db "POSTER@" -.game db "GAME CONSOLE@" -.ornament db "ORNAMENT@" -.big_doll db "BIG DOLL@" -.exit db "EXIT@" -; 26806 - -Function26806: ; 26806 - xor a - ld [wcf76], a - call Function26822 - call Function2683a - ld a, $7 - call Function26830 - ld hl, StringBuffer2 - ld de, wd002 - ld bc, $d - call CopyBytes - ret - -Function26822: ; 26822 (9:6822) - ld hl, StringBuffer2 - xor a - ld [hli], a - ld bc, ITEM_NAME_LENGTH - 1 - ld a, -1 - call ByteFill - ret - -Function26830: ; 26830 (9:6830) - ld hl, StringBuffer2 - inc [hl] - ld e, [hl] - ld d, 0 - add hl, de - ld [hl], a - ret - -Function2683a: ; 2683a (9:683a) - ld hl, Jumptable_26855 -.loop - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - or e - jr z, .done - push hl - call _de_ - pop hl - jr nc, .next - ld a, [hl] - push hl - call Function26830 - pop hl -.next - inc hl - jr .loop -.done - ret -; 26855 (9:6855) - -Jumptable_26855: ; 26855 - dwb Function268bd, 0 ; bed - dwb Function268d2, 1 ; carpet - dwb Function268e7, 2 ; plant - dwb Function268fb, 3 ; poster - dwb Function26910, 4 ; game console - dwb Function26925, 5 ; ornament - dwb Function2694d, 6 ; big doll - dw 0 ; end -; 2686c - -Function2686c: ; 2686c - xor a - ld hl, wd002 - ld [hli], a - ld a, -1 - ld bc, $10 - call ByteFill - ret -; 2687a - -CheckAllDecorationFlags: ; 2687a -.loop - ld a, [hli] - cp -1 - jr z, .done - push hl - push af - ld b, CHECK_FLAG - call DecorationFlagAction - ld a, c - and a - pop bc - ld a, b - call nz, Function26891 - pop hl - jr .loop - -.done - ret -; 26891 - -Function26891: ; 26891 - ld hl, wd002 - inc [hl] - ld e, [hl] - ld d, $0 - add hl, de - ld [hl], a - ret -; 2689b - -Function2689b: ; 2689b - push bc - push hl - call Function2686c - pop hl - call CheckAllDecorationFlags - pop bc - ld a, [wd002] - and a - ret z - ld a, c - call Function26891 - ld a, $0 - call Function26891 - scf - ret -; 268b5 - -Function268b5: ; 268b5 - call Function268bd - call Function2695b - xor a - ret -; 268bd - -Function268bd: ; 268bd - ld hl, Unknown_268c5 - ld c, 1 - jp Function2689b -; 268c5 - -Unknown_268c5: ; 268c5 - db 2, 3, 4, 5, $ff -; 268ca - -Function268ca: ; 268ca - call Function268d2 - call Function2695b - xor a - ret -; 268d2 - -Function268d2: ; 268d2 - ld hl, Unknown_268da - ld c, 6 - jp Function2689b -; 268da - -Unknown_268da: ; 268da - db 7, 8, 9, 10, $ff -; 268df - -Function268df: ; 268df - call Function268e7 - call Function2695b - xor a - ret -; 268e7 - -Function268e7: ; 268e7 - ld hl, Unknown_268ef - ld c, 11 - jp Function2689b -; 268ef - -Unknown_268ef: ; 268ef - db 12, 13, 14, $ff -; 268f3 - -Function268f3: ; 268f3 - call Function268fb - call Function2695b - xor a - ret -; 268fb - -Function268fb: ; 268fb - ld hl, Unknown_26903 - ld c, 15 - jp Function2689b -; 26903 - -Unknown_26903: ; 26903 - db 16, 17, 18, 19, $ff -; 26908 - -Function26908: ; 26908 - call Function26910 - call Function2695b - xor a - ret -; 26910 - -Function26910: ; 26910 - ld hl, Unknown_26918 - ld c, 20 - jp Function2689b -; 26918 - -Unknown_26918: ; 26918 - db 21, 22, 23, 24, $ff -; 2691d - -Function2691d: ; 2691d - call Function26925 - call Function2695b - xor a - ret -; 26925 - -Function26925: ; 26925 - ld hl, Unknown_2692d - ld c, 29 - jp Function2689b -; 2692d - -Unknown_2692d: ; 2692d - db 30, 31, 32, 33, 34, 35, 36, 37, 38, 39 - db 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 - db 50, 51, 52, -1 -; 26945 - -Function26945: ; 26945 - call Function2694d - call Function2695b - xor a - ret -; 2694d - -Function2694d: ; 2694d - ld hl, Unknown_26955 - ld c, 25 - jp Function2689b -; 26955 - -Unknown_26955: ; 26955 - db 26, 27, 28, -1 -; 26959 - -Function26959: ; 26959 - scf - ret -; 2695b - -Function2695b: ; 2695b - ld a, [wd002] - and a - jr z, .empty - cp 8 - jr nc, .beyond_eight - xor a - ld [wcf76], a - ld hl, MenuDataHeader_0x269b5 - call LoadMenuDataHeader - call DoNthMenu - jr c, .no_action_1 - call DoDecorationAction2 - -.no_action_1 - call ExitMenu - ret - -.beyond_eight - ld hl, wd002 - ld e, [hl] - dec [hl] - ld d, 0 - add hl, de - ld [hl], -1 - call LoadStandardMenuDataHeader - ld hl, MenuDataHeader_0x269c5 - call CopyMenuDataHeader - xor a - ld [hBGMapMode], a - call Function352f - xor a - ld [wd0e4], a - call HandleScrollingMenu - ld a, [wcf73] - cp 2 - jr z, .no_action_2 - call DoDecorationAction2 - -.no_action_2 - call ExitMenu - ret - -.empty - ld hl, UnknownText_0x269b0 - call MenuTextBoxBackup - ret -; 269b0 - -UnknownText_0x269b0: ; 0x269b0 - ; There's nothing to choose. - text_jump UnknownText_0x1bc471 - db "@" -; 0x269b5 - -MenuDataHeader_0x269b5: ; 0x269b5 - db $40 ; flags - db 00, 00 ; start coords - db 17, 19 ; end coords - dw MenuData2_0x269bd - db 1 ; default option -; 0x269bd - -MenuData2_0x269bd: ; 0x269bd - db $a0 ; flags - db 0 ; items - dw wd002 - dw DecorationMenuFunction - dw DecorationAttributes -; 0x269c5 - -MenuDataHeader_0x269c5: ; 0x269c5 - db $40 ; flags - db 01, 01 ; start coords - db 16, 18 ; end coords - dw MenuData2_0x269cd - db 1 ; default option -; 0x269cd - -MenuData2_0x269cd: ; 0x269cd - db $10 ; flags - db 8, 0 ; rows, columns - db 1 ; horizontal spacing - dbw 0, wd002 ; text pointer - dba DecorationMenuFunction - dbw 0, 0 - dbw 0, 0 -; 269dd - - -GetDecorationData: ; 269dd - ld hl, DecorationAttributes - ld bc, 6 - call AddNTimes - ret -; 269e7 - -GetDecorationName: ; 269e7 - push hl - call GetDecorationData - call GetDecoName - pop hl - call CopyName2 - ret -; 269f3 - -DecorationMenuFunction: ; 269f3 - ld a, [MenuSelection] - push de - call GetDecorationData - call GetDecoName - pop hl - call PlaceString - ret -; 26a02 - -DoDecorationAction2: ; 26a02 - ld a, [MenuSelection] - call GetDecorationData - ld de, 2 ; function 2 - add hl, de - ld a, [hl] - ld hl, .DecoActions - rst JumpTable - ret -; 26a12 - -.DecoActions: ; 26a12 - dw DecoAction_nothing - dw DecoAction_setupbed - dw DecoAction_putawaybed - dw DecoAction_setupcarpet - dw DecoAction_putawaycarpet - dw DecoAction_setupplant - dw DecoAction_putawayplant - dw DecoAction_setupposter - dw DecoAction_putawayposter - dw DecoAction_setupconsole - dw DecoAction_putawayconsole - dw DecoAction_setupbigdoll - dw DecoAction_putawaybigdoll - dw DecoAction_setupornament - dw DecoAction_putawayornament -; 26a30 - - -GetDecorationFlag: ; 26a30 - call GetDecorationData - ld de, 3 ; event flag - add hl, de - ld a, [hli] - ld d, [hl] - ld e, a - ret -; 26a3b - -DecorationFlagAction: ; 26a3b - push bc - call GetDecorationFlag - pop bc - call EventFlagAction - ret -; 26a44 - -GetDecorationSprite: ; 26a44 - ld a, c - call GetDecorationData - ld de, 5 ; sprite - add hl, de - ld a, [hl] - ld c, a - ret -; 26a4f - -decoration: MACRO - ; type, name, command, event flag, tile/sprite - db \1, \2, \3 - dw \4 - db \5 -ENDM - -DecorationAttributes: ; 26a4f - decoration DECO_PLANT, $00, $0, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b - decoration DECO_BED, PINK_BED, SET_UP_BED, EVENT_DECO_BED_2, $1c - decoration DECO_BED, POLKADOT_BED, SET_UP_BED, EVENT_DECO_BED_3, $1d - decoration DECO_BED, PIKACHU_BED, SET_UP_BED, EVENT_DECO_BED_4, $1e - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CARPET, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_CARPET, RED_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_1, $08 - decoration DECO_CARPET, BLUE_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_2, $0b - decoration DECO_CARPET, YELLOW_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_3, $0e - decoration DECO_CARPET, GREEN_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_4, $11 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_PLANT, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, MAGNAPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_1, $20 - decoration DECO_PLANT, TROPICPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_2, $21 - decoration DECO_PLANT, JUMBOPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_3, $22 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_POSTER, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, TOWN_MAP_D, SET_UP_POSTER, EVENT_DECO_PLANT_4, $1f - decoration DECO_POSTER, PIKACHU, SET_UP_POSTER, EVENT_DECO_POSTER_1, $23 - decoration DECO_POSTER, CLEFAIRY, SET_UP_POSTER, EVENT_DECO_POSTER_2, $24 - decoration DECO_POSTER, JIGGLYPUFF, SET_UP_POSTER, EVENT_DECO_POSTER_3, $25 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CONSOLE, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, FAMICOM, SET_UP_CONSOLE, EVENT_DECO_FAMICOM, SPRITE_FAMICOM - decoration DECO_PLANT, SUPER_NES, SET_UP_CONSOLE, EVENT_DECO_SNES, SPRITE_SNES - decoration DECO_PLANT, NINTENDO_64, SET_UP_CONSOLE, EVENT_DECO_N64, SPRITE_N64 - decoration DECO_PLANT, VIRTUAL_BOY, SET_UP_CONSOLE, EVENT_DECO_VIRTUAL_BOY, SPRITE_VIRTUAL_BOY - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BIG_DOLL, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_BIGDOLL, SNORLAX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_SNORLAX_DOLL, SPRITE_BIG_SNORLAX - decoration DECO_BIGDOLL, ONIX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_ONIX_DOLL, SPRITE_BIG_ONIX - decoration DECO_BIGDOLL, LAPRAS, SET_UP_BIG_DOLL, EVENT_DECO_BIG_LAPRAS_DOLL, SPRITE_BIG_LAPRAS - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_DOLL, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_DOLL, PIKACHU, SET_UP_DOLL, EVENT_DECO_PIKACHU_DOLL, SPRITE_PIKACHU - decoration DECO_PLANT, SURF_PIKA_DOLL, SET_UP_DOLL, EVENT_DECO_SURFING_PIKACHU_DOLL, SPRITE_SURFING_PIKACHU - decoration DECO_DOLL, CLEFAIRY, SET_UP_DOLL, EVENT_DECO_CLEFAIRY_DOLL, SPRITE_CLEFAIRY - decoration DECO_DOLL, JIGGLYPUFF, SET_UP_DOLL, EVENT_DECO_JIGGLYPUFF_DOLL, SPRITE_JIGGLYPUFF - decoration DECO_DOLL, BULBASAUR, SET_UP_DOLL, EVENT_DECO_BULBASAUR_DOLL, SPRITE_BULBASAUR - decoration DECO_DOLL, CHARMANDER, SET_UP_DOLL, EVENT_DECO_CHARMANDER_DOLL, SPRITE_CHARMANDER - decoration DECO_DOLL, SQUIRTLE, SET_UP_DOLL, EVENT_DECO_SQUIRTLE_DOLL, SPRITE_SQUIRTLE - decoration DECO_DOLL, POLIWAG, SET_UP_DOLL, EVENT_DECO_POLIWAG_DOLL, SPRITE_POLIWAG - decoration DECO_DOLL, DIGLETT, SET_UP_DOLL, EVENT_DECO_DIGLETT_DOLL, SPRITE_DIGLETT - decoration DECO_DOLL, STARYU, SET_UP_DOLL, EVENT_DECO_STARMIE_DOLL, SPRITE_STARMIE - decoration DECO_DOLL, MAGIKARP, SET_UP_DOLL, EVENT_DECO_MAGIKARP_DOLL, SPRITE_MAGIKARP - decoration DECO_DOLL, ODDISH, SET_UP_DOLL, EVENT_DECO_ODDISH_DOLL, SPRITE_ODDISH - decoration DECO_DOLL, GENGAR, SET_UP_DOLL, EVENT_DECO_GENGAR_DOLL, SPRITE_GENGAR - decoration DECO_DOLL, SHELLDER, SET_UP_DOLL, EVENT_DECO_SHELLDER_DOLL, SPRITE_SHELLDER - decoration DECO_DOLL, GRIMER, SET_UP_DOLL, EVENT_DECO_GRIMER_DOLL, SPRITE_GRIMER - decoration DECO_DOLL, VOLTORB, SET_UP_DOLL, EVENT_DECO_VOLTORB_DOLL, SPRITE_VOLTORB - decoration DECO_DOLL, WEEDLE, SET_UP_DOLL, EVENT_DECO_WEEDLE_DOLL, SPRITE_WEEDLE - decoration DECO_DOLL, UNOWN, SET_UP_DOLL, EVENT_DECO_UNOWN_DOLL, SPRITE_UNOWN - decoration DECO_DOLL, GEODUDE, SET_UP_DOLL, EVENT_DECO_GEODUDE_DOLL, SPRITE_GEODUDE - decoration DECO_DOLL, MACHOP, SET_UP_DOLL, EVENT_DECO_MACHOP_DOLL, SPRITE_MACHOP - decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL - decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY - decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY -; 26b8d - - -DecorationNames: ; 26b8d - db "CANCEL@" - db "PUT IT AWAY@" - db "MAGNAPLANT@" - db "TROPICPLANT@" - db "JUMBOPLANT@" - db "TOWN MAP@" - db "NES@" - db "SUPER NES@" - db "NINTENDO 64@" - db "VIRTUAL BOY@" - db "GOLD TROPHY@" - db "SILVER TROPHY@" - db "SURF PIKACHU DOLL@" - db " BED@" - db " CARPET@" - db " POSTER@" - db " DOLL@" - db "BIG @" - db "FEATHERY@" - db "PIKACHU@" - db "PINK@" - db "POLKADOT@" - db "RED@" - db "BLUE@" - db "YELLOW@" - db "GREEN@" -; 26c72 - -GetDecoName: ; 26c72 - ld a, [hli] - ld e, [hl] - ld bc, StringBuffer2 - push bc - ld hl, .NameFunctions - rst JumpTable - pop de - ret -; 26c7e - -.NameFunctions: ; 26c7e - dw .invalid - dw .plant - dw .bed - dw .carpet - dw .poster - dw .doll - dw .bigdoll -; 26c8c - - -.invalid: ; 26c8c - ret -; 26c8d - -.plant: ; 26c8d - ld a, e - jr .getdeconame - -.bed: ; 26c90 - call .plant - ld a, _BED - jr .getdeconame - -.carpet: ; 26c97 - call .plant - ld a, _CARPET - jr .getdeconame - -.poster: ; 26c9e - ld a, e - call .getpokename - ld a, _POSTER - jr .getdeconame - -.doll: ; 26ca6 - ld a, e - call .getpokename - ld a, _DOLL - jr .getdeconame - -.bigdoll: ; 26cae - push de - ld a, BIG_ - call .getdeconame - pop de - ld a, e - jr .getpokename - -.unused: ; 26cb8 - push de - call .getdeconame - pop de - ld a, e - jr .getdeconame - -.getpokename: ; 26cc0 - push bc - ld [wd265], a - call GetPokemonName - pop bc - jr .copy - -.getdeconame: ; 26cca - call ._getdeconame - jr .copy - -._getdeconame: ; 26ccf - push bc - ld hl, DecorationNames - call GetNthString - ld d, h - ld e, l - pop bc - ret - -.copy: ; 26cda - ld h, b - ld l, c - call CopyName2 - dec hl - ld b, h - ld c, l - ret -; 26ce3 - -DecoAction_nothing: ; 26ce3 - scf - ret -; 26ce5 - -DecoAction_setupbed: ; 26ce5 - ld hl, Bed - jp DecoAction_TrySetItUp -; 26ceb - -DecoAction_putawaybed: ; 26ceb - ld hl, Bed - jp DecoAction_TryPutItAway -; 26cf1 - -DecoAction_setupcarpet: ; 26cf1 - ld hl, Carpet - jp DecoAction_TrySetItUp -; 26cf7 - -DecoAction_putawaycarpet: ; 26cf7 - ld hl, Carpet - jp DecoAction_TryPutItAway -; 26cfd - -DecoAction_setupplant: ; 26cfd - ld hl, Plant - jp DecoAction_TrySetItUp -; 26d03 - -DecoAction_putawayplant: ; 26d03 - ld hl, Plant - jp DecoAction_TryPutItAway -; 26d09 - -DecoAction_setupposter: ; 26d09 - ld hl, Poster - jp DecoAction_TrySetItUp -; 26d0f - -DecoAction_putawayposter: ; 26d0f - ld hl, Poster - jp DecoAction_TryPutItAway -; 26d15 - -DecoAction_setupconsole: ; 26d15 - ld hl, Console - jp DecoAction_TrySetItUp -; 26d1b - -DecoAction_putawayconsole: ; 26d1b - ld hl, Console - jp DecoAction_TryPutItAway -; 26d21 - -DecoAction_setupbigdoll: ; 26d21 - ld hl, BigDoll - jp DecoAction_TrySetItUp -; 26d27 - -DecoAction_putawaybigdoll: ; 26d27 - ld hl, BigDoll - jp DecoAction_TryPutItAway -; 26d2d - -DecoAction_TrySetItUp: ; 26d2d - ld a, [hl] - ld [Buffer1], a - push hl - call DecoAction_SetItUp - jr c, .failed - ld a, 1 - ld [wd1ee], a - pop hl - ld a, [MenuSelection] - ld [hl], a - xor a - ret - -.failed - pop hl - xor a - ret -; 26d46 - -DecoAction_SetItUp: ; 26d46 -; See if there's anything of the same type already out - ld a, [Buffer1] - and a - jr z, .nothingthere -; See if that item is already out - ld b, a - ld a, [MenuSelection] - cp b - jr z, .alreadythere -; Put away the item that's already out, and set up the new one - ld a, [MenuSelection] - ld hl, StringBuffer4 - call GetDecorationName - ld a, [Buffer1] - ld hl, StringBuffer3 - call GetDecorationName - ld hl, UnknownText_0x26ee0 - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld a, [MenuSelection] - ld hl, StringBuffer3 - call GetDecorationName - ld hl, UnknownText_0x26edb - call MenuTextBoxBackup - xor a - ret - -.alreadythere - ld hl, UnknownText_0x26ee5 - call MenuTextBoxBackup - scf - ret -; 26d86 - -DecoAction_TryPutItAway: ; 26d86 -; If there is no item of that type already set, there is nothing to put away. - ld a, [hl] - ld [Buffer1], a - xor a - ld [hl], a - ld a, [Buffer1] - and a - jr z, .nothingthere -; Put it away. - ld a, $1 - ld [wd1ee], a - ld a, [Buffer1] - ld [MenuSelection], a - ld hl, StringBuffer3 - call GetDecorationName - ld hl, UnknownText_0x26ed1 - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld hl, UnknownText_0x26ed6 - call MenuTextBoxBackup - xor a - ret -; 26db3 - -DecoAction_setupornament: ; 26db3 - ld hl, UnknownText_0x26e41 - call DecoAction_AskWhichSide - jr c, .cancel - call DecoAction_SetItUp_Ornament - jr c, .cancel - ld a, $1 - ld [wd1ee], a - jr DecoAction_FinishUp_Ornament - -.cancel - xor a - ret - -DecoAction_putawayornament: ; 26dc9 - ld hl, UnknownText_0x26e6b - call DecoAction_AskWhichSide - jr nc, .incave - xor a - ret - -.incave - call DecoAction_PutItAway_Ornament - -DecoAction_FinishUp_Ornament: ; 26dd6 - call QueryWhichSide - ld a, [wd1ec] - ld [hl], a - ld a, [wd1ed] - ld [de], a - xor a - ret -; 26de3 - -DecoAction_SetItUp_Ornament: ; 26de3 - ld a, [wd1ec] - and a - jr z, .nothingthere - ld b, a - ld a, [MenuSelection] - cp b - jr z, .failed - ld a, b - ld hl, StringBuffer3 - call GetDecorationName - ld a, [MenuSelection] - ld hl, StringBuffer4 - call GetDecorationName - ld a, [MenuSelection] - ld [wd1ec], a - call .getwhichside - ld hl, UnknownText_0x26ee0 - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld a, [MenuSelection] - ld [wd1ec], a - call .getwhichside - ld a, [MenuSelection] - ld hl, StringBuffer3 - call GetDecorationName - ld hl, UnknownText_0x26edb - call MenuTextBoxBackup - xor a - ret - -.failed - ld hl, UnknownText_0x26ee5 - call MenuTextBoxBackup - scf - ret -; 26e33 - -.getwhichside: ; 26e33 - ld a, [MenuSelection] - ld b, a - ld a, [wd1ed] - cp b - ret nz - xor a - ld [wd1ed], a - ret -; 26e41 - -UnknownText_0x26e41: ; 0x26e41 - ; Which side do you want to put it on? - text_jump UnknownText_0x1bc48c - db "@" -; 0x26e46 - -DecoAction_PutItAway_Ornament: ; 26e46 - ld a, [wd1ec] - and a - jr z, .nothingthere - ld hl, StringBuffer3 - call GetDecorationName - ld a, $1 - ld [wd1ee], a - xor a - ld [wd1ec], a - ld hl, UnknownText_0x26ed1 - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld hl, UnknownText_0x26ed6 - call MenuTextBoxBackup - xor a - ret -; 26e6b - -UnknownText_0x26e6b: ; 0x26e6b - ; Which side do you want to put away? - text_jump UnknownText_0x1bc4b2 - db "@" -; 0x26e70 - -DecoAction_AskWhichSide: ; 26e70 - call MenuTextBox - ld hl, MenuDataHeader_0x26eab - call GetMenu2 - call ExitMenu - call CopyMenuData2 - jr c, .nope - ld a, [MenuSelection2] - cp 3 - jr z, .nope - ld [Buffer2], a - call QueryWhichSide - ld a, [hl] - ld [wd1ec], a - ld a, [de] - ld [wd1ed], a - xor a - ret - -.nope - scf - ret -; 26e9a - -QueryWhichSide: ; 26e9a - ld hl, RightOrnament - ld de, LeftOrnament - ld a, [Buffer2] - cp 1 - ret z - push hl - ld h, d - ld l, e - pop de - ret -; 26eab - -MenuDataHeader_0x26eab: ; 0x26eab - db $40 ; flags - db 00, 00 ; start coords - db 07, 13 ; end coords - dw MenuData2_0x26eb3 - db 1 ; default option -; 0x26eb3 - -MenuData2_0x26eb3: ; 0x26eb3 - db $80 ; flags - db 3 ; items - db "RIGHT SIDE@" - db "LEFT SIDE@" - db "CANCEL@" -; 0x26ed1 - -UnknownText_0x26ed1: ; 0x26ed1 - ; Put away the @ . - text_jump UnknownText_0x1bc4d7 - db "@" -; 0x26ed6 - -UnknownText_0x26ed6: ; 0x26ed6 - ; There's nothing to put away. - text_jump UnknownText_0x1bc4ec - db "@" -; 0x26edb - -UnknownText_0x26edb: ; 0x26edb - ; Set up the @ . - text_jump UnknownText_0x1bc509 - db "@" -; 0x26ee0 - -UnknownText_0x26ee0: ; 0x26ee0 - ; Put away the @ and set up the @ . - text_jump UnknownText_0x1bc51c - db "@" -; 0x26ee5 - -UnknownText_0x26ee5: ; 0x26ee5 - ; That's already set up. - text_jump UnknownText_0x1bc546 - db "@" -; 0x26eea - -GetDecorationName_c_de: ; 26eea - ld a, c - ld h, d - ld l, e - call GetDecorationName - ret -; 26ef1 - -DecorationFlagAction_c: ; 26ef1 - ld a, c - jp DecorationFlagAction -; 26ef5 - - -GetDecorationName_c: ; 26ef5 (9:6ef5) - ld a, c - call GetDecorationID - ld hl, StringBuffer1 - push hl - call GetDecorationName - pop de - ret - - -SetSpecificDecorationFlag: ; 26f02 - ld a, c - call GetDecorationID - ld b, SET_FLAG - call DecorationFlagAction - ret -; 26f0c - -GetDecorationID: ; 26f0c - push hl - push de - ld e, a - ld d, 0 - ld hl, DecorationIDs - add hl, de - ld a, [hl] - pop de - pop hl - ret -; 26f19 - -SetAllDecorationFlags: ; 26f19 - ld hl, DecorationIDs -.loop - ld a, [hli] - cp -1 - jr z, .done - push hl - ld b, SET_FLAG - call DecorationFlagAction - pop hl - jr .loop - -.done - ret -; 26f2b - -DecorationIDs: ; 26f2b - db DECO_FEATHERY_BED ; 2 - db DECO_PINK_BED ; 3 - db DECO_POLKADOT_BED ; 4 - db DECO_PIKACHU_BED ; 5 - - db DECO_RED_CARPET ; 7 - db DECO_BLUE_CARPET ; 8 - db DECO_YELLOW_CARPET ; 9 - db DECO_GREEN_CARPET ; a - - db DECO_MAGNAPLANT ; c - db DECO_TROPICPLANT ; d - db DECO_JUMBOPLANT ; e - - db DECO_TOWN_MAP ; 10 - db DECO_PIKACHU_POSTER ; 11 - db DECO_CLEFAIRY_POSTER ; 12 - db DECO_JIGGLYPUFF_POSTER ; 13 - - db DECO_FAMICOM ; 15 - db DECO_SNES ; 16 - db DECO_N64 ; 17 - db DECO_VIRTUAL_BOY ; 18 - - db DECO_PIKACHU_DOLL ; 1e - db DECO_SURF_PIKACHU_DOLL ; 1f - db DECO_CLEFAIRY_DOLL ; 20 - db DECO_JIGGLYPUFF_DOLL ; 21 - db DECO_BULBASAUR_DOLL ; 22 - db DECO_CHARMANDER_DOLL ; 23 - db DECO_SQUIRTLE_DOLL ; 24 - db DECO_POLIWAG_DOLL ; 25 - db DECO_DIGLETT_DOLL ; 26 - db DECO_STARMIE_DOLL ; 27 - db DECO_MAGIKARP_DOLL ; 28 - db DECO_ODDISH_DOLL ; 29 - db DECO_GENGAR_DOLL ; 2a - db DECO_SHELLDER_DOLL ; 2b - db DECO_GRIMER_DOLL ; 2c - db DECO_VOLTORB_DOLL ; 2d - db DECO_WEEDLE_DOLL ; 2e - db DECO_UNOWN_DOLL ; 2f - db DECO_GEODUDE_DOLL ; 30 - db DECO_MACHOP_DOLL ; 31 - db DECO_TENTACOOL_DOLL ; 32 - db DECO_BIG_SNORLAX_DOLL ; 1a - db DECO_BIG_ONIX_DOLL ; 1b - db DECO_BIG_LAPRAS_DOLL ; 1c - db DECO_GOLD_TROPHY_DOLL ; 33 - db DECO_SILVER_TROPHY_DOLL ; 34 - db -1 -; 26f59 - -DescribeDecoration:: ; 26f59 - ld a, b - ld hl, JumpTable_DecorationDesc - rst JumpTable - ret -; 26f5f - -JumpTable_DecorationDesc: ; 26f5f - dw DecorationDesc_Poster - dw DecorationDesc_LeftOrnament - dw DecorationDesc_RightOrnament - dw DecorationDesc_GiantDoll - dw DecorationDesc_Console -; 26f69 - -DecorationDesc_Poster: ; 26f69 - ld a, [Poster] - ld hl, DecorationDesc_PosterPointers - ld de, 3 - call IsInArray - jr c, .nope - ld de, DecorationDesc_NullPoster - ld b, BANK(DecorationDesc_NullPoster) - ret - -.nope - ld b, BANK(DecorationDesc_TownMapPoster) - inc hl - ld a, [hli] - ld d, [hl] - ld e, a - ret -; 26f84 - -DecorationDesc_PosterPointers: ; 26f84 - dbw DECO_TOWN_MAP, DecorationDesc_TownMapPoster - dbw DECO_PIKACHU_POSTER, DecorationDesc_PikachuPoster - dbw DECO_CLEFAIRY_POSTER, DecorationDesc_ClefairyPoster - dbw DECO_JIGGLYPUFF_POSTER, DecorationDesc_JigglypuffPoster - db -1 -; 26f91 - -DecorationDesc_TownMapPoster: ; 0x26f91 - loadfont - writetext UnknownText_0x26f9b - closetext - special Special_TownMap - loadmovesprites - end -; 0x26f9b - -UnknownText_0x26f9b: ; 0x26f9b - ; It's the TOWN MAP. - text_jump UnknownText_0x1bc55d - db "@" -; 0x26fa0 - -DecorationDesc_PikachuPoster: ; 0x26fa0 - jumptext UnknownText_0x26fa3 -; 0x26fa3 - -UnknownText_0x26fa3: ; 0x26fa3 - ; It's a poster of a cute PIKACHU. - text_jump UnknownText_0x1bc570 - db "@" -; 0x26fa8 - -DecorationDesc_ClefairyPoster: ; 0x26fa8 - jumptext UnknownText_0x26fab -; 0x26fab - -UnknownText_0x26fab: ; 0x26fab - ; It's a poster of a cute CLEFAIRY. - text_jump UnknownText_0x1bc591 - db "@" -; 0x26fb0 - -DecorationDesc_JigglypuffPoster: ; 0x26fb0 - jumptext UnknownText_0x26fb3 -; 0x26fb3 - -UnknownText_0x26fb3: ; 0x26fb3 - ; It's a poster of a cute JIGGLYPUFF. - text_jump UnknownText_0x1bc5b3 - db "@" -; 0x26fb8 - -DecorationDesc_NullPoster: ; 26fb8 - end -; 26fb9 - -DecorationDesc_LeftOrnament: ; 26fb9 - ld a, [LeftOrnament] - jr DecorationDesc_OrnamentOrConsole - -DecorationDesc_RightOrnament: ; 26fbe - ld a, [RightOrnament] - jr DecorationDesc_OrnamentOrConsole - -DecorationDesc_Console: ; 26fc3 - ld a, [Console] - jr DecorationDesc_OrnamentOrConsole - -DecorationDesc_OrnamentOrConsole: ; 26fc8 - ld c, a - ld de, StringBuffer3 - call GetDecorationName_c_de - ld b, BANK(Unknown_26fd5) - ld de, Unknown_26fd5 - ret -; 26fd5 - -Unknown_26fd5: ; 26fd5 - dbw $53, UnknownText_0x26fd8 -; 26fd8 - -UnknownText_0x26fd8: ; 0x26fd8 - ; It's an adorable @ . - text_jump UnknownText_0x1bc5d7 - db "@" -; 0x26fdd - -DecorationDesc_GiantDoll: ; 26fdd - ld b, BANK(Unknown_26fe3) - ld de, Unknown_26fe3 - ret -; 26fe3 - -Unknown_26fe3: ; 26fe3 - dbw $53, UnknownText_0x26fe6 -; 26fe6 - -UnknownText_0x26fe6: ; 0x26fe6 - ; A giant doll! It's fluffy and cuddly. - text_jump UnknownText_0x1bc5ef - db "@" -; 0x26feb - -ToggleMaptileDecorations: ; 26feb - lb de, 0, 4 - ld a, [Bed] - call SetDecorationTile - lb de, 7, 4 - ld a, [Plant] - call SetDecorationTile - lb de, 6, 0 - ld a, [Poster] - call SetDecorationTile - call SetPosterVisibility - lb de, 0, 0 - call PadCoords_de - ld a, [Carpet] - and a - ret z - call _GetDecorationSprite - ld [hl], a - push af - lb de, 0, 2 - call PadCoords_de - pop af - inc a - ld [hli], a - inc a - ld [hli], a - dec a - ld [hl], a - ret -; 27027 - -SetPosterVisibility: ; 27027 - ld b, SET_FLAG - ld a, [Poster] - and a - jr nz, .ok - ld b, RESET_FLAG - -.ok - ld de, EVENT_KRISS_ROOM_POSTER - jp EventFlagAction -; 27037 - -SetDecorationTile: ; 27037 - push af - call PadCoords_de - pop af - and a - ret z - call _GetDecorationSprite - ld [hl], a - ret -; 27043 - -ToggleDecorationsVisibility: ; 27043 - ld de, EVENT_KRISS_HOUSE_2F_CONSOLE - ld hl, VariableSprites + SPRITE_CONSOLE - SPRITE_VARS - ld a, [Console] - call ToggleDecorationVisibility - ld de, EVENT_KRISS_HOUSE_2F_DOLL_1 - ld hl, VariableSprites + SPRITE_DOLL_1 - SPRITE_VARS - ld a, [LeftOrnament] - call ToggleDecorationVisibility - ld de, EVENT_KRISS_HOUSE_2F_DOLL_2 - ld hl, VariableSprites + SPRITE_DOLL_2 - SPRITE_VARS - ld a, [RightOrnament] - call ToggleDecorationVisibility - ld de, EVENT_KRISS_HOUSE_2F_BIG_DOLL - ld hl, VariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS - ld a, [BigDoll] - call ToggleDecorationVisibility - ret -; 27074 - -ToggleDecorationVisibility: ; 27074 - and a - jr z, .hide - call _GetDecorationSprite - ld [hl], a - ld b, RESET_FLAG - jp EventFlagAction - -.hide - ld b, SET_FLAG - jp EventFlagAction -; 27085 - -_GetDecorationSprite: ; 27085 - ld c, a - push de - push hl - callba GetDecorationSprite - pop hl - pop de - ld a, c - ret -; 27092 +INCLUDE "engine/decorations.asm" PadCoords_de: ; 27092 ld a, d @@ -17117,7 +15121,7 @@ Unknown_2c74a: ; 2c74a db DECO_BIG_SNORLAX_DOLL db DECO_BIG_ONIX_DOLL db DECO_BIG_LAPRAS_DOLL - db DECO_1D + db DECO_DOLLS db DECO_PIKACHU_DOLL db DECO_SURF_PIKACHU_DOLL db DECO_CLEFAIRY_DOLL @@ -17131,22 +15135,22 @@ Unknown_2c74a: ; 2c74a db DECO_DIGLETT_DOLL db DECO_BLUE_CARPET db DECO_YELLOW_CARPET - db DECO_0F + db DECO_POSTERS db DECO_PIKACHU_POSTER db DECO_N64 - db DECO_19 - db DECO_01 + db DECO_BIG_DOLLS + db DECO_BEDS db DECO_FEATHERY_BED db DECO_POLKADOT_BED db DECO_PIKACHU_BED - db DECO_06 + db DECO_CARPETS db DECO_RED_CARPET db DECO_GREEN_CARPET db DECO_CLEFAIRY_POSTER db DECO_ODDISH_DOLL db DECO_MAGNAPLANT db DECO_GENGAR_DOLL - db DECO_14 + db DECO_CONSOLES db DECO_PINK_BED db DECO_SQUIRTLE_DOLL db DECO_STARMIE_DOLL @@ -20343,7 +18347,7 @@ Function44806: ; 0x44806 call CopyMenuDataHeader xor a ld [hBGMapMode], a - call Function352f + call InitScrollingMenu call UpdateSprites ld a, [wd0f1] ld [wMenuCursorBuffer], a @@ -32411,16 +30415,16 @@ ChrisNameMenuHeader: ; 882b5 db $40 ; flags db 00, 00 ; start coords db 11, 10 ; end coords - dw MenuData2_0x882be + dw .MaleNames db 1 ; ???? db 0 ; default option ; 882be -MenuData2_0x882be: ; 882be +.MaleNames: ; 882be db $91 ; flags db 5 ; items db "NEW NAME@" -Unknown_882c9: ; 882c9 +MalePlayerNameArray: ; 882c9 db "CHRIS@" db "MAT@" db "ALLAN@" @@ -32433,16 +30437,16 @@ KrisNameMenuHeader: ; 882e5 db $40 ; flags db 00, 00 ; start coords db 11, 10 ; end coords - dw MenuData2_0x882ee + dw .FemaleNames db 1 ; ???? db 0 ; default option ; 882ee -MenuData2_0x882ee: ; 882ee +.FemaleNames: ; 882ee db $91 ; flags db 5 ; items db "NEW NAME@" -Unknown_882f9: ; 882f9 +FemalePlayerNameArray: ; 882f9 db "KRIS@" db "AMANDA@" db "JUANA@" @@ -32453,11 +30457,11 @@ Unknown_882f9: ; 882f9 GetPlayerNameArray: ; 88318 This Function is never called ld hl, PlayerName - ld de, Unknown_882c9 + ld de, MalePlayerNameArray ld a, [PlayerGender] bit 0, a jr z, .done - ld de, Unknown_882f9 + ld de, FemalePlayerNameArray .done call InitName @@ -32491,12 +30495,12 @@ Function8833e: ; 8833e ld hl, KrisCardPic .GotClass ld de, VTiles2 tile $00 - ld bc, $230 + ld bc, $23 tiles ld a, BANK(ChrisCardPic) ; BANK(KrisCardPic) call FarCopyBytes ld hl, CardGFX ld de, VTiles2 tile $23 - ld bc, $60 + ld bc, 6 tiles ld a, BANK(CardGFX) call FarCopyBytes ret |