From 2063d0c5d174d834e32c635b59e4421e1c958eea Mon Sep 17 00:00:00 2001 From: Randy Thiemann Date: Thu, 2 Nov 2023 19:10:51 +0100 Subject: [PATCH] Tile system. --- bin/DMGTRIS.GBC | Bin 131072 -> 131072 bytes bin/DMGTRIS.map | 2690 +++++++++++++------------- bin/DMGTRIS.pocket | Bin 131072 -> 131072 bytes bin/DMGTRIS.sym | 2425 +++++++++++------------ src/field.asm | 8 +- src/gbc.asm | 40 +- src/include/globals.asm | 146 +- src/main.asm | 16 - src/res/gameplay_big_data.inc | 86 +- src/res/gameplay_data.inc | 86 +- src/res/other_data.inc | 1422 ++++++++++---- src/res/sources/tiles_gameplay_c.gbr | Bin 39009 -> 39009 bytes src/res/sources/tiles_gameplay_m.gbr | Bin 39009 -> 39009 bytes src/res/sources/tiles_shared.gbr | Bin 39009 -> 39009 bytes src/res/sources/tiles_title.gbr | Bin 39009 -> 39009 bytes src/res/title_data.inc | 72 +- src/sprites.asm | 30 + src/state_gameplay.asm | 12 + src/state_title.asm | 3 + src/tiles.asm | 70 + 20 files changed, 3976 insertions(+), 3130 deletions(-) create mode 100644 src/tiles.asm diff --git a/bin/DMGTRIS.GBC b/bin/DMGTRIS.GBC index 1708fca1e93adc53f34702cd192f57d834de502f..97dde3b1c0324b7239c62eb1b7e247ac309f92b4 100644 GIT binary patch delta 15638 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 hD>`u5wPmyP8X!Eb%2PnJQ8Dfip>{{x?CM1=qV delta 14355 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 literal 39009 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 F{|5^$FcJU& diff --git a/src/res/sources/tiles_shared.gbr b/src/res/sources/tiles_shared.gbr index 12d7255f0b763c314cacfeb12466e22462778c95..4c11f53c991d66c166ca44eefd0bb958dbc4ddcb 100644 GIT binary patch delta 35 rcmaF3f$8A}rU`m13=Fy|8;v$cP4184nyg=-zBxhJlyS3njF=4o>){L` delta 27 jcmaF3f$8A}rU`m14h)x-HyUk@+MJ-A#< + +; This program is free software: you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. + +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU General Public License for more details. + +; You should have received a copy of the GNU General Public License +; along with this program. If not, see . + + +IF !DEF(TILES_ASM) +DEF TILES_ASM EQU 1 + + +INCLUDE "globals.asm" + + +SECTION "Tile Functions", ROM0 +LoadTitleTiles:: + ld b, BANK_OTHER + rst RSTSwitchBank + + ld de, sSharedTiles + ld hl, _VRAM + ld bc, sSharedTilesEnd - sSharedTiles + call SafeMemCopy + + ld de, sTitleTiles + ld hl, _VRAM + (48*16) + ld bc, sTitleTilesEnd - sTitleTiles + call SafeMemCopy + + jp RSTRestoreBank + +LoadGameplayTiles:: + ld b, BANK_OTHER + rst RSTSwitchBank + + ld de, sSharedTiles + ld hl, _VRAM + ld bc, sSharedTilesEnd - sSharedTiles + call SafeMemCopy + + ld a, [wInitialA] + cp a, $11 + jr nz, .dmg + +.gbc + ld de, sGameplayTilesC + ld hl, _VRAM + (48*16) + ld bc, sGameplayTilesCEnd - sGameplayTilesC + call SafeMemCopy + jp RSTRestoreBank + +.dmg + ld de, sGameplayTilesM + ld hl, _VRAM + (48*16) + ld bc, sGameplayTilesMEnd - sGameplayTilesM + call SafeMemCopy + jp RSTRestoreBank + + +ENDC