diff options
| author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-09-28 15:32:05 +0100 | 
|---|---|---|
| committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-09-28 15:32:05 +0100 | 
| commit | a360facb6e51cf4f39e6c544dcddb86c79713a07 (patch) | |
| tree | 92a00330e3b17c00317bbe06c4fe4cd231853346 /src/engine | |
| parent | a53828331cf4c86f7d14e3b178eaa18817b514a3 (diff) | |
Split graphics data from bank 20
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/bank20.asm | 1205 | ||||
| -rw-r--r-- | src/engine/gfx/gfx_table_pointers.asm | 6 | ||||
| -rw-r--r-- | src/engine/gfx/palettes.asm | 170 | ||||
| -rw-r--r-- | src/engine/gfx/sprite_animations.asm | 224 | ||||
| -rw-r--r-- | src/engine/gfx/sprites.asm | 122 | ||||
| -rw-r--r-- | src/engine/gfx/tilemaps.asm | 114 | ||||
| -rw-r--r-- | src/engine/gfx/tilesets.asm | 95 | 
7 files changed, 777 insertions, 1159 deletions
| diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm index a8c03cc..bc71842 100644 --- a/src/engine/bank20.asm +++ b/src/engine/bank20.asm @@ -2,7 +2,7 @@  ; according to its Map Header configurations  ; if it's the Overworld Map, also prints the map name  ; and sets up the volcano animation -LoadMapGfxAndPermissions: ; 80000 (20:4000) +LoadMapGfxAndPermissions:  	call ClearSRAMBGMaps  	xor a  	ld [wTextBoxFrameType], a @@ -20,7 +20,7 @@ LoadMapGfxAndPermissions: ; 80000 (20:4000)  ; reloads the map tiles and permissions  ; after a textbox has been closed -ReloadMapAfterTextClose: ; 80028 (20:4028) +ReloadMapAfterTextClose:  	call ClearSRAMBGMaps  	lb bc, 0, 0  	call LoadTilemap_ToSRAM @@ -29,7 +29,7 @@ ReloadMapAfterTextClose: ; 80028 (20:4028)  	farcall Func_c3ee  	ret -LoadMapTilesAndPals: ; 8003d (20:403d) +LoadMapTilesAndPals:  	farcall LoadMapHeader  	farcall SetSGB2AndSGB3MapPalette  	lb bc, 0, 0 @@ -58,14 +58,14 @@ LoadMapTilesAndPals: ; 8003d (20:403d)  ; loads the BG map corresponding to wCurTilemap to SRAM  ; bc = starting coordinates -LoadTilemap_ToSRAM: ; 80077 (20:4077) +LoadTilemap_ToSRAM:  	ld a, TRUE  	ld [wWriteBGMapToSRAM], a  	jr LoadTilemap  ; loads the BG map corresponding to wCurTilemap to VRAM  ; bc = starting coordinates -LoadTilemap_ToVRAM: ; 8007e (20:407e) +LoadTilemap_ToVRAM:  	xor a ; FALSE  	ld [wWriteBGMapToSRAM], a  ;	fallthrough @@ -74,7 +74,7 @@ LoadTilemap_ToVRAM: ; 8007e (20:407e)  ; either loads them in VRAM or SRAM,  ; depending on wWriteBGMapToSRAM  ; bc = starting coordinates -LoadTilemap: ; 80082 (20:4082) +LoadTilemap:  	push hl  	push bc  	push de @@ -213,7 +213,7 @@ LoadTilemap: ; 80082 (20:4082)  	pop hl  	ret -Func_80148: ; 80148 (20:4148) +Func_80148:  	ld a, [wd291]  	or a  	ret z @@ -255,7 +255,7 @@ Func_80148: ; 80148 (20:4148)  ; if SRAM is the target address to copy,  ; copies data to sGfxBuffer0 or sGfxBuffer1  ; for VRAM0 or VRAM1 respectively -CopyBGDataToVRAMOrSRAM: ; 8016e (20:416e) +CopyBGDataToVRAMOrSRAM:  	ld a, [wWriteBGMapToSRAM]  	or a  	jp z, SafeCopyDataHLtoDE @@ -296,7 +296,7 @@ CopyBGDataToVRAMOrSRAM: ; 8016e (20:416e)  ; safely copies $20 bytes at a time  ; sGfxBuffer0 -> v0BGMap0  ; sGfxBuffer1 -> v0BGMap1 (if in CGB) -SafelyCopyBGMapFromSRAMToVRAM: ; 801a1 (20:41a1) +SafelyCopyBGMapFromSRAMToVRAM:  	push hl  	push bc  	push de @@ -348,7 +348,7 @@ SafelyCopyBGMapFromSRAMToVRAM: ; 801a1 (20:41a1)  	ret  ; clears sGfxBuffer0 and sGfxBuffer1 -ClearSRAMBGMaps: ; 801f1 (20:41f1) +ClearSRAMBGMaps:  	push hl  	push bc  	ldh a, [hBankSRAM] @@ -368,10 +368,10 @@ ClearSRAMBGMaps: ; 801f1 (20:41f1)  ; l - map data offset (0,2,4,6,8 for banks 0,1,2,3,4)  ; a - map index (inside of the given bank) -GetMapDataPointer: ; 8020f (20:420f) +GetMapDataPointer:  	push bc  	push af -	ld bc, MapDataPointers +	ld bc, GfxTablePointers  	ld h, $0  	add hl, bc  	ld c, [hl] @@ -389,18 +389,17 @@ GetMapDataPointer: ; 8020f (20:420f)  	ret  ; Loads a pointer from [hl] to wTempPointer. Adds the graphics bank offset ($20) -LoadGraphicsPointerFromHL: ; 80229 (20:4229) +LoadGraphicsPointerFromHL:  	ld a, [hli]  	ld [wTempPointer], a  	ld a, [hli]  	ld [wTempPointer + 1], a  	ld a, [hli] -	add BANK(MapDataPointers) +	add BANK(GfxTablePointers)  	ld [wTempPointerBank], a  	ret -; unreferenced? -Func_80238: ; 80238 (20:4238) +Func_80238: ; unreferenced  	push hl  	ld l, $2 ; Tilesets  	ld a, [wCurTileset] @@ -423,7 +422,7 @@ Func_80238: ; 80238 (20:4238)  ; a = sprite index within the data map  ; output:  ; a = number of tiles in sprite -Func_8025b: ; 8025b (20:425b) +Func_8025b:  	push hl  	ld l, $4 ; Sprites  	call GetMapDataPointer @@ -440,17 +439,17 @@ Func_8025b: ; 8025b (20:425b)  ; loads graphics data pointed by wTempPointer in wTempPointerBank  ; to the VRAM bank according to wd4cb, in address pointed by wVRAMPointer -LoadGfxDataFromTempPointerToVRAMBank: ; 80274 (20:4274) +LoadGfxDataFromTempPointerToVRAMBank:  	call GetTileOffsetPointerAndSwitchVRAM  	jr LoadGfxDataFromTempPointer -LoadGfxDataFromTempPointerToVRAMBank_Tiles0ToTiles2: ; 80279 (20:4279) +LoadGfxDataFromTempPointerToVRAMBank_Tiles0ToTiles2:  	call GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2  ;	fallthrough  ; loads graphics data pointed by wTempPointer in wTempPointerBank  ; to wVRAMPointer -LoadGfxDataFromTempPointer: ; 8027c (20:427c) +LoadGfxDataFromTempPointer:  	push hl  	push bc  	push de @@ -478,7 +477,7 @@ LoadGfxDataFromTempPointer: ; 8027c (20:427c)  ; convert wVRAMTileOffset to address in VRAM  ; and stores it in wVRAMPointer  ; switches VRAM according to wd4cb -GetTileOffsetPointerAndSwitchVRAM: ; 8029f (20:429f) +GetTileOffsetPointerAndSwitchVRAM:  ; address of the tile offset is wVRAMTileOffset * $10 + $8000  	ld a, [wVRAMTileOffset]  	swap a @@ -502,7 +501,7 @@ GetTileOffsetPointerAndSwitchVRAM: ; 8029f (20:429f)  ; switches VRAM according to wd4cb  ; then changes wVRAMPointer such that  ; addresses to Tiles0 is changed to Tiles2 -GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2: ; 802bb (20:42bb) +GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2:  	ld a, [wVRAMTileOffset]  	push af  	xor $80 ; toggle top bit @@ -516,7 +515,7 @@ GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2: ; 802bb (20:42bb)  	ret  ; loads tileset gfx to VRAM corresponding to wCurTileset -LoadTilesetGfx: ; 802d4 (20:42d4) +LoadTilesetGfx:  	push hl  	ld l, $02 ; Tilesets  	ld a, [wCurTileset] @@ -679,7 +678,7 @@ LoadTilesetGfx: ; 802d4 (20:42d4)  	ret  ; gets pointer to BG map with ID from wCurTilemap -Func_803b9: ; 803b9 (20:43b9) +Func_803b9:  	ld l, $00 ; Tilemaps  	ld a, [wCurTilemap]  	call GetMapDataPointer @@ -691,7 +690,7 @@ Func_803b9: ; 803b9 (20:43b9)  ; sets BGP in wLoadedPalData (if any)  ; then loads the rest of the palette data  ; a = palette index to load -SetBGPAndLoadedPal: ; 803c9 (20:43c9) +SetBGPAndLoadedPal:  	push hl  	push bc  	push de @@ -724,7 +723,7 @@ SetBGPAndLoadedPal: ; 803c9 (20:43c9)  ; b = palette index  ; c = palette size  ; hl = palette data to copy -LoadPaletteDataFromHL: ; 803ec (20:43ec) +LoadPaletteDataFromHL:  	push hl  	push bc  	push de @@ -768,7 +767,7 @@ LoadPaletteDataFromHL: ; 803ec (20:43ec)  	ret  ; loads palette index a -LoadPaletteData: ; 80418 (20:4418) +LoadPaletteData:  	push hl  	push bc  	push de @@ -824,7 +823,7 @@ LoadPaletteData: ; 80418 (20:4418)  	ret  ; copies palette data of index in a to wLoadedPalData -LoadPaletteDataToBuffer: ; 80456 (20:4456) +LoadPaletteDataToBuffer:  	push hl  	push bc  	push de @@ -853,14 +852,14 @@ LoadPaletteDataToBuffer: ; 80456 (20:4456)  	pop hl  	ret -ClearNumLoadedFramesetSubgroups: ; 8047b (20:447b) +ClearNumLoadedFramesetSubgroups:  	xor a  	ld [wNumLoadedFramesetSubgroups], a  	ret  ; for the current map, process the animation  ; data of its corresponding OW tiles -DoMapOWFrame: ; 80480 (20:4480) +DoMapOWFrame:  	push hl  	push bc  	ld a, [wCurMap] @@ -887,7 +886,7 @@ DoMapOWFrame: ; 80480 (20:4480)  	ret  ; processes the OW frameset pointed by hl -ProcessOWFrameset: ; 804a2 (20:44a2) +ProcessOWFrameset:  	push hl  	push bc  	ld a, l @@ -920,7 +919,7 @@ ProcessOWFrameset: ; 804a2 (20:44a2)  ; for each of the loaded frameset subgroups  ; load their tiles and advance their durations -DoLoadedFramesetSubgroupsFrame: ; 804d8 (20:44d8) +DoLoadedFramesetSubgroupsFrame:  	ld a, [wNumLoadedFramesetSubgroups]  	or a  	ret z @@ -941,7 +940,7 @@ DoLoadedFramesetSubgroupsFrame: ; 804d8 (20:44d8)  ; from subgroup in register c, get  ; from OW frameset in hl its corresponding  ; data offset and duration -GetOWFramesetSubgroupData: ; 804f3 (20:44f3) +GetOWFramesetSubgroupData:  	push hl  	push bc  	push hl @@ -965,7 +964,7 @@ GetOWFramesetSubgroupData: ; 804f3 (20:44f3)  ; if wCurOWFrameDuration == 0, processes next frame for OW map  ; by loading the tiles corresponding to current frame  ; if wCurOWFrameDuration != 0, then simply decrements it and returns -LoadOWFrameTiles: ; 8050c (20:450c) +LoadOWFrameTiles:  	ld a, [wCurOWFrameDuration]  	or a  	jr z, .next_frame @@ -1083,7 +1082,7 @@ LoadOWFrameTiles: ; 8050c (20:450c)  	ret  ; fills wOWFramesetSubgroups with $ff -ClearOWFramesetSubgroups: ; 8059a (20:459a) +ClearOWFramesetSubgroups:  	push hl  	push bc  	ld hl, wOWFramesetSubgroups @@ -1100,7 +1099,7 @@ ClearOWFramesetSubgroups: ; 8059a (20:459a)  ; copies wOWFramesetSubgroups + 2*c  ; to wCurOWFrameDataOffset and wCurOWFrameDuration  ; also returns its current duration -LoadOWFramesetSubgroup: ; 805aa (20:45aa) +LoadOWFramesetSubgroup:  	push hl  	push bc  	ld hl, wOWFramesetSubgroups @@ -1119,7 +1118,7 @@ LoadOWFramesetSubgroup: ; 805aa (20:45aa)  ; copies wCurOWFrameDataOffset and wCurOWFrameDuration  ; to wOWFramesetSubgroups + 2*c -StoreOWFramesetSubgroup: ; 805c1 (20:45c1) +StoreOWFramesetSubgroup:  	push hl  	push bc  	ld hl, wOWFramesetSubgroups @@ -1137,7 +1136,7 @@ StoreOWFramesetSubgroup: ; 805c1 (20:45c1)  INCLUDE "data/map_ow_framesets.asm"  ; clears wOWMapEvents -Func_80b7a: ; 80b7a (20:4b7a) +Func_80b7a:  	push hl  	push bc  	ld c, $b @@ -1152,7 +1151,7 @@ Func_80b7a: ; 80b7a (20:4b7a)  	ret  ; a = MAP_EVENT_* constant -Func_80b89: ; 80b89 (20:4b89) +Func_80b89:  	push hl  	push bc  	push af @@ -1173,14 +1172,14 @@ Func_80b89: ; 80b89 (20:4b89)  	pop hl  	ret -Func_80ba4: ; 80ba4 (20:4ba4) +Func_80ba4:  	push af  	xor a  	ld [wWriteBGMapToSRAM], a  	pop af  ;	fallthrough -Func_80baa: ; 80baa (20:4baa) +Func_80baa:  	push hl  	push bc  	push de @@ -1294,10 +1293,9 @@ Func_80baa: ; 80baa (20:4baa)  .ChallengeMachine  	db $0a, $00, TILEMAP_CHALLENGE_MACHINE_MAP_EVENT, TILEMAP_CHALLENGE_MACHINE_MAP_EVENT_CGB -	ret ; unreferenced stray ret? +	ret ; stray ret -; unreferenced? -Func_80c64: ; 80c64 (20:4c64) +Func_80c64: ; unreferenced  	ld a, [wLineSeparation]  	push af  	ld a, $01 ; no line separator @@ -1346,9 +1344,8 @@ Func_80c64: ; 80c64 (20:4c64)  	db SYM_SPACE ; tile behind cursor  	dw NULL ; function pointer if non-0 -; unreferenced?  ; fills Tiles0 with random bytes -Func_80cc3: ; 80cc3 (20:4cc3) +Func_80cc3: ; unreferenced  	call DisableLCD  	ld hl, v0Tiles0  	ld bc, $800 @@ -1361,12 +1358,12 @@ Func_80cc3: ; 80cc3 (20:4cc3)  	jr nz, .loop  	ret -Func_80cd6: ; 80cd6 (20:4cd6) +Func_80cd6:  	ret  ; seems to be used to look at each OW NPC sprites  ; with functions to rotate NPC and animate them -Func_80cd7: ; 80cd7 (20:4cd7) +Func_80cd7:  	call DisableLCD  	call EmptyScreen  	call Func_3ca4 @@ -1557,1118 +1554,8 @@ Func_80cd7: ; 80cd7 (20:4cd7)  	db SPRITE_OW_GRANNY,   SPRITE_ANIM_LIGHT_NPC_UP,     SPRITE_ANIM_YELLOW_NPC_UP    ; $2b  	db SPRITE_OW_AMY,      SPRITE_ANIM_SGB_AMY_LAYING,   SPRITE_ANIM_CGB_AMY_LAYING   ; $2c -SpriteNullAnimationPointer: ; 80e5a (20:4e5a) +SpriteNullAnimationPointer:  	dw SpriteNullAnimationFrame  SpriteNullAnimationFrame:  	db 0 - -; might be closer to "screen specific data" than map data -MapDataPointers: ; 80e5d (20:4e5d) -	dw Tilemaps -	dw Tilesets -	dw Sprites -	dw SpriteAnimations -	dw Palettes - -; \1 = pointer -; \2 = tileset -tilemap: MACRO -	dwb \1, BANK(\1) - BANK(Tilemaps) -	db \2 -ENDM - -Tilemaps: ; 80e67 (20:4e67) -	tilemap OverworldMapTilemap,               TILESET_OVERWORLD_MAP               ; TILEMAP_OVERWORLD_MAP -	tilemap OverworldMapCGBTilemap,            TILESET_OVERWORLD_MAP               ; TILEMAP_OVERWORLD_MAP_CGB -	tilemap MasonLaboratoryTilemap,            TILESET_MASON_LABORATORY            ; TILEMAP_MASON_LABORATORY -	tilemap MasonLaboratoryCGBTilemap,         TILESET_MASON_LABORATORY            ; TILEMAP_MASON_LABORATORY_CGB -	tilemap ChallengeMachineMapEventTilemap,   TILESET_MASON_LABORATORY            ; TILEMAP_CHALLENGE_MACHINE_MAP_EVENT -	tilemap ChallengeMachineMapEventCGBTilemap,TILESET_MASON_LABORATORY            ; TILEMAP_CHALLENGE_MACHINE_MAP_EVENT_CGB -	tilemap DeckMachineRoomTilemap,            TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_ROOM -	tilemap DeckMachineRoomCGBTilemap,         TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_ROOM_CGB -	tilemap DeckMachineMapEventTilemap,        TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_MAP_EVENT -	tilemap DeckMachineMapEventCGBTilemap,     TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_MAP_EVENT_CGB -	tilemap IshiharaTilemap,                   TILESET_ISHIHARA                    ; TILEMAP_ISHIHARA -	tilemap IshiharaCGBTilemap,                TILESET_ISHIHARA                    ; TILEMAP_ISHIHARA_CGB -	tilemap FightingClubEntranceTilemap,       TILESET_CLUB_ENTRANCE               ; TILEMAP_FIGHTING_CLUB_ENTRANCE -	tilemap FightingClubEntranceCGBTilemap,    TILESET_CLUB_ENTRANCE               ; TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB -	tilemap RockClubEntranceTilemap,           TILESET_CLUB_ENTRANCE               ; TILEMAP_ROCK_CLUB_ENTRANCE -	tilemap RockClubEntranceCGBTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_ROCK_CLUB_ENTRANCE_CGB -	tilemap WaterClubEntranceTilemap,          TILESET_CLUB_ENTRANCE               ; TILEMAP_WATER_CLUB_ENTRANCE -	tilemap WaterClubEntranceCGBTilemap,       TILESET_CLUB_ENTRANCE               ; TILEMAP_WATER_CLUB_ENTRANCE_CGB -	tilemap LightningClubEntranceTilemap,      TILESET_CLUB_ENTRANCE               ; TILEMAP_LIGHTNING_CLUB_ENTRANCE -	tilemap LightningClubEntranceCGBTilemap,   TILESET_CLUB_ENTRANCE               ; TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB -	tilemap GrassClubEntranceTilemap,          TILESET_CLUB_ENTRANCE               ; TILEMAP_GRASS_CLUB_ENTRANCE -	tilemap GrassClubEntranceCGBTilemap,       TILESET_CLUB_ENTRANCE               ; TILEMAP_GRASS_CLUB_ENTRANCE_CGB -	tilemap PsychicClubEntranceTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_PSYCHIC_CLUB_ENTRANCE -	tilemap PsychicClubEntranceCGBTilemap,     TILESET_CLUB_ENTRANCE               ; TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB -	tilemap ScienceClubEntranceTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_SCIENCE_CLUB_ENTRANCE -	tilemap ScienceClubEntranceCGBTilemap,     TILESET_CLUB_ENTRANCE               ; TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB -	tilemap FireClubEntranceTilemap,           TILESET_CLUB_ENTRANCE               ; TILEMAP_FIRE_CLUB_ENTRANCE -	tilemap FireClubEntranceCGBTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_FIRE_CLUB_ENTRANCE_CGB -	tilemap ChallengeHallEntranceTilemap,      TILESET_CLUB_ENTRANCE               ; TILEMAP_CHALLENGE_HALL_ENTRANCE -	tilemap ChallengeHallEntranceCGBTilemap,   TILESET_CLUB_ENTRANCE               ; TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB -	tilemap ClubLobbyTilemap,                  TILESET_CLUB_LOBBY                  ; TILEMAP_CLUB_LOBBY -	tilemap ClubLobbyCGBTilemap,               TILESET_CLUB_LOBBY                  ; TILEMAP_CLUB_LOBBY_CGB -	tilemap FightingClubTilemap,               TILESET_FIGHTING_CLUB               ; TILEMAP_FIGHTING_CLUB -	tilemap FightingClubCGBTilemap,            TILESET_FIGHTING_CLUB               ; TILEMAP_FIGHTING_CLUB_CGB -	tilemap RockClubTilemap,                   TILESET_ROCK_CLUB                   ; TILEMAP_ROCK_CLUB -	tilemap RockClubCGBTilemap,                TILESET_ROCK_CLUB                   ; TILEMAP_ROCK_CLUB_CGB -	tilemap WaterClubTilemap,                  TILESET_WATER_CLUB                  ; TILEMAP_WATER_CLUB -	tilemap WaterClubCGBTilemap,               TILESET_WATER_CLUB                  ; TILEMAP_WATER_CLUB_CGB -	tilemap LightningClubTilemap,              TILESET_LIGHTNING_CLUB              ; TILEMAP_LIGHTNING_CLUB -	tilemap LightningClubCGBTilemap,           TILESET_LIGHTNING_CLUB              ; TILEMAP_LIGHTNING_CLUB_CGB -	tilemap GrassClubTilemap,                  TILESET_GRASS_CLUB                  ; TILEMAP_GRASS_CLUB -	tilemap GrassClubCGBTilemap,               TILESET_GRASS_CLUB                  ; TILEMAP_GRASS_CLUB_CGB -	tilemap PsychicClubTilemap,                TILESET_PSYCHIC_CLUB                ; TILEMAP_PSYCHIC_CLUB -	tilemap PsychicClubCGBTilemap,             TILESET_PSYCHIC_CLUB                ; TILEMAP_PSYCHIC_CLUB_CGB -	tilemap ScienceClubTilemap,                TILESET_SCIENCE_CLUB                ; TILEMAP_SCIENCE_CLUB -	tilemap ScienceClubCGBTilemap,             TILESET_SCIENCE_CLUB                ; TILEMAP_SCIENCE_CLUB_CGB -	tilemap FireClubTilemap,                   TILESET_FIRE_CLUB                   ; TILEMAP_FIRE_CLUB -	tilemap FireClubCGBTilemap,                TILESET_FIRE_CLUB                   ; TILEMAP_FIRE_CLUB_CGB -	tilemap ChallengeHallTilemap,              TILESET_CHALLENGE_HALL              ; TILEMAP_CHALLENGE_HALL -	tilemap ChallengeHallCGBTilemap,           TILESET_CHALLENGE_HALL              ; TILEMAP_CHALLENGE_HALL_CGB -	tilemap PokemonDomeEntranceTilemap,        TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_ENTRANCE -	tilemap PokemonDomeEntranceCGBTilemap,     TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_ENTRANCE_CGB -	tilemap PokemonDomeDoorMapEventTilemap,    TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT -	tilemap PokemonDomeDoorMapEventCGBTilemap, TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT_CGB -	tilemap PokemonDomeTilemap,                TILESET_POKEMON_DOME                ; TILEMAP_POKEMON_DOME -	tilemap PokemonDomeCGBTilemap,             TILESET_POKEMON_DOME                ; TILEMAP_POKEMON_DOME_CGB -	tilemap HallOfHonorDoorMapEventTilemap,    TILESET_POKEMON_DOME                ; TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT -	tilemap HallOfHonorDoorMapEventCGBTilemap, TILESET_POKEMON_DOME                ; TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT_CGB -	tilemap HallOfHonorTilemap,                TILESET_HALL_OF_HONOR               ; TILEMAP_HALL_OF_HONOR -	tilemap HallOfHonorCGBTilemap,             TILESET_HALL_OF_HONOR               ; TILEMAP_HALL_OF_HONOR_CGB -	tilemap CardPopCGBTilemap,                 TILESET_CARD_POP                    ; TILEMAP_CARD_POP_CGB -	tilemap CardPopTilemap,                    TILESET_CARD_POP                    ; TILEMAP_CARD_POP -	tilemap GrassMedalTilemap,                 TILESET_MEDAL                       ; TILEMAP_GRASS_MEDAL -	tilemap ScienceMedalTilemap,               TILESET_MEDAL                       ; TILEMAP_SCIENCE_MEDAL -	tilemap FireMedalTilemap,                  TILESET_MEDAL                       ; TILEMAP_FIRE_MEDAL -	tilemap WaterMedalTilemap,                 TILESET_MEDAL                       ; TILEMAP_WATER_MEDAL -	tilemap LightningMedalTilemap,             TILESET_MEDAL                       ; TILEMAP_LIGHTNING_MEDAL -	tilemap FightingMedalTilemap,              TILESET_MEDAL                       ; TILEMAP_FIGHTING_MEDAL -	tilemap RockMedalTilemap,                  TILESET_MEDAL                       ; TILEMAP_ROCK_MEDAL -	tilemap PsychicMedalTilemap,               TILESET_MEDAL                       ; TILEMAP_PSYCHIC_MEDAL -	tilemap GameBoyLinkCGBTilemap,             TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK_CGB -	tilemap GameBoyLinkTilemap,                TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK -	tilemap GameBoyLinkConnectingCGBTilemap,   TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK_CONNECTING_CGB -	tilemap GameBoyLinkConnectingTilemap,      TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK_CONNECTING -	tilemap GameBoyPrinterCGBTilemap,          TILESET_GAMEBOY_PRINTER             ; TILEMAP_GAMEBOY_PRINTER_CGB -	tilemap GameBoyPrinterTilemap,             TILESET_GAMEBOY_PRINTER             ; TILEMAP_GAMEBOY_PRINTER -	tilemap ColosseumTilemap,                  TILESET_COLOSSEUM_1                 ; TILEMAP_COLOSSEUM -	tilemap ColosseumCGBTilemap,               TILESET_COLOSSEUM_2                 ; TILEMAP_COLOSSEUM_CGB -	tilemap EvolutionTilemap,                  TILESET_EVOLUTION_1                 ; TILEMAP_EVOLUTION -	tilemap EvolutionCGBTilemap,               TILESET_EVOLUTION_2                 ; TILEMAP_EVOLUTION_CGB -	tilemap MysteryTilemap,                    TILESET_MYSTERY_1                   ; TILEMAP_MYSTERY -	tilemap MysteryCGBTilemap,                 TILESET_MYSTERY_2                   ; TILEMAP_MYSTERY_CGB -	tilemap LaboratoryTilemap,                 TILESET_LABORATORY_1                ; TILEMAP_LABORATORY -	tilemap LaboratoryCGBTilemap,              TILESET_LABORATORY_2                ; TILEMAP_LABORATORY_CGB -	tilemap CharizardIntroTilemap,             TILESET_CHARIZARD_INTRO_1           ; TILEMAP_CHARIZARD_INTRO -	tilemap CharizardIntroCGBTilemap,          TILESET_CHARIZARD_INTRO_2           ; TILEMAP_CHARIZARD_INTRO_CGB -	tilemap ScytherIntroTilemap,               TILESET_SCYTHER_INTRO_1             ; TILEMAP_SCYTHER_INTRO -	tilemap ScytherIntroCGBTilemap,            TILESET_SCYTHER_INTRO_2             ; TILEMAP_SCYTHER_INTRO_CGB -	tilemap AerodactylIntroTilemap,            TILESET_AERODACTYL_INTRO_1          ; TILEMAP_AERODACTYL_INTRO -	tilemap AerodactylIntroCGBTilemap,         TILESET_AERODACTYL_INTRO_2          ; TILEMAP_AERODACTYL_INTRO_CGB -	tilemap JapaneseTitleScreenTilemap,        TILESET_JAPANESE_TITLE_SCREEN       ; TILEMAP_JAPANESE_TITLE_SCREEN -	tilemap JapaneseTitleScreenCGBTilemap,     TILESET_JAPANESE_TITLE_SCREEN_CGB   ; TILEMAP_JAPANESE_TITLE_SCREEN_CGB -	tilemap SolidTiles1Tilemap,                TILESET_SOLID_TILES_1               ; TILEMAP_SOLID_TILES_1 -	tilemap SolidTiles2Tilemap,                TILESET_SOLID_TILES_1               ; TILEMAP_SOLID_TILES_2 -	tilemap SolidTiles3Tilemap,                TILESET_SOLID_TILES_1               ; TILEMAP_SOLID_TILES_3 -	tilemap JapaneseTitleScreen2Tilemap,       TILESET_JAPANESE_TITLE_SCREEN_2     ; TILEMAP_JAPANESE_TITLE_SCREEN_2 -	tilemap JapaneseTitleScreen2CGBTilemap,    TILESET_JAPANESE_TITLE_SCREEN_2_CGB ; TILEMAP_JAPANESE_TITLE_SCREEN_2_CGB -	tilemap SolidTiles4Tilemap,                TILESET_SOLID_TILES_2               ; TILEMAP_SOLID_TILES_4 -	tilemap PlayerTilemap,                     TILESET_PLAYER                      ; TILEMAP_PLAYER -	tilemap OpponentTilemap,                   TILESET_RONALD                      ; TILEMAP_OPPONENT -	tilemap TitleScreenTilemap,                TILESET_TITLE_SCREEN                ; TILEMAP_TITLE_SCREEN -	tilemap TitleScreenCGBTilemap,             TILESET_TITLE_SCREEN_CGB            ; TILEMAP_TITLE_SCREEN_CGB -	tilemap CopyrightTilemap,                  TILESET_COPYRIGHT                   ; TILEMAP_COPYRIGHT -	tilemap CopyrightCGBTilemap,               TILESET_COPYRIGHT                   ; TILEMAP_COPYRIGHT_CGB -	tilemap NintendoTilemap,                   TILESET_NINTENDO                    ; TILEMAP_NINTENDO -	tilemap CompaniesTilemap,                  TILESET_COMPANIES                   ; TILEMAP_COMPANIES - -; \1 = pointer -; \2 = number of tiles -tileset: MACRO -	dwb \1, BANK(\1) - BANK(Tilesets) -	db \2 -ENDM - -Tilesets: ; 8100f (20:500f) -	tileset OverworldMapTiles,             193 ; TILESET_OVERWORLD_MAP -	tileset MasonLaboratoryTilesetGfx,     151 ; TILESET_MASON_LABORATORY -	tileset IshiharaTilesetGfx,             77 ; TILESET_ISHIHARA -	tileset ClubEntranceTilesetGfx,        129 ; TILESET_CLUB_ENTRANCE -	tileset ClubLobbyTilesetGfx,           120 ; TILESET_CLUB_LOBBY -	tileset FightingClubTilesetGfx,         99 ; TILESET_FIGHTING_CLUB -	tileset RockClubTilesetGfx,             60 ; TILESET_ROCK_CLUB -	tileset WaterClubTilesetGfx,           161 ; TILESET_WATER_CLUB -	tileset LightningClubTilesetGfx,       131 ; TILESET_LIGHTNING_CLUB -	tileset GrassClubTilesetGfx,            87 ; TILESET_GRASS_CLUB -	tileset PsychicClubTilesetGfx,          58 ; TILESET_PSYCHIC_CLUB -	tileset ScienceClubTilesetGfx,          82 ; TILESET_SCIENCE_CLUB -	tileset FireClubTilesetGfx,             87 ; TILESET_FIRE_CLUB -	tileset ChallengeHallTilesetGfx,       157 ; TILESET_CHALLENGE_HALL -	tileset PokemonDomeEntranceTilesetGfx,  78 ; TILESET_POKEMON_DOME_ENTRANCE -	tileset PokemonDomeTilesetGfx,         207 ; TILESET_POKEMON_DOME -	tileset HallOfHonorTilesetGfx,         121 ; TILESET_HALL_OF_HONOR -	tileset CardPopGfx,                    189 ; TILESET_CARD_POP -	tileset MedalGfx,                       72 ; TILESET_MEDAL -	tileset GameBoyLinkGfx,                109 ; TILESET_GAMEBOY_LINK -	tileset GameBoyPrinterGfx,              93 ; TILESET_GAMEBOY_PRINTER -	tileset Colosseum1Gfx,                  96 ; TILESET_COLOSSEUM_1 -	tileset Colosseum2Gfx,                  86 ; TILESET_COLOSSEUM_2 -	tileset Evolution1Gfx,                  96 ; TILESET_EVOLUTION_1 -	tileset Evolution2Gfx,                  86 ; TILESET_EVOLUTION_2 -	tileset Mystery1Gfx,                    96 ; TILESET_MYSTERY_1 -	tileset Mystery2Gfx,                    86 ; TILESET_MYSTERY_2 -	tileset Laboratory1Gfx,                 96 ; TILESET_LABORATORY_1 -	tileset Laboratory2Gfx,                 86 ; TILESET_LABORATORY_2 -	tileset CharizardIntro1Gfx,             96 ; TILESET_CHARIZARD_INTRO_1 -	tileset CharizardIntro2Gfx,             96 ; TILESET_CHARIZARD_INTRO_2 -	tileset ScytherIntro1Gfx,               96 ; TILESET_SCYTHER_INTRO_1 -	tileset ScytherIntro2Gfx,               96 ; TILESET_SCYTHER_INTRO_2 -	tileset AerodactylIntro1Gfx,            96 ; TILESET_AERODACTYL_INTRO_1 -	tileset AerodactylIntro2Gfx,            96 ; TILESET_AERODACTYL_INTRO_2 -	tileset JapaneseTitleScreenGfx,         97 ; TILESET_JAPANESE_TITLE_SCREEN -	tileset JapaneseTitleScreenCGBGfx,      97 ; TILESET_JAPANESE_TITLE_SCREEN_CGB -	tileset SolidTiles1,                     4 ; TILESET_SOLID_TILES_1 -	tileset JapaneseTitleScreen2Gfx,       244 ; TILESET_JAPANESE_TITLE_SCREEN_2 -	tileset JapaneseTitleScreen2CGBGfx,     59 ; TILESET_JAPANESE_TITLE_SCREEN_2_CGB -	tileset SolidTiles2,                     4 ; TILESET_SOLID_TILES_2 -	tileset PlayerGfx,                      36 ; TILESET_PLAYER -	tileset RonaldGfx,                      36 ; TILESET_RONALD -	tileset TitleScreenGfx,                220 ; TILESET_TITLE_SCREEN -	tileset TitleScreenCGBGfx,             212 ; TILESET_TITLE_SCREEN_CGB -	tileset CopyrightGfx,                   36 ; TILESET_COPYRIGHT -	tileset NintendoGfx,                    24 ; TILESET_NINTENDO -	tileset CompaniesGfx,                   49 ; TILESET_COMPANIES -	tileset SamGfx,                         36 ; TILESET_SAM -	tileset ImakuniGfx,                     36 ; TILESET_IMAKUNI -	tileset NikkiGfx,                       36 ; TILESET_NIKKI -	tileset RickGfx,                        36 ; TILESET_RICK -	tileset KenGfx,                         36 ; TILESET_KEN -	tileset AmyGfx,                         36 ; TILESET_AMY -	tileset IsaacGfx,                       36 ; TILESET_ISAAC -	tileset MitchGfx,                       36 ; TILESET_MITCH -	tileset GeneGfx,                        36 ; TILESET_GENE -	tileset MurrayGfx,                      36 ; TILESET_MURRAY -	tileset CourtneyGfx,                    36 ; TILESET_COURTNEY -	tileset SteveGfx,                       36 ; TILESET_STEVE -	tileset JackGfx,                        36 ; TILESET_JACK -	tileset RodGfx,                         36 ; TILESET_ROD -	tileset JosephGfx,                      36 ; TILESET_JOSEPH -	tileset DavidGfx,                       36 ; TILESET_DAVID -	tileset ErikGfx,                        36 ; TILESET_ERIK -	tileset JohnGfx,                        36 ; TILESET_JOHN -	tileset AdamGfx,                        36 ; TILESET_ADAM -	tileset JonathanGfx,                    36 ; TILESET_JONATHAN -	tileset JoshuaGfx,                      36 ; TILESET_JOSHUA -	tileset NicholasGfx,                    36 ; TILESET_NICHOLAS -	tileset BrandonGfx,                     36 ; TILESET_BRANDON -	tileset MatthewGfx,                     36 ; TILESET_MATTHEW -	tileset RyanGfx,                        36 ; TILESET_RYAN -	tileset AndrewGfx,                      36 ; TILESET_ANDREW -	tileset ChrisGfx,                       36 ; TILESET_CHRIS -	tileset MichaelGfx,                     36 ; TILESET_MICHAEL -	tileset DanielGfx,                      36 ; TILESET_DANIEL -	tileset RobertGfx,                      36 ; TILESET_ROBERT -	tileset BrittanyGfx,                    36 ; TILESET_BRITTANY -	tileset KristinGfx,                     36 ; TILESET_KRISTIN -	tileset HeatherGfx,                     36 ; TILESET_HEATHER -	tileset SaraGfx,                        36 ; TILESET_SARA -	tileset AmandaGfx,                      36 ; TILESET_AMANDA -	tileset JenniferGfx,                    36 ; TILESET_JENNIFER -	tileset JessicaGfx,                     36 ; TILESET_JESSICA -	tileset StephanieGfx,                   36 ; TILESET_STEPHANIE -	tileset AaronGfx,                       36 ; TILESET_AARON - -; \1 = gfx pointer -; \2 = number of tiles -gfx_pointer: MACRO -	dwb \1, BANK(\1) - BANK(Sprites) -	db \2 -ENDM - -Sprites: ; 8116b (20:516b) -	gfx_pointer OWPlayerGfx,        $14 ; SPRITE_OW_PLAYER -	gfx_pointer OWRonaldGfx,        $14 ; SPRITE_OW_RONALD -	gfx_pointer OWDrMasonGfx,       $14 ; SPRITE_OW_DRMASON -	gfx_pointer OWIshiharaGfx,      $14 ; SPRITE_OW_ISHIHARA -	gfx_pointer OWImakuniGfx,       $14 ; SPRITE_OW_IMAKUNI -	gfx_pointer OWNikkiGfx,         $14 ; SPRITE_OW_NIKKI -	gfx_pointer OWRickGfx,          $14 ; SPRITE_OW_RICK -	gfx_pointer OWKenGfx,           $14 ; SPRITE_OW_KEN -	gfx_pointer OWAmyGfx,           $1b ; SPRITE_OW_AMY -	gfx_pointer OWIsaacGfx,         $14 ; SPRITE_OW_ISAAC -	gfx_pointer OWMitchGfx,         $14 ; SPRITE_OW_MITCH -	gfx_pointer OWGeneGfx,          $14 ; SPRITE_OW_GENE -	gfx_pointer OWMurrayGfx,        $14 ; SPRITE_OW_MURRAY -	gfx_pointer OWCourtneyGfx,      $14 ; SPRITE_OW_COURTNEY -	gfx_pointer OWSteveGfx,         $14 ; SPRITE_OW_STEVE -	gfx_pointer OWJackGfx,          $14 ; SPRITE_OW_JACK -	gfx_pointer OWRodGfx,           $14 ; SPRITE_OW_ROD -	gfx_pointer OWBoyGfx,           $14 ; SPRITE_OW_BOY -	gfx_pointer OWLadGfx,           $14 ; SPRITE_OW_LAD -	gfx_pointer OWSpecsGfx,         $14 ; SPRITE_OW_SPECS -	gfx_pointer OWButchGfx,         $14 ; SPRITE_OW_BUTCH -	gfx_pointer OWManiaGfx,         $14 ; SPRITE_OW_MANIA -	gfx_pointer OWJoshuaGfx,        $14 ; SPRITE_OW_JOSHUA -	gfx_pointer OWHoodGfx,          $14 ; SPRITE_OW_HOOD -	gfx_pointer OWTechGfx,          $14 ; SPRITE_OW_TECH -	gfx_pointer OWChapGfx,          $14 ; SPRITE_OW_CHAP -	gfx_pointer OWManGfx,           $14 ; SPRITE_OW_MAN -	gfx_pointer OWPappyGfx,         $14 ; SPRITE_OW_PAPPY -	gfx_pointer OWGirlGfx,          $14 ; SPRITE_OW_GIRL -	gfx_pointer OWLass1Gfx,         $14 ; SPRITE_OW_LASS1 -	gfx_pointer OWLass2Gfx,         $14 ; SPRITE_OW_LASS2 -	gfx_pointer OWLass3Gfx,         $14 ; SPRITE_OW_LASS3 -	gfx_pointer OWSwimmerGfx,       $14 ; SPRITE_OW_SWIMMER -	gfx_pointer OWClerkGfx,         $08 ; SPRITE_OW_CLERK -	gfx_pointer OWGalGfx,           $14 ; SPRITE_OW_GAL -	gfx_pointer OWWomanGfx,         $14 ; SPRITE_OW_WOMAN -	gfx_pointer OWGrannyGfx,        $14 ; SPRITE_OW_GRANNY -	gfx_pointer OverworldMapOAMGfx, $08 ; SPRITE_OW_MAP_OAM -	gfx_pointer Duel0Gfx,           $16 ; SPRITE_DUEL_0 -	gfx_pointer Duel63Gfx,          $0a ; SPRITE_DUEL_63 -	gfx_pointer DuelGlowGfx,        $0b ; SPRITE_DUEL_GLOW -	gfx_pointer Duel1Gfx,           $06 ; SPRITE_DUEL_1 -	gfx_pointer Duel2Gfx,           $08 ; SPRITE_DUEL_2 -	gfx_pointer Duel55Gfx,          $02 ; SPRITE_DUEL_55 -	gfx_pointer Duel58Gfx,          $04 ; SPRITE_DUEL_58 -	gfx_pointer Duel3Gfx,           $09 ; SPRITE_DUEL_3 -	gfx_pointer Duel4Gfx,           $12 ; SPRITE_DUEL_4 -	gfx_pointer Duel5Gfx,           $09 ; SPRITE_DUEL_5 -	gfx_pointer Duel6Gfx,           $11 ; SPRITE_DUEL_6 -	gfx_pointer Duel59Gfx,          $03 ; SPRITE_DUEL_59 -	gfx_pointer Duel7Gfx,           $2d ; SPRITE_DUEL_7 -	gfx_pointer Duel8Gfx,           $0d ; SPRITE_DUEL_8 -	gfx_pointer Duel9Gfx,           $1c ; SPRITE_DUEL_9 -	gfx_pointer Duel10Gfx,          $4c ; SPRITE_DUEL_10 -	gfx_pointer Duel61Gfx,          $03 ; SPRITE_DUEL_61 -	gfx_pointer Duel11Gfx,          $1b ; SPRITE_DUEL_11 -	gfx_pointer Duel12Gfx,          $07 ; SPRITE_DUEL_12 -	gfx_pointer Duel13Gfx,          $0c ; SPRITE_DUEL_13 -	gfx_pointer Duel62Gfx,          $01 ; SPRITE_DUEL_62 -	gfx_pointer Duel14Gfx,          $22 ; SPRITE_DUEL_14 -	gfx_pointer Duel15Gfx,          $20 ; SPRITE_DUEL_15 -	gfx_pointer Duel16Gfx,          $0a ; SPRITE_DUEL_16 -	gfx_pointer Duel17Gfx,          $25 ; SPRITE_DUEL_17 -	gfx_pointer Duel18Gfx,          $18 ; SPRITE_DUEL_18 -	gfx_pointer Duel19Gfx,          $1b ; SPRITE_DUEL_19 -	gfx_pointer Duel20Gfx,          $08 ; SPRITE_DUEL_20 -	gfx_pointer Duel21Gfx,          $0d ; SPRITE_DUEL_21 -	gfx_pointer Duel22Gfx,          $22 ; SPRITE_DUEL_22 -	gfx_pointer Duel23Gfx,          $0c ; SPRITE_DUEL_23 -	gfx_pointer Duel24Gfx,          $25 ; SPRITE_DUEL_24 -	gfx_pointer Duel25Gfx,          $22 ; SPRITE_DUEL_25 -	gfx_pointer Duel26Gfx,          $0c ; SPRITE_DUEL_26 -	gfx_pointer Duel27Gfx,          $4c ; SPRITE_DUEL_27 -	gfx_pointer Duel28Gfx,          $08 ; SPRITE_DUEL_28 -	gfx_pointer Duel29Gfx,          $07 ; SPRITE_DUEL_29 -	gfx_pointer Duel56Gfx,          $01 ; SPRITE_DUEL_56 -	gfx_pointer Duel30Gfx,          $1a ; SPRITE_DUEL_30 -	gfx_pointer Duel31Gfx,          $0a ; SPRITE_DUEL_31 -	gfx_pointer Duel32Gfx,          $2e ; SPRITE_DUEL_32 -	gfx_pointer Duel33Gfx,          $08 ; SPRITE_DUEL_33 -	gfx_pointer Duel34Gfx,          $07 ; SPRITE_DUEL_34 -	gfx_pointer Duel35Gfx,          $1c ; SPRITE_DUEL_35 -	gfx_pointer Duel66Gfx,          $04 ; SPRITE_DUEL_66 -	gfx_pointer Duel36Gfx,          $08 ; SPRITE_DUEL_36 -	gfx_pointer Duel37Gfx,          $0b ; SPRITE_DUEL_37 -	gfx_pointer Duel57Gfx,          $01 ; SPRITE_DUEL_57 -	gfx_pointer Duel38Gfx,          $1c ; SPRITE_DUEL_38 -	gfx_pointer Duel39Gfx,          $16 ; SPRITE_DUEL_39 -	gfx_pointer Duel40Gfx,          $10 ; SPRITE_DUEL_40 -	gfx_pointer Duel41Gfx,          $0f ; SPRITE_DUEL_41 -	gfx_pointer Duel42Gfx,          $07 ; SPRITE_DUEL_42 -	gfx_pointer Duel43Gfx,          $0a ; SPRITE_DUEL_43 -	gfx_pointer Duel44Gfx,          $09 ; SPRITE_DUEL_44 -	gfx_pointer Duel60Gfx,          $02 ; SPRITE_DUEL_60 -	gfx_pointer Duel64Gfx,          $02 ; SPRITE_DUEL_64 -	gfx_pointer Duel45Gfx,          $03 ; SPRITE_DUEL_45 -	gfx_pointer Duel46Gfx,          $08 ; SPRITE_DUEL_46 -	gfx_pointer Duel47Gfx,          $0f ; SPRITE_DUEL_47 -	gfx_pointer Duel48Gfx,          $03 ; SPRITE_DUEL_48 -	gfx_pointer Duel49Gfx,          $05 ; SPRITE_DUEL_49 -	gfx_pointer Duel50Gfx,          $17 ; SPRITE_DUEL_50 -	gfx_pointer Duel51Gfx,          $36 ; SPRITE_DUEL_WON_LOST_DRAW -	gfx_pointer Duel52Gfx,          $0b ; SPRITE_DUEL_52 -	gfx_pointer Duel53Gfx,          $06 ; SPRITE_DUEL_53 -	gfx_pointer Duel54Gfx,          $16 ; SPRITE_DUEL_54 -	gfx_pointer BoosterPackOAMGfx,  $20 ; SPRITE_BOOSTER_PACK_OAM -	gfx_pointer PressStartGfx,      $14 ; SPRITE_PRESS_START -	gfx_pointer GrassGfx,           $04 ; SPRITE_GRASS -	gfx_pointer FireGfx,            $04 ; SPRITE_FIRE -	gfx_pointer WaterGfx,           $04 ; SPRITE_WATER -	gfx_pointer ColorlessGfx,       $04 ; SPRITE_COLORLESS -	gfx_pointer LightningGfx,       $04 ; SPRITE_LIGHTNING -	gfx_pointer PsychicGfx,         $04 ; SPRITE_PSYCHIC -	gfx_pointer FightingGfx,        $04 ; SPRITE_FIGHTING - -; \1 = anim data pointer -anim_data_pointer: MACRO -	dwb \1, BANK(\1) - BANK(SpriteAnimations) -	db $00 ; unused (padding?) -ENDM - -SpriteAnimations: ; 81333 (20:5333) -	anim_data_pointer AnimData0   ; SPRITE_ANIM_LIGHT_NPC_UP -	anim_data_pointer AnimData1   ; SPRITE_ANIM_LIGHT_NPC_RIGHT -	anim_data_pointer AnimData2   ; SPRITE_ANIM_LIGHT_NPC_DOWN -	anim_data_pointer AnimData3   ; SPRITE_ANIM_LIGHT_NPC_LEFT -	anim_data_pointer AnimData4   ; SPRITE_ANIM_DARK_NPC_UP -	anim_data_pointer AnimData5   ; SPRITE_ANIM_DARK_NPC_RIGHT -	anim_data_pointer AnimData6   ; SPRITE_ANIM_DARK_NPC_DOWN -	anim_data_pointer AnimData7   ; SPRITE_ANIM_DARK_NPC_LEFT -	anim_data_pointer AnimData8   ; SPRITE_ANIM_SGB_AMY_LAYING -	anim_data_pointer AnimData9   ; SPRITE_ANIM_SGB_AMY_STAND -	anim_data_pointer AnimData10  ; SPRITE_ANIM_SGB_CLERK_NPC_UP -	anim_data_pointer AnimData11  ; SPRITE_ANIM_SGB_CLERK_NPC_RIGHT -	anim_data_pointer AnimData12  ; SPRITE_ANIM_SGB_CLERK_NPC_DOWN -	anim_data_pointer AnimData13  ; SPRITE_ANIM_SGB_CLERK_NPC_LEFT -	anim_data_pointer AnimData14  ; SPRITE_ANIM_BLUE_NPC_UP -	anim_data_pointer AnimData15  ; SPRITE_ANIM_BLUE_NPC_RIGHT -	anim_data_pointer AnimData16  ; SPRITE_ANIM_BLUE_NPC_DOWN -	anim_data_pointer AnimData17  ; SPRITE_ANIM_BLUE_NPC_LEFT -	anim_data_pointer AnimData18  ; SPRITE_ANIM_PINK_NPC_UP -	anim_data_pointer AnimData19  ; SPRITE_ANIM_PINK_NPC_RIGHT -	anim_data_pointer AnimData20  ; SPRITE_ANIM_PINK_NPC_DOWN -	anim_data_pointer AnimData21  ; SPRITE_ANIM_PINK_NPC_LEFT -	anim_data_pointer AnimData22  ; SPRITE_ANIM_YELLOW_NPC_UP -	anim_data_pointer AnimData23  ; SPRITE_ANIM_YELLOW_NPC_RIGHT -	anim_data_pointer AnimData24  ; SPRITE_ANIM_YELLOW_NPC_DOWN -	anim_data_pointer AnimData25  ; SPRITE_ANIM_YELLOW_NPC_LEFT -	anim_data_pointer AnimData26  ; SPRITE_ANIM_GREEN_NPC_UP -	anim_data_pointer AnimData27  ; SPRITE_ANIM_GREEN_NPC_RIGHT -	anim_data_pointer AnimData28  ; SPRITE_ANIM_GREEN_NPC_DOWN -	anim_data_pointer AnimData29  ; SPRITE_ANIM_GREEN_NPC_LEFT -	anim_data_pointer AnimData30  ; SPRITE_ANIM_RED_NPC_UP -	anim_data_pointer AnimData31  ; SPRITE_ANIM_RED_NPC_RIGHT -	anim_data_pointer AnimData32  ; SPRITE_ANIM_RED_NPC_DOWN -	anim_data_pointer AnimData33  ; SPRITE_ANIM_RED_NPC_LEFT -	anim_data_pointer AnimData34  ; SPRITE_ANIM_PURPLE_NPC_UP -	anim_data_pointer AnimData35  ; SPRITE_ANIM_PURPLE_NPC_RIGHT -	anim_data_pointer AnimData36  ; SPRITE_ANIM_PURPLE_NPC_DOWN -	anim_data_pointer AnimData37  ; SPRITE_ANIM_PURPLE_NPC_LEFT -	anim_data_pointer AnimData38  ; SPRITE_ANIM_WHITE_NPC_UP -	anim_data_pointer AnimData39  ; SPRITE_ANIM_WHITE_NPC_RIGHT -	anim_data_pointer AnimData40  ; SPRITE_ANIM_WHITE_NPC_DOWN -	anim_data_pointer AnimData41  ; SPRITE_ANIM_WHITE_NPC_LEFT -	anim_data_pointer AnimData42  ; SPRITE_ANIM_INDIGO_NPC_UP -	anim_data_pointer AnimData43  ; SPRITE_ANIM_INDIGO_NPC_RIGHT -	anim_data_pointer AnimData44  ; SPRITE_ANIM_INDIGO_NPC_DOWN -	anim_data_pointer AnimData45  ; SPRITE_ANIM_INDIGO_NPC_LEFT -	anim_data_pointer AnimData46  ; SPRITE_ANIM_CGB_AMY_LAYING -	anim_data_pointer AnimData47  ; SPRITE_ANIM_CGB_AMY_STAND -	anim_data_pointer AnimData48  ; SPRITE_ANIM_CGB_CLERK_NPC_UP -	anim_data_pointer AnimData49  ; SPRITE_ANIM_CGB_CLERK_NPC_RIGHT -	anim_data_pointer AnimData50  ; SPRITE_ANIM_CGB_CLERK_NPC_DOWN -	anim_data_pointer AnimData51  ; SPRITE_ANIM_CGB_CLERK_NPC_LEFT -	anim_data_pointer AnimData52  ; SPRITE_ANIM_SGB_VOLCANO_SMOKE -	anim_data_pointer AnimData53  ; SPRITE_ANIM_SGB_OWMAP_CURSOR -	anim_data_pointer AnimData54  ; SPRITE_ANIM_SGB_OWMAP_CURSOR_FAST -	anim_data_pointer AnimData55  ; SPRITE_ANIM_CGB_VOLCANO_SMOKE -	anim_data_pointer AnimData56  ; SPRITE_ANIM_CGB_OWMAP_CURSOR -	anim_data_pointer AnimData57  ; SPRITE_ANIM_CGB_OWMAP_CURSOR_FAST -	anim_data_pointer AnimData58  ; SPRITE_ANIM_TORCH -	anim_data_pointer AnimData59  ; SPRITE_ANIM_SGB_CARD_TOP_LEFT -	anim_data_pointer AnimData60  ; SPRITE_ANIM_SGB_CARD_TOP_RIGHT -	anim_data_pointer AnimData61  ; SPRITE_ANIM_SGB_CARD_LEFT_SPARK -	anim_data_pointer AnimData62  ; SPRITE_ANIM_SGB_CARD_BOTTOM_LEFT -	anim_data_pointer AnimData63  ; SPRITE_ANIM_SGB_CARD_BOTTOM_RIGHT -	anim_data_pointer AnimData64  ; SPRITE_ANIM_SGB_CARD_RIGHT_SPARK -	anim_data_pointer AnimData65  ; SPRITE_ANIM_CGB_CARD_TOP_LEFT -	anim_data_pointer AnimData66  ; SPRITE_ANIM_CGB_CARD_TOP_RIGHT -	anim_data_pointer AnimData67  ; SPRITE_ANIM_CGB_CARD_LEFT_SPARK -	anim_data_pointer AnimData68  ; SPRITE_ANIM_CGB_CARD_BOTTOM_LEFT -	anim_data_pointer AnimData69  ; SPRITE_ANIM_CGB_CARD_BOTTOM_RIGHT -	anim_data_pointer AnimData70  ; SPRITE_ANIM_CGB_CARD_RIGHT_SPARK -	anim_data_pointer AnimData71  ; SPRITE_ANIM_71 -	anim_data_pointer AnimData72  ; SPRITE_ANIM_72 -	anim_data_pointer AnimData73  ; SPRITE_ANIM_73 -	anim_data_pointer AnimData74  ; SPRITE_ANIM_74 -	anim_data_pointer AnimData75  ; SPRITE_ANIM_75 -	anim_data_pointer AnimData76  ; SPRITE_ANIM_76 -	anim_data_pointer AnimData77  ; SPRITE_ANIM_77 -	anim_data_pointer AnimData78  ; SPRITE_ANIM_78 -	anim_data_pointer AnimData79  ; SPRITE_ANIM_79 -	anim_data_pointer AnimData80  ; SPRITE_ANIM_80 -	anim_data_pointer AnimData81  ; SPRITE_ANIM_81 -	anim_data_pointer AnimData82  ; SPRITE_ANIM_82 -	anim_data_pointer AnimData83  ; SPRITE_ANIM_83 -	anim_data_pointer AnimData84  ; SPRITE_ANIM_84 -	anim_data_pointer AnimData85  ; SPRITE_ANIM_85 -	anim_data_pointer AnimData86  ; SPRITE_ANIM_86 -	anim_data_pointer AnimData87  ; SPRITE_ANIM_87 -	anim_data_pointer AnimData88  ; SPRITE_ANIM_88 -	anim_data_pointer AnimData89  ; SPRITE_ANIM_89 -	anim_data_pointer AnimData90  ; SPRITE_ANIM_90 -	anim_data_pointer AnimData91  ; SPRITE_ANIM_91 -	anim_data_pointer AnimData92  ; SPRITE_ANIM_92 -	anim_data_pointer AnimData93  ; SPRITE_ANIM_93 -	anim_data_pointer AnimData94  ; SPRITE_ANIM_94 -	anim_data_pointer AnimData95  ; SPRITE_ANIM_95 -	anim_data_pointer AnimData96  ; SPRITE_ANIM_96 -	anim_data_pointer AnimData97  ; SPRITE_ANIM_97 -	anim_data_pointer AnimData98  ; SPRITE_ANIM_98 -	anim_data_pointer AnimData99  ; SPRITE_ANIM_99 -	anim_data_pointer AnimData100 ; SPRITE_ANIM_100 -	anim_data_pointer AnimData101 ; SPRITE_ANIM_101 -	anim_data_pointer AnimData102 ; SPRITE_ANIM_102 -	anim_data_pointer AnimData103 ; SPRITE_ANIM_103 -	anim_data_pointer AnimData104 ; SPRITE_ANIM_104 -	anim_data_pointer AnimData105 ; SPRITE_ANIM_105 -	anim_data_pointer AnimData106 ; SPRITE_ANIM_106 -	anim_data_pointer AnimData107 ; SPRITE_ANIM_107 -	anim_data_pointer AnimData108 ; SPRITE_ANIM_108 -	anim_data_pointer AnimData109 ; SPRITE_ANIM_109 -	anim_data_pointer AnimData110 ; SPRITE_ANIM_110 -	anim_data_pointer AnimData111 ; SPRITE_ANIM_111 -	anim_data_pointer AnimData112 ; SPRITE_ANIM_112 -	anim_data_pointer AnimData113 ; SPRITE_ANIM_113 -	anim_data_pointer AnimData114 ; SPRITE_ANIM_114 -	anim_data_pointer AnimData115 ; SPRITE_ANIM_115 -	anim_data_pointer AnimData116 ; SPRITE_ANIM_116 -	anim_data_pointer AnimData117 ; SPRITE_ANIM_117 -	anim_data_pointer AnimData118 ; SPRITE_ANIM_118 -	anim_data_pointer AnimData119 ; SPRITE_ANIM_119 -	anim_data_pointer AnimData120 ; SPRITE_ANIM_120 -	anim_data_pointer AnimData121 ; SPRITE_ANIM_121 -	anim_data_pointer AnimData122 ; SPRITE_ANIM_122 -	anim_data_pointer AnimData123 ; SPRITE_ANIM_123 -	anim_data_pointer AnimData124 ; SPRITE_ANIM_124 -	anim_data_pointer AnimData125 ; SPRITE_ANIM_125 -	anim_data_pointer AnimData126 ; SPRITE_ANIM_126 -	anim_data_pointer AnimData127 ; SPRITE_ANIM_127 -	anim_data_pointer AnimData128 ; SPRITE_ANIM_128 -	anim_data_pointer AnimData129 ; SPRITE_ANIM_129 -	anim_data_pointer AnimData130 ; SPRITE_ANIM_130 -	anim_data_pointer AnimData131 ; SPRITE_ANIM_131 -	anim_data_pointer AnimData132 ; SPRITE_ANIM_132 -	anim_data_pointer AnimData133 ; SPRITE_ANIM_133 -	anim_data_pointer AnimData134 ; SPRITE_ANIM_134 -	anim_data_pointer AnimData135 ; SPRITE_ANIM_135 -	anim_data_pointer AnimData136 ; SPRITE_ANIM_136 -	anim_data_pointer AnimData137 ; SPRITE_ANIM_137 -	anim_data_pointer AnimData138 ; SPRITE_ANIM_138 -	anim_data_pointer AnimData139 ; SPRITE_ANIM_139 -	anim_data_pointer AnimData140 ; SPRITE_ANIM_140 -	anim_data_pointer AnimData141 ; SPRITE_ANIM_141 -	anim_data_pointer AnimData142 ; SPRITE_ANIM_142 -	anim_data_pointer AnimData143 ; SPRITE_ANIM_143 -	anim_data_pointer AnimData144 ; SPRITE_ANIM_144 -	anim_data_pointer AnimData145 ; SPRITE_ANIM_145 -	anim_data_pointer AnimData146 ; SPRITE_ANIM_146 -	anim_data_pointer AnimData147 ; SPRITE_ANIM_147 -	anim_data_pointer AnimData148 ; SPRITE_ANIM_148 -	anim_data_pointer AnimData149 ; SPRITE_ANIM_149 -	anim_data_pointer AnimData150 ; SPRITE_ANIM_150 -	anim_data_pointer AnimData151 ; SPRITE_ANIM_151 -	anim_data_pointer AnimData152 ; SPRITE_ANIM_152 -	anim_data_pointer AnimData153 ; SPRITE_ANIM_153 -	anim_data_pointer AnimData154 ; SPRITE_ANIM_154 -	anim_data_pointer AnimData155 ; SPRITE_ANIM_155 -	anim_data_pointer AnimData156 ; SPRITE_ANIM_156 -	anim_data_pointer AnimData157 ; SPRITE_ANIM_157 -	anim_data_pointer AnimData158 ; SPRITE_ANIM_158 -	anim_data_pointer AnimData159 ; SPRITE_ANIM_159 -	anim_data_pointer AnimData160 ; SPRITE_ANIM_160 -	anim_data_pointer AnimData161 ; SPRITE_ANIM_161 -	anim_data_pointer AnimData162 ; SPRITE_ANIM_162 -	anim_data_pointer AnimData163 ; SPRITE_ANIM_163 -	anim_data_pointer AnimData164 ; SPRITE_ANIM_164 -	anim_data_pointer AnimData165 ; SPRITE_ANIM_165 -	anim_data_pointer AnimData166 ; SPRITE_ANIM_166 -	anim_data_pointer AnimData167 ; SPRITE_ANIM_167 -	anim_data_pointer AnimData168 ; SPRITE_ANIM_168 -	anim_data_pointer AnimData169 ; SPRITE_ANIM_169 -	anim_data_pointer AnimData170 ; SPRITE_ANIM_170 -	anim_data_pointer AnimData171 ; SPRITE_ANIM_171 -	anim_data_pointer AnimData172 ; SPRITE_ANIM_172 -	anim_data_pointer AnimData173 ; SPRITE_ANIM_173 -	anim_data_pointer AnimData174 ; SPRITE_ANIM_174 -	anim_data_pointer AnimData175 ; SPRITE_ANIM_175 -	anim_data_pointer AnimData176 ; SPRITE_ANIM_176 -	anim_data_pointer AnimData177 ; SPRITE_ANIM_177 -	anim_data_pointer AnimData178 ; SPRITE_ANIM_178 -	anim_data_pointer AnimData179 ; SPRITE_ANIM_179 -	anim_data_pointer AnimData180 ; SPRITE_ANIM_180 -	anim_data_pointer AnimData181 ; SPRITE_ANIM_181 -	anim_data_pointer AnimData182 ; SPRITE_ANIM_182 -	anim_data_pointer AnimData183 ; SPRITE_ANIM_183 -	anim_data_pointer AnimData184 ; SPRITE_ANIM_184 -	anim_data_pointer AnimData185 ; SPRITE_ANIM_185 -	anim_data_pointer AnimData186 ; SPRITE_ANIM_186 -	anim_data_pointer AnimData187 ; SPRITE_ANIM_187 -	anim_data_pointer AnimData188 ; SPRITE_ANIM_188 -	anim_data_pointer AnimData189 ; SPRITE_ANIM_189 -	anim_data_pointer AnimData190 ; SPRITE_ANIM_190 -	anim_data_pointer AnimData191 ; SPRITE_ANIM_191 -	anim_data_pointer AnimData192 ; SPRITE_ANIM_192 -	anim_data_pointer AnimData193 ; SPRITE_ANIM_193 -	anim_data_pointer AnimData194 ; SPRITE_ANIM_194 -	anim_data_pointer AnimData195 ; SPRITE_ANIM_195 -	anim_data_pointer AnimData196 ; SPRITE_ANIM_196 -	anim_data_pointer AnimData197 ; SPRITE_ANIM_197 -	anim_data_pointer AnimData198 ; SPRITE_ANIM_198 -	anim_data_pointer AnimData199 ; SPRITE_ANIM_199 -	anim_data_pointer AnimData200 ; SPRITE_ANIM_200 -	anim_data_pointer AnimData201 ; SPRITE_ANIM_201 -	anim_data_pointer AnimData202 ; SPRITE_ANIM_202 -	anim_data_pointer AnimData203 ; SPRITE_ANIM_203 -	anim_data_pointer AnimData204 ; SPRITE_ANIM_204 -	anim_data_pointer AnimData205 ; SPRITE_ANIM_205 -	anim_data_pointer AnimData206 ; SPRITE_ANIM_206 -	anim_data_pointer AnimData207 ; SPRITE_ANIM_207 -	anim_data_pointer AnimData208 ; SPRITE_ANIM_208 -	anim_data_pointer AnimData209 ; SPRITE_ANIM_209 -	anim_data_pointer AnimData210 ; SPRITE_ANIM_210 -	anim_data_pointer AnimData211 ; SPRITE_ANIM_211 -	anim_data_pointer AnimData212 ; SPRITE_ANIM_212 -	anim_data_pointer AnimData213 ; SPRITE_ANIM_213 -	anim_data_pointer AnimData214 ; SPRITE_ANIM_214 -	anim_data_pointer AnimData215 ; SPRITE_ANIM_215 -	anim_data_pointer AnimData216 ; SPRITE_ANIM_216 - -; \1 = palette pointer -; \2 = number of palettes -; \3 = number of OBJ colors -palette_pointer: MACRO -	dwb \1, BANK(\1) - BANK(Palettes) -	db (\2 << 4) + \3 -ENDM - -Palettes: ; 81697 (20:5697) -	palette_pointer Palette0,   8, 1 ; PALETTE_0 -	palette_pointer Palette1,   8, 0 ; PALETTE_1 -	palette_pointer Palette2,   8, 0 ; PALETTE_2 -	palette_pointer Palette3,   8, 0 ; PALETTE_3 -	palette_pointer Palette4,   8, 0 ; PALETTE_4 -	palette_pointer Palette5,   8, 0 ; PALETTE_5 -	palette_pointer Palette6,   8, 0 ; PALETTE_6 -	palette_pointer Palette7,   8, 0 ; PALETTE_7 -	palette_pointer Palette8,   8, 0 ; PALETTE_8 -	palette_pointer Palette9,   8, 0 ; PALETTE_9 -	palette_pointer Palette10,  8, 0 ; PALETTE_10 -	palette_pointer Palette11,  8, 0 ; PALETTE_11 -	palette_pointer Palette12,  8, 0 ; PALETTE_12 -	palette_pointer Palette13,  8, 0 ; PALETTE_13 -	palette_pointer Palette14,  8, 0 ; PALETTE_14 -	palette_pointer Palette15,  8, 0 ; PALETTE_15 -	palette_pointer Palette16,  8, 0 ; PALETTE_16 -	palette_pointer Palette17,  8, 0 ; PALETTE_17 -	palette_pointer Palette18,  8, 0 ; PALETTE_18 -	palette_pointer Palette19,  8, 0 ; PALETTE_19 -	palette_pointer Palette20,  8, 0 ; PALETTE_20 -	palette_pointer Palette21,  8, 0 ; PALETTE_21 -	palette_pointer Palette22,  8, 0 ; PALETTE_22 -	palette_pointer Palette23,  8, 0 ; PALETTE_23 -	palette_pointer Palette24,  8, 0 ; PALETTE_24 -	palette_pointer Palette25,  8, 0 ; PALETTE_25 -	palette_pointer Palette26,  8, 0 ; PALETTE_26 -	palette_pointer Palette27,  8, 0 ; PALETTE_27 -	palette_pointer Palette28,  8, 0 ; PALETTE_28 -	palette_pointer Palette29,  8, 2 ; PALETTE_29 -	palette_pointer Palette30,  8, 2 ; PALETTE_30 -	palette_pointer Palette31,  1, 1 ; PALETTE_31 -	palette_pointer Palette32,  1, 1 ; PALETTE_32 -	palette_pointer Palette33,  1, 1 ; PALETTE_33 -	palette_pointer Palette34,  1, 1 ; PALETTE_34 -	palette_pointer Palette35,  1, 1 ; PALETTE_35 -	palette_pointer Palette36,  1, 1 ; PALETTE_36 -	palette_pointer Palette37,  1, 1 ; PALETTE_37 -	palette_pointer Palette38,  1, 1 ; PALETTE_38 -	palette_pointer Palette39,  1, 1 ; PALETTE_39 -	palette_pointer Palette40,  1, 1 ; PALETTE_40 -	palette_pointer Palette41,  1, 1 ; PALETTE_41 -	palette_pointer Palette42,  1, 1 ; PALETTE_42 -	palette_pointer Palette43,  1, 1 ; PALETTE_43 -	palette_pointer Palette44,  1, 1 ; PALETTE_44 -	palette_pointer Palette45,  1, 1 ; PALETTE_45 -	palette_pointer Palette46,  1, 1 ; PALETTE_46 -	palette_pointer Palette47,  1, 1 ; PALETTE_47 -	palette_pointer Palette48,  1, 1 ; PALETTE_48 -	palette_pointer Palette49,  1, 1 ; PALETTE_49 -	palette_pointer Palette50,  1, 1 ; PALETTE_50 -	palette_pointer Palette51,  1, 1 ; PALETTE_51 -	palette_pointer Palette52,  1, 1 ; PALETTE_52 -	palette_pointer Palette53,  1, 1 ; PALETTE_53 -	palette_pointer Palette54,  1, 1 ; PALETTE_54 -	palette_pointer Palette55,  1, 1 ; PALETTE_55 -	palette_pointer Palette56,  1, 1 ; PALETTE_56 -	palette_pointer Palette57,  1, 1 ; PALETTE_57 -	palette_pointer Palette58,  1, 1 ; PALETTE_58 -	palette_pointer Palette59,  1, 1 ; PALETTE_59 -	palette_pointer Palette60,  1, 1 ; PALETTE_60 -	palette_pointer Palette61,  1, 1 ; PALETTE_61 -	palette_pointer Palette62,  1, 1 ; PALETTE_62 -	palette_pointer Palette63,  1, 1 ; PALETTE_63 -	palette_pointer Palette64,  1, 1 ; PALETTE_64 -	palette_pointer Palette65,  1, 1 ; PALETTE_65 -	palette_pointer Palette66,  1, 1 ; PALETTE_66 -	palette_pointer Palette67,  1, 1 ; PALETTE_67 -	palette_pointer Palette68,  1, 1 ; PALETTE_68 -	palette_pointer Palette69,  1, 1 ; PALETTE_69 -	palette_pointer Palette70,  1, 1 ; PALETTE_70 -	palette_pointer Palette71,  1, 1 ; PALETTE_71 -	palette_pointer Palette72,  1, 1 ; PALETTE_72 -	palette_pointer Palette73,  1, 1 ; PALETTE_73 -	palette_pointer Palette74,  1, 1 ; PALETTE_74 -	palette_pointer Palette75,  1, 1 ; PALETTE_75 -	palette_pointer Palette76,  1, 1 ; PALETTE_76 -	palette_pointer Palette77,  1, 1 ; PALETTE_77 -	palette_pointer Palette78,  1, 1 ; PALETTE_78 -	palette_pointer Palette79,  1, 1 ; PALETTE_79 -	palette_pointer Palette80,  1, 1 ; PALETTE_80 -	palette_pointer Palette81,  1, 1 ; PALETTE_81 -	palette_pointer Palette82,  1, 1 ; PALETTE_82 -	palette_pointer Palette83,  1, 1 ; PALETTE_83 -	palette_pointer Palette84,  1, 1 ; PALETTE_84 -	palette_pointer Palette85,  1, 1 ; PALETTE_85 -	palette_pointer Palette86,  1, 1 ; PALETTE_86 -	palette_pointer Palette87,  1, 1 ; PALETTE_87 -	palette_pointer Palette88,  1, 1 ; PALETTE_88 -	palette_pointer Palette89,  1, 1 ; PALETTE_89 -	palette_pointer Palette90,  1, 1 ; PALETTE_90 -	palette_pointer Palette91,  1, 1 ; PALETTE_91 -	palette_pointer Palette92,  1, 1 ; PALETTE_92 -	palette_pointer Palette93,  1, 1 ; PALETTE_93 -	palette_pointer Palette94,  8, 0 ; PALETTE_94 -	palette_pointer Palette95,  8, 0 ; PALETTE_95 -	palette_pointer Palette96,  8, 0 ; PALETTE_96 -	palette_pointer Palette97,  8, 0 ; PALETTE_97 -	palette_pointer Palette98,  8, 0 ; PALETTE_98 -	palette_pointer Palette99,  8, 0 ; PALETTE_99 -	palette_pointer Palette100, 8, 0 ; PALETTE_100 -	palette_pointer Palette101, 7, 0 ; PALETTE_101 -	palette_pointer Palette102, 7, 0 ; PALETTE_102 -	palette_pointer Palette103, 7, 0 ; PALETTE_103 -	palette_pointer Palette104, 7, 0 ; PALETTE_104 -	palette_pointer Palette105, 7, 0 ; PALETTE_105 -	palette_pointer Palette106, 7, 0 ; PALETTE_106 -	palette_pointer Palette107, 7, 0 ; PALETTE_107 -	palette_pointer Palette108, 0, 1 ; PALETTE_108 -	palette_pointer Palette109, 0, 1 ; PALETTE_109 -	palette_pointer Palette110, 0, 0 ; PALETTE_110 -	palette_pointer Palette111, 8, 1 ; PALETTE_111 -	palette_pointer Palette112, 8, 1 ; PALETTE_112 -	palette_pointer Palette113, 8, 1 ; PALETTE_113 -	palette_pointer Palette114, 4, 2 ; PALETTE_114 -	palette_pointer Palette115, 4, 2 ; PALETTE_115 -	palette_pointer Palette116, 4, 2 ; PALETTE_116 -	palette_pointer Palette117, 1, 0 ; PALETTE_117 -	palette_pointer Palette118, 6, 0 ; PALETTE_118 -	palette_pointer Palette119, 1, 0 ; PALETTE_119 -	palette_pointer Palette120, 1, 0 ; PALETTE_120 -	palette_pointer Palette121, 1, 0 ; PALETTE_121 -	palette_pointer Palette122, 1, 0 ; PALETTE_122 -	palette_pointer Palette123, 1, 0 ; PALETTE_123 -	palette_pointer Palette124, 1, 0 ; PALETTE_124 -	palette_pointer Palette125, 1, 0 ; PALETTE_125 -	palette_pointer Palette126, 1, 0 ; PALETTE_126 -	palette_pointer Palette127, 1, 0 ; PALETTE_127 -	palette_pointer Palette128, 1, 0 ; PALETTE_128 -	palette_pointer Palette129, 1, 0 ; PALETTE_129 -	palette_pointer Palette130, 1, 0 ; PALETTE_130 -	palette_pointer Palette131, 1, 0 ; PALETTE_131 -	palette_pointer Palette132, 1, 0 ; PALETTE_132 -	palette_pointer Palette133, 1, 0 ; PALETTE_133 -	palette_pointer Palette134, 1, 0 ; PALETTE_134 -	palette_pointer Palette135, 1, 0 ; PALETTE_135 -	palette_pointer Palette136, 1, 0 ; PALETTE_136 -	palette_pointer Palette137, 1, 0 ; PALETTE_137 -	palette_pointer Palette138, 1, 0 ; PALETTE_138 -	palette_pointer Palette139, 1, 0 ; PALETTE_139 -	palette_pointer Palette140, 1, 0 ; PALETTE_140 -	palette_pointer Palette141, 1, 0 ; PALETTE_141 -	palette_pointer Palette142, 1, 0 ; PALETTE_142 -	palette_pointer Palette143, 1, 0 ; PALETTE_143 -	palette_pointer Palette144, 1, 0 ; PALETTE_144 -	palette_pointer Palette145, 1, 0 ; PALETTE_145 -	palette_pointer Palette146, 1, 0 ; PALETTE_146 -	palette_pointer Palette147, 1, 0 ; PALETTE_147 -	palette_pointer Palette148, 1, 0 ; PALETTE_148 -	palette_pointer Palette149, 1, 0 ; PALETTE_149 -	palette_pointer Palette150, 1, 0 ; PALETTE_150 -	palette_pointer Palette151, 1, 0 ; PALETTE_151 -	palette_pointer Palette152, 1, 0 ; PALETTE_152 -	palette_pointer Palette153, 1, 0 ; PALETTE_153 -	palette_pointer Palette154, 1, 0 ; PALETTE_154 -	palette_pointer Palette155, 1, 0 ; PALETTE_155 -	palette_pointer Palette156, 1, 0 ; PALETTE_156 -	palette_pointer Palette157, 1, 0 ; PALETTE_157 -	palette_pointer Palette158, 1, 0 ; PALETTE_158 -	palette_pointer Palette159, 1, 0 ; PALETTE_159 -	palette_pointer Palette160, 1, 0 ; PALETTE_160 - -OverworldMapTilemap:: ; 8191b (20:591b) -	db $14 ; width -	db $12 ; height -	dw NULL -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/overworld_map.bin" - -OverworldMapCGBTilemap:: ; 81a22 (20:5a22) -	db $14 ; width -	db $12 ; height -	dw NULL -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/overworld_map_cgb.bin" - -MasonLaboratoryTilemap:: ; 81c13 (20:5c13) -	db $1c ; width -	db $1e ; height -	dw MasonLaboratoryPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/mason_laboratory.bin" -MasonLaboratoryPermissions: -	INCBIN "data/maps/permissions/mason_laboratory.bin" - -MasonLaboratoryCGBTilemap:: ; 81d2e (20:5d2e) -	db $1c ; width -	db $1e ; height -	dw MasonLaboratoryCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/mason_laboratory_cgb.bin" -MasonLaboratoryCGBPermissions: -	INCBIN "data/maps/permissions/mason_laboratory_cgb.bin" - -ChallengeMachineMapEventTilemap:: ; 81ed1 (20:5ed1) -	db $04 ; width -	db $06 ; height -	dw ChallengeMachineMapEventPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/challenge_machine_map_event.bin" -ChallengeMachineMapEventPermissions: -	INCBIN "data/maps/permissions/challenge_machine_map_event.bin" - -ChallengeMachineMapEventCGBTilemap:: ; 81ef5 (20:5ef5) -	db $04 ; width -	db $06 ; height -	dw ChallengeMachineMapEventCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/challenge_machine_map_event_cgb.bin" -ChallengeMachineMapEventCGBPermissions: -	INCBIN "data/maps/permissions/challenge_machine_map_event_cgb.bin" - -DeckMachineRoomTilemap:: ; 81f26 (20:5f26) -	db $18 ; width -	db $1e ; height -	dw DeckMachineRoomPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/deck_machine_room.bin" -DeckMachineRoomPermissions: -	INCBIN "data/maps/permissions/deck_machine_room.bin" - -DeckMachineRoomCGBTilemap:: ; 81feb (20:5feb) -	db $18 ; width -	db $1e ; height -	dw DeckMachineRoomCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/deck_machine_room_cgb.bin" -DeckMachineRoomCGBPermissions: -	INCBIN "data/maps/permissions/deck_machine_room_cgb.bin" - -DeckMachineMapEventTilemap:: ; 82143 (20:6143) -	db $04 ; width -	db $01 ; height -	dw DeckMachineMapEventPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/deck_machine_map_event.bin" -DeckMachineMapEventPermissions: -	INCBIN "data/maps/permissions/deck_machine_map_event.bin" - -DeckMachineMapEventCGBTilemap:: ; 82150 (20:6150) -	db $04 ; width -	db $01 ; height -	dw DeckMachineMapEventCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/deck_machine_map_event_cgb.bin" -DeckMachineMapEventCGBPermissions: -	INCBIN "data/maps/permissions/deck_machine_map_event_cgb.bin" - -IshiharaTilemap:: ; 82160 (20:6160) -	db $14 ; width -	db $18 ; height -	dw IshiharaPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/ishihara.bin" -IshiharaPermissions: -	INCBIN "data/maps/permissions/ishihara.bin" - -IshiharaCGBTilemap:: ; 82222 (20:6222) -	db $14 ; width -	db $18 ; height -	dw IshiharaCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/ishihara_cgb.bin" -IshiharaCGBPermissions: -	INCBIN "data/maps/permissions/ishihara_cgb.bin" - -FightingClubEntranceTilemap:: ; 82336 (20:6336) -	db $14 ; width -	db $12 ; height -	dw FightingClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/fighting_club_entrance.bin" -FightingClubEntrancePermissions: -	INCBIN "data/maps/permissions/fighting_club_entrance.bin" - -FightingClubEntranceCGBTilemap:: ; 82400 (20:6400) -	db $14 ; width -	db $12 ; height -	dw FightingClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/fighting_club_entrance_cgb.bin" -FightingClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/fighting_club_entrance_cgb.bin" - -RockClubEntranceTilemap:: ; 8251d (20:651d) -	db $14 ; width -	db $12 ; height -	dw RockClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/rock_club_entrance.bin" -RockClubEntrancePermissions: -	INCBIN "data/maps/permissions/rock_club_entrance.bin" - -RockClubEntranceCGBTilemap:: ; 825e7 (20:65e7) -	db $14 ; width -	db $12 ; height -	dw RockClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/rock_club_entrance_cgb.bin" -RockClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/rock_club_entrance_cgb.bin" - -WaterClubEntranceTilemap:: ; 82704 (20:6704) -	db $14 ; width -	db $12 ; height -	dw WaterClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/water_club_entrance.bin" -WaterClubEntrancePermissions: -	INCBIN "data/maps/permissions/water_club_entrance.bin" - -WaterClubEntranceCGBTilemap:: ; 827ce (20:67ce) -	db $14 ; width -	db $12 ; height -	dw WaterClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/water_club_entrance_cgb.bin" -WaterClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/water_club_entrance_cgb.bin" - -LightningClubEntranceTilemap:: ; 828eb (20:68eb) -	db $14 ; width -	db $12 ; height -	dw LightningClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/lightning_club_entrance.bin" -LightningClubEntrancePermissions: -	INCBIN "data/maps/permissions/lightning_club_entrance.bin" - -LightningClubEntranceCGBTilemap:: ; 829b5 (20:69b5) -	db $14 ; width -	db $12 ; height -	dw LightningClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/lightning_club_entrance_cgb.bin" -LightningClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/lightning_club_entrance_cgb.bin" - -GrassClubEntranceTilemap:: ; 82ad2 (20:6ad2) -	db $14 ; width -	db $12 ; height -	dw GrassClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/grass_club_entrance.bin" -GrassClubEntrancePermissions: -	INCBIN "data/maps/permissions/grass_club_entrance.bin" - -GrassClubEntranceCGBTilemap:: ; 82b9c (20:6b9c) -	db $14 ; width -	db $12 ; height -	dw GrassClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/grass_club_entrance_cgb.bin" -GrassClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/grass_club_entrance_cgb.bin" - -PsychicClubEntranceTilemap:: ; 82cb9 (20:6cb9) -	db $14 ; width -	db $12 ; height -	dw PsychicClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/psychic_club_entrance.bin" -PsychicClubEntrancePermissions: -	INCBIN "data/maps/permissions/psychic_club_entrance.bin" - -PsychicClubEntranceCGBTilemap:: ; 82d83 (20:6d83) -	db $14 ; width -	db $12 ; height -	dw PsychicClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/psychic_club_entrance_cgb.bin" -PsychicClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/psychic_club_entrance_cgb.bin" - -ScienceClubEntranceTilemap:: ; 82ea0 (20:6ea0) -	db $14 ; width -	db $12 ; height -	dw ScienceClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/science_club_entrance.bin" -ScienceClubEntrancePermissions: -	INCBIN "data/maps/permissions/science_club_entrance.bin" - -ScienceClubEntranceCGBTilemap:: ; 82f6a (20:6f6a) -	db $14 ; width -	db $12 ; height -	dw ScienceClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/science_club_entrance_cgb.bin" -ScienceClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/science_club_entrance_cgb.bin" - -FireClubEntranceTilemap:: ; 83087 (20:7087) -	db $14 ; width -	db $12 ; height -	dw FireClubEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/fire_club_entrance.bin" -FireClubEntrancePermissions: -	INCBIN "data/maps/permissions/fire_club_entrance.bin" - -FireClubEntranceCGBTilemap:: ; 83151 (20:7151) -	db $14 ; width -	db $12 ; height -	dw FireClubEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/fire_club_entrance_cgb.bin" -FireClubEntranceCGBPermissions: -	INCBIN "data/maps/permissions/fire_club_entrance_cgb.bin" - -ChallengeHallEntranceTilemap:: ; 8326e (20:726e) -	db $14 ; width -	db $12 ; height -	dw ChallengeHallEntrancePermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/challenge_hall_entrance.bin" -ChallengeHallEntrancePermissions: -	INCBIN "data/maps/permissions/challenge_hall_entrance.bin" - -ChallengeHallEntranceCGBTilemap:: ; 83321 (20:7321) -	db $14 ; width -	db $12 ; height -	dw ChallengeHallEntranceCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/challenge_hall_entrance_cgb.bin" -ChallengeHallEntranceCGBPermissions: -	INCBIN "data/maps/permissions/challenge_hall_entrance_cgb.bin" - -ClubLobbyTilemap:: ; 83424 (20:7424) -	db $1c ; width -	db $1a ; height -	dw ClubLobbyPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/club_lobby.bin" -ClubLobbyPermissions: -	INCBIN "data/maps/permissions/club_lobby.bin" - -ClubLobbyCGBTilemap:: ; 83545 (20:7545) -	db $1c ; width -	db $1a ; height -	dw ClubLobbyCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/club_lobby_cgb.bin" -ClubLobbyCGBPermissions: -	INCBIN "data/maps/permissions/club_lobby_cgb.bin" - -FightingClubTilemap:: ; 836db (20:76db) -	db $18 ; width -	db $12 ; height -	dw FightingClubPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/fighting_club.bin" -FightingClubPermissions: -	INCBIN "data/maps/permissions/fighting_club.bin" - -FightingClubCGBTilemap:: ; 8378c (20:778c) -	db $18 ; width -	db $12 ; height -	dw FightingClubCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/fighting_club_cgb.bin" -FightingClubCGBPermissions: -	INCBIN "data/maps/permissions/fighting_club_cgb.bin" - -RockClubTilemap:: ; 8388d (20:788d) -	db $1c ; width -	db $1e ; height -	dw RockClubPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/rock_club.bin" -RockClubPermissions: -	INCBIN "data/maps/permissions/rock_club.bin" - -RockClubCGBTilemap:: ; 839d6 (20:79d6) -	db $1c ; width -	db $1e ; height -	dw RockClubCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/rock_club_cgb.bin" -RockClubCGBPermissions: -	INCBIN "data/maps/permissions/rock_club_cgb.bin" - -PokemonDomeDoorMapEventTilemap:: ; 83bf1 (20:7bf1) -	db $04 ; width -	db $03 ; height -	dw PokemonDomeDoorMapEventPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/pokemon_dome_door_map_event.bin" -PokemonDomeDoorMapEventPermissions: -	INCBIN "data/maps/permissions/pokemon_dome_door_map_event.bin" - -PokemonDomeDoorMapEventCGBTilemap:: ; 83c03 (20:7c03) -	db $04 ; width -	db $03 ; height -	dw PokemonDomeDoorMapEventCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/pokemon_dome_door_map_event_cgb.bin" -PokemonDomeDoorMapEventCGBPermissions: -	INCBIN "data/maps/permissions/pokemon_dome_door_map_event_cgb.bin" - -HallOfHonorDoorMapEventTilemap:: ; 83c1a (20:7c1a) -	db $04 ; width -	db $03 ; height -	dw HallOfHonorDoorMapEventPermissions -	db FALSE ; cgb mode -	INCBIN "data/maps/tiles/hall_of_honor_door_map_event.bin" -HallOfHonorDoorMapEventPermissions: -	INCBIN "data/maps/permissions/hall_of_honor_door_map_event.bin" - -HallOfHonorDoorMapEventCGBTilemap:: ; 83c26 (20:7c26) -	db $04 ; width -	db $03 ; height -	dw HallOfHonorDoorMapEventCGBPermissions -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/hall_of_honor_door_map_event_cgb.bin" -HallOfHonorDoorMapEventCGBPermissions: -	INCBIN "data/maps/permissions/hall_of_honor_door_map_event_cgb.bin" - -GrassMedalTilemap:: ; 83c36 (20:7c36) -	db $03 ; width -	db $03 ; height -	dw NULL -	db TRUE ; cgb mode -	INCBIN "data/maps/tiles/grass_medal.bin" - -AnimData1:: ; 83c4c (20:7c4c) -	frame_table AnimFrameTable0 -	frame_data 3, 16, 0, 0 -	frame_data 4, 16, 0, 0 -	frame_data 0, 0, 0, 0 - -Palette110:: ; 83c5b (20:7c5b) -	db $00, $00 diff --git a/src/engine/gfx/gfx_table_pointers.asm b/src/engine/gfx/gfx_table_pointers.asm new file mode 100644 index 0000000..370ed15 --- /dev/null +++ b/src/engine/gfx/gfx_table_pointers.asm @@ -0,0 +1,6 @@ +GfxTablePointers: +	dw Tilemaps +	dw Tilesets +	dw Sprites +	dw SpriteAnimations +	dw Palettes diff --git a/src/engine/gfx/palettes.asm b/src/engine/gfx/palettes.asm new file mode 100644 index 0000000..8a0d71a --- /dev/null +++ b/src/engine/gfx/palettes.asm @@ -0,0 +1,170 @@ +; \1 = palette pointer +; \2 = number of palettes +; \3 = number of OBJ colors +palette_pointer: MACRO +	dwb \1, BANK(\1) - BANK(Palettes) +	db (\2 << 4) + \3 +ENDM + +Palettes: +	palette_pointer Palette0,   8, 1 ; PALETTE_0 +	palette_pointer Palette1,   8, 0 ; PALETTE_1 +	palette_pointer Palette2,   8, 0 ; PALETTE_2 +	palette_pointer Palette3,   8, 0 ; PALETTE_3 +	palette_pointer Palette4,   8, 0 ; PALETTE_4 +	palette_pointer Palette5,   8, 0 ; PALETTE_5 +	palette_pointer Palette6,   8, 0 ; PALETTE_6 +	palette_pointer Palette7,   8, 0 ; PALETTE_7 +	palette_pointer Palette8,   8, 0 ; PALETTE_8 +	palette_pointer Palette9,   8, 0 ; PALETTE_9 +	palette_pointer Palette10,  8, 0 ; PALETTE_10 +	palette_pointer Palette11,  8, 0 ; PALETTE_11 +	palette_pointer Palette12,  8, 0 ; PALETTE_12 +	palette_pointer Palette13,  8, 0 ; PALETTE_13 +	palette_pointer Palette14,  8, 0 ; PALETTE_14 +	palette_pointer Palette15,  8, 0 ; PALETTE_15 +	palette_pointer Palette16,  8, 0 ; PALETTE_16 +	palette_pointer Palette17,  8, 0 ; PALETTE_17 +	palette_pointer Palette18,  8, 0 ; PALETTE_18 +	palette_pointer Palette19,  8, 0 ; PALETTE_19 +	palette_pointer Palette20,  8, 0 ; PALETTE_20 +	palette_pointer Palette21,  8, 0 ; PALETTE_21 +	palette_pointer Palette22,  8, 0 ; PALETTE_22 +	palette_pointer Palette23,  8, 0 ; PALETTE_23 +	palette_pointer Palette24,  8, 0 ; PALETTE_24 +	palette_pointer Palette25,  8, 0 ; PALETTE_25 +	palette_pointer Palette26,  8, 0 ; PALETTE_26 +	palette_pointer Palette27,  8, 0 ; PALETTE_27 +	palette_pointer Palette28,  8, 0 ; PALETTE_28 +	palette_pointer Palette29,  8, 2 ; PALETTE_29 +	palette_pointer Palette30,  8, 2 ; PALETTE_30 +	palette_pointer Palette31,  1, 1 ; PALETTE_31 +	palette_pointer Palette32,  1, 1 ; PALETTE_32 +	palette_pointer Palette33,  1, 1 ; PALETTE_33 +	palette_pointer Palette34,  1, 1 ; PALETTE_34 +	palette_pointer Palette35,  1, 1 ; PALETTE_35 +	palette_pointer Palette36,  1, 1 ; PALETTE_36 +	palette_pointer Palette37,  1, 1 ; PALETTE_37 +	palette_pointer Palette38,  1, 1 ; PALETTE_38 +	palette_pointer Palette39,  1, 1 ; PALETTE_39 +	palette_pointer Palette40,  1, 1 ; PALETTE_40 +	palette_pointer Palette41,  1, 1 ; PALETTE_41 +	palette_pointer Palette42,  1, 1 ; PALETTE_42 +	palette_pointer Palette43,  1, 1 ; PALETTE_43 +	palette_pointer Palette44,  1, 1 ; PALETTE_44 +	palette_pointer Palette45,  1, 1 ; PALETTE_45 +	palette_pointer Palette46,  1, 1 ; PALETTE_46 +	palette_pointer Palette47,  1, 1 ; PALETTE_47 +	palette_pointer Palette48,  1, 1 ; PALETTE_48 +	palette_pointer Palette49,  1, 1 ; PALETTE_49 +	palette_pointer Palette50,  1, 1 ; PALETTE_50 +	palette_pointer Palette51,  1, 1 ; PALETTE_51 +	palette_pointer Palette52,  1, 1 ; PALETTE_52 +	palette_pointer Palette53,  1, 1 ; PALETTE_53 +	palette_pointer Palette54,  1, 1 ; PALETTE_54 +	palette_pointer Palette55,  1, 1 ; PALETTE_55 +	palette_pointer Palette56,  1, 1 ; PALETTE_56 +	palette_pointer Palette57,  1, 1 ; PALETTE_57 +	palette_pointer Palette58,  1, 1 ; PALETTE_58 +	palette_pointer Palette59,  1, 1 ; PALETTE_59 +	palette_pointer Palette60,  1, 1 ; PALETTE_60 +	palette_pointer Palette61,  1, 1 ; PALETTE_61 +	palette_pointer Palette62,  1, 1 ; PALETTE_62 +	palette_pointer Palette63,  1, 1 ; PALETTE_63 +	palette_pointer Palette64,  1, 1 ; PALETTE_64 +	palette_pointer Palette65,  1, 1 ; PALETTE_65 +	palette_pointer Palette66,  1, 1 ; PALETTE_66 +	palette_pointer Palette67,  1, 1 ; PALETTE_67 +	palette_pointer Palette68,  1, 1 ; PALETTE_68 +	palette_pointer Palette69,  1, 1 ; PALETTE_69 +	palette_pointer Palette70,  1, 1 ; PALETTE_70 +	palette_pointer Palette71,  1, 1 ; PALETTE_71 +	palette_pointer Palette72,  1, 1 ; PALETTE_72 +	palette_pointer Palette73,  1, 1 ; PALETTE_73 +	palette_pointer Palette74,  1, 1 ; PALETTE_74 +	palette_pointer Palette75,  1, 1 ; PALETTE_75 +	palette_pointer Palette76,  1, 1 ; PALETTE_76 +	palette_pointer Palette77,  1, 1 ; PALETTE_77 +	palette_pointer Palette78,  1, 1 ; PALETTE_78 +	palette_pointer Palette79,  1, 1 ; PALETTE_79 +	palette_pointer Palette80,  1, 1 ; PALETTE_80 +	palette_pointer Palette81,  1, 1 ; PALETTE_81 +	palette_pointer Palette82,  1, 1 ; PALETTE_82 +	palette_pointer Palette83,  1, 1 ; PALETTE_83 +	palette_pointer Palette84,  1, 1 ; PALETTE_84 +	palette_pointer Palette85,  1, 1 ; PALETTE_85 +	palette_pointer Palette86,  1, 1 ; PALETTE_86 +	palette_pointer Palette87,  1, 1 ; PALETTE_87 +	palette_pointer Palette88,  1, 1 ; PALETTE_88 +	palette_pointer Palette89,  1, 1 ; PALETTE_89 +	palette_pointer Palette90,  1, 1 ; PALETTE_90 +	palette_pointer Palette91,  1, 1 ; PALETTE_91 +	palette_pointer Palette92,  1, 1 ; PALETTE_92 +	palette_pointer Palette93,  1, 1 ; PALETTE_93 +	palette_pointer Palette94,  8, 0 ; PALETTE_94 +	palette_pointer Palette95,  8, 0 ; PALETTE_95 +	palette_pointer Palette96,  8, 0 ; PALETTE_96 +	palette_pointer Palette97,  8, 0 ; PALETTE_97 +	palette_pointer Palette98,  8, 0 ; PALETTE_98 +	palette_pointer Palette99,  8, 0 ; PALETTE_99 +	palette_pointer Palette100, 8, 0 ; PALETTE_100 +	palette_pointer Palette101, 7, 0 ; PALETTE_101 +	palette_pointer Palette102, 7, 0 ; PALETTE_102 +	palette_pointer Palette103, 7, 0 ; PALETTE_103 +	palette_pointer Palette104, 7, 0 ; PALETTE_104 +	palette_pointer Palette105, 7, 0 ; PALETTE_105 +	palette_pointer Palette106, 7, 0 ; PALETTE_106 +	palette_pointer Palette107, 7, 0 ; PALETTE_107 +	palette_pointer Palette108, 0, 1 ; PALETTE_108 +	palette_pointer Palette109, 0, 1 ; PALETTE_109 +	palette_pointer Palette110, 0, 0 ; PALETTE_110 +	palette_pointer Palette111, 8, 1 ; PALETTE_111 +	palette_pointer Palette112, 8, 1 ; PALETTE_112 +	palette_pointer Palette113, 8, 1 ; PALETTE_113 +	palette_pointer Palette114, 4, 2 ; PALETTE_114 +	palette_pointer Palette115, 4, 2 ; PALETTE_115 +	palette_pointer Palette116, 4, 2 ; PALETTE_116 +	palette_pointer Palette117, 1, 0 ; PALETTE_117 +	palette_pointer Palette118, 6, 0 ; PALETTE_118 +	palette_pointer Palette119, 1, 0 ; PALETTE_119 +	palette_pointer Palette120, 1, 0 ; PALETTE_120 +	palette_pointer Palette121, 1, 0 ; PALETTE_121 +	palette_pointer Palette122, 1, 0 ; PALETTE_122 +	palette_pointer Palette123, 1, 0 ; PALETTE_123 +	palette_pointer Palette124, 1, 0 ; PALETTE_124 +	palette_pointer Palette125, 1, 0 ; PALETTE_125 +	palette_pointer Palette126, 1, 0 ; PALETTE_126 +	palette_pointer Palette127, 1, 0 ; PALETTE_127 +	palette_pointer Palette128, 1, 0 ; PALETTE_128 +	palette_pointer Palette129, 1, 0 ; PALETTE_129 +	palette_pointer Palette130, 1, 0 ; PALETTE_130 +	palette_pointer Palette131, 1, 0 ; PALETTE_131 +	palette_pointer Palette132, 1, 0 ; PALETTE_132 +	palette_pointer Palette133, 1, 0 ; PALETTE_133 +	palette_pointer Palette134, 1, 0 ; PALETTE_134 +	palette_pointer Palette135, 1, 0 ; PALETTE_135 +	palette_pointer Palette136, 1, 0 ; PALETTE_136 +	palette_pointer Palette137, 1, 0 ; PALETTE_137 +	palette_pointer Palette138, 1, 0 ; PALETTE_138 +	palette_pointer Palette139, 1, 0 ; PALETTE_139 +	palette_pointer Palette140, 1, 0 ; PALETTE_140 +	palette_pointer Palette141, 1, 0 ; PALETTE_141 +	palette_pointer Palette142, 1, 0 ; PALETTE_142 +	palette_pointer Palette143, 1, 0 ; PALETTE_143 +	palette_pointer Palette144, 1, 0 ; PALETTE_144 +	palette_pointer Palette145, 1, 0 ; PALETTE_145 +	palette_pointer Palette146, 1, 0 ; PALETTE_146 +	palette_pointer Palette147, 1, 0 ; PALETTE_147 +	palette_pointer Palette148, 1, 0 ; PALETTE_148 +	palette_pointer Palette149, 1, 0 ; PALETTE_149 +	palette_pointer Palette150, 1, 0 ; PALETTE_150 +	palette_pointer Palette151, 1, 0 ; PALETTE_151 +	palette_pointer Palette152, 1, 0 ; PALETTE_152 +	palette_pointer Palette153, 1, 0 ; PALETTE_153 +	palette_pointer Palette154, 1, 0 ; PALETTE_154 +	palette_pointer Palette155, 1, 0 ; PALETTE_155 +	palette_pointer Palette156, 1, 0 ; PALETTE_156 +	palette_pointer Palette157, 1, 0 ; PALETTE_157 +	palette_pointer Palette158, 1, 0 ; PALETTE_158 +	palette_pointer Palette159, 1, 0 ; PALETTE_159 +	palette_pointer Palette160, 1, 0 ; PALETTE_160 diff --git a/src/engine/gfx/sprite_animations.asm b/src/engine/gfx/sprite_animations.asm new file mode 100644 index 0000000..7c432c6 --- /dev/null +++ b/src/engine/gfx/sprite_animations.asm @@ -0,0 +1,224 @@ +; \1 = anim data pointer +anim_data_pointer: MACRO +	dwb \1, BANK(\1) - BANK(SpriteAnimations) +	db $00 ; unused (padding?) +ENDM + +SpriteAnimations: +	anim_data_pointer AnimData0   ; SPRITE_ANIM_LIGHT_NPC_UP +	anim_data_pointer AnimData1   ; SPRITE_ANIM_LIGHT_NPC_RIGHT +	anim_data_pointer AnimData2   ; SPRITE_ANIM_LIGHT_NPC_DOWN +	anim_data_pointer AnimData3   ; SPRITE_ANIM_LIGHT_NPC_LEFT +	anim_data_pointer AnimData4   ; SPRITE_ANIM_DARK_NPC_UP +	anim_data_pointer AnimData5   ; SPRITE_ANIM_DARK_NPC_RIGHT +	anim_data_pointer AnimData6   ; SPRITE_ANIM_DARK_NPC_DOWN +	anim_data_pointer AnimData7   ; SPRITE_ANIM_DARK_NPC_LEFT +	anim_data_pointer AnimData8   ; SPRITE_ANIM_SGB_AMY_LAYING +	anim_data_pointer AnimData9   ; SPRITE_ANIM_SGB_AMY_STAND +	anim_data_pointer AnimData10  ; SPRITE_ANIM_SGB_CLERK_NPC_UP +	anim_data_pointer AnimData11  ; SPRITE_ANIM_SGB_CLERK_NPC_RIGHT +	anim_data_pointer AnimData12  ; SPRITE_ANIM_SGB_CLERK_NPC_DOWN +	anim_data_pointer AnimData13  ; SPRITE_ANIM_SGB_CLERK_NPC_LEFT +	anim_data_pointer AnimData14  ; SPRITE_ANIM_BLUE_NPC_UP +	anim_data_pointer AnimData15  ; SPRITE_ANIM_BLUE_NPC_RIGHT +	anim_data_pointer AnimData16  ; SPRITE_ANIM_BLUE_NPC_DOWN +	anim_data_pointer AnimData17  ; SPRITE_ANIM_BLUE_NPC_LEFT +	anim_data_pointer AnimData18  ; SPRITE_ANIM_PINK_NPC_UP +	anim_data_pointer AnimData19  ; SPRITE_ANIM_PINK_NPC_RIGHT +	anim_data_pointer AnimData20  ; SPRITE_ANIM_PINK_NPC_DOWN +	anim_data_pointer AnimData21  ; SPRITE_ANIM_PINK_NPC_LEFT +	anim_data_pointer AnimData22  ; SPRITE_ANIM_YELLOW_NPC_UP +	anim_data_pointer AnimData23  ; SPRITE_ANIM_YELLOW_NPC_RIGHT +	anim_data_pointer AnimData24  ; SPRITE_ANIM_YELLOW_NPC_DOWN +	anim_data_pointer AnimData25  ; SPRITE_ANIM_YELLOW_NPC_LEFT +	anim_data_pointer AnimData26  ; SPRITE_ANIM_GREEN_NPC_UP +	anim_data_pointer AnimData27  ; SPRITE_ANIM_GREEN_NPC_RIGHT +	anim_data_pointer AnimData28  ; SPRITE_ANIM_GREEN_NPC_DOWN +	anim_data_pointer AnimData29  ; SPRITE_ANIM_GREEN_NPC_LEFT +	anim_data_pointer AnimData30  ; SPRITE_ANIM_RED_NPC_UP +	anim_data_pointer AnimData31  ; SPRITE_ANIM_RED_NPC_RIGHT +	anim_data_pointer AnimData32  ; SPRITE_ANIM_RED_NPC_DOWN +	anim_data_pointer AnimData33  ; SPRITE_ANIM_RED_NPC_LEFT +	anim_data_pointer AnimData34  ; SPRITE_ANIM_PURPLE_NPC_UP +	anim_data_pointer AnimData35  ; SPRITE_ANIM_PURPLE_NPC_RIGHT +	anim_data_pointer AnimData36  ; SPRITE_ANIM_PURPLE_NPC_DOWN +	anim_data_pointer AnimData37  ; SPRITE_ANIM_PURPLE_NPC_LEFT +	anim_data_pointer AnimData38  ; SPRITE_ANIM_WHITE_NPC_UP +	anim_data_pointer AnimData39  ; SPRITE_ANIM_WHITE_NPC_RIGHT +	anim_data_pointer AnimData40  ; SPRITE_ANIM_WHITE_NPC_DOWN +	anim_data_pointer AnimData41  ; SPRITE_ANIM_WHITE_NPC_LEFT +	anim_data_pointer AnimData42  ; SPRITE_ANIM_INDIGO_NPC_UP +	anim_data_pointer AnimData43  ; SPRITE_ANIM_INDIGO_NPC_RIGHT +	anim_data_pointer AnimData44  ; SPRITE_ANIM_INDIGO_NPC_DOWN +	anim_data_pointer AnimData45  ; SPRITE_ANIM_INDIGO_NPC_LEFT +	anim_data_pointer AnimData46  ; SPRITE_ANIM_CGB_AMY_LAYING +	anim_data_pointer AnimData47  ; SPRITE_ANIM_CGB_AMY_STAND +	anim_data_pointer AnimData48  ; SPRITE_ANIM_CGB_CLERK_NPC_UP +	anim_data_pointer AnimData49  ; SPRITE_ANIM_CGB_CLERK_NPC_RIGHT +	anim_data_pointer AnimData50  ; SPRITE_ANIM_CGB_CLERK_NPC_DOWN +	anim_data_pointer AnimData51  ; SPRITE_ANIM_CGB_CLERK_NPC_LEFT +	anim_data_pointer AnimData52  ; SPRITE_ANIM_SGB_VOLCANO_SMOKE +	anim_data_pointer AnimData53  ; SPRITE_ANIM_SGB_OWMAP_CURSOR +	anim_data_pointer AnimData54  ; SPRITE_ANIM_SGB_OWMAP_CURSOR_FAST +	anim_data_pointer AnimData55  ; SPRITE_ANIM_CGB_VOLCANO_SMOKE +	anim_data_pointer AnimData56  ; SPRITE_ANIM_CGB_OWMAP_CURSOR +	anim_data_pointer AnimData57  ; SPRITE_ANIM_CGB_OWMAP_CURSOR_FAST +	anim_data_pointer AnimData58  ; SPRITE_ANIM_TORCH +	anim_data_pointer AnimData59  ; SPRITE_ANIM_SGB_CARD_TOP_LEFT +	anim_data_pointer AnimData60  ; SPRITE_ANIM_SGB_CARD_TOP_RIGHT +	anim_data_pointer AnimData61  ; SPRITE_ANIM_SGB_CARD_LEFT_SPARK +	anim_data_pointer AnimData62  ; SPRITE_ANIM_SGB_CARD_BOTTOM_LEFT +	anim_data_pointer AnimData63  ; SPRITE_ANIM_SGB_CARD_BOTTOM_RIGHT +	anim_data_pointer AnimData64  ; SPRITE_ANIM_SGB_CARD_RIGHT_SPARK +	anim_data_pointer AnimData65  ; SPRITE_ANIM_CGB_CARD_TOP_LEFT +	anim_data_pointer AnimData66  ; SPRITE_ANIM_CGB_CARD_TOP_RIGHT +	anim_data_pointer AnimData67  ; SPRITE_ANIM_CGB_CARD_LEFT_SPARK +	anim_data_pointer AnimData68  ; SPRITE_ANIM_CGB_CARD_BOTTOM_LEFT +	anim_data_pointer AnimData69  ; SPRITE_ANIM_CGB_CARD_BOTTOM_RIGHT +	anim_data_pointer AnimData70  ; SPRITE_ANIM_CGB_CARD_RIGHT_SPARK +	anim_data_pointer AnimData71  ; SPRITE_ANIM_71 +	anim_data_pointer AnimData72  ; SPRITE_ANIM_72 +	anim_data_pointer AnimData73  ; SPRITE_ANIM_73 +	anim_data_pointer AnimData74  ; SPRITE_ANIM_74 +	anim_data_pointer AnimData75  ; SPRITE_ANIM_75 +	anim_data_pointer AnimData76  ; SPRITE_ANIM_76 +	anim_data_pointer AnimData77  ; SPRITE_ANIM_77 +	anim_data_pointer AnimData78  ; SPRITE_ANIM_78 +	anim_data_pointer AnimData79  ; SPRITE_ANIM_79 +	anim_data_pointer AnimData80  ; SPRITE_ANIM_80 +	anim_data_pointer AnimData81  ; SPRITE_ANIM_81 +	anim_data_pointer AnimData82  ; SPRITE_ANIM_82 +	anim_data_pointer AnimData83  ; SPRITE_ANIM_83 +	anim_data_pointer AnimData84  ; SPRITE_ANIM_84 +	anim_data_pointer AnimData85  ; SPRITE_ANIM_85 +	anim_data_pointer AnimData86  ; SPRITE_ANIM_86 +	anim_data_pointer AnimData87  ; SPRITE_ANIM_87 +	anim_data_pointer AnimData88  ; SPRITE_ANIM_88 +	anim_data_pointer AnimData89  ; SPRITE_ANIM_89 +	anim_data_pointer AnimData90  ; SPRITE_ANIM_90 +	anim_data_pointer AnimData91  ; SPRITE_ANIM_91 +	anim_data_pointer AnimData92  ; SPRITE_ANIM_92 +	anim_data_pointer AnimData93  ; SPRITE_ANIM_93 +	anim_data_pointer AnimData94  ; SPRITE_ANIM_94 +	anim_data_pointer AnimData95  ; SPRITE_ANIM_95 +	anim_data_pointer AnimData96  ; SPRITE_ANIM_96 +	anim_data_pointer AnimData97  ; SPRITE_ANIM_97 +	anim_data_pointer AnimData98  ; SPRITE_ANIM_98 +	anim_data_pointer AnimData99  ; SPRITE_ANIM_99 +	anim_data_pointer AnimData100 ; SPRITE_ANIM_100 +	anim_data_pointer AnimData101 ; SPRITE_ANIM_101 +	anim_data_pointer AnimData102 ; SPRITE_ANIM_102 +	anim_data_pointer AnimData103 ; SPRITE_ANIM_103 +	anim_data_pointer AnimData104 ; SPRITE_ANIM_104 +	anim_data_pointer AnimData105 ; SPRITE_ANIM_105 +	anim_data_pointer AnimData106 ; SPRITE_ANIM_106 +	anim_data_pointer AnimData107 ; SPRITE_ANIM_107 +	anim_data_pointer AnimData108 ; SPRITE_ANIM_108 +	anim_data_pointer AnimData109 ; SPRITE_ANIM_109 +	anim_data_pointer AnimData110 ; SPRITE_ANIM_110 +	anim_data_pointer AnimData111 ; SPRITE_ANIM_111 +	anim_data_pointer AnimData112 ; SPRITE_ANIM_112 +	anim_data_pointer AnimData113 ; SPRITE_ANIM_113 +	anim_data_pointer AnimData114 ; SPRITE_ANIM_114 +	anim_data_pointer AnimData115 ; SPRITE_ANIM_115 +	anim_data_pointer AnimData116 ; SPRITE_ANIM_116 +	anim_data_pointer AnimData117 ; SPRITE_ANIM_117 +	anim_data_pointer AnimData118 ; SPRITE_ANIM_118 +	anim_data_pointer AnimData119 ; SPRITE_ANIM_119 +	anim_data_pointer AnimData120 ; SPRITE_ANIM_120 +	anim_data_pointer AnimData121 ; SPRITE_ANIM_121 +	anim_data_pointer AnimData122 ; SPRITE_ANIM_122 +	anim_data_pointer AnimData123 ; SPRITE_ANIM_123 +	anim_data_pointer AnimData124 ; SPRITE_ANIM_124 +	anim_data_pointer AnimData125 ; SPRITE_ANIM_125 +	anim_data_pointer AnimData126 ; SPRITE_ANIM_126 +	anim_data_pointer AnimData127 ; SPRITE_ANIM_127 +	anim_data_pointer AnimData128 ; SPRITE_ANIM_128 +	anim_data_pointer AnimData129 ; SPRITE_ANIM_129 +	anim_data_pointer AnimData130 ; SPRITE_ANIM_130 +	anim_data_pointer AnimData131 ; SPRITE_ANIM_131 +	anim_data_pointer AnimData132 ; SPRITE_ANIM_132 +	anim_data_pointer AnimData133 ; SPRITE_ANIM_133 +	anim_data_pointer AnimData134 ; SPRITE_ANIM_134 +	anim_data_pointer AnimData135 ; SPRITE_ANIM_135 +	anim_data_pointer AnimData136 ; SPRITE_ANIM_136 +	anim_data_pointer AnimData137 ; SPRITE_ANIM_137 +	anim_data_pointer AnimData138 ; SPRITE_ANIM_138 +	anim_data_pointer AnimData139 ; SPRITE_ANIM_139 +	anim_data_pointer AnimData140 ; SPRITE_ANIM_140 +	anim_data_pointer AnimData141 ; SPRITE_ANIM_141 +	anim_data_pointer AnimData142 ; SPRITE_ANIM_142 +	anim_data_pointer AnimData143 ; SPRITE_ANIM_143 +	anim_data_pointer AnimData144 ; SPRITE_ANIM_144 +	anim_data_pointer AnimData145 ; SPRITE_ANIM_145 +	anim_data_pointer AnimData146 ; SPRITE_ANIM_146 +	anim_data_pointer AnimData147 ; SPRITE_ANIM_147 +	anim_data_pointer AnimData148 ; SPRITE_ANIM_148 +	anim_data_pointer AnimData149 ; SPRITE_ANIM_149 +	anim_data_pointer AnimData150 ; SPRITE_ANIM_150 +	anim_data_pointer AnimData151 ; SPRITE_ANIM_151 +	anim_data_pointer AnimData152 ; SPRITE_ANIM_152 +	anim_data_pointer AnimData153 ; SPRITE_ANIM_153 +	anim_data_pointer AnimData154 ; SPRITE_ANIM_154 +	anim_data_pointer AnimData155 ; SPRITE_ANIM_155 +	anim_data_pointer AnimData156 ; SPRITE_ANIM_156 +	anim_data_pointer AnimData157 ; SPRITE_ANIM_157 +	anim_data_pointer AnimData158 ; SPRITE_ANIM_158 +	anim_data_pointer AnimData159 ; SPRITE_ANIM_159 +	anim_data_pointer AnimData160 ; SPRITE_ANIM_160 +	anim_data_pointer AnimData161 ; SPRITE_ANIM_161 +	anim_data_pointer AnimData162 ; SPRITE_ANIM_162 +	anim_data_pointer AnimData163 ; SPRITE_ANIM_163 +	anim_data_pointer AnimData164 ; SPRITE_ANIM_164 +	anim_data_pointer AnimData165 ; SPRITE_ANIM_165 +	anim_data_pointer AnimData166 ; SPRITE_ANIM_166 +	anim_data_pointer AnimData167 ; SPRITE_ANIM_167 +	anim_data_pointer AnimData168 ; SPRITE_ANIM_168 +	anim_data_pointer AnimData169 ; SPRITE_ANIM_169 +	anim_data_pointer AnimData170 ; SPRITE_ANIM_170 +	anim_data_pointer AnimData171 ; SPRITE_ANIM_171 +	anim_data_pointer AnimData172 ; SPRITE_ANIM_172 +	anim_data_pointer AnimData173 ; SPRITE_ANIM_173 +	anim_data_pointer AnimData174 ; SPRITE_ANIM_174 +	anim_data_pointer AnimData175 ; SPRITE_ANIM_175 +	anim_data_pointer AnimData176 ; SPRITE_ANIM_176 +	anim_data_pointer AnimData177 ; SPRITE_ANIM_177 +	anim_data_pointer AnimData178 ; SPRITE_ANIM_178 +	anim_data_pointer AnimData179 ; SPRITE_ANIM_179 +	anim_data_pointer AnimData180 ; SPRITE_ANIM_180 +	anim_data_pointer AnimData181 ; SPRITE_ANIM_181 +	anim_data_pointer AnimData182 ; SPRITE_ANIM_182 +	anim_data_pointer AnimData183 ; SPRITE_ANIM_183 +	anim_data_pointer AnimData184 ; SPRITE_ANIM_184 +	anim_data_pointer AnimData185 ; SPRITE_ANIM_185 +	anim_data_pointer AnimData186 ; SPRITE_ANIM_186 +	anim_data_pointer AnimData187 ; SPRITE_ANIM_187 +	anim_data_pointer AnimData188 ; SPRITE_ANIM_188 +	anim_data_pointer AnimData189 ; SPRITE_ANIM_189 +	anim_data_pointer AnimData190 ; SPRITE_ANIM_190 +	anim_data_pointer AnimData191 ; SPRITE_ANIM_191 +	anim_data_pointer AnimData192 ; SPRITE_ANIM_192 +	anim_data_pointer AnimData193 ; SPRITE_ANIM_193 +	anim_data_pointer AnimData194 ; SPRITE_ANIM_194 +	anim_data_pointer AnimData195 ; SPRITE_ANIM_195 +	anim_data_pointer AnimData196 ; SPRITE_ANIM_196 +	anim_data_pointer AnimData197 ; SPRITE_ANIM_197 +	anim_data_pointer AnimData198 ; SPRITE_ANIM_198 +	anim_data_pointer AnimData199 ; SPRITE_ANIM_199 +	anim_data_pointer AnimData200 ; SPRITE_ANIM_200 +	anim_data_pointer AnimData201 ; SPRITE_ANIM_201 +	anim_data_pointer AnimData202 ; SPRITE_ANIM_202 +	anim_data_pointer AnimData203 ; SPRITE_ANIM_203 +	anim_data_pointer AnimData204 ; SPRITE_ANIM_204 +	anim_data_pointer AnimData205 ; SPRITE_ANIM_205 +	anim_data_pointer AnimData206 ; SPRITE_ANIM_206 +	anim_data_pointer AnimData207 ; SPRITE_ANIM_207 +	anim_data_pointer AnimData208 ; SPRITE_ANIM_208 +	anim_data_pointer AnimData209 ; SPRITE_ANIM_209 +	anim_data_pointer AnimData210 ; SPRITE_ANIM_210 +	anim_data_pointer AnimData211 ; SPRITE_ANIM_211 +	anim_data_pointer AnimData212 ; SPRITE_ANIM_212 +	anim_data_pointer AnimData213 ; SPRITE_ANIM_213 +	anim_data_pointer AnimData214 ; SPRITE_ANIM_214 +	anim_data_pointer AnimData215 ; SPRITE_ANIM_215 +	anim_data_pointer AnimData216 ; SPRITE_ANIM_216 diff --git a/src/engine/gfx/sprites.asm b/src/engine/gfx/sprites.asm new file mode 100644 index 0000000..c2aa277 --- /dev/null +++ b/src/engine/gfx/sprites.asm @@ -0,0 +1,122 @@ +; \1 = gfx pointer +; \2 = number of tiles +gfx_pointer: MACRO +	dwb \1, BANK(\1) - BANK(Sprites) +	db \2 +ENDM + +Sprites: +	gfx_pointer OWPlayerGfx,        $14 ; SPRITE_OW_PLAYER +	gfx_pointer OWRonaldGfx,        $14 ; SPRITE_OW_RONALD +	gfx_pointer OWDrMasonGfx,       $14 ; SPRITE_OW_DRMASON +	gfx_pointer OWIshiharaGfx,      $14 ; SPRITE_OW_ISHIHARA +	gfx_pointer OWImakuniGfx,       $14 ; SPRITE_OW_IMAKUNI +	gfx_pointer OWNikkiGfx,         $14 ; SPRITE_OW_NIKKI +	gfx_pointer OWRickGfx,          $14 ; SPRITE_OW_RICK +	gfx_pointer OWKenGfx,           $14 ; SPRITE_OW_KEN +	gfx_pointer OWAmyGfx,           $1b ; SPRITE_OW_AMY +	gfx_pointer OWIsaacGfx,         $14 ; SPRITE_OW_ISAAC +	gfx_pointer OWMitchGfx,         $14 ; SPRITE_OW_MITCH +	gfx_pointer OWGeneGfx,          $14 ; SPRITE_OW_GENE +	gfx_pointer OWMurrayGfx,        $14 ; SPRITE_OW_MURRAY +	gfx_pointer OWCourtneyGfx,      $14 ; SPRITE_OW_COURTNEY +	gfx_pointer OWSteveGfx,         $14 ; SPRITE_OW_STEVE +	gfx_pointer OWJackGfx,          $14 ; SPRITE_OW_JACK +	gfx_pointer OWRodGfx,           $14 ; SPRITE_OW_ROD +	gfx_pointer OWBoyGfx,           $14 ; SPRITE_OW_BOY +	gfx_pointer OWLadGfx,           $14 ; SPRITE_OW_LAD +	gfx_pointer OWSpecsGfx,         $14 ; SPRITE_OW_SPECS +	gfx_pointer OWButchGfx,         $14 ; SPRITE_OW_BUTCH +	gfx_pointer OWManiaGfx,         $14 ; SPRITE_OW_MANIA +	gfx_pointer OWJoshuaGfx,        $14 ; SPRITE_OW_JOSHUA +	gfx_pointer OWHoodGfx,          $14 ; SPRITE_OW_HOOD +	gfx_pointer OWTechGfx,          $14 ; SPRITE_OW_TECH +	gfx_pointer OWChapGfx,          $14 ; SPRITE_OW_CHAP +	gfx_pointer OWManGfx,           $14 ; SPRITE_OW_MAN +	gfx_pointer OWPappyGfx,         $14 ; SPRITE_OW_PAPPY +	gfx_pointer OWGirlGfx,          $14 ; SPRITE_OW_GIRL +	gfx_pointer OWLass1Gfx,         $14 ; SPRITE_OW_LASS1 +	gfx_pointer OWLass2Gfx,         $14 ; SPRITE_OW_LASS2 +	gfx_pointer OWLass3Gfx,         $14 ; SPRITE_OW_LASS3 +	gfx_pointer OWSwimmerGfx,       $14 ; SPRITE_OW_SWIMMER +	gfx_pointer OWClerkGfx,         $08 ; SPRITE_OW_CLERK +	gfx_pointer OWGalGfx,           $14 ; SPRITE_OW_GAL +	gfx_pointer OWWomanGfx,         $14 ; SPRITE_OW_WOMAN +	gfx_pointer OWGrannyGfx,        $14 ; SPRITE_OW_GRANNY +	gfx_pointer OverworldMapOAMGfx, $08 ; SPRITE_OW_MAP_OAM +	gfx_pointer Duel0Gfx,           $16 ; SPRITE_DUEL_0 +	gfx_pointer Duel63Gfx,          $0a ; SPRITE_DUEL_63 +	gfx_pointer DuelGlowGfx,        $0b ; SPRITE_DUEL_GLOW +	gfx_pointer Duel1Gfx,           $06 ; SPRITE_DUEL_1 +	gfx_pointer Duel2Gfx,           $08 ; SPRITE_DUEL_2 +	gfx_pointer Duel55Gfx,          $02 ; SPRITE_DUEL_55 +	gfx_pointer Duel58Gfx,          $04 ; SPRITE_DUEL_58 +	gfx_pointer Duel3Gfx,           $09 ; SPRITE_DUEL_3 +	gfx_pointer Duel4Gfx,           $12 ; SPRITE_DUEL_4 +	gfx_pointer Duel5Gfx,           $09 ; SPRITE_DUEL_5 +	gfx_pointer Duel6Gfx,           $11 ; SPRITE_DUEL_6 +	gfx_pointer Duel59Gfx,          $03 ; SPRITE_DUEL_59 +	gfx_pointer Duel7Gfx,           $2d ; SPRITE_DUEL_7 +	gfx_pointer Duel8Gfx,           $0d ; SPRITE_DUEL_8 +	gfx_pointer Duel9Gfx,           $1c ; SPRITE_DUEL_9 +	gfx_pointer Duel10Gfx,          $4c ; SPRITE_DUEL_10 +	gfx_pointer Duel61Gfx,          $03 ; SPRITE_DUEL_61 +	gfx_pointer Duel11Gfx,          $1b ; SPRITE_DUEL_11 +	gfx_pointer Duel12Gfx,          $07 ; SPRITE_DUEL_12 +	gfx_pointer Duel13Gfx,          $0c ; SPRITE_DUEL_13 +	gfx_pointer Duel62Gfx,          $01 ; SPRITE_DUEL_62 +	gfx_pointer Duel14Gfx,          $22 ; SPRITE_DUEL_14 +	gfx_pointer Duel15Gfx,          $20 ; SPRITE_DUEL_15 +	gfx_pointer Duel16Gfx,          $0a ; SPRITE_DUEL_16 +	gfx_pointer Duel17Gfx,          $25 ; SPRITE_DUEL_17 +	gfx_pointer Duel18Gfx,          $18 ; SPRITE_DUEL_18 +	gfx_pointer Duel19Gfx,          $1b ; SPRITE_DUEL_19 +	gfx_pointer Duel20Gfx,          $08 ; SPRITE_DUEL_20 +	gfx_pointer Duel21Gfx,          $0d ; SPRITE_DUEL_21 +	gfx_pointer Duel22Gfx,          $22 ; SPRITE_DUEL_22 +	gfx_pointer Duel23Gfx,          $0c ; SPRITE_DUEL_23 +	gfx_pointer Duel24Gfx,          $25 ; SPRITE_DUEL_24 +	gfx_pointer Duel25Gfx,          $22 ; SPRITE_DUEL_25 +	gfx_pointer Duel26Gfx,          $0c ; SPRITE_DUEL_26 +	gfx_pointer Duel27Gfx,          $4c ; SPRITE_DUEL_27 +	gfx_pointer Duel28Gfx,          $08 ; SPRITE_DUEL_28 +	gfx_pointer Duel29Gfx,          $07 ; SPRITE_DUEL_29 +	gfx_pointer Duel56Gfx,          $01 ; SPRITE_DUEL_56 +	gfx_pointer Duel30Gfx,          $1a ; SPRITE_DUEL_30 +	gfx_pointer Duel31Gfx,          $0a ; SPRITE_DUEL_31 +	gfx_pointer Duel32Gfx,          $2e ; SPRITE_DUEL_32 +	gfx_pointer Duel33Gfx,          $08 ; SPRITE_DUEL_33 +	gfx_pointer Duel34Gfx,          $07 ; SPRITE_DUEL_34 +	gfx_pointer Duel35Gfx,          $1c ; SPRITE_DUEL_35 +	gfx_pointer Duel66Gfx,          $04 ; SPRITE_DUEL_66 +	gfx_pointer Duel36Gfx,          $08 ; SPRITE_DUEL_36 +	gfx_pointer Duel37Gfx,          $0b ; SPRITE_DUEL_37 +	gfx_pointer Duel57Gfx,          $01 ; SPRITE_DUEL_57 +	gfx_pointer Duel38Gfx,          $1c ; SPRITE_DUEL_38 +	gfx_pointer Duel39Gfx,          $16 ; SPRITE_DUEL_39 +	gfx_pointer Duel40Gfx,          $10 ; SPRITE_DUEL_40 +	gfx_pointer Duel41Gfx,          $0f ; SPRITE_DUEL_41 +	gfx_pointer Duel42Gfx,          $07 ; SPRITE_DUEL_42 +	gfx_pointer Duel43Gfx,          $0a ; SPRITE_DUEL_43 +	gfx_pointer Duel44Gfx,          $09 ; SPRITE_DUEL_44 +	gfx_pointer Duel60Gfx,          $02 ; SPRITE_DUEL_60 +	gfx_pointer Duel64Gfx,          $02 ; SPRITE_DUEL_64 +	gfx_pointer Duel45Gfx,          $03 ; SPRITE_DUEL_45 +	gfx_pointer Duel46Gfx,          $08 ; SPRITE_DUEL_46 +	gfx_pointer Duel47Gfx,          $0f ; SPRITE_DUEL_47 +	gfx_pointer Duel48Gfx,          $03 ; SPRITE_DUEL_48 +	gfx_pointer Duel49Gfx,          $05 ; SPRITE_DUEL_49 +	gfx_pointer Duel50Gfx,          $17 ; SPRITE_DUEL_50 +	gfx_pointer Duel51Gfx,          $36 ; SPRITE_DUEL_WON_LOST_DRAW +	gfx_pointer Duel52Gfx,          $0b ; SPRITE_DUEL_52 +	gfx_pointer Duel53Gfx,          $06 ; SPRITE_DUEL_53 +	gfx_pointer Duel54Gfx,          $16 ; SPRITE_DUEL_54 +	gfx_pointer BoosterPackOAMGfx,  $20 ; SPRITE_BOOSTER_PACK_OAM +	gfx_pointer PressStartGfx,      $14 ; SPRITE_PRESS_START +	gfx_pointer GrassGfx,           $04 ; SPRITE_GRASS +	gfx_pointer FireGfx,            $04 ; SPRITE_FIRE +	gfx_pointer WaterGfx,           $04 ; SPRITE_WATER +	gfx_pointer ColorlessGfx,       $04 ; SPRITE_COLORLESS +	gfx_pointer LightningGfx,       $04 ; SPRITE_LIGHTNING +	gfx_pointer PsychicGfx,         $04 ; SPRITE_PSYCHIC +	gfx_pointer FightingGfx,        $04 ; SPRITE_FIGHTING diff --git a/src/engine/gfx/tilemaps.asm b/src/engine/gfx/tilemaps.asm new file mode 100644 index 0000000..216cca1 --- /dev/null +++ b/src/engine/gfx/tilemaps.asm @@ -0,0 +1,114 @@ +; \1 = pointer +; \2 = tileset +tilemap: MACRO +	dwb \1, BANK(\1) - BANK(Tilemaps) +	db \2 +ENDM + +Tilemaps: +	tilemap OverworldMapTilemap,               TILESET_OVERWORLD_MAP               ; TILEMAP_OVERWORLD_MAP +	tilemap OverworldMapCGBTilemap,            TILESET_OVERWORLD_MAP               ; TILEMAP_OVERWORLD_MAP_CGB +	tilemap MasonLaboratoryTilemap,            TILESET_MASON_LABORATORY            ; TILEMAP_MASON_LABORATORY +	tilemap MasonLaboratoryCGBTilemap,         TILESET_MASON_LABORATORY            ; TILEMAP_MASON_LABORATORY_CGB +	tilemap ChallengeMachineMapEventTilemap,   TILESET_MASON_LABORATORY            ; TILEMAP_CHALLENGE_MACHINE_MAP_EVENT +	tilemap ChallengeMachineMapEventCGBTilemap,TILESET_MASON_LABORATORY            ; TILEMAP_CHALLENGE_MACHINE_MAP_EVENT_CGB +	tilemap DeckMachineRoomTilemap,            TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_ROOM +	tilemap DeckMachineRoomCGBTilemap,         TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_ROOM_CGB +	tilemap DeckMachineMapEventTilemap,        TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_MAP_EVENT +	tilemap DeckMachineMapEventCGBTilemap,     TILESET_MASON_LABORATORY            ; TILEMAP_DECK_MACHINE_MAP_EVENT_CGB +	tilemap IshiharaTilemap,                   TILESET_ISHIHARA                    ; TILEMAP_ISHIHARA +	tilemap IshiharaCGBTilemap,                TILESET_ISHIHARA                    ; TILEMAP_ISHIHARA_CGB +	tilemap FightingClubEntranceTilemap,       TILESET_CLUB_ENTRANCE               ; TILEMAP_FIGHTING_CLUB_ENTRANCE +	tilemap FightingClubEntranceCGBTilemap,    TILESET_CLUB_ENTRANCE               ; TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB +	tilemap RockClubEntranceTilemap,           TILESET_CLUB_ENTRANCE               ; TILEMAP_ROCK_CLUB_ENTRANCE +	tilemap RockClubEntranceCGBTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_ROCK_CLUB_ENTRANCE_CGB +	tilemap WaterClubEntranceTilemap,          TILESET_CLUB_ENTRANCE               ; TILEMAP_WATER_CLUB_ENTRANCE +	tilemap WaterClubEntranceCGBTilemap,       TILESET_CLUB_ENTRANCE               ; TILEMAP_WATER_CLUB_ENTRANCE_CGB +	tilemap LightningClubEntranceTilemap,      TILESET_CLUB_ENTRANCE               ; TILEMAP_LIGHTNING_CLUB_ENTRANCE +	tilemap LightningClubEntranceCGBTilemap,   TILESET_CLUB_ENTRANCE               ; TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB +	tilemap GrassClubEntranceTilemap,          TILESET_CLUB_ENTRANCE               ; TILEMAP_GRASS_CLUB_ENTRANCE +	tilemap GrassClubEntranceCGBTilemap,       TILESET_CLUB_ENTRANCE               ; TILEMAP_GRASS_CLUB_ENTRANCE_CGB +	tilemap PsychicClubEntranceTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_PSYCHIC_CLUB_ENTRANCE +	tilemap PsychicClubEntranceCGBTilemap,     TILESET_CLUB_ENTRANCE               ; TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB +	tilemap ScienceClubEntranceTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_SCIENCE_CLUB_ENTRANCE +	tilemap ScienceClubEntranceCGBTilemap,     TILESET_CLUB_ENTRANCE               ; TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB +	tilemap FireClubEntranceTilemap,           TILESET_CLUB_ENTRANCE               ; TILEMAP_FIRE_CLUB_ENTRANCE +	tilemap FireClubEntranceCGBTilemap,        TILESET_CLUB_ENTRANCE               ; TILEMAP_FIRE_CLUB_ENTRANCE_CGB +	tilemap ChallengeHallEntranceTilemap,      TILESET_CLUB_ENTRANCE               ; TILEMAP_CHALLENGE_HALL_ENTRANCE +	tilemap ChallengeHallEntranceCGBTilemap,   TILESET_CLUB_ENTRANCE               ; TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB +	tilemap ClubLobbyTilemap,                  TILESET_CLUB_LOBBY                  ; TILEMAP_CLUB_LOBBY +	tilemap ClubLobbyCGBTilemap,               TILESET_CLUB_LOBBY                  ; TILEMAP_CLUB_LOBBY_CGB +	tilemap FightingClubTilemap,               TILESET_FIGHTING_CLUB               ; TILEMAP_FIGHTING_CLUB +	tilemap FightingClubCGBTilemap,            TILESET_FIGHTING_CLUB               ; TILEMAP_FIGHTING_CLUB_CGB +	tilemap RockClubTilemap,                   TILESET_ROCK_CLUB                   ; TILEMAP_ROCK_CLUB +	tilemap RockClubCGBTilemap,                TILESET_ROCK_CLUB                   ; TILEMAP_ROCK_CLUB_CGB +	tilemap WaterClubTilemap,                  TILESET_WATER_CLUB                  ; TILEMAP_WATER_CLUB +	tilemap WaterClubCGBTilemap,               TILESET_WATER_CLUB                  ; TILEMAP_WATER_CLUB_CGB +	tilemap LightningClubTilemap,              TILESET_LIGHTNING_CLUB              ; TILEMAP_LIGHTNING_CLUB +	tilemap LightningClubCGBTilemap,           TILESET_LIGHTNING_CLUB              ; TILEMAP_LIGHTNING_CLUB_CGB +	tilemap GrassClubTilemap,                  TILESET_GRASS_CLUB                  ; TILEMAP_GRASS_CLUB +	tilemap GrassClubCGBTilemap,               TILESET_GRASS_CLUB                  ; TILEMAP_GRASS_CLUB_CGB +	tilemap PsychicClubTilemap,                TILESET_PSYCHIC_CLUB                ; TILEMAP_PSYCHIC_CLUB +	tilemap PsychicClubCGBTilemap,             TILESET_PSYCHIC_CLUB                ; TILEMAP_PSYCHIC_CLUB_CGB +	tilemap ScienceClubTilemap,                TILESET_SCIENCE_CLUB                ; TILEMAP_SCIENCE_CLUB +	tilemap ScienceClubCGBTilemap,             TILESET_SCIENCE_CLUB                ; TILEMAP_SCIENCE_CLUB_CGB +	tilemap FireClubTilemap,                   TILESET_FIRE_CLUB                   ; TILEMAP_FIRE_CLUB +	tilemap FireClubCGBTilemap,                TILESET_FIRE_CLUB                   ; TILEMAP_FIRE_CLUB_CGB +	tilemap ChallengeHallTilemap,              TILESET_CHALLENGE_HALL              ; TILEMAP_CHALLENGE_HALL +	tilemap ChallengeHallCGBTilemap,           TILESET_CHALLENGE_HALL              ; TILEMAP_CHALLENGE_HALL_CGB +	tilemap PokemonDomeEntranceTilemap,        TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_ENTRANCE +	tilemap PokemonDomeEntranceCGBTilemap,     TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_ENTRANCE_CGB +	tilemap PokemonDomeDoorMapEventTilemap,    TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT +	tilemap PokemonDomeDoorMapEventCGBTilemap, TILESET_POKEMON_DOME_ENTRANCE       ; TILEMAP_POKEMON_DOME_DOOR_MAP_EVENT_CGB +	tilemap PokemonDomeTilemap,                TILESET_POKEMON_DOME                ; TILEMAP_POKEMON_DOME +	tilemap PokemonDomeCGBTilemap,             TILESET_POKEMON_DOME                ; TILEMAP_POKEMON_DOME_CGB +	tilemap HallOfHonorDoorMapEventTilemap,    TILESET_POKEMON_DOME                ; TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT +	tilemap HallOfHonorDoorMapEventCGBTilemap, TILESET_POKEMON_DOME                ; TILEMAP_HALL_OF_HONOR_DOOR_MAP_EVENT_CGB +	tilemap HallOfHonorTilemap,                TILESET_HALL_OF_HONOR               ; TILEMAP_HALL_OF_HONOR +	tilemap HallOfHonorCGBTilemap,             TILESET_HALL_OF_HONOR               ; TILEMAP_HALL_OF_HONOR_CGB +	tilemap CardPopCGBTilemap,                 TILESET_CARD_POP                    ; TILEMAP_CARD_POP_CGB +	tilemap CardPopTilemap,                    TILESET_CARD_POP                    ; TILEMAP_CARD_POP +	tilemap GrassMedalTilemap,                 TILESET_MEDAL                       ; TILEMAP_GRASS_MEDAL +	tilemap ScienceMedalTilemap,               TILESET_MEDAL                       ; TILEMAP_SCIENCE_MEDAL +	tilemap FireMedalTilemap,                  TILESET_MEDAL                       ; TILEMAP_FIRE_MEDAL +	tilemap WaterMedalTilemap,                 TILESET_MEDAL                       ; TILEMAP_WATER_MEDAL +	tilemap LightningMedalTilemap,             TILESET_MEDAL                       ; TILEMAP_LIGHTNING_MEDAL +	tilemap FightingMedalTilemap,              TILESET_MEDAL                       ; TILEMAP_FIGHTING_MEDAL +	tilemap RockMedalTilemap,                  TILESET_MEDAL                       ; TILEMAP_ROCK_MEDAL +	tilemap PsychicMedalTilemap,               TILESET_MEDAL                       ; TILEMAP_PSYCHIC_MEDAL +	tilemap GameBoyLinkCGBTilemap,             TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK_CGB +	tilemap GameBoyLinkTilemap,                TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK +	tilemap GameBoyLinkConnectingCGBTilemap,   TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK_CONNECTING_CGB +	tilemap GameBoyLinkConnectingTilemap,      TILESET_GAMEBOY_LINK                ; TILEMAP_GAMEBOY_LINK_CONNECTING +	tilemap GameBoyPrinterCGBTilemap,          TILESET_GAMEBOY_PRINTER             ; TILEMAP_GAMEBOY_PRINTER_CGB +	tilemap GameBoyPrinterTilemap,             TILESET_GAMEBOY_PRINTER             ; TILEMAP_GAMEBOY_PRINTER +	tilemap ColosseumTilemap,                  TILESET_COLOSSEUM_1                 ; TILEMAP_COLOSSEUM +	tilemap ColosseumCGBTilemap,               TILESET_COLOSSEUM_2                 ; TILEMAP_COLOSSEUM_CGB +	tilemap EvolutionTilemap,                  TILESET_EVOLUTION_1                 ; TILEMAP_EVOLUTION +	tilemap EvolutionCGBTilemap,               TILESET_EVOLUTION_2                 ; TILEMAP_EVOLUTION_CGB +	tilemap MysteryTilemap,                    TILESET_MYSTERY_1                   ; TILEMAP_MYSTERY +	tilemap MysteryCGBTilemap,                 TILESET_MYSTERY_2                   ; TILEMAP_MYSTERY_CGB +	tilemap LaboratoryTilemap,                 TILESET_LABORATORY_1                ; TILEMAP_LABORATORY +	tilemap LaboratoryCGBTilemap,              TILESET_LABORATORY_2                ; TILEMAP_LABORATORY_CGB +	tilemap CharizardIntroTilemap,             TILESET_CHARIZARD_INTRO_1           ; TILEMAP_CHARIZARD_INTRO +	tilemap CharizardIntroCGBTilemap,          TILESET_CHARIZARD_INTRO_2           ; TILEMAP_CHARIZARD_INTRO_CGB +	tilemap ScytherIntroTilemap,               TILESET_SCYTHER_INTRO_1             ; TILEMAP_SCYTHER_INTRO +	tilemap ScytherIntroCGBTilemap,            TILESET_SCYTHER_INTRO_2             ; TILEMAP_SCYTHER_INTRO_CGB +	tilemap AerodactylIntroTilemap,            TILESET_AERODACTYL_INTRO_1          ; TILEMAP_AERODACTYL_INTRO +	tilemap AerodactylIntroCGBTilemap,         TILESET_AERODACTYL_INTRO_2          ; TILEMAP_AERODACTYL_INTRO_CGB +	tilemap JapaneseTitleScreenTilemap,        TILESET_JAPANESE_TITLE_SCREEN       ; TILEMAP_JAPANESE_TITLE_SCREEN +	tilemap JapaneseTitleScreenCGBTilemap,     TILESET_JAPANESE_TITLE_SCREEN_CGB   ; TILEMAP_JAPANESE_TITLE_SCREEN_CGB +	tilemap SolidTiles1Tilemap,                TILESET_SOLID_TILES_1               ; TILEMAP_SOLID_TILES_1 +	tilemap SolidTiles2Tilemap,                TILESET_SOLID_TILES_1               ; TILEMAP_SOLID_TILES_2 +	tilemap SolidTiles3Tilemap,                TILESET_SOLID_TILES_1               ; TILEMAP_SOLID_TILES_3 +	tilemap JapaneseTitleScreen2Tilemap,       TILESET_JAPANESE_TITLE_SCREEN_2     ; TILEMAP_JAPANESE_TITLE_SCREEN_2 +	tilemap JapaneseTitleScreen2CGBTilemap,    TILESET_JAPANESE_TITLE_SCREEN_2_CGB ; TILEMAP_JAPANESE_TITLE_SCREEN_2_CGB +	tilemap SolidTiles4Tilemap,                TILESET_SOLID_TILES_2               ; TILEMAP_SOLID_TILES_4 +	tilemap PlayerTilemap,                     TILESET_PLAYER                      ; TILEMAP_PLAYER +	tilemap OpponentTilemap,                   TILESET_RONALD                      ; TILEMAP_OPPONENT +	tilemap TitleScreenTilemap,                TILESET_TITLE_SCREEN                ; TILEMAP_TITLE_SCREEN +	tilemap TitleScreenCGBTilemap,             TILESET_TITLE_SCREEN_CGB            ; TILEMAP_TITLE_SCREEN_CGB +	tilemap CopyrightTilemap,                  TILESET_COPYRIGHT                   ; TILEMAP_COPYRIGHT +	tilemap CopyrightCGBTilemap,               TILESET_COPYRIGHT                   ; TILEMAP_COPYRIGHT_CGB +	tilemap NintendoTilemap,                   TILESET_NINTENDO                    ; TILEMAP_NINTENDO +	tilemap CompaniesTilemap,                  TILESET_COMPANIES                   ; TILEMAP_COMPANIES diff --git a/src/engine/gfx/tilesets.asm b/src/engine/gfx/tilesets.asm new file mode 100644 index 0000000..0b4f0af --- /dev/null +++ b/src/engine/gfx/tilesets.asm @@ -0,0 +1,95 @@ +; \1 = pointer +; \2 = number of tiles +tileset: MACRO +	dwb \1, BANK(\1) - BANK(Tilesets) +	db \2 +ENDM + +Tilesets: +	tileset OverworldMapTiles,             193 ; TILESET_OVERWORLD_MAP +	tileset MasonLaboratoryTilesetGfx,     151 ; TILESET_MASON_LABORATORY +	tileset IshiharaTilesetGfx,             77 ; TILESET_ISHIHARA +	tileset ClubEntranceTilesetGfx,        129 ; TILESET_CLUB_ENTRANCE +	tileset ClubLobbyTilesetGfx,           120 ; TILESET_CLUB_LOBBY +	tileset FightingClubTilesetGfx,         99 ; TILESET_FIGHTING_CLUB +	tileset RockClubTilesetGfx,             60 ; TILESET_ROCK_CLUB +	tileset WaterClubTilesetGfx,           161 ; TILESET_WATER_CLUB +	tileset LightningClubTilesetGfx,       131 ; TILESET_LIGHTNING_CLUB +	tileset GrassClubTilesetGfx,            87 ; TILESET_GRASS_CLUB +	tileset PsychicClubTilesetGfx,          58 ; TILESET_PSYCHIC_CLUB +	tileset ScienceClubTilesetGfx,          82 ; TILESET_SCIENCE_CLUB +	tileset FireClubTilesetGfx,             87 ; TILESET_FIRE_CLUB +	tileset ChallengeHallTilesetGfx,       157 ; TILESET_CHALLENGE_HALL +	tileset PokemonDomeEntranceTilesetGfx,  78 ; TILESET_POKEMON_DOME_ENTRANCE +	tileset PokemonDomeTilesetGfx,         207 ; TILESET_POKEMON_DOME +	tileset HallOfHonorTilesetGfx,         121 ; TILESET_HALL_OF_HONOR +	tileset CardPopGfx,                    189 ; TILESET_CARD_POP +	tileset MedalGfx,                       72 ; TILESET_MEDAL +	tileset GameBoyLinkGfx,                109 ; TILESET_GAMEBOY_LINK +	tileset GameBoyPrinterGfx,              93 ; TILESET_GAMEBOY_PRINTER +	tileset Colosseum1Gfx,                  96 ; TILESET_COLOSSEUM_1 +	tileset Colosseum2Gfx,                  86 ; TILESET_COLOSSEUM_2 +	tileset Evolution1Gfx,                  96 ; TILESET_EVOLUTION_1 +	tileset Evolution2Gfx,                  86 ; TILESET_EVOLUTION_2 +	tileset Mystery1Gfx,                    96 ; TILESET_MYSTERY_1 +	tileset Mystery2Gfx,                    86 ; TILESET_MYSTERY_2 +	tileset Laboratory1Gfx,                 96 ; TILESET_LABORATORY_1 +	tileset Laboratory2Gfx,                 86 ; TILESET_LABORATORY_2 +	tileset CharizardIntro1Gfx,             96 ; TILESET_CHARIZARD_INTRO_1 +	tileset CharizardIntro2Gfx,             96 ; TILESET_CHARIZARD_INTRO_2 +	tileset ScytherIntro1Gfx,               96 ; TILESET_SCYTHER_INTRO_1 +	tileset ScytherIntro2Gfx,               96 ; TILESET_SCYTHER_INTRO_2 +	tileset AerodactylIntro1Gfx,            96 ; TILESET_AERODACTYL_INTRO_1 +	tileset AerodactylIntro2Gfx,            96 ; TILESET_AERODACTYL_INTRO_2 +	tileset JapaneseTitleScreenGfx,         97 ; TILESET_JAPANESE_TITLE_SCREEN +	tileset JapaneseTitleScreenCGBGfx,      97 ; TILESET_JAPANESE_TITLE_SCREEN_CGB +	tileset SolidTiles1,                     4 ; TILESET_SOLID_TILES_1 +	tileset JapaneseTitleScreen2Gfx,       244 ; TILESET_JAPANESE_TITLE_SCREEN_2 +	tileset JapaneseTitleScreen2CGBGfx,     59 ; TILESET_JAPANESE_TITLE_SCREEN_2_CGB +	tileset SolidTiles2,                     4 ; TILESET_SOLID_TILES_2 +	tileset PlayerGfx,                      36 ; TILESET_PLAYER +	tileset RonaldGfx,                      36 ; TILESET_RONALD +	tileset TitleScreenGfx,                220 ; TILESET_TITLE_SCREEN +	tileset TitleScreenCGBGfx,             212 ; TILESET_TITLE_SCREEN_CGB +	tileset CopyrightGfx,                   36 ; TILESET_COPYRIGHT +	tileset NintendoGfx,                    24 ; TILESET_NINTENDO +	tileset CompaniesGfx,                   49 ; TILESET_COMPANIES +	tileset SamGfx,                         36 ; TILESET_SAM +	tileset ImakuniGfx,                     36 ; TILESET_IMAKUNI +	tileset NikkiGfx,                       36 ; TILESET_NIKKI +	tileset RickGfx,                        36 ; TILESET_RICK +	tileset KenGfx,                         36 ; TILESET_KEN +	tileset AmyGfx,                         36 ; TILESET_AMY +	tileset IsaacGfx,                       36 ; TILESET_ISAAC +	tileset MitchGfx,                       36 ; TILESET_MITCH +	tileset GeneGfx,                        36 ; TILESET_GENE +	tileset MurrayGfx,                      36 ; TILESET_MURRAY +	tileset CourtneyGfx,                    36 ; TILESET_COURTNEY +	tileset SteveGfx,                       36 ; TILESET_STEVE +	tileset JackGfx,                        36 ; TILESET_JACK +	tileset RodGfx,                         36 ; TILESET_ROD +	tileset JosephGfx,                      36 ; TILESET_JOSEPH +	tileset DavidGfx,                       36 ; TILESET_DAVID +	tileset ErikGfx,                        36 ; TILESET_ERIK +	tileset JohnGfx,                        36 ; TILESET_JOHN +	tileset AdamGfx,                        36 ; TILESET_ADAM +	tileset JonathanGfx,                    36 ; TILESET_JONATHAN +	tileset JoshuaGfx,                      36 ; TILESET_JOSHUA +	tileset NicholasGfx,                    36 ; TILESET_NICHOLAS +	tileset BrandonGfx,                     36 ; TILESET_BRANDON +	tileset MatthewGfx,                     36 ; TILESET_MATTHEW +	tileset RyanGfx,                        36 ; TILESET_RYAN +	tileset AndrewGfx,                      36 ; TILESET_ANDREW +	tileset ChrisGfx,                       36 ; TILESET_CHRIS +	tileset MichaelGfx,                     36 ; TILESET_MICHAEL +	tileset DanielGfx,                      36 ; TILESET_DANIEL +	tileset RobertGfx,                      36 ; TILESET_ROBERT +	tileset BrittanyGfx,                    36 ; TILESET_BRITTANY +	tileset KristinGfx,                     36 ; TILESET_KRISTIN +	tileset HeatherGfx,                     36 ; TILESET_HEATHER +	tileset SaraGfx,                        36 ; TILESET_SARA +	tileset AmandaGfx,                      36 ; TILESET_AMANDA +	tileset JenniferGfx,                    36 ; TILESET_JENNIFER +	tileset JessicaGfx,                     36 ; TILESET_JESSICA +	tileset StephanieGfx,                   36 ; TILESET_STEPHANIE +	tileset AaronGfx,                       36 ; TILESET_AARON | 
