summaryrefslogtreecommitdiff
path: root/engine/mon_icons.asm
diff options
context:
space:
mode:
authormid-kid <esteve.varela@gmail.com>2018-03-13 13:07:16 +0100
committermid-kid <esteve.varela@gmail.com>2018-03-13 13:21:40 +0100
commitbaa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch)
tree968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/mon_icons.asm
parent12070ca50067d3abe36a730190f88ee43f2cace9 (diff)
Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by creating categorized subdirectories, in order to make it easier to navigate and find things. The directories created are as follows: * engine/game: Contains all "minigames", things like the unown puzzle and slot machine. * engine/gfx: Contains all handling of graphics. From loading palettes to playing animations. * engine/link: Contains all multiplayer functionality. * engine/menu: Contains all generic/misc. menus and menu code. Other, more specialized menus are in their own subdirectories (pokedex, pokegear, party menu, etc). * engine/overworld: Contains all handling of the overworld. From loading and connecting maps to wild encounters and the scripting engine. * engine/pokegear: In the same vein as engine/pokedex, except it could use some more splitting up. * engine/pokemon: Contains everything related to manipulating pokemon data. From the pokemon storage system to evolution and mail. * engine/printer: Contains everything related to printing things as well as the printer communication. * engine/title: Contains intro sequences, title screens and credits.
Diffstat (limited to 'engine/mon_icons.asm')
-rwxr-xr-xengine/mon_icons.asm471
1 files changed, 0 insertions, 471 deletions
diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm
deleted file mode 100755
index 5a26d2d7c..000000000
--- a/engine/mon_icons.asm
+++ /dev/null
@@ -1,471 +0,0 @@
-LoadOverworldMonIcon: ; 8e82b
- ld a, e
- call ReadMonMenuIcon
- ld l, a
- ld h, 0
- add hl, hl
- ld de, IconPointers
- add hl, de
- ld a, [hli]
- ld e, a
- ld d, [hl]
- ld b, BANK(Icons)
- ld c, 8
- ret
-; 8e83f
-
-LoadMenuMonIcon: ; 8e83f
- push hl
- push de
- push bc
- call .LoadIcon
- pop bc
- pop de
- pop hl
- ret
-; 8e849
-
-.LoadIcon: ; 8e849
- ld d, 0
- ld hl, .Jumptable
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-; 8e854
-
-
-.Jumptable: ; 8e854 (23:6854)
- dw PartyMenu_InitAnimatedMonIcon ; party menu
- dw NamingScreen_InitAnimatedMonIcon ; naming screen
- dw MoveList_InitAnimatedMonIcon ; moves (?)
- dw Trade_LoadMonIconGFX ; trade
- dw Mobile_InitAnimatedMonIcon ; mobile
- dw Mobile_InitPartyMenuBGPal71 ; mobile
- dw .GetPartyMenuMonIcon ; unused
-
-.GetPartyMenuMonIcon: ; 8e862 (23:6862)
- call InitPartyMenuIcon
- call .GetPartyMonItemGFX
- call SetPartyMonIconAnimSpeed
- ret
-
-.GetPartyMonItemGFX: ; 8e86c (23:686c)
- push bc
- ld a, [hObjectStructIndexBuffer]
- ld hl, wPartyMon1Item
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- pop bc
- ld a, [hl]
- and a
- jr z, .no_item
- push hl
- push bc
- ld d, a
- callfar ItemIsMail
- pop bc
- pop hl
- jr c, .not_mail
- ld a, $6
- jr .got_tile
-.not_mail
- ld a, $5
- ; jr .got_tile
-
-.no_item
- ld a, $4
-.got_tile
- ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld [hl], a
- ret
-
-Mobile_InitAnimatedMonIcon: ; 8e898 (23:6898)
- call PartyMenu_InitAnimatedMonIcon
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld a, SPRITE_ANIM_SEQ_NULL
- ld [hl], a
- ld hl, SPRITEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, 9 * 8
- ld [hl], a
- ld hl, SPRITEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, 9 * 8
- ld [hl], a
- ret
-
-Mobile_InitPartyMenuBGPal71: ; 8e8b1 (23:68b1)
- call InitPartyMenuIcon
- call SetPartyMonIconAnimSpeed
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld a, SPRITE_ANIM_SEQ_NULL
- ld [hl], a
- ld hl, SPRITEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, 3 * 8
- ld [hl], a
- ld hl, SPRITEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, 12 * 8
- ld [hl], a
- ld a, c
- ld [wc608], a
- ld a, b
- ld [wc608 + 1], a
- ret
-
-PartyMenu_InitAnimatedMonIcon: ; 8e8d5 (23:68d5)
- call InitPartyMenuIcon
- call .SpawnItemIcon
- call SetPartyMonIconAnimSpeed
- ret
-
-.SpawnItemIcon: ; 8e8df (23:68df)
- push bc
- ld a, [hObjectStructIndexBuffer]
- ld hl, wPartyMon1Item
- ld bc, PARTYMON_STRUCT_LENGTH
- call AddNTimes
- pop bc
- ld a, [hl]
- and a
- ret z
- push hl
- push bc
- ld d, a
- callfar ItemIsMail
- pop bc
- pop hl
- jr c, .mail
- ld a, SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM
- jr .okay
-
-.mail
- ld a, SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL
-.okay
- ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld [hl], a
- ret
-
-InitPartyMenuIcon: ; 8e908 (23:6908)
- ld a, [wCurIconTile]
- push af
- ld a, [hObjectStructIndexBuffer]
- ld hl, wPartySpecies
- ld e, a
- ld d, $0
- add hl, de
- ld a, [hl]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- call GetMemIconGFX
- ld a, [hObjectStructIndexBuffer]
-; y coord
- add a
- add a
- add a
- add a
- add $1c
- ld d, a
-; x coord
- ld e, $10
-; type is partymon icon
- ld a, SPRITE_ANIM_INDEX_PARTY_MON
- call InitSpriteAnimStruct
- pop af
- ld hl, SPRITEANIMSTRUCT_TILE_ID
- add hl, bc
- ld [hl], a
- ret
-
-SetPartyMonIconAnimSpeed: ; 8e936 (23:6936)
- push bc
- ld a, [hObjectStructIndexBuffer]
- ld b, a
- call .getspeed
- ld a, b
- pop bc
- ld hl, SPRITEANIMSTRUCT_DURATIONOFFSET
- add hl, bc
- ld [hl], a
- rlca
- rlca
- ld hl, SPRITEANIMSTRUCT_0D
- add hl, bc
- ld [hl], a
- ret
-
-.getspeed ; 8e94c (23:694c)
- farcall PlacePartymonHPBar
- call GetHPPal
- ld e, d
- ld d, 0
- ld hl, .speeds
- add hl, de
- ld b, [hl]
- ret
-; 8e95e (23:695e)
-
-.speeds ; 8e95e
- db $00 ; HP_GREEN
- db $40 ; HP_YELLOW
- db $80 ; HP_RED
-; 8e961
-
-NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961)
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- xor a
- call GetIconGFX
- depixel 4, 4, 4, 0
- ld a, SPRITE_ANIM_INDEX_PARTY_MON
- call InitSpriteAnimStruct
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld [hl], SPRITE_ANIM_SEQ_NULL
- ret
-
-MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d)
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- xor a
- call GetIconGFX
- ld d, 3 * 8 + 2 ; depixel 3, 4, 2, 4
- ld e, 4 * 8 + 4
- ld a, SPRITE_ANIM_INDEX_PARTY_MON
- call InitSpriteAnimStruct
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld [hl], SPRITE_ANIM_SEQ_NULL
- ret
-
-Trade_LoadMonIconGFX: ; 8e99a (23:699a)
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- ld a, $62
- ld [wCurIconTile], a
- call GetMemIconGFX
- ret
-
-GetSpeciesIcon: ; 8e9ac
-; Load species icon into VRAM at tile a
- push de
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- pop de
- ld a, e
- call GetIconGFX
- ret
-; 8e9bc
-
-
-FlyFunction_GetMonIcon: ; 8e9bc (23:69bc)
- push de
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- pop de
- ld a, e
- call GetIcon_a
- ret
-; 8e9cc (23:69cc)
-
-Unreferenced_GetMonIcon2: ; 8e9cc
- push de
- ld a, [wd265]
- call ReadMonMenuIcon
- ld [wCurIcon], a
- pop de
- call GetIcon_de
- ret
-; 8e9db
-
-GetMemIconGFX: ; 8e9db (23:69db)
- ld a, [wCurIconTile]
-GetIconGFX: ; 8e9de
- call GetIcon_a
- ld de, 8 tiles
- add hl, de
- ld de, HeldItemIcons
- lb bc, BANK(HeldItemIcons), 2
- call GetGFXUnlessMobile
- ld a, [wCurIconTile]
- add 10
- ld [wCurIconTile], a
- ret
-
-HeldItemIcons:
-INCBIN "gfx/icons/mail.2bpp"
-INCBIN "gfx/icons/item.2bpp"
-; 8ea17
-
-GetIcon_de: ; 8ea17
-; Load icon graphics into VRAM starting from tile de.
- ld l, e
- ld h, d
- jr GetIcon
-
-GetIcon_a: ; 8ea1b
-; Load icon graphics into VRAM starting from tile a.
- ld l, a
- ld h, 0
-
-GetIcon: ; 8ea1e
-; Load icon graphics into VRAM starting from tile hl.
-
-; One tile is 16 bytes long.
-rept 4
- add hl, hl
-endr
-
- ld de, vTiles0
- add hl, de
- push hl
-
-; The icons are contiguous, in order and of the same
-; size, so the pointer table is somewhat redundant.
- ld a, [wCurIcon]
- push hl
- ld l, a
- ld h, 0
- add hl, hl
- ld de, IconPointers
- add hl, de
- ld a, [hli]
- ld e, a
- ld d, [hl]
- pop hl
-
- lb bc, BANK(Icons), 8
- call GetGFXUnlessMobile
-
- pop hl
- ret
-; 8ea3f
-
-GetGFXUnlessMobile: ; 8ea3f
- ld a, [wLinkMode]
- cp LINK_MOBILE
- jp nz, Request2bpp
- jp Get2bpp_2
-; 8ea4a
-
-FreezeMonIcons: ; 8ea4a
- ld hl, wSpriteAnimationStructs
- ld e, PARTY_LENGTH
- ld a, [wMenuCursorY]
- ld d, a
-.loop
- ld a, [hl]
- and a
- jr z, .next
- cp d
- jr z, .loadwithtwo
- ld a, SPRITE_ANIM_SEQ_NULL
- jr .ok
-
-.loadwithtwo
- ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
-
-.ok
- push hl
- ld c, l
- ld b, h
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld [hl], a
- pop hl
-
-.next
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .loop
- ret
-; 8ea71
-
-UnfreezeMonIcons: ; 8ea71
- ld hl, wSpriteAnimationStructs
- ld e, PARTY_LENGTH
-.loop
- ld a, [hl]
- and a
- jr z, .next
- push hl
- ld c, l
- ld b, h
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld [hl], SPRITE_ANIM_SEQ_PARTY_MON
- pop hl
-.next
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .loop
- ret
-; 8ea8c (23:6a8c)
-
-HoldSwitchmonIcon: ; 8ea8c
- ld hl, wSpriteAnimationStructs
- ld e, PARTY_LENGTH
- ld a, [wSwitchMon]
- ld d, a
-.loop
- ld a, [hl]
- and a
- jr z, .next
- cp d
- jr z, .is_switchmon
- ld a, SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
- jr .join_back
-
-.is_switchmon
- ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
-.join_back
- push hl
- ld c, l
- ld b, h
- ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
- add hl, bc
- ld [hl], a
- pop hl
-.next
- ld bc, $10
- add hl, bc
- dec e
- jr nz, .loop
- ret
-
-ReadMonMenuIcon: ; 8eab3
- cp EGG
- jr z, .egg
- dec a
- ld hl, MonMenuIcons
- ld e, a
- ld d, 0
- add hl, de
- ld a, [hl]
- ret
-.egg
- ld a, ICON_EGG
- ret
-; 8eac4
-
-
-INCLUDE "data/pokemon/menu_icons.asm"
-
-INCLUDE "data/icon_pointers.asm"
-
-INCLUDE "gfx/icons.asm"