diff options
Diffstat (limited to 'engine/decorations.asm')
-rwxr-xr-x | engine/decorations.asm | 1303 |
1 files changed, 0 insertions, 1303 deletions
diff --git a/engine/decorations.asm b/engine/decorations.asm deleted file mode 100755 index 33d0ca0cd..000000000 --- a/engine/decorations.asm +++ /dev/null @@ -1,1303 +0,0 @@ -InitDecorations: ; 26751 (9:6751) - ld a, DECO_FEATHERY_BED - ld [wDecoBed], a - ld a, DECO_TOWN_MAP - ld [wDecoPoster], a - ret - -_PlayerDecorationMenu: ; 0x2675c - ld a, [wWhichIndexSet] - push af - ld hl, .MenuHeader - call LoadMenuHeader - xor a - ld [wBuffer5], a - ld a, $1 - ld [wBuffer6], a -.top_loop - ld a, [wBuffer6] - ld [wMenuCursorBuffer], a - call .FindCategoriesWithOwnedDecos - call DoNthMenu - ld a, [wMenuCursorY] - ld [wBuffer6], a - jr c, .exit_menu - ld a, [wMenuSelection] - ld hl, .pointers - call MenuJumptable - jr nc, .top_loop - -.exit_menu - call ExitMenu - pop af - ld [wWhichIndexSet], a - ld a, [wBuffer5] - ld c, a - ret -; 0x2679a - -.MenuHeader: ; 0x2679a - db MENU_BACKUP_TILES ; flags - menu_coords 5, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw .MenuData - db 1 ; default option -; 0x267a2 - -.MenuData: ; 0x267a2 - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 0 ; items - dw wd002 - dw PlaceNthMenuStrings - dw .pointers -; 0x267aa - -.pointers ; 267aa - dw DecoBedMenu, .bed - dw DecoCarpetMenu, .carpet - dw DecoPlantMenu, .plant - dw DecoPosterMenu, .poster - dw DecoConsoleMenu, .game - dw DecoOrnamentMenu, .ornament - dw DecoBigDollMenu, .big_doll - dw DecoExitMenu, .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 - -.FindCategoriesWithOwnedDecos: ; 26806 - xor a - ld [wWhichIndexSet], a - call .ClearStringBuffer2 - call .FindOwndDecos - ld a, 7 - call .AppendToStringBuffer2 - ld hl, wStringBuffer2 - ld de, wd002 - ld bc, ITEM_NAME_LENGTH - call CopyBytes - ret - -.ClearStringBuffer2: ; 26822 (9:6822) - ld hl, wStringBuffer2 - xor a - ld [hli], a - ld bc, ITEM_NAME_LENGTH - 1 - ld a, -1 - call ByteFill - ret - -.AppendToStringBuffer2: ; 26830 (9:6830) - ld hl, wStringBuffer2 - inc [hl] - ld e, [hl] - ld d, 0 - add hl, de - ld [hl], a - ret - -.FindOwndDecos: ; 2683a (9:683a) - ld hl, .dw -.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 .AppendToStringBuffer2 - pop hl -.next - inc hl - jr .loop -.done - ret -; 26855 (9:6855) - -.dw ; 26855 - dwb FindOwnedBeds, 0 ; bed - dwb FindOwnedCarpets, 1 ; carpet - dwb FindOwnedPlants, 2 ; plant - dwb FindOwnedPosters, 3 ; poster - dwb FindOwnedConsoles, 4 ; game console - dwb FindOwnedOrnaments, 5 ; ornament - dwb FindOwnedBigDolls, 6 ; big doll - dw 0 ; end -; 2686c - -Deco_FillTempWithMinusOne: ; 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, AppendDecoIndex - pop hl - jr .loop - -.done - ret -; 26891 - -AppendDecoIndex: ; 26891 - ld hl, wd002 - inc [hl] - ld e, [hl] - ld d, $0 - add hl, de - ld [hl], a - ret -; 2689b - -FindOwnedDecosInCategory: ; 2689b - push bc - push hl - call Deco_FillTempWithMinusOne - pop hl - call CheckAllDecorationFlags - pop bc - ld a, [wd002] - and a - ret z - - ld a, c - call AppendDecoIndex - ld a, 0 - call AppendDecoIndex - scf - ret -; 268b5 - -DecoBedMenu: ; 268b5 - call FindOwnedBeds - call PopulateDecoCategoryMenu - xor a - ret -; 268bd - -FindOwnedBeds: ; 268bd - ld hl, .beds - ld c, BEDS - jp FindOwnedDecosInCategory -; 268c5 - -.beds ; 268c5 - db DECO_FEATHERY_BED ; 2 - db DECO_PINK_BED ; 3 - db DECO_POLKADOT_BED ; 4 - db DECO_PIKACHU_BED ; 5 - db -1 -; 268ca - -DecoCarpetMenu: ; 268ca - call FindOwnedCarpets - call PopulateDecoCategoryMenu - xor a - ret -; 268d2 - -FindOwnedCarpets: ; 268d2 - ld hl, .carpets - ld c, CARPETS - jp FindOwnedDecosInCategory -; 268da - -.carpets ; 268da - db DECO_RED_CARPET ; 7 - db DECO_BLUE_CARPET ; 8 - db DECO_YELLOW_CARPET ; 9 - db DECO_GREEN_CARPET ; a - db -1 -; 268df - -DecoPlantMenu: ; 268df - call FindOwnedPlants - call PopulateDecoCategoryMenu - xor a - ret -; 268e7 - -FindOwnedPlants: ; 268e7 - ld hl, .plants - ld c, PLANTS - jp FindOwnedDecosInCategory -; 268ef - -.plants ; 268ef - db DECO_MAGNAPLANT ; c - db DECO_TROPICPLANT ; d - db DECO_JUMBOPLANT ; e - db -1 -; 268f3 - -DecoPosterMenu: ; 268f3 - call FindOwnedPosters - call PopulateDecoCategoryMenu - xor a - ret -; 268fb - -FindOwnedPosters: ; 268fb - ld hl, .posters - ld c, POSTERS - jp FindOwnedDecosInCategory -; 26903 - -.posters ; 26903 - db DECO_TOWN_MAP ; 10 - db DECO_PIKACHU_POSTER ; 11 - db DECO_CLEFAIRY_POSTER ; 12 - db DECO_JIGGLYPUFF_POSTER ; 13 - db -1 -; 26908 - -DecoConsoleMenu: ; 26908 - call FindOwnedConsoles - call PopulateDecoCategoryMenu - xor a - ret -; 26910 - -FindOwnedConsoles: ; 26910 - ld hl, .consoles - ld c, CONSOLES - jp FindOwnedDecosInCategory -; 26918 - -.consoles ; 26918 - db DECO_FAMICOM ; 15 - db DECO_SNES ; 16 - db DECO_N64 ; 17 - db DECO_VIRTUAL_BOY ; 18 - db -1 -; 2691d - -DecoOrnamentMenu: ; 2691d - call FindOwnedOrnaments - call PopulateDecoCategoryMenu - xor a - ret -; 26925 - -FindOwnedOrnaments: ; 26925 - ld hl, .ornaments - ld c, DOLLS - jp FindOwnedDecosInCategory -; 2692d - -.ornaments ; 2692d - 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_GOLD_TROPHY_DOLL ; 33 - db DECO_SILVER_TROPHY_DOLL ; 34 - db -1 -; 26945 - -DecoBigDollMenu: ; 26945 - call FindOwnedBigDolls - call PopulateDecoCategoryMenu - xor a - ret -; 2694d - -FindOwnedBigDolls: ; 2694d - ld hl, .big_dolls - ld c, BIG_DOLLS - jp FindOwnedDecosInCategory -; 26955 - -.big_dolls ; 26955 - db DECO_BIG_SNORLAX_DOLL ; 1a - db DECO_BIG_ONIX_DOLL ; 1b - db DECO_BIG_LAPRAS_DOLL ; 1c - db -1 -; 26959 - -DecoExitMenu: ; 26959 - scf - ret -; 2695b - -PopulateDecoCategoryMenu: ; 2695b - ld a, [wd002] - and a - jr z, .empty - cp 8 - jr nc, .beyond_eight - xor a - ld [wWhichIndexSet], a - ld hl, .NonscrollingMenuHeader - call LoadMenuHeader - 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 LoadStandardMenuHeader - ld hl, .ScrollingMenuHeader - call CopyMenuHeader - xor a - ld [hBGMapMode], a - call InitScrollingMenu - xor a - ld [wMenuScrollPosition], a - call ScrollingMenu - ld a, [wMenuJoypad] - cp 2 - jr z, .no_action_2 - call DoDecorationAction2 - -.no_action_2 - call ExitMenu - ret - -.empty - ld hl, .Text_nothing_to_choose - call MenuTextBoxBackup - ret -; 269b0 - -.Text_nothing_to_choose: ; 0x269b0 - ; There's nothing to choose. - text_jump UnknownText_0x1bc471 - db "@" -; 0x269b5 - -.NonscrollingMenuHeader: ; 0x269b5 - db MENU_BACKUP_TILES ; flags - menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw .NonscrollingMenuData - db 1 ; default option -; 0x269bd - -.NonscrollingMenuData: ; 0x269bd - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 0 ; items - dw wd002 - dw DecorationMenuFunction - dw DecorationAttributes -; 0x269c5 - -.ScrollingMenuHeader: ; 0x269c5 - db MENU_BACKUP_TILES ; flags - menu_coords 1, 1, SCREEN_WIDTH - 2, SCREEN_HEIGHT - 2 - dw .ScrollingMenuData - db 1 ; default option -; 0x269cd - -.ScrollingMenuData: ; 0x269cd - db SCROLLINGMENU_DISPLAY_ARROWS ; 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, [wMenuSelection] - push de - call GetDecorationData - call GetDecoName - pop hl - call PlaceString - ret -; 26a02 - -DoDecorationAction2: ; 26a02 - ld a, [wMenuSelection] - 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 - -INCLUDE "data/decorations/attributes.asm" - -INCLUDE "data/decorations/names.asm" - -GetDecoName: ; 26c72 - ld a, [hli] - ld e, [hl] - ld bc, wStringBuffer2 - 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, wDecoBed - jp DecoAction_TrySetItUp -; 26ceb - -DecoAction_putawaybed: ; 26ceb - ld hl, wDecoBed - jp DecoAction_TryPutItAway -; 26cf1 - -DecoAction_setupcarpet: ; 26cf1 - ld hl, wDecoCarpet - jp DecoAction_TrySetItUp -; 26cf7 - -DecoAction_putawaycarpet: ; 26cf7 - ld hl, wDecoCarpet - jp DecoAction_TryPutItAway -; 26cfd - -DecoAction_setupplant: ; 26cfd - ld hl, wDecoPlant - jp DecoAction_TrySetItUp -; 26d03 - -DecoAction_putawayplant: ; 26d03 - ld hl, wDecoPlant - jp DecoAction_TryPutItAway -; 26d09 - -DecoAction_setupposter: ; 26d09 - ld hl, wDecoPoster - jp DecoAction_TrySetItUp -; 26d0f - -DecoAction_putawayposter: ; 26d0f - ld hl, wDecoPoster - jp DecoAction_TryPutItAway -; 26d15 - -DecoAction_setupconsole: ; 26d15 - ld hl, wDecoConsole - jp DecoAction_TrySetItUp -; 26d1b - -DecoAction_putawayconsole: ; 26d1b - ld hl, wDecoConsole - jp DecoAction_TryPutItAway -; 26d21 - -DecoAction_setupbigdoll: ; 26d21 - ld hl, wDecoBigDoll - jp DecoAction_TrySetItUp -; 26d27 - -DecoAction_putawaybigdoll: ; 26d27 - ld hl, wDecoBigDoll - jp DecoAction_TryPutItAway -; 26d2d - -DecoAction_TrySetItUp: ; 26d2d - ld a, [hl] - ld [wBuffer1], a - push hl - call DecoAction_SetItUp - jr c, .failed - ld a, 1 - ld [wBuffer5], a - pop hl - ld a, [wMenuSelection] - 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, [wBuffer1] - and a - jr z, .nothingthere -; See if that item is already out - ld b, a - ld a, [wMenuSelection] - cp b - jr z, .alreadythere -; Put away the item that's already out, and set up the new one - ld a, [wMenuSelection] - ld hl, wStringBuffer4 - call GetDecorationName - ld a, [wBuffer1] - ld hl, wStringBuffer3 - call GetDecorationName - ld hl, DecoText_PutAwayAndSetUp - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld a, [wMenuSelection] - ld hl, wStringBuffer3 - call GetDecorationName - ld hl, DecoText_SetUpTheDeco - call MenuTextBoxBackup - xor a - ret - -.alreadythere - ld hl, DecoText_AlreadySetUp - 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 [wBuffer1], a - xor a - ld [hl], a - ld a, [wBuffer1] - and a - jr z, .nothingthere -; Put it away. - ld a, $1 - ld [wBuffer5], a - ld a, [wBuffer1] - ld [wMenuSelection], a - ld hl, wStringBuffer3 - call GetDecorationName - ld hl, DecoText_PutAwayTheDeco - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld hl, DecoText_NothingToPutAway - 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 [wBuffer5], a - jr DecoAction_FinishUp_Ornament - -.cancel - xor a - ret - -DecoAction_putawayornament: ; 26dc9 - ld hl, DecoText_WhichSide - call DecoAction_AskWhichSide - jr nc, .incave - xor a - ret - -.incave - call DecoAction_PutItAway_Ornament - -DecoAction_FinishUp_Ornament: ; 26dd6 - call QueryWhichSide - ld a, [wSelectedDecoration] - ld [hl], a - ld a, [wOtherDecoration] - ld [de], a - xor a - ret -; 26de3 - -DecoAction_SetItUp_Ornament: ; 26de3 - ld a, [wSelectedDecoration] - and a - jr z, .nothingthere - ld b, a - ld a, [wMenuSelection] - cp b - jr z, .failed - ld a, b - ld hl, wStringBuffer3 - call GetDecorationName - ld a, [wMenuSelection] - ld hl, wStringBuffer4 - call GetDecorationName - ld a, [wMenuSelection] - ld [wSelectedDecoration], a - call .getwhichside - ld hl, DecoText_PutAwayAndSetUp - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld a, [wMenuSelection] - ld [wSelectedDecoration], a - call .getwhichside - ld a, [wMenuSelection] - ld hl, wStringBuffer3 - call GetDecorationName - ld hl, DecoText_SetUpTheDeco - call MenuTextBoxBackup - xor a - ret - -.failed - ld hl, DecoText_AlreadySetUp - call MenuTextBoxBackup - scf - ret -; 26e33 - -.getwhichside ; 26e33 - ld a, [wMenuSelection] - ld b, a - ld a, [wOtherDecoration] - cp b - ret nz - xor a - ld [wOtherDecoration], 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, [wSelectedDecoration] - and a - jr z, .nothingthere - ld hl, wStringBuffer3 - call GetDecorationName - ld a, $1 - ld [wBuffer5], a - xor a - ld [wSelectedDecoration], a - ld hl, DecoText_PutAwayTheDeco - call MenuTextBoxBackup - xor a - ret - -.nothingthere - ld hl, DecoText_NothingToPutAway - call MenuTextBoxBackup - xor a - ret -; 26e6b - -DecoText_WhichSide: ; 0x26e6b - ; Which side do you want to put away? - text_jump UnknownText_0x1bc4b2 - db "@" -; 0x26e70 - -DecoAction_AskWhichSide: ; 26e70 - call MenuTextBox - ld hl, MenuHeader_0x26eab - call GetMenu2 - call ExitMenu - call CopyMenuData - jr c, .nope - ld a, [wMenuCursorY] - cp 3 - jr z, .nope - ld [wBuffer2], a - call QueryWhichSide - ld a, [hl] - ld [wSelectedDecoration], a - ld a, [de] - ld [wOtherDecoration], a - xor a - ret - -.nope - scf - ret -; 26e9a - -QueryWhichSide: ; 26e9a - ld hl, wDecoRightOrnament - ld de, wDecoLeftOrnament - ld a, [wBuffer2] - cp 1 - ret z - push hl - ld h, d - ld l, e - pop de - ret -; 26eab - -MenuHeader_0x26eab: ; 0x26eab - db MENU_BACKUP_TILES ; flags - menu_coords 0, 0, 13, 7 - dw MenuData_0x26eb3 - db 1 ; default option -; 0x26eb3 - -MenuData_0x26eb3: ; 0x26eb3 - db STATICMENU_CURSOR ; flags - db 3 ; items - db "RIGHT SIDE@" - db "LEFT SIDE@" - db "CANCEL@" -; 0x26ed1 - -DecoText_PutAwayTheDeco: ; 0x26ed1 - ; Put away the @ . - text_jump UnknownText_0x1bc4d7 - db "@" -; 0x26ed6 - -DecoText_NothingToPutAway: ; 0x26ed6 - ; There's nothing to put away. - text_jump UnknownText_0x1bc4ec - db "@" -; 0x26edb - -DecoText_SetUpTheDeco: ; 0x26edb - ; Set up the @ . - text_jump UnknownText_0x1bc509 - db "@" -; 0x26ee0 - -DecoText_PutAwayAndSetUp: ; 0x26ee0 - ; Put away the @ and set up the @ . - text_jump UnknownText_0x1bc51c - db "@" -; 0x26ee5 - -DecoText_AlreadySetUp: ; 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, wStringBuffer1 - 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 - -INCLUDE "data/decorations/decorations.asm" - -DescribeDecoration:: ; 26f59 - ld a, b - ld hl, .JumpTable - rst JumpTable - ret -; 26f5f - -.JumpTable: ; 26f5f -; entries correspond to DECODESC_* constants - dw DecorationDesc_Poster - dw DecorationDesc_LeftOrnament - dw DecorationDesc_RightOrnament - dw DecorationDesc_GiantOrnament - dw DecorationDesc_Console -; 26f69 - -DecorationDesc_Poster: ; 26f69 - ld a, [wDecoPoster] - 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 - opentext - writetext .TownMapText - waitbutton - special OverworldTownMap - closetext - end -; 0x26f9b - -.TownMapText: ; 0x26f9b - ; It's the TOWN MAP. - text_jump UnknownText_0x1bc55d - db "@" -; 0x26fa0 - -DecorationDesc_PikachuPoster: ; 0x26fa0 - jumptext .PikaPosterText -; 0x26fa3 - -.PikaPosterText: ; 0x26fa3 - ; It's a poster of a cute PIKACHU. - text_jump UnknownText_0x1bc570 - db "@" -; 0x26fa8 - -DecorationDesc_ClefairyPoster: ; 0x26fa8 - jumptext .ClefairyPosterText -; 0x26fab - -.ClefairyPosterText: ; 0x26fab - ; It's a poster of a cute CLEFAIRY. - text_jump UnknownText_0x1bc591 - db "@" -; 0x26fb0 - -DecorationDesc_JigglypuffPoster: ; 0x26fb0 - jumptext .JigglypuffPosterText -; 0x26fb3 - -.JigglypuffPosterText: ; 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, [wDecoLeftOrnament] - jr DecorationDesc_OrnamentOrConsole - -DecorationDesc_RightOrnament: ; 26fbe - ld a, [wDecoRightOrnament] - jr DecorationDesc_OrnamentOrConsole - -DecorationDesc_Console: ; 26fc3 - ld a, [wDecoConsole] - jr DecorationDesc_OrnamentOrConsole - -DecorationDesc_OrnamentOrConsole: ; 26fc8 - ld c, a - ld de, wStringBuffer3 - call GetDecorationName_c_de - ld b, BANK(.OrnamentConsoleScript) - ld de, .OrnamentConsoleScript - ret -; 26fd5 - -.OrnamentConsoleScript: ; 26fd5 - jumptext .OrnamentConsoleText -; 26fd8 - -.OrnamentConsoleText: ; 0x26fd8 - ; It's an adorable @ . - text_jump UnknownText_0x1bc5d7 - db "@" -; 0x26fdd - -DecorationDesc_GiantOrnament: ; 26fdd - ld b, BANK(.BigDollScript) - ld de, .BigDollScript - ret -; 26fe3 - -.BigDollScript: ; 26fe3 - jumptext .BigDollText -; 26fe6 - -.BigDollText: ; 0x26fe6 - ; A giant doll! It's fluffy and cuddly. - text_jump UnknownText_0x1bc5ef - db "@" -; 0x26feb - -ToggleMaptileDecorations: ; 26feb - lb de, 0, 4 - ld a, [wDecoBed] - call SetDecorationTile - lb de, 7, 4 - ld a, [wDecoPlant] - call SetDecorationTile - lb de, 6, 0 - ld a, [wDecoPoster] - call SetDecorationTile - call SetPosterVisibility - lb de, 0, 0 - call PadCoords_de - ld a, [wDecoCarpet] - 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, [wDecoPoster] - and a - jr nz, .ok - ld b, RESET_FLAG - -.ok - ld de, EVENT_PLAYERS_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_PLAYERS_HOUSE_2F_CONSOLE - ld hl, wVariableSprites + SPRITE_CONSOLE - SPRITE_VARS - ld a, [wDecoConsole] - call ToggleDecorationVisibility - ld de, EVENT_PLAYERS_HOUSE_2F_DOLL_1 - ld hl, wVariableSprites + SPRITE_DOLL_1 - SPRITE_VARS - ld a, [wDecoLeftOrnament] - call ToggleDecorationVisibility - ld de, EVENT_PLAYERS_HOUSE_2F_DOLL_2 - ld hl, wVariableSprites + SPRITE_DOLL_2 - SPRITE_VARS - ld a, [wDecoRightOrnament] - call ToggleDecorationVisibility - ld de, EVENT_PLAYERS_HOUSE_2F_BIG_DOLL - ld hl, wVariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS - ld a, [wDecoBigDoll] - 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 - farcall GetDecorationSprite - pop hl - pop de - ld a, c - ret -; 27092 - -PadCoords_de: ; 27092 - ld a, d - add 4 - ld d, a - ld a, e - add 4 - ld e, a - call GetBlockLocation - ret |