summaryrefslogtreecommitdiff
path: root/engine/decorations.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/decorations.asm')
-rwxr-xr-xengine/decorations.asm1303
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