From d2c9e2d74f89057c61cd3b15a6eb0c8c8b404506 Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Wed, 12 Nov 2025 15:44:00 -0500 Subject: [PATCH] Use features of RGBDS 1.0.0 (#138) --- .github/workflows/main.yml | 2 +- .rgbds-version | 2 +- INSTALL.md | 22 ++-- Makefile | 72 ++++++----- data/maps/attributes.asm | 8 +- data/pokemon/unown_words.asm | 2 +- engine/battle/anim_hp_bar.asm | 2 +- engine/battle/battle_transition.asm | 4 +- engine/battle/core.asm | 24 ++-- engine/battle/effect_commands.asm | 2 +- engine/battle/getgen1trainerclassname.asm | 2 +- engine/battle/read_trainer_party.asm | 2 +- engine/battle/trainer_huds.asm | 4 +- engine/debug/color_picker.asm | 8 +- engine/debug/debug_room.asm | 22 ++-- engine/events/bug_contest/judging.asm | 4 +- engine/events/diploma.asm | 2 +- engine/events/halloffame.asm | 36 +++--- engine/events/lucky_number.asm | 2 +- engine/events/magikarp.asm | 8 +- engine/events/mom.asm | 4 +- engine/events/name_rater.asm | 8 +- engine/events/npc_trade.asm | 12 +- engine/events/print_unown.asm | 6 +- engine/events/prof_oaks_pc.asm | 2 +- engine/events/shuckle.asm | 2 +- engine/games/card_flip.asm | 10 +- engine/games/memory_game.asm | 2 +- engine/games/slot_machine.asm | 8 +- engine/gfx/load_font.asm | 24 ++-- engine/items/buy_sell_toss.asm | 2 +- engine/items/item_effects.asm | 4 +- engine/items/mart.asm | 6 +- engine/items/pack.asm | 2 +- engine/items/tmhm.asm | 8 +- engine/link/link.asm | 16 +-- engine/menus/intro_menu.asm | 8 +- engine/menus/main_menu.asm | 2 +- engine/menus/menu.asm | 6 +- engine/menus/menu_2.asm | 2 +- engine/menus/naming_screen.asm | 32 ++--- engine/menus/options_menu.asm | 6 +- engine/menus/scrolling_menu.asm | 8 +- engine/menus/trainer_card.asm | 8 +- engine/movie/credits.asm | 2 +- engine/movie/init_hof_credits.asm | 4 +- engine/movie/title.asm | 2 +- engine/movie/trade_animation.asm | 16 +-- engine/overworld/player_object.asm | 2 +- engine/overworld/scripting.asm | 2 +- engine/overworld/wildmons.asm | 2 +- engine/phone/phone.asm | 8 +- engine/pokedex/pokedex.asm | 26 ++-- engine/pokedex/pokedex_2.asm | 4 +- engine/pokedex/unown_dex.asm | 2 +- engine/pokegear/pokegear.asm | 24 ++-- engine/pokegear/radio.asm | 28 ++--- .../townmap_convertlinebreakcharacters.asm | 8 +- engine/pokemon/bills_pc.asm | 16 +-- engine/pokemon/bills_pc_top.asm | 2 +- engine/pokemon/breeding.asm | 2 +- engine/pokemon/correct_nick_errors.asm | 24 ++-- engine/pokemon/evolve.asm | 2 +- engine/pokemon/mail.asm | 4 +- engine/pokemon/mail_2.asm | 2 +- engine/pokemon/mon_menu.asm | 8 +- engine/pokemon/mon_stats.asm | 8 +- engine/pokemon/party_menu.asm | 6 +- engine/pokemon/stats_screen.asm | 22 ++-- engine/pokemon/switchpartymons.asm | 2 +- engine/pokemon/types.asm | 2 +- engine/printer/print_party.asm | 28 ++--- engine/printer/printer.asm | 38 +++--- engine/rtc/print_hours_mins.asm | 4 +- engine/rtc/reset_password.asm | 8 +- engine/rtc/restart_clock.asm | 4 +- engine/rtc/timeset.asm | 42 +++---- home/audio.asm | 6 +- home/copy_name.asm | 2 +- home/init.asm | 2 +- home/joypad.asm | 10 +- home/map.asm | 4 +- home/menu.asm | 4 +- home/names.asm | 18 +-- home/palettes.asm | 2 +- home/pokemon.asm | 4 +- home/print_bcd.asm | 12 +- home/print_num.asm | 22 ++-- home/string.asm | 4 +- home/text.asm | 117 +++++++++--------- home/video.asm | 4 +- macros/asserts.asm | 28 ++--- macros/code.asm | 6 +- macros/const.asm | 12 +- macros/coords.asm | 24 ++-- macros/data.asm | 50 ++++---- macros/gfx.asm | 18 +-- macros/legacy.asm | 16 +-- macros/predef.asm | 6 +- macros/ram.asm | 2 +- macros/vc.asm | 8 +- rgbdscheck.asm | 8 +- vc/pokegold.constants.asm | 36 +++--- vc/pokesilver.constants.asm | 36 +++--- 104 files changed, 617 insertions(+), 616 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 570c217c..968b5026 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@master with: path: rgbds - ref: v0.9.3 + ref: v1.0.0 repository: gbdev/rgbds - name: Install rgbds diff --git a/.rgbds-version b/.rgbds-version index 965065db..3eefcb9d 100644 --- a/.rgbds-version +++ b/.rgbds-version @@ -1 +1 @@ -0.9.3 +1.0.0 diff --git a/INSTALL.md b/INSTALL.md index eba4606a..d8e6d93d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -42,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.9.3**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 1.0.0**. -**Note:** If you already have an installed rgbds older than 0.9.3, you will need to update to 0.9.3. Ignore this if you have never installed rgbds before. If a version newer than 0.9.3 does not work, try downloading 0.9.3. +**Note:** If you already have an installed rgbds older than 1.0.0, you will need to update to 1.0.0. Ignore this if you have never installed rgbds before. If a version newer than 1.0.0 does not work, try downloading 1.0.0. Now open the **Cygwin terminal** and enter the following commands. @@ -67,7 +67,7 @@ Install [**Homebrew**](https://brew.sh/). Follow the official instructions. Open **Terminal** and prepare to enter commands. -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.9.3**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 1.0.0**. Now you're ready to [build **pokegold**](#build-pokegold). @@ -84,7 +84,7 @@ To install the software required for **pokegold**: sudo apt-get install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 1.0.0** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokegold**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 1.0.0** from source. ### Arch Linux @@ -104,7 +104,7 @@ To install the software required for **pokegold**: sudo pacman -S make gcc git rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 1.0.0** from source. ### Termux @@ -120,7 +120,7 @@ To install **rgbds**: pkg install rgbds ``` -If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 1.0.0** from source. ### Other distros @@ -131,7 +131,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.3** from source. +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 1.0.0** from source. Now you're ready to [build **pokegold**](#build-pokegold). @@ -165,12 +165,12 @@ make ### Build with a local rgbds version -If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 0.9.3 globally. Instead, you can put its files in a directory within pokegold, such as `pokegold/rgbds-0.9.3/`. Then specify it when you run `make`: +If you have different projects that require different versions of `rgbds`, it might not be convenient to install rgbds 1.0.0 globally. Instead, you can put its files in a directory within pokegold, such as `pokegold/rgbds-1.0.0/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.9.3/ gold +make RGBDS=rgbds-1.0.0/ gold ``` ```bash -make RGBDS=rgbds-0.9.3/ silver +make RGBDS=rgbds-1.0.0/ silver ``` diff --git a/Makefile b/Makefile index eb97a8bb..ba5ee2be 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,11 @@ RGBFIX ?= $(RGBDS)rgbfix RGBGFX ?= $(RGBDS)rgbgfx RGBLINK ?= $(RGBDS)rgblink +RGBASMFLAGS ?= -Weverything -Wtruncation=1 +RGBLINKFLAGS ?= -Weverything -Wtruncation=1 +RGBFIXFLAGS ?= -Weverything +RGBGFXFLAGS ?= -Weverything + ### Build targets @@ -107,7 +112,7 @@ tools: $(MAKE) -C tools/ -RGBASMFLAGS = -Q8 -P includes.asm -Weverything -Wtruncation=1 +RGBASMFLAGS += -Q8 -P includes.asm # Create a sym/map for debug purposes if `make` run with `DEBUG=1` ifeq ($(DEBUG),1) RGBASMFLAGS += -E @@ -171,16 +176,17 @@ $(foreach obj, $(silver_vc_excl_obj), \ endif -pokegold_opt = -cjsv -t POKEMON_GLD -i AAUE -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 -pokesilver_opt = -cjsv -t POKEMON_SLV -i AAXE -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 -pokegold_debug_opt = -cjsv -t POKEMON_GLD -i AAUE -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 -pokesilver_debug_opt = -cjsv -t POKEMON_SLV -i AAXE -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 -pokegold_vc_opt = -cjsv -t POKEMON_GLD -i AAUE -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 -pokesilver_vc_opt = -cjsv -t POKEMON_SLV -i AAXE -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 +RGBFIXFLAGS += -cjsv -k 01 -l 0x33 -m MBC3+TIMER+RAM+BATTERY -r 3 -p 0 +pokegold.gbc: RGBFIXFLAGS += -t POKEMON_GLD -i AAUE +pokesilver.gbc: RGBFIXFLAGS += -t POKEMON_SLV -i AAXE +pokegold_debug.gbc: RGBFIXFLAGS += -t POKEMON_GLD -i AAUE +pokesilver_debug.gbc: RGBFIXFLAGS += -t POKEMON_SLV -i AAXE +pokegold_vc.gbc: RGBFIXFLAGS += -t POKEMON_GLD -i AAUE +pokesilver_vc.gbc: RGBFIXFLAGS += -t POKEMON_SLV -i AAXE %.gbc: $$(%_obj) layout.link - $(RGBLINK) -n $*.sym -m $*.map -l layout.link -o $@ $(filter %.o,$^) - $(RGBFIX) $($*_opt) $@ + $(RGBLINK) $(RGBLINKFLAGS) -l layout.link -n $*.sym -m $*.map -o $@ $(filter %.o,$^) + $(RGBFIX) $(RGBFIXFLAGS) $@ tools/stadium $@ @@ -196,12 +202,12 @@ include gfx/lz.mk ### Pokemon and trainer sprite rules define PIC -$1/back.2bpp: rgbgfx += --columns +$1/back.2bpp: RGBGFXFLAGS += --columns $1/back.2bpp: $1/back.png $1/normal.gbcpal - $$(RGBGFX) $$(rgbgfx) --colors gbc:$$(word 2,$$^) -o $$@ $$< -$1/front.2bpp: rgbgfx += --columns + $$(RGBGFX) $$(RGBGFXFLAGS) --colors gbc:$$(word 2,$$^) -o $$@ $$< +$1/front.2bpp: RGBGFXFLAGS += --columns $1/front.2bpp: $1/front.png $1/normal.gbcpal - $$(RGBGFX) $$(rgbgfx) --colors gbc:$$(word 2,$$^) -o $$@ $$< + $$(RGBGFX) $$(RGBGFXFLAGS) --colors gbc:$$(word 2,$$^) -o $$@ $$< $1/normal.gbcpal: $1/front.gbcpal $1/back.gbcpal tools/gbcpal $$(tools/gbcpal) $$@ $$^ endef @@ -209,24 +215,24 @@ $(foreach pic, $(wildcard gfx/pokemon/*/front.png),\ $(eval $(call PIC,$(pic:/front.png=)))) define PIC_GS -$1/back.2bpp: rgbgfx += --columns +$1/back.2bpp: RGBGFXFLAGS += --columns $1/back.2bpp: $1/back.png $1/normal.gbcpal - $$(RGBGFX) $$(rgbgfx) --colors gbc:$$(word 2,$$^) -o $$@ $$< -$1/front_gold.2bpp: rgbgfx += --columns + $$(RGBGFX) $$(RGBGFXFLAGS) --colors gbc:$$(word 2,$$^) -o $$@ $$< +$1/front_gold.2bpp: RGBGFXFLAGS += --columns $1/front_gold.2bpp: $1/front_gold.png $1/normal.gbcpal - $$(RGBGFX) $$(rgbgfx) --colors gbc:$$(word 2,$$^) -o $$@ $$< -$1/front_silver.2bpp: rgbgfx += --columns + $$(RGBGFX) $$(RGBGFXFLAGS) --colors gbc:$$(word 2,$$^) -o $$@ $$< +$1/front_silver.2bpp: RGBGFXFLAGS += --columns $1/front_silver.2bpp: $1/front_silver.png $1/normal.gbcpal - $$(RGBGFX) $$(rgbgfx) --colors gbc:$$(word 2,$$^) -o $$@ $$< + $$(RGBGFX) $$(RGBGFXFLAGS) --colors gbc:$$(word 2,$$^) -o $$@ $$< $1/normal.gbcpal: $1/front_gold.gbcpal $1/front_silver.gbcpal $1/back.gbcpal tools/gbcpal $$(tools/gbcpal) $$@ $$^ endef $(foreach pic, $(wildcard gfx/pokemon/*/front_gold.png),\ $(eval $(call PIC_GS,$(pic:/front_gold.png=)))) -gfx/trainers/%.2bpp: rgbgfx += --columns +gfx/trainers/%.2bpp: RGBGFXFLAGS += --columns gfx/trainers/%.2bpp: gfx/trainers/%.png gfx/trainers/%.gbcpal - $(RGBGFX) $(rgbgfx) --colors gbc:$(word 2,$^) -o $@ $< + $(RGBGFX) $(RGBGFXFLAGS) --colors gbc:$(word 2,$^) -o $@ $< # A few back sprites have different compression settings for Gold and Silver gfx/pokemon/%/back_gold.2bpp: gfx/pokemon/%/back.2bpp ; cp -f $^ $@ @@ -234,14 +240,14 @@ gfx/pokemon/%/back_silver.2bpp: gfx/pokemon/%/back.2bpp ; cp -f $^ $@ # Egg does not have a back sprite, so it only uses egg.gbcpal gfx/pokemon/egg/egg.2bpp: gfx/pokemon/egg/egg.png gfx/pokemon/egg/egg.gbcpal -gfx/pokemon/egg/egg.2bpp: rgbgfx += --columns --colors gbc:$(word 2,$^) +gfx/pokemon/egg/egg.2bpp: RGBGFXFLAGS += --columns --colors gbc:$(word 2,$^) # Unown letters share one normal.gbcpal unown_pngs := $(wildcard gfx/pokemon/unown_*/front.png) $(wildcard gfx/pokemon/unown_*/back.png) $(foreach png, $(unown_pngs),\ $(eval $(png:.png=.2bpp): $(png) gfx/pokemon/unown/normal.gbcpal)) -gfx/pokemon/unown_%/back.2bpp: rgbgfx += --colors gbc:$(word 2,$^) -gfx/pokemon/unown_%/front.2bpp: rgbgfx += --colors gbc:$(word 2,$^) +gfx/pokemon/unown_%/back.2bpp: RGBGFXFLAGS += --colors gbc:$(word 2,$^) +gfx/pokemon/unown_%/front.2bpp: RGBGFXFLAGS += --colors gbc:$(word 2,$^) gfx/pokemon/unown/normal.gbcpal: $(subst .png,.gbcpal,$(unown_pngs)) tools/gbcpal $(tools/gbcpal) $@ $^ @@ -264,8 +270,8 @@ gfx/intro/fire1.2bpp: gfx/intro/charizard1.2bpp gfx/intro/charizard2_top.2bpp gf gfx/intro/fire2.2bpp: gfx/intro/charizard2_bottom.2bpp gfx/intro/charizard3.2bpp ; cat $^ > $@ gfx/intro/fire3.2bpp: gfx/intro/fire.2bpp gfx/intro/unused_blastoise_venusaur.2bpp ; cat $^ > $@ -gfx/new_game/shrink1.2bpp: rgbgfx += --columns -gfx/new_game/shrink2.2bpp: rgbgfx += --columns +gfx/new_game/shrink1.2bpp: RGBGFXFLAGS += --columns +gfx/new_game/shrink2.2bpp: RGBGFXFLAGS += --columns gfx/mail/dragonite.1bpp: tools/gfx += --remove-whitespace gfx/mail/large_note.1bpp: tools/gfx += --remove-whitespace @@ -275,10 +281,10 @@ gfx/mail/litebluemail_border.1bpp: tools/gfx += --remove-whitespace gfx/pokedex/pokedex.2bpp: tools/gfx += --trim-whitespace gfx/pokedex/pokedex_sgb.2bpp: tools/gfx += --trim-whitespace -gfx/pokedex/question_mark.2bpp: rgbgfx += --columns +gfx/pokedex/question_mark.2bpp: RGBGFXFLAGS += --columns gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace -gfx/pokegear/pokegear.2bpp: rgbgfx += --trim-end 2 +gfx/pokegear/pokegear.2bpp: RGBGFXFLAGS += --trim-end 2 gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace gfx/mystery_gift/mystery_gift.2bpp: tools/gfx += --remove-whitespace @@ -319,8 +325,8 @@ gfx/battle_anims/rocks.2bpp: tools/gfx += --remove-whitespace gfx/battle_anims/skyattack.2bpp: tools/gfx += --remove-whitespace gfx/battle_anims/status.2bpp: tools/gfx += --remove-whitespace -gfx/player/chris.2bpp: rgbgfx += --columns -gfx/player/chris_back.2bpp: rgbgfx += --columns +gfx/player/chris.2bpp: RGBGFXFLAGS += --columns +gfx/player/chris_back.2bpp: RGBGFXFLAGS += --columns gfx/trainer_card/leaders.2bpp: tools/gfx += --trim-whitespace @@ -328,7 +334,7 @@ gfx/overworld/chris_fish.2bpp: tools/gfx += --trim-whitespace gfx/sprites/big_onix.2bpp: tools/gfx += --remove-whitespace --remove-xflip -gfx/battle/dude.2bpp: rgbgfx += --columns +gfx/battle/dude.2bpp: RGBGFXFLAGS += --columns gfx/font/unused_bold_font.1bpp: tools/gfx += --trim-whitespace @@ -341,12 +347,12 @@ gfx/sgb/silver_border.sgb.tilemap: gfx/sgb/silver_border.bin ; tr < $< -d '\000' ### Catch-all graphics rules %.2bpp: %.png - $(RGBGFX) --colors dmg=e4 $(rgbgfx) -o $@ $< + $(RGBGFX) --colors dmg $(RGBGFXFLAGS) -o $@ $< $(if $(tools/gfx),\ tools/gfx $(tools/gfx) -o $@ $@ || $$($(RM) $@ && false)) %.1bpp: %.png - $(RGBGFX) --colors dmg=e4 $(rgbgfx) --depth 1 -o $@ $< + $(RGBGFX) --colors dmg $(RGBGFXFLAGS) --depth 1 -o $@ $< $(if $(tools/gfx),\ tools/gfx $(tools/gfx) --depth 1 -o $@ $@ || $$($(RM) $@ && false)) diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index b7df472f..1cfb16c8 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -37,7 +37,7 @@ MACRO connection DEF _tgt = 0 endc - if !STRCMP("\1", "north") + if "\1" === "north" DEF _blk = \3_WIDTH * (\3_HEIGHT - 3) + _src DEF _map = _tgt DEF _win = (\3_WIDTH + 6) * \3_HEIGHT + 1 @@ -48,7 +48,7 @@ MACRO connection DEF _len = \3_WIDTH endc - elif !STRCMP("\1", "south") + elif "\1" === "south" DEF _blk = _src DEF _map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt DEF _win = \3_WIDTH + 7 @@ -59,7 +59,7 @@ MACRO connection DEF _len = \3_WIDTH endc - elif !STRCMP("\1", "west") + elif "\1" === "west" DEF _blk = (\3_WIDTH * _src) + \3_WIDTH - 3 DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt DEF _win = (\3_WIDTH + 6) * 2 - 6 @@ -70,7 +70,7 @@ MACRO connection DEF _len = \3_HEIGHT endc - elif !STRCMP("\1", "east") + elif "\1" === "east" DEF _blk = (\3_WIDTH * _src) DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 DEF _win = \3_WIDTH + 7 diff --git a/data/pokemon/unown_words.asm b/data/pokemon/unown_words.asm index cf7e1177..7572b667 100644 --- a/data/pokemon/unown_words.asm +++ b/data/pokemon/unown_words.asm @@ -1,6 +1,6 @@ MACRO unownword for n, CHARLEN(\1) - db STRCHAR(\1, n) - "A" + FIRST_UNOWN_CHAR + db CHARVAL(STRCHAR(\1, n)) - 'A' + FIRST_UNOWN_CHAR endr db -1 ENDM diff --git a/engine/battle/anim_hp_bar.asm b/engine/battle/anim_hp_bar.asm index 3e413f9f..a76b38bc 100644 --- a/engine/battle/anim_hp_bar.asm +++ b/engine/battle/anim_hp_bar.asm @@ -257,7 +257,7 @@ HPBarAnim_UpdateHPRemaining: .loaded_de push hl add hl, de - ld a, " " + ld a, ' ' ld [hli], a ld [hli], a ld [hld], a diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index 07e44aa8..f08580e1 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -5,8 +5,8 @@ DEF BATTLETRANSITION_NO_CAVE EQU $10 DEF BATTLETRANSITION_NO_CAVE_STRONGER EQU $18 DEF BATTLETRANSITION_FINISH EQU $20 -DEF BATTLETRANSITION_SQUARE EQU "8" ; $fe -DEF BATTLETRANSITION_BLACK EQU "9" ; $ff +DEF BATTLETRANSITION_SQUARE EQU '8' ; $fe +DEF BATTLETRANSITION_BLACK EQU '9' ; $ff DoBattleTransition: call .InitGFX diff --git a/engine/battle/core.asm b/engine/battle/core.asm index b01ae37d..f95a08bc 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -4445,11 +4445,11 @@ PrintPlayerHUD: ld a, TEMPMON ld [wMonType], a callfar GetGender - ld a, " " + ld a, ' ' jr c, .got_gender_char - ld a, "♂" + ld a, '♂' jr nz, .got_gender_char - ld a, "♀" + ld a, '♀' .got_gender_char hlcoord 17, 8 @@ -4463,7 +4463,7 @@ PrintPlayerHUD: pop bc ret nz ld a, b - cp " " + cp ' ' jr nz, .copy_level ; male or female dec hl ; genderless @@ -4521,11 +4521,11 @@ DrawEnemyHUD: ld a, TEMPMON ld [wMonType], a callfar GetGender - ld a, " " + ld a, ' ' jr c, .got_gender - ld a, "♂" + ld a, '♂' jr nz, .got_gender - ld a, "♀" + ld a, '♀' .got_gender hlcoord 9, 1 @@ -4540,7 +4540,7 @@ DrawEnemyHUD: pop bc jr nz, .skip_level ld a, b - cp " " + cp ' ' jr nz, .print_level dec hl .print_level @@ -5156,7 +5156,7 @@ MoveSelectionScreen: ld bc, SCREEN_WIDTH dec a call AddNTimes - ld [hl], "▷" + ld [hl], '▷' .interpret_joypad ld a, $1 @@ -5451,7 +5451,7 @@ MoveInfoBox: call PlaceString hlcoord 7, 11 - ld [hl], "/" + ld [hl], '/' hlcoord 5, 11 ld de, wStringBuffer1 lb bc, 1, 2 @@ -8126,7 +8126,7 @@ ReadAndPrintLinkBattleRecord: ld de, wLinkBattleRecordName ld bc, NAME_LENGTH - 1 call CopyBytes - ld a, "@" + ld a, '@' ld [de], a inc de ; wLinkBattleRecordWins ld bc, 6 @@ -8584,7 +8584,7 @@ InitBattleDisplay: ld hl, sDecompressScratch ld bc, TILEMAP_AREA - ld a, " " + ld a, ' ' call ByteFill ld de, sDecompressScratch diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm index 77e826b8..c4d51232 100644 --- a/engine/battle/effect_commands.asm +++ b/engine/battle/effect_commands.asm @@ -4568,7 +4568,7 @@ BattleCommand_StatDownFailText: GetStatName: ld hl, StatNames - ld c, "@" + ld c, '@' .CheckName: dec b jr z, .Copy diff --git a/engine/battle/getgen1trainerclassname.asm b/engine/battle/getgen1trainerclassname.asm index 78b543f1..7126af16 100644 --- a/engine/battle/getgen1trainerclassname.asm +++ b/engine/battle/getgen1trainerclassname.asm @@ -14,7 +14,7 @@ GetGen1TrainerClassName: ; unreferenced ld a, [hli] ld [de], a inc de - cp "@" + cp '@' jr nz, .copy ret diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index c30ee423..da15e44f 100644 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -47,7 +47,7 @@ ReadTrainerParty: .skip_name ld a, [hli] - cp "@" + cp '@' jr nz, .skip_name ld a, [hli] diff --git a/engine/battle/trainer_huds.asm b/engine/battle/trainer_huds.asm index 535d8844..c273dc6e 100644 --- a/engine/battle/trainer_huds.asm +++ b/engine/battle/trainer_huds.asm @@ -245,9 +245,9 @@ _ShowLinkBattleParticipants: ld de, wOTPlayerName call PlaceString hlcoord 9, 8 - ld a, "" + ld a, '' ld [hli], a - ld [hl], "" + ld [hl], '' farcall LinkBattle_TrainerHuds ; no need to farcall ld b, SCGB_DIPLOMA call GetSGBLayout diff --git a/engine/debug/color_picker.asm b/engine/debug/color_picker.asm index 1e50ea12..fc308929 100644 --- a/engine/debug/color_picker.asm +++ b/engine/debug/color_picker.asm @@ -994,7 +994,7 @@ DebugColor_PlaceCursor: hlcoord 1, 11 ld bc, 2 * SCREEN_WIDTH call AddNTimes - ld [hl], "▶" + ld [hl], '▶' .place_cursor ld a, [wDebugColorCurColor] @@ -1006,7 +1006,7 @@ DebugColor_PlaceCursor: .light hlcoord 10, 0 .place - ld [hl], "▶" + ld [hl], '▶' ld b, $70 ; initial tile id ld c, 5 ; initial palette @@ -1419,14 +1419,14 @@ DebugTileset_PlaceCursor: ; unreferenced hlcoord 0, 4 ld bc, 2 * SCREEN_WIDTH call AddNTimes - ld [hl], "▶" + ld [hl], '▶' .place_cursor ld a, [wDebugTilesetCurColor] hlcoord 0, 2 ld bc, 5 call AddNTimes - ld [hl], "▶" + ld [hl], '▶' ld b, $78 ; initial tile id ld hl, wShadowOAM diff --git a/engine/debug/debug_room.asm b/engine/debug/debug_room.asm index 9bbf0e30..7dbc9718 100644 --- a/engine/debug/debug_room.asm +++ b/engine/debug/debug_room.asm @@ -32,7 +32,7 @@ _DebugRoom: .loop ld hl, wTilemap ld bc, wTilemapEnd - wTilemap - ld a, " " + ld a, ' ' call ByteFill call DebugRoom_PrintStackBottomTop call DebugRoom_PrintWindowStackBottomTop @@ -410,7 +410,7 @@ DebugRoom_EditPagedValues: call DebugRoom_InitializePagedValues xor a call DebugRoom_PrintPage - ld a, "▶" + ld a, '▶' call DebugRoom_ShowHideCursor xor a ldh [hJoyLast], a @@ -536,7 +536,7 @@ DebugRoom_NextPage: dec a ld [wDebugRoomCurValue], a .skip - ld a, "▶" + ld a, '▶' call DebugRoom_ShowHideCursor ret @@ -558,12 +558,12 @@ DebugRoom_PrevPage: dec a ld [wDebugRoomCurValue], a .skip - ld a, "▶" + ld a, '▶' call DebugRoom_ShowHideCursor ret DebugRoom_NextPagedValue: - ld a, " " + ld a, ' ' call DebugRoom_ShowHideCursor ld a, [wDebugRoomCurPage] call DebugRoom_GetNthPagePointer @@ -577,12 +577,12 @@ DebugRoom_NextPagedValue: DebugRoom_UpdateValueCursor: ld [wDebugRoomCurValue], a - ld a, "▶" + ld a, '▶' call DebugRoom_ShowHideCursor ret DebugRoom_PrevPagedValue: - ld a, " " + ld a, ' ' call DebugRoom_ShowHideCursor ld a, [wDebugRoomCurValue] or a ; pre-decremented value > 0? @@ -706,7 +706,7 @@ DebugRoom_InitializePagedValues: DebugRoom_PrintPage: push af hlcoord 10, 17 - add "1" + add '1' ld [hl], a hlcoord 1, 1 lb bc, SCREEN_HEIGHT - 2, SCREEN_WIDTH - 2 @@ -797,7 +797,7 @@ DebugRoom_PrintPagedValue: .hex ld c, 1 call PrintHexNumber - ld [hl], "H" + ld [hl], 'H' inc hl .printed ld bc, 6 @@ -1222,12 +1222,12 @@ DebugRoomMenu_RTCEdit_UpdateClock: ld de, wDebugRoomRTCCurHour lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum - ld [hl], ":" + ld [hl], ':' inc hl ld de, wDebugRoomRTCCurMin lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum - ld [hl], ":" + ld [hl], ':' inc hl ld de, wDebugRoomRTCCurSec lb bc, PRINTNUM_LEADINGZEROS | 1, 2 diff --git a/engine/events/bug_contest/judging.asm b/engine/events/bug_contest/judging.asm index e0eca385..4e2101ff 100644 --- a/engine/events/bug_contest/judging.asm +++ b/engine/events/bug_contest/judging.asm @@ -95,10 +95,10 @@ LoadContestantName: ; Delete the trailing terminator and replace it with a space. .next ld a, [hli] - cp "@" + cp '@' jr nz, .next dec hl - ld [hl], " " + ld [hl], ' ' inc hl ld d, h ld e, l diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 5fa2db84..0c64a803 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -58,7 +58,7 @@ PlaceDiplomaOnScreen: PrintDiplomaPage2: hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ld hl, DiplomaPage2Tilemap decoord 0, 0 diff --git a/engine/events/halloffame.asm b/engine/events/halloffame.asm index 115bbffd..3aa326a4 100644 --- a/engine/events/halloffame.asm +++ b/engine/events/halloffame.asm @@ -232,7 +232,7 @@ AnimateHOFMonEntrance: predef GetUnownLetter hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ld de, vTiles2 tile $31 predef GetMonBackpic @@ -256,7 +256,7 @@ AnimateHOFMonEntrance: ld [wBoxAlignment], a hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill hlcoord 6, 5 call _PrepMonFrontpic @@ -445,11 +445,11 @@ DisplayHOFMon: ld de, wStringBuffer2 ld bc, MON_NAME_LENGTH - 1 call CopyBytes - ld a, "@" + ld a, '@' ld [wStringBuffer2 + MON_NAME_LENGTH - 1], a hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 0 lb bc, 3, SCREEN_WIDTH - 2 @@ -470,9 +470,9 @@ DisplayHOFMon: cp EGG jr z, .print_id_no hlcoord 1, 13 - ld a, "№" + ld a, '№' ld [hli], a - ld [hl], "." + ld [hl], '.' hlcoord 3, 13 ld de, wTextDecimalByte lb bc, PRINTNUM_LEADINGZEROS | 1, 3 @@ -483,17 +483,17 @@ DisplayHOFMon: ld a, TEMPMON ld [wMonType], a farcall GetGender - ld a, " " + ld a, ' ' jr c, .got_gender - ld a, "♂" + ld a, '♂' jr nz, .got_gender - ld a, "♀" + ld a, '♀' .got_gender hlcoord 18, 13 ld [hli], a hlcoord 8, 14 - ld a, "/" + ld a, '/' ld [hli], a ld de, wStringBuffer2 call PlaceString @@ -502,11 +502,11 @@ DisplayHOFMon: .print_id_no hlcoord 7, 16 - ld a, "" + ld a, '' ld [hli], a - ld a, "№" + ld a, '№' ld [hli], a - ld [hl], "/" + ld [hl], '/' hlcoord 10, 16 ld de, wTempMonID lb bc, PRINTNUM_LEADINGZEROS | 2, 5 @@ -521,7 +521,7 @@ HOF_AnimatePlayerPic: call Request2bpp hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ld hl, ChrisBackpic @@ -551,7 +551,7 @@ HOF_AnimatePlayerPic: ld [wBoxAlignment], a hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ld a, CAL ld [wTrainerClass], a @@ -581,11 +581,11 @@ HOF_AnimatePlayerPic: ld de, wPlayerName call PlaceString hlcoord 1, 6 - ld a, "" + ld a, '' ld [hli], a - ld a, "№" + ld a, '№' ld [hli], a - ld [hl], "/" + ld [hl], '/' hlcoord 4, 6 ld de, wPlayerID lb bc, PRINTNUM_LEADINGZEROS | 2, 5 diff --git a/engine/events/lucky_number.asm b/engine/events/lucky_number.asm index 727bf82f..2207ba0e 100644 --- a/engine/events/lucky_number.asm +++ b/engine/events/lucky_number.asm @@ -212,6 +212,6 @@ PrintTodaysLuckyNumber: ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum - ld a, "@" + ld a, '@' ld [wStringBuffer3 + 5], a ret diff --git a/engine/events/magikarp.asm b/engine/events/magikarp.asm index e91002de..3ed819d5 100644 --- a/engine/events/magikarp.asm +++ b/engine/events/magikarp.asm @@ -75,7 +75,7 @@ CheckMagikarpLength: text_end Magikarp_LoadFeetInchesChars: - ld hl, vTiles2 tile "′" ; $6e + ld hl, vTiles2 tile '′' ; $6e ld de, .feetinchchars lb bc, BANK(.feetinchchars), 2 call Request2bpp @@ -90,14 +90,14 @@ PrintMagikarpLength: ld de, wMagikarpLength lb bc, PRINTNUM_LEFTALIGN | 1, 2 call PrintNum - ld [hl], "′" + ld [hl], '′' inc hl ld de, wMagikarpLength + 1 lb bc, PRINTNUM_LEFTALIGN | 1, 2 call PrintNum - ld [hl], "″" + ld [hl], '″' inc hl - ld [hl], "@" + ld [hl], '@' ret CalcMagikarpLength: diff --git a/engine/events/mom.asm b/engine/events/mom.asm index e1b3a364..3a664ee6 100644 --- a/engine/events/mom.asm +++ b/engine/events/mom.asm @@ -463,7 +463,7 @@ Mom_WithdrawDepositMenuJoypad: ldh [hBGMapMode], a hlcoord 12, 6 ld bc, 7 - ld a, " " + ld a, ' ' call ByteFill hlcoord 12, 6 ld de, wStringBuffer2 @@ -477,7 +477,7 @@ Mom_WithdrawDepositMenuJoypad: ld c, a ld b, 0 add hl, bc - ld [hl], " " + ld [hl], ' ' .skip call WaitBGMap diff --git a/engine/events/name_rater.asm b/engine/events/name_rater.asm index 9e9987b5..f2eaa966 100644 --- a/engine/events/name_rater.asm +++ b/engine/events/name_rater.asm @@ -116,9 +116,9 @@ IsNewNameEmpty: ld c, MON_NAME_LENGTH - 1 .loop ld a, [hli] - cp "@" + cp '@' jr z, .terminator - cp " " + cp ' ' jr nz, .nonspace dec c jr nz, .loop @@ -149,7 +149,7 @@ CompareNewToOld: ld de, wStringBuffer2 .loop ld a, [de] - cp "@" + cp '@' jr z, .terminator cp [hl] jr nz, .different @@ -170,7 +170,7 @@ GetNicknameLength: ld c, 0 .loop ld a, [hli] - cp "@" + cp '@' ret z inc c ld a, c diff --git a/engine/events/npc_trade.asm b/engine/events/npc_trade.asm index 6a8b257a..890eb3da 100644 --- a/engine/events/npc_trade.asm +++ b/engine/events/npc_trade.asm @@ -287,14 +287,14 @@ CopyTradeName: Trade_CopyFourCharString: ; unreferenced ld bc, 4 call CopyBytes - ld a, "@" + ld a, '@' ld [de], a ret Trade_CopyThreeCharString: ; unreferenced ld bc, 3 call CopyBytes - ld a, "@" + ld a, '@' ld [de], a ret @@ -334,7 +334,7 @@ GetTradeMonNames: ld hl, wStringBuffer1 .loop ld a, [hli] - cp "@" + cp '@' jr nz, .loop dec hl @@ -346,13 +346,13 @@ GetTradeMonNames: and a ; TRADE_GENDER_EITHER ret z cp TRADE_GENDER_MALE - ld a, "♂" + ld a, '♂' jr z, .done ; TRADE_GENDER_FEMALE - ld a, "♀" + ld a, '♀' .done ld [hli], a - ld [hl], "@" + ld [hl], '@' ret INCLUDE "data/events/npc_trades.asm" diff --git a/engine/events/print_unown.asm b/engine/events/print_unown.asm index 58ae4840..cd901f6b 100644 --- a/engine/events/print_unown.asm +++ b/engine/events/print_unown.asm @@ -1,5 +1,5 @@ -DEF UNOWNSTAMP_BOLD_A EQU "♂" ; $ef -DEF UNOWNSTAMP_BOLD_B EQU "♀" ; $f5 +DEF UNOWNSTAMP_BOLD_A EQU '♂' ; $ef +DEF UNOWNSTAMP_BOLD_B EQU '♀' ; $f5 _UnownPrinter: ld a, [wUnownDex] @@ -205,7 +205,7 @@ INCBIN "gfx/printer/bold_b.1bpp" PlaceUnownPrinterFrontpic: hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill hlcoord 7, 11 ld a, $31 diff --git a/engine/events/prof_oaks_pc.asm b/engine/events/prof_oaks_pc.asm index b272e3fb..253e17ca 100644 --- a/engine/events/prof_oaks_pc.asm +++ b/engine/events/prof_oaks_pc.asm @@ -66,7 +66,7 @@ Rate: .UpdateRatingBuffer: push hl - ld a, "@" + ld a, '@' ld bc, ITEM_NAME_LENGTH call ByteFill pop hl diff --git a/engine/events/shuckle.asm b/engine/events/shuckle.asm index e2c80783..8305536a 100644 --- a/engine/events/shuckle.asm +++ b/engine/events/shuckle.asm @@ -97,7 +97,7 @@ ReturnShuckie: ld a, [de] cp [hl] jr nz, .DontReturn - cp "@" + cp '@' jr z, .done inc de inc hl diff --git a/engine/games/card_flip.asm b/engine/games/card_flip.asm index 2758ac86..9f643f26 100644 --- a/engine/games/card_flip.asm +++ b/engine/games/card_flip.asm @@ -1,5 +1,5 @@ -DEF CARDFLIP_LIGHT_OFF EQU "♂" ; $ef -DEF CARDFLIP_LIGHT_ON EQU "♀" ; $f5 +DEF CARDFLIP_LIGHT_OFF EQU '♂' ; $ef +DEF CARDFLIP_LIGHT_ON EQU '♀' ; $f5 MemoryGameGFX: ; Graphics for an unused Game Corner @@ -578,11 +578,11 @@ CardFlip_CopyOAM: CardFlip_ShiftDigitsUpOnePixel: ; unreferenced ; The top rows of digits 1-9 become the bottom rows of 0-8, ; so this routine relies on the top rows being blank. - ld de, vTiles0 tile "0" - ld hl, vTiles0 tile "0" + 2 + ld de, vTiles0 tile '0' + ld hl, vTiles0 tile '0' + 2 ld bc, 10 tiles - 2 call CopyBytes - ld hl, vTiles0 tile "9" + 1 tiles - 2 + ld hl, vTiles0 tile '9' + 1 tiles - 2 xor a ld [hli], a ld [hl], a diff --git a/engine/games/memory_game.asm b/engine/games/memory_game.asm index 5e8151e6..9b5ec4b1 100644 --- a/engine/games/memory_game.asm +++ b/engine/games/memory_game.asm @@ -120,7 +120,7 @@ endr .CheckTriesRemaining: ld a, [wMemoryGameNumberTriesRemaining] hlcoord 17, 0 - add "0" + add '0' ld [hl], a ld hl, wMemoryGameNumberTriesRemaining ld a, [hl] diff --git a/engine/games/slot_machine.asm b/engine/games/slot_machine.asm index bca3799e..f103a116 100644 --- a/engine/games/slot_machine.asm +++ b/engine/games/slot_machine.asm @@ -109,7 +109,7 @@ _SlotMachine: call DisableLCD hlbgcoord 0, 0 ld bc, vBGMap1 - vBGMap0 - ld a, " " + ld a, ' ' call ByteFill ld b, SCGB_SLOT_MACHINE call GetSGBLayout @@ -241,13 +241,13 @@ DebugPrintSlotBias: ; unreferenced daa ld e, a and $f - add "0" + add '0' hlcoord 1, 0 ld [hl], a ld a, e swap a and $f - add "0" + add '0' hlcoord 0, 0 ld [hl], a ret @@ -1908,7 +1908,7 @@ Slots_PayoutText: inc a ldcoord_a 3, 14 hlcoord 18, 17 - ld [hl], "▼" + ld [hl], '▼' ld hl, .SlotsLinedUpText rept 4 inc bc diff --git a/engine/gfx/load_font.asm b/engine/gfx/load_font.asm index 34ba5dae..2bfb1cd4 100644 --- a/engine/gfx/load_font.asm +++ b/engine/gfx/load_font.asm @@ -1,21 +1,21 @@ _LoadStandardFont:: ld de, Font ld hl, vTiles1 - lb bc, BANK(Font), 128 ; "A" to "9" + lb bc, BANK(Font), 128 ; 'A' to '9' jp Get1bpp _LoadFontsExtra:: ld de, FontsExtra_SolidBlackAndUpArrowGFX - ld hl, vTiles2 tile "■" ; $60 + ld hl, vTiles2 tile '■' ; $60 lb bc, BANK(FontsExtra_SolidBlackAndUpArrowGFX), 2 call Get1bpp ld de, PokegearPhoneIconGFX - ld hl, vTiles2 tile "☎" ; $62 + ld hl, vTiles2 tile '☎' ; $62 lb bc, BANK(PokegearPhoneIconGFX), 1 call Get2bpp - ld de, FontExtra + 3 tiles ; "" - ld hl, vTiles2 tile "" - lb bc, BANK(FontExtra), 22 ; "" to "ぉ" + ld de, FontExtra + 3 tiles ; '' + ld hl, vTiles2 tile '' + lb bc, BANK(FontExtra), 22 ; '' to 'ぉ' call Get2bpp jr LoadFrame @@ -34,10 +34,10 @@ LoadFrame: call AddNTimes ld d, h ld e, l - ld hl, vTiles2 tile "┌" ; $79 - lb bc, BANK(Frames), TEXTBOX_FRAME_TILES ; "┌" to "┘" + ld hl, vTiles2 tile '┌' ; $79 + lb bc, BANK(Frames), TEXTBOX_FRAME_TILES ; '┌' to '┘' call Get1bpp - ld hl, vTiles2 tile " " ; $7f + ld hl, vTiles2 tile ' ' ; $7f ld de, TextboxSpaceGFX lb bc, BANK(TextboxSpaceGFX), 1 call Get1bpp @@ -49,8 +49,8 @@ LoadBattleFontsHPBar: lb bc, BANK(FontBattleExtra), 12 call Get2bpp ld hl, vTiles2 tile $70 - ld de, FontBattleExtra + 16 tiles ; "" - lb bc, BANK(FontBattleExtra), 3 ; "" to "『" + ld de, FontBattleExtra + 16 tiles ; '' + lb bc, BANK(FontBattleExtra), 3 ; '' to '『' call Get2bpp call LoadFrame @@ -96,7 +96,7 @@ LoadStatsScreenPageTilesGFX: LoadFontsBattleLevel: ; unreferenced ld de, FontBattleExtra + 14 tiles - ld hl, vTiles2 tile "" ; $6e + ld hl, vTiles2 tile '' ; $6e lb bc, BANK(FontBattleExtra), 1 jp Get2bpp diff --git a/engine/items/buy_sell_toss.asm b/engine/items/buy_sell_toss.asm index 57f5ea98..466c179b 100644 --- a/engine/items/buy_sell_toss.asm +++ b/engine/items/buy_sell_toss.asm @@ -127,7 +127,7 @@ BuySellToss_UpdateQuantityDisplay: call MenuBoxCoord2Tile ld de, SCREEN_WIDTH + 1 add hl, de - ld [hl], "×" + ld [hl], '×' inc hl ld de, wItemQuantityChange lb bc, PRINTNUM_LEADINGZEROS | 1, 2 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 05453d4d..25f69a09 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -773,7 +773,7 @@ HeavyBallMultiplier: ld a, d call GetFarByte inc hl - cp "@" + cp '@' jr nz, .SkipText ld a, d @@ -1749,7 +1749,7 @@ ItemActionTextWaitButton: ldh [hBGMapMode], a hlcoord 0, 0 ld bc, wTilemapEnd - wTilemap - ld a, " " + ld a, ' ' call ByteFill ld a, [wPartyMenuActionText] call ItemActionText diff --git a/engine/items/mart.asm b/engine/items/mart.asm index ccbf450c..a7de2ac5 100644 --- a/engine/items/mart.asm +++ b/engine/items/mart.asm @@ -260,12 +260,12 @@ GetMartPrice: .CharToNybble: ld a, [de] inc de - cp " " + cp ' ' jr nz, .not_space - ld a, "0" + ld a, '0' .not_space - sub "0" + sub '0' ret ReadMart: diff --git a/engine/items/pack.asm b/engine/items/pack.asm index a9d5d186..0233317a 100644 --- a/engine/items/pack.asm +++ b/engine/items/pack.asm @@ -1415,7 +1415,7 @@ Pack_GetItemName: Pack_ClearTilemap: ; unreferenced hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ret diff --git a/engine/items/tmhm.asm b/engine/items/tmhm.asm index 840a0072..e57a27dc 100644 --- a/engine/items/tmhm.asm +++ b/engine/items/tmhm.asm @@ -334,7 +334,7 @@ TMHM_DisplayPocketItems: hlcoord 5, 2 lb bc, 10, 15 - ld a, " " + ld a, ' ' call ClearBox call TMHM_GetCurrentPocketPosition ld d, $5 @@ -366,7 +366,7 @@ TMHM_DisplayPocketItems: push af sub NUM_TMS ld [wTempTMHM], a - ld [hl], "H" + ld [hl], 'H' inc hl ld de, wTempTMHM lb bc, PRINTNUM_LEFTALIGN | 1, 2 @@ -391,9 +391,9 @@ TMHM_DisplayPocketItems: jr nc, .hm2 ld bc, SCREEN_WIDTH + 9 add hl, bc - ld [hl], "×" + ld [hl], '×' inc hl - ld a, "0" ; why are we doing this? + ld a, '0' ; why are we doing this? pop bc push bc ld a, b diff --git a/engine/link/link.asm b/engine/link/link.asm index 03d176d1..f3d28a39 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -1306,7 +1306,7 @@ LinkTrade_TradeStatsMenu: call PlaceString .joy_loop - ld a, " " + ld a, ' ' ldcoord_a 11, 16 ld a, PAD_A | PAD_B | PAD_RIGHT ld [wMenuJoypadFilter], a @@ -1338,7 +1338,7 @@ LinkTrade_TradeStatsMenu: jp LinkTrade_PlayerPartyMenu .d_right - ld a, " " + ld a, ' ' ldcoord_a 1, 16 ld a, PAD_A | PAD_B | PAD_LEFT ld [wMenuJoypadFilter], a @@ -1459,7 +1459,7 @@ LinkTradeOTPartymonMenuCheckCancel: call HideCursor .loop1 - ld a, "▶" + ld a, '▶' ldcoord_a 1, 16 .loop2 call JoyTextDelay @@ -1470,14 +1470,14 @@ LinkTradeOTPartymonMenuCheckCancel: jr nz, .a_button bit B_PAD_UP, a jr z, .loop2 - ld a, " " + ld a, ' ' ldcoord_a 1, 16 ld a, [wOTPartyCount] ld [wMenuCursorY], a jp LinkTrade_OTPartyMenu .a_button - ld a, "▷" + ld a, '▷' ldcoord_a 1, 16 ld a, $f ld [wPlayerLinkAction], a @@ -1508,7 +1508,7 @@ PlaceTradeScreenFooter: call ByteFill ; Clear out area for cancel string hlcoord 1, 16 - ld a, " " + ld a, ' ' ld bc, SCREEN_WIDTH - 2 call ByteFill ; Place the string @@ -1525,7 +1525,7 @@ LinkTradePlaceArrow: hlcoord 6, 9 ld bc, SCREEN_WIDTH call AddNTimes - ld [hl], "▷" + ld [hl], '▷' ret LinkMonStatsScreen: @@ -1918,7 +1918,7 @@ LinkTextboxAtHL: push hl ld a, $7b ld [hli], a - ld a, " " + ld a, ' ' call .PlaceRow ld [hl], $77 pop hl diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 5633a42a..a83385d2 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -158,13 +158,13 @@ SetDefaultBoxNames: cp 10 jr c, .less sub 10 - ld [hl], "1" + ld [hl], '1' inc hl .less - add "0" + add '0' ld [hli], a - ld [hl], "@" + ld [hl], '@' pop hl ld de, 9 add hl, de @@ -489,7 +489,7 @@ Continue_DisplayGameTime: ld de, wGameTimeHours lb bc, 2, 3 call PrintNum - ld [hl], "" + ld [hl], '' inc hl ld de, wGameTimeMinutes lb bc, PRINTNUM_LEADINGZEROS | 1, 2 diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index bd429e87..ee8e3282 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -211,7 +211,7 @@ MainMenu_PrintCurrentTimeAndDay: ldh a, [hHours] ld c, a farcall PrintHour - ld [hl], ":" + ld [hl], ':' inc hl ld de, hMinutes lb bc, PRINTNUM_LEADINGZEROS | 1, 2 diff --git a/engine/menus/menu.asm b/engine/menus/menu.asm index 772ee76c..3b8d9f91 100644 --- a/engine/menus/menu.asm +++ b/engine/menus/menu.asm @@ -379,7 +379,7 @@ Move2DMenuCursor: ld h, [hl] ld l, a ld a, [hl] - cp "▶" + cp '▶' jr nz, Place2DMenuCursor ld a, [wCursorOffCharacter] ld [hl], a @@ -423,10 +423,10 @@ Place2DMenuCursor: ld c, a add hl, bc ld a, [hl] - cp "▶" + cp '▶' jr z, .cursor_on ld [wCursorOffCharacter], a - ld [hl], "▶" + ld [hl], '▶' .cursor_on ld a, l diff --git a/engine/menus/menu_2.asm b/engine/menus/menu_2.asm index ea94f67b..8425f518 100644 --- a/engine/menus/menu_2.asm +++ b/engine/menus/menu_2.asm @@ -18,7 +18,7 @@ PlaceMenuItemQuantity: jr nz, .done ld de, $15 add hl, de - ld [hl], "×" + ld [hl], '×' inc hl ld de, wMenuSelectionQuantity lb bc, 1, 2 diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index d04d4aa0..25cadf0d 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -1,8 +1,8 @@ DEF NAMINGSCREEN_CURSOR EQU $7e -DEF NAMINGSCREEN_BORDER EQU "■" ; $60 -DEF NAMINGSCREEN_MIDDLELINE EQU "→" ; $eb -DEF NAMINGSCREEN_UNDERLINE EQU "" ; $f2 +DEF NAMINGSCREEN_BORDER EQU '■' ; $60 +DEF NAMINGSCREEN_MIDDLELINE EQU '→' ; $eb +DEF NAMINGSCREEN_UNDERLINE EQU '' ; $f2 _NamingScreen: call DisableSpriteUpdates @@ -106,9 +106,9 @@ NamingScreenJumptable: call PlaceString farcall GetGender jr c, .genderless - ld a, "♂" + ld a, '♂' jr nz, .place_gender - ld a, "♀" + ld a, '♀' .place_gender hlcoord 1, 2 ld [hl], a @@ -644,10 +644,10 @@ NamingScreen_AnimateCursor: NamingScreen_TryAddCharacter: ld a, [wNamingScreenLastCharacter] ld hl, Dakutens - cp "゙" + cp '゙' jr z, AddDakutenToCharacter ld hl, Handakutens - cp "゚" + cp '゚' jr z, AddDakutenToCharacter MailComposition_TryAddCharacter: @@ -668,7 +668,7 @@ NamingScreen_AdvanceCursor_CheckEndOfString: inc [hl] call NamingScreen_GetTextCursorPosition ld a, [hl] - cp "@" + cp '@' jr z, .end_of_string ld [hl], NAMINGSCREEN_UNDERLINE and a @@ -748,7 +748,7 @@ NamingScreen_InitNameEntry: ld [hli], a dec c jr nz, .loop - ld [hl], "@" + ld [hl], '@' ret NamingScreen_StoreEntry: @@ -765,7 +765,7 @@ NamingScreen_StoreEntry: cp NAMINGSCREEN_UNDERLINE jr nz, .not_terminator .terminator - ld [hl], "@" + ld [hl], '@' .not_terminator inc hl dec c @@ -944,7 +944,7 @@ _ComposeMailMessage: ld d, [hl] ld hl, MAIL_LINE_LENGTH add hl, de - ld [hl], "" + ld [hl], '' ret .MailIcon: @@ -966,7 +966,7 @@ INCBIN "gfx/naming_screen/mail.2bpp" call ByteFill hlcoord 0, 6 ld bc, 12 * SCREEN_WIDTH - ld a, " " + ld a, ' ' call ByteFill hlcoord 1, 1 lb bc, 4, SCREEN_WIDTH - 2 @@ -1089,7 +1089,7 @@ INCBIN "gfx/naming_screen/mail.2bpp" call NamingScreen_GetTextCursorPosition ld [hl], NAMINGSCREEN_UNDERLINE dec hl - ld [hl], "" + ld [hl], '' ret .start @@ -1115,7 +1115,7 @@ INCBIN "gfx/naming_screen/mail.2bpp" call NamingScreen_GetTextCursorPosition ld [hl], NAMINGSCREEN_UNDERLINE inc hl - ld [hl], "" + ld [hl], '' ret .finished @@ -1320,10 +1320,10 @@ ComposeMail_GetCursorPosition: MailComposition_TryAddLastCharacter: ld a, [wNamingScreenLastCharacter] ld hl, Dakutens - cp "゙" + cp '゙' jr z, .add_dakuten ld hl, Handakutens - cp "゚" + cp '゚' jp nz, MailComposition_TryAddCharacter .add_dakuten diff --git a/engine/menus/options_menu.asm b/engine/menus/options_menu.asm index 5ab6c748..586aa6d5 100644 --- a/engine/menus/options_menu.asm +++ b/engine/menus/options_menu.asm @@ -475,7 +475,7 @@ Options_Frame: UpdateFrame: ld a, [wTextboxFrame] hlcoord 16, 15 ; where on the screen the number is drawn - add "1" + add '1' ld [hl], a call LoadFontsExtra and a @@ -545,7 +545,7 @@ Options_UpdateCursorPosition: ld de, SCREEN_WIDTH ld c, SCREEN_HEIGHT - 2 .loop - ld [hl], " " + ld [hl], ' ' add hl, de dec c jr nz, .loop @@ -553,5 +553,5 @@ Options_UpdateCursorPosition: ld bc, 2 * SCREEN_WIDTH ld a, [wJumptableIndex] call AddNTimes - ld [hl], "▶" + ld [hl], '▶' ret diff --git a/engine/menus/scrolling_menu.asm b/engine/menus/scrolling_menu.asm index ac2150c3..9724d4c2 100644 --- a/engine/menus/scrolling_menu.asm +++ b/engine/menus/scrolling_menu.asm @@ -201,7 +201,7 @@ ScrollingMenu_ClearLeftColumn: ld de, 2 * SCREEN_WIDTH ld a, [wMenuData_ScrollingMenuHeight] .loop - ld [hl], " " + ld [hl], ' ' add hl, de dec a jr nz, .loop @@ -355,7 +355,7 @@ ScrollingMenu_UpdateDisplay: ld a, [wMenuBorderRightCoord] ld c, a call Coord2Tile - ld [hl], "▲" + ld [hl], '▲' .okay call MenuBoxCoord2Tile @@ -392,7 +392,7 @@ ScrollingMenu_UpdateDisplay: ld a, [wMenuBorderRightCoord] ld c, a call Coord2Tile - ld [hl], "▼" + ld [hl], '▼' .done ret @@ -461,7 +461,7 @@ ScrollingMenu_PlaceCursor: add $0 ld c, a call Coord2Tile - ld [hl], "▷" + ld [hl], '▷' .done ret diff --git a/engine/menus/trainer_card.asm b/engine/menus/trainer_card.asm index 2422b3ae..4ee7708f 100644 --- a/engine/menus/trainer_card.asm +++ b/engine/menus/trainer_card.asm @@ -370,7 +370,7 @@ TrainerCard_InitBorder: ld [hli], a ld e, SCREEN_WIDTH - 3 - ld a, " " + ld a, ' ' .loop2 ld [hli], a dec e @@ -386,7 +386,7 @@ TrainerCard_InitBorder: ld [hli], a ld e, SCREEN_WIDTH - 2 - ld a, " " + ld a, ' ' .loop4 ld [hli], a dec e @@ -404,7 +404,7 @@ TrainerCard_InitBorder: ld [hli], a ld e, SCREEN_WIDTH - 3 - ld a, " " + ld a, ' ' .loop5 ld [hli], a dec e @@ -466,7 +466,7 @@ TrainerCard_Page1_PrintGameTime: ret nz hlcoord 15, 12 ld a, [hl] - xor " " ^ $2e ; alternate between space and small colon ($2e) tiles + xor ' ' ^ $2e ; alternate between space and small colon ($2e) tiles ld [hl], a ret diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index d6b96597..d7c3ab7f 100644 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -242,7 +242,7 @@ ParseCredits: ldh [hBGMapMode], a hlcoord 0, 5 ld bc, SCREEN_WIDTH * 8 - ld a, " " + ld a, ' ' call ByteFill ; Then read the script. diff --git a/engine/movie/init_hof_credits.asm b/engine/movie/init_hof_credits.asm index f92183ab..f5a212b5 100644 --- a/engine/movie/init_hof_credits.asm +++ b/engine/movie/init_hof_credits.asm @@ -7,7 +7,7 @@ InitDisplayForHallOfFame: call LoadFontsBattleExtra hlbgcoord 0, 0 ld bc, vBGMap1 - vBGMap0 - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 0, wAttrmap ld bc, SCREEN_AREA @@ -36,7 +36,7 @@ InitDisplayForRedCredits: call LoadFontsBattleExtra hlbgcoord 0, 0 ld bc, vBGMap1 - vBGMap0 - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 0, wAttrmap ld bc, SCREEN_AREA diff --git a/engine/movie/title.asm b/engine/movie/title.asm index f0e67c91..a94f7fc6 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -201,6 +201,6 @@ LoadTitleScreenTilemap: ret nz hlbgcoord 0, 11 ld bc, TILEMAP_WIDTH - ld a, "@" + ld a, '@' call ByteFill ret diff --git a/engine/movie/trade_animation.asm b/engine/movie/trade_animation.asm index 3d26c1b3..da9c276a 100644 --- a/engine/movie/trade_animation.asm +++ b/engine/movie/trade_animation.asm @@ -1,5 +1,5 @@ -DEF TRADEANIM_RIGHT_ARROW EQU "▶" ; $ed -DEF TRADEANIM_LEFT_ARROW EQU "▼" ; $ee +DEF TRADEANIM_RIGHT_ARROW EQU '▶' ; $ed +DEF TRADEANIM_LEFT_ARROW EQU '▼' ; $ee ; TradeAnim_TubeAnimJumptable.Jumptable indexes const_def @@ -165,7 +165,7 @@ RunTradeAnimScript: .NotCGB: hlbgcoord 0, 0 ld bc, STARTOF(VRAM) + SIZEOF(VRAM) - vBGMap0 - ld a, " " + ld a, ' ' call ByteFill ld hl, TradeGameBoyLZ ld de, vTiles2 tile $31 @@ -453,7 +453,7 @@ TradeAnim_TubeToPlayer8: callfar ClearSpriteAnims hlbgcoord 0, 0 ld bc, STARTOF(VRAM) + SIZEOF(VRAM) - vBGMap0 - ld a, " " + ld a, ' ' call ByteFill xor a ldh [hSCX], a @@ -577,7 +577,7 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim: call ClearTilemap hlcoord 0, 0 ld bc, SCREEN_WIDTH - ld a, "─" + ld a, '─' call ByteFill hlcoord 0, 1 ld de, wLinkPlayer1Name @@ -586,7 +586,7 @@ TradeAnim_PlaceTrademonStatsOnTubeAnim: ld de, 0 .find_name_end_loop ld a, [hli] - cp "@" + cp '@' jr z, .done dec de jr .find_name_end_loop @@ -1154,7 +1154,7 @@ TradeAnim_TakeCareOfText: call WaitTop hlcoord 0, 10 ld bc, 8 * SCREEN_WIDTH - ld a, " " + ld a, ' ' call ByteFill call WaitBGMap ld hl, .TakeGoodCareOfMonText @@ -1215,7 +1215,7 @@ TradeAnim_Wait80Frames: TradeAnim_BlankTilemap: hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ret diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index 7158f89d..3410c302 100644 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -6,7 +6,7 @@ BlankScreen: call ClearSprites hlcoord 0, 0 ld bc, wTilemapEnd - wTilemap - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 0, wAttrmap ld bc, wAttrmapEnd - wAttrmap diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm index c3457366..1923fee3 100644 --- a/engine/overworld/scripting.asm +++ b/engine/overworld/scripting.asm @@ -1560,7 +1560,7 @@ Script_getnum: ResetStringBuffer1: ld hl, wStringBuffer1 ld bc, MOVE_NAME_LENGTH - ld a, "@" + ld a, '@' call ByteFill ret diff --git a/engine/overworld/wildmons.asm b/engine/overworld/wildmons.asm index 70baf95b..2c507e75 100644 --- a/engine/overworld/wildmons.asm +++ b/engine/overworld/wildmons.asm @@ -912,7 +912,7 @@ RandomPhoneMon: ld a, BANK(Trainers) call GetFarByte inc hl - cp "@" + cp '@' jr nz, .skip_name ld a, BANK(Trainers) diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm index e564688d..aa88007d 100644 --- a/engine/phone/phone.asm +++ b/engine/phone/phone.asm @@ -496,7 +496,7 @@ PhoneCall:: .CallerTextboxWithName: call Phone_CallerTextbox hlcoord 1, 2 - ld [hl], "☎" + ld [hl], '☎' inc hl inc hl ; BUG: The unused phonecall script command may crash (see docs/bugs_and_glitches.md) @@ -583,7 +583,7 @@ Phone_TextboxWithName: push bc call Phone_CallerTextbox hlcoord 1, 1 - ld [hl], "☎" + ld [hl], '☎' inc hl inc hl ld d, h @@ -641,7 +641,7 @@ GetCallerName: push hl push bc call PlaceString - ld a, ":" + ld a, ':' ld [bc], a pop bc pop hl @@ -663,7 +663,7 @@ GetCallerName: ld d, [hl] pop hl call PlaceString - ld a, ":" + ld a, ':' ld [bc], a ret diff --git a/engine/pokedex/pokedex.asm b/engine/pokedex/pokedex.asm index 5f325880..c278ed63 100644 --- a/engine/pokedex/pokedex.asm +++ b/engine/pokedex/pokedex.asm @@ -884,7 +884,7 @@ Pokedex_UnownModeHandleDPadInput: ret Pokedex_UnownModeEraseCursor: - ld c, " " + ld c, ' ' jr Pokedex_UnownModeUpdateCursorGfx Pokedex_UnownModePlaceCursor: @@ -1144,7 +1144,7 @@ Pokedex_DrawDexEntryScreenBG: hlcoord 19, 0 ld [hl], $34 hlcoord 19, 1 - ld a, " " + ld a, ' ' ld b, 15 call Pokedex_FillColumn ld [hl], $39 @@ -1154,7 +1154,7 @@ Pokedex_DrawDexEntryScreenBG: call ByteFill hlcoord 1, 17 ld bc, 18 - ld a, " " + ld a, ' ' call ByteFill hlcoord 9, 7 ld de, .Height @@ -1299,7 +1299,7 @@ Pokedex_PlaceSearchResultsTypeStrings: hlcoord 2, 15 call Pokedex_PlaceTypeString hlcoord 1, 15 - ld [hl], "/" + ld [hl], '/' .done ret @@ -1478,7 +1478,7 @@ Pokedex_PrintListing: add a inc a ld b, a - ld a, " " + ld a, ' ' call Pokedex_FillBox ; Load de with wPokedexOrder + [wDexListingScrollOffset] @@ -1846,7 +1846,7 @@ Pokedex_PlaceSearchScreenTypeStrings: ldh [hBGMapMode], a hlcoord 9, 3 lb bc, 4, 8 - ld a, " " + ld a, ' ' call Pokedex_FillBox ld a, [wDexSearchMonType1] hlcoord 9, 4 @@ -2226,7 +2226,7 @@ Pokedex_MoveArrowCursor: and a jr z, .no_action call Pokedex_GetArrowCursorPos - ld [hl], " " + ld [hl], ' ' ld hl, wDexArrowCursorPosIndex dec [hl] jr .update_cursor_pos @@ -2236,13 +2236,13 @@ Pokedex_MoveArrowCursor: cp c jr nc, .no_action call Pokedex_GetArrowCursorPos - ld [hl], " " + ld [hl], ' ' ld hl, wDexArrowCursorPosIndex inc [hl] .update_cursor_pos call Pokedex_GetArrowCursorPos - ld [hl], "▶" + ld [hl], '▶' ld a, 12 ld [wDexArrowCursorDelayCounter], a xor a @@ -2256,7 +2256,7 @@ Pokedex_MoveArrowCursor: .select call Pokedex_GetArrowCursorPos - ld [hl], " " + ld [hl], ' ' ld a, [wDexArrowCursorPosIndex] cp c jr c, .update @@ -2284,12 +2284,12 @@ Pokedex_BlinkArrowCursor: and $8 jr z, .blink_on call Pokedex_GetArrowCursorPos - ld [hl], " " + ld [hl], ' ' ret .blink_on call Pokedex_GetArrowCursorPos - ld [hl], "▶" + ld [hl], '▶' ret Pokedex_ArrowCursorDelay: @@ -2541,7 +2541,7 @@ _NewPokedexEntry: ld [hl], $3b inc hl ld bc, 19 - ld a, " " + ld a, ' ' call ByteFill farcall DisplayDexEntry call EnableLCD diff --git a/engine/pokedex/pokedex_2.asm b/engine/pokedex/pokedex_2.asm index 7da75a7e..b7d46cf7 100644 --- a/engine/pokedex/pokedex_2.asm +++ b/engine/pokedex/pokedex_2.asm @@ -248,7 +248,7 @@ GetDexEntryPagePointer: ld a, b call GetFarByte inc hl - cp "@" + cp '@' jr nz, .loop1 ; skip height and weight rept 4 @@ -262,7 +262,7 @@ endr ld a, b call GetFarByte inc hl - cp "@" + cp '@' jr nz, .loop2 .done diff --git a/engine/pokedex/unown_dex.asm b/engine/pokedex/unown_dex.asm index 1b66a4ac..e4bfe9cf 100644 --- a/engine/pokedex/unown_dex.asm +++ b/engine/pokedex/unown_dex.asm @@ -21,7 +21,7 @@ UpdateUnownDex: PrintUnownWord: hlcoord 4, 15 ld bc, 12 - ld a, " " + ld a, ' ' call ByteFill ld a, [wDexCurUnownIndex] ld e, a diff --git a/engine/pokegear/pokegear.asm b/engine/pokegear/pokegear.asm index 82d28755..248a4d35 100644 --- a/engine/pokegear/pokegear.asm +++ b/engine/pokegear/pokegear.asm @@ -859,7 +859,7 @@ PokegearPhone_Joypad: ld a, [wPokegearPhoneCursorPosition] ld bc, SCREEN_WIDTH * 2 call AddNTimes - ld [hl], "▷" + ld [hl], '▷' call PokegearPhoneContactSubmenu jr c, .quit_submenu ld hl, wJumptableIndex @@ -989,7 +989,7 @@ PokegearPhone_GetDPad: ret PokegearPhone_UpdateCursor: - ld a, " " + ld a, ' ' for y, PHONE_DISPLAY_HEIGHT hlcoord 1, 4 + y * 2 ld [hl], a @@ -998,13 +998,13 @@ endr ld a, [wPokegearPhoneCursorPosition] ld bc, 2 * SCREEN_WIDTH call AddNTimes - ld [hl], "▶" + ld [hl], '▶' ret PokegearPhone_UpdateDisplayList: hlcoord 1, 3 ld b, PHONE_DISPLAY_HEIGHT * 2 + 1 - ld a, " " + ld a, ' ' .row ld c, SCREEN_WIDTH - 2 .col @@ -1216,7 +1216,7 @@ PokegearPhoneContactSubmenu: ld a, [de] ld c, a push hl - ld a, " " + ld a, ' ' ld de, SCREEN_WIDTH * 2 .clear_column ld [hl], a @@ -1227,7 +1227,7 @@ PokegearPhoneContactSubmenu: ld a, [wPokegearPhoneSubmenuCursor] ld bc, SCREEN_WIDTH * 2 call AddNTimes - ld [hl], "▶" + ld [hl], '▶' pop de ret @@ -1924,13 +1924,13 @@ PlayRadio: lb bc, 4, 18 call Textbox hlcoord 1, 14 - ld [hl], "“" + ld [hl], '“' pop de hlcoord 2, 14 call PlaceString ld h, b ld l, c - ld [hl], "”" + ld [hl], '”' call WaitBGMap ret @@ -2093,7 +2093,7 @@ TownMapBubble: ld [hli], a ; Top row ld bc, 16 - ld a, " " + ld a, ' ' call ByteFill ; Top-right corner ld a, $31 @@ -2102,7 +2102,7 @@ TownMapBubble: ; Middle row ld bc, SCREEN_WIDTH - 2 - ld a, " " + ld a, ' ' call ByteFill ; Bottom-left corner @@ -2111,7 +2111,7 @@ TownMapBubble: ld [hli], a ; Bottom row ld bc, 16 - ld a, " " + ld a, ' ' call ByteFill ; Bottom-right corner ld a, $33 @@ -2402,7 +2402,7 @@ Pokedex_GetArea: .PlaceString_MonsNest: hlcoord 0, 0 ld bc, SCREEN_WIDTH - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 1 ld a, $06 diff --git a/engine/pokegear/radio.asm b/engine/pokegear/radio.asm index e2ae65b7..cdccf391 100644 --- a/engine/pokegear/radio.asm +++ b/engine/pokegear/radio.asm @@ -127,9 +127,9 @@ ReplacePeriodsWithSpaces: ; unreferenced ld b, SCREEN_WIDTH * 2 .loop ld a, [hl] - cp "." + cp '.' jr nz, .next - ld [hl], " " + ld [hl], ' ' .next inc hl dec b @@ -611,11 +611,11 @@ CopyBottomLineToTopLine: ClearBottomLine: hlcoord 1, 15 ld bc, SCREEN_WIDTH - 2 - ld a, " " + ld a, ' ' call ByteFill hlcoord 1, 16 ld bc, SCREEN_WIDTH - 2 - ld a, " " + ld a, ' ' jp ByteFill PokedexShow1: @@ -659,7 +659,7 @@ PokedexShow2: push hl call CopyDexEntryPart1 dec hl - ld [hl], "" + ld [hl], '' ld hl, wPokedexShowPointerAddr call CopyRadioTextToRAM pop hl @@ -715,7 +715,7 @@ CopyDexEntry: push hl call CopyDexEntryPart1 dec hl - ld [hl], "" + ld [hl], '' ld hl, wPokedexShowPointerAddr call CopyRadioTextToRAM pop hl @@ -730,15 +730,15 @@ CopyDexEntryPart1: ld hl, wPokedexShowPointerAddr ld [hl], TX_START inc hl - ld [hl], "" + ld [hl], '' inc hl .loop ld a, [hli] - cp "@" + cp '@' ret z - cp "" + cp '' ret z - cp "" + cp '' ret z jr .loop @@ -748,11 +748,11 @@ CopyDexEntryPart2: ld a, d call GetFarByte inc hl - cp "@" + cp '@' jr z, .okay - cp "" + cp '' jr z, .okay - cp "" + cp '' jr nz, .loop .okay ld a, l @@ -919,7 +919,7 @@ LuckyNumberShow8: ld de, wLuckyIDNumber lb bc, PRINTNUM_LEADINGZEROS | 2, 5 call PrintNum - ld a, "@" + ld a, '@' ld [wStringBuffer1 + 5], a ld hl, LC_Text8 ld a, LUCKY_NUMBER_SHOW_9 diff --git a/engine/pokegear/townmap_convertlinebreakcharacters.asm b/engine/pokegear/townmap_convertlinebreakcharacters.asm index 6891d359..0f2d938b 100644 --- a/engine/pokegear/townmap_convertlinebreakcharacters.asm +++ b/engine/pokegear/townmap_convertlinebreakcharacters.asm @@ -2,17 +2,17 @@ TownMap_ConvertLineBreakCharacters: ld hl, wStringBuffer1 .loop ld a, [hl] - cp "@" + cp '@' jr z, .end - cp "" + cp '' jr z, .line_feed - cp "" + cp '' jr z, .line_feed inc hl jr .loop .line_feed - ld [hl], "" + ld [hl], '' .end ld de, wStringBuffer1 diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index ea33dc06..7505efa1 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1068,9 +1068,9 @@ PCMonInfo: ld [wMonType], a farcall GetGender jr c, .skip_gender - ld a, "♂" + ld a, '♂' jr nz, .printgender - ld a, "♀" + ld a, '♀' .printgender hlcoord 5, 12 ld [hl], a @@ -1207,9 +1207,9 @@ BillsPC_RefreshTextboxes: call Textbox hlcoord 8, 2 - ld [hl], "└" + ld [hl], '└' hlcoord 19, 2 - ld [hl], "┘" + ld [hl], '┘' ld a, [wBillsPC_ScrollPosition] ld e, a @@ -1777,7 +1777,7 @@ DepositPokemon: ld h, b ld de, wStringBuffer1 call PlaceString - ld a, "!" + ld a, '!' ld [bc], a ld c, 50 call DelayFrames @@ -1832,7 +1832,7 @@ TryWithdrawPokemon: ld h, b ld de, wStringBuffer1 call PlaceString - ld a, "!" + ld a, '!' ld [bc], a ld c, 50 call DelayFrames @@ -1891,7 +1891,7 @@ ReleasePKMN_ByePKMN: call PlaceString ld l, c ld h, b - ld [hl], "!" + ld [hl], '!' ld c, 50 call DelayFrames ret @@ -2230,7 +2230,7 @@ BillsPC_ClearTilemap: ldh [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ret diff --git a/engine/pokemon/bills_pc_top.asm b/engine/pokemon/bills_pc_top.asm index 74af33f7..4849d68b 100644 --- a/engine/pokemon/bills_pc_top.asm +++ b/engine/pokemon/bills_pc_top.asm @@ -236,7 +236,7 @@ ClearPCItemScreen: call ClearSprites hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 0 lb bc, 10, 18 diff --git a/engine/pokemon/breeding.asm b/engine/pokemon/breeding.asm index 3669fced..73c52781 100644 --- a/engine/pokemon/breeding.asm +++ b/engine/pokemon/breeding.asm @@ -635,7 +635,7 @@ Hatch_UpdateFrontpicBGMapCenter: push bc hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill pop bc pop hl diff --git a/engine/pokemon/correct_nick_errors.asm b/engine/pokemon/correct_nick_errors.asm index e7635c1d..4fb7c007 100644 --- a/engine/pokemon/correct_nick_errors.asm +++ b/engine/pokemon/correct_nick_errors.asm @@ -11,7 +11,7 @@ CorrectNickErrors:: .checkchar ; end of nick? ld a, [de] - cp "@" ; terminator + cp '@' ; terminator jr z, .end ; check if this char is a text command @@ -34,8 +34,8 @@ CorrectNickErrors:: cp [hl] jr nc, .loop -; replace it with a "?" - ld a, "?" +; replace it with a '?' + ld a, '?' ld [de], a jr .loop @@ -49,10 +49,10 @@ CorrectNickErrors:: ; change nick to "?@" pop de push de - ld a, "?" + ld a, '?' ld [de], a inc de - ld a, "@" + ld a, '@' ld [de], a .end ; if the nick has any errors at this point it's out of our hands @@ -64,11 +64,11 @@ CorrectNickErrors:: ; table defining which characters are actually text commands ; format: ; ≥ < - db "", "ガ" - db "", "" + 1 - db "", "" + 1 - db "", "" + 1 - db "", "" + 1 - db "", "" + 1 - db "", "┘" + 1 + db '', 'ガ' + db '', '' + 1 + db '', '' + 1 + db '', '' + 1 + db '', '' + 1 + db '', '' + 1 + db '', '┘' + 1 db -1 ; end diff --git a/engine/pokemon/evolve.asm b/engine/pokemon/evolve.asm index 5172c59e..e4f206aa 100644 --- a/engine/pokemon/evolve.asm +++ b/engine/pokemon/evolve.asm @@ -361,7 +361,7 @@ UpdateSpeciesNameIfNotNicknamed: cp [hl] inc hl ret nz - cp "@" + cp '@' jr nz, .loop ld a, [wCurPartyMon] diff --git a/engine/pokemon/mail.asm b/engine/pokemon/mail.asm index f95ee9e5..98f85658 100644 --- a/engine/pokemon/mail.asm +++ b/engine/pokemon/mail.asm @@ -155,7 +155,7 @@ CheckPokeMail:: ld c, a ld a, b call GetFarByte - cp "@" + cp '@' jr z, .done cp c ld a, POKEMAIL_WRONG_MAIL @@ -354,7 +354,7 @@ MailboxPC_GetMailAuthor: push de ld bc, NAME_LENGTH - 1 call CopyBytes - ld a, "@" + ld a, '@' ld [de], a call CloseSRAM pop de diff --git a/engine/pokemon/mail_2.asm b/engine/pokemon/mail_2.asm index 00c7a03d..afafa176 100644 --- a/engine/pokemon/mail_2.asm +++ b/engine/pokemon/mail_2.asm @@ -692,7 +692,7 @@ MailGFX_PlaceMessage: ld de, wMonOrItemNameBuffer ld bc, NAME_LENGTH - 1 call CopyBytes - ld a, "@" + ld a, '@' ld [wTempMailAuthor], a ld [wMonOrItemNameBuffer + NAME_LENGTH - 1], a ld de, wTempMailMessage diff --git a/engine/pokemon/mon_menu.asm b/engine/pokemon/mon_menu.asm index 11510178..6d4d8333 100644 --- a/engine/pokemon/mon_menu.asm +++ b/engine/pokemon/mon_menu.asm @@ -171,7 +171,7 @@ SwitchPartyMons: ld a, [wSwitchMon] dec a call AddNTimes - ld [hl], "▷" + ld [hl], '▷' call WaitBGMap call SetDefaultBGPAndOBP call DelayFrame @@ -906,7 +906,7 @@ MoveScreenLoop: jp .joy_loop .moving_move - ld a, " " + ld a, ' ' hlcoord 1, 11 ld bc, 5 call ByteFill @@ -1260,7 +1260,7 @@ PlaceMoveScreenLeftArrow: .legal hlcoord 16, 0 - ld [hl], "◀" + ld [hl], '◀' ret PlaceMoveScreenRightArrow: @@ -1291,5 +1291,5 @@ PlaceMoveScreenRightArrow: .legal hlcoord 18, 0 - ld [hl], "▶" + ld [hl], '▶' ret diff --git a/engine/pokemon/mon_stats.asm b/engine/pokemon/mon_stats.asm index 5ef82353..1290567b 100644 --- a/engine/pokemon/mon_stats.asm +++ b/engine/pokemon/mon_stats.asm @@ -71,7 +71,7 @@ DrawHP: lb bc, 2, 3 call PrintNum - ld a, "/" + ld a, '/' ld [hli], a ; Print max HP @@ -253,7 +253,7 @@ ListMovePP: and a jr z, .skip ld c, a - ld a, "-" + ld a, '-' call .load_loop .skip @@ -295,7 +295,7 @@ ListMovePP: ld de, wStringBuffer1 + 4 lb bc, 1, 2 call PrintNum - ld a, "/" + ld a, '/' ld [hli], a ld de, wTempPP lb bc, 1, 2 @@ -462,7 +462,7 @@ ListMoves: ld a, b .nonmove_loop push af - ld [hl], "-" + ld [hl], '-' ld a, [wListMovesLineSpacing] ld c, a ld b, 0 diff --git a/engine/pokemon/party_menu.asm b/engine/pokemon/party_menu.asm index e854da11..1df36dcb 100644 --- a/engine/pokemon/party_menu.asm +++ b/engine/pokemon/party_menu.asm @@ -49,7 +49,7 @@ WritePartyMenuTilemap: ldh [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill ; blank the tilemap call GetPartyMenuQualityIndexes .loop @@ -203,7 +203,7 @@ PlacePartyMenuHPDigits: lb bc, 2, 3 call PrintNum pop de - ld a, "/" + ld a, '/' ld [hli], a inc de inc de @@ -243,7 +243,7 @@ PlacePartyMonLevel: ld a, [de] cp 100 ; This is distinct from MAX_LEVEL. jr nc, .ThreeDigits - ld a, "" + ld a, '' ld [hli], a lb bc, PRINTNUM_LEFTALIGN | 1, 2 ; jr .okay diff --git a/engine/pokemon/stats_screen.asm b/engine/pokemon/stats_screen.asm index 59be609a..7c0f0a64 100644 --- a/engine/pokemon/stats_screen.asm +++ b/engine/pokemon/stats_screen.asm @@ -274,9 +274,9 @@ StatsScreen_InitUpperHalf: ld [wTextDecimalByte], a ld [wCurSpecies], a hlcoord 8, 0 - ld [hl], "№" + ld [hl], '№' inc hl - ld [hl], "." + ld [hl], '.' inc hl ld de, wTextDecimalByte lb bc, PRINTNUM_LEADINGZEROS | 1, 3 @@ -300,15 +300,15 @@ StatsScreen_InitUpperHalf: ; Gender character call GetGender jr c, .next - ld a, "♂" + ld a, '♂' jr nz, .got_gender - ld a, "♀" + ld a, '♀' .got_gender hlcoord 18, 0 ld [hl], a .next hlcoord 9, 4 - ld a, "/" + ld a, '/' ld [hli], a ld a, [wBaseDexNo] ld [wNamedObjectIndex], a @@ -371,7 +371,7 @@ LoadPinkPage: and $f0 jr z, .NotImmuneToPkrs hlcoord 8, 8 - ld [hl], "." ; Pokérus immunity dot + ld [hl], '.' ; Pokérus immunity dot .NotImmuneToPkrs: ld a, [wMonType] cp BOXMON @@ -397,7 +397,7 @@ LoadPinkPage: decoord 0, 16 hlcoord 0, 17 call CopyBytes - ld a, " " + ld a, ' ' ld bc, 9 hlcoord 0, 17 call ByteFill @@ -537,9 +537,9 @@ StatsScreen_PlaceHorizontalDivider: StatsScreen_PlacePageSwitchArrows: hlcoord 12, 6 - ld [hl], "◀" + ld [hl], '◀' hlcoord 19, 6 - ld [hl], "▶" + ld [hl], '▶' ret StatsScreen_PlaceShinyIcon: @@ -547,7 +547,7 @@ StatsScreen_PlaceShinyIcon: callfar CheckShininess ret nc hlcoord 19, 0 - ld [hl], "⁂" + ld [hl], '⁂' ret LoadGreenPage: @@ -689,7 +689,7 @@ LoadBluePage: inc c ld a, [de] inc de - cp "@" + cp '@' jr nz, .loop ; remove left padding if name was 8-10 chars (somehow?) ld a, NAME_LENGTH - 1 diff --git a/engine/pokemon/switchpartymons.asm b/engine/pokemon/switchpartymons.asm index a957a7af..7b16c104 100644 --- a/engine/pokemon/switchpartymons.asm +++ b/engine/pokemon/switchpartymons.asm @@ -22,7 +22,7 @@ _SwitchPartyMons: ld bc, 2 * SCREEN_WIDTH call AddNTimes ld bc, 2 * SCREEN_WIDTH - ld a, " " + ld a, ' ' call ByteFill pop af ld hl, wShadowOAMSprite00 diff --git a/engine/pokemon/types.asm b/engine/pokemon/types.asm index e925784d..33db8701 100644 --- a/engine/pokemon/types.asm +++ b/engine/pokemon/types.asm @@ -29,7 +29,7 @@ PrintMonTypes: .hide_type_2 ; Erase any type name that was here before. ; Seems to be pointless in localized versions. - ld a, " " + ld a, ' ' ld bc, SCREEN_WIDTH - 3 add hl, bc ld [hl], a diff --git a/engine/printer/print_party.asm b/engine/printer/print_party.asm index 80aaacaf..89267d98 100644 --- a/engine/printer/print_party.asm +++ b/engine/printer/print_party.asm @@ -1,4 +1,4 @@ -DEF PRINTPARTY_HP EQU "◀" ; $71 +DEF PRINTPARTY_HP EQU '◀' ; $71 PrintPage1: hlcoord 0, 0 @@ -16,7 +16,7 @@ PrintPage1: inc a ; $65 ld [hl], a hlcoord 1, 9, wPrinterTilemapBuffer - ld a, " " + ld a, ' ' ld [hli], a ld [hl], a hlcoord 1, 10, wPrinterTilemapBuffer @@ -54,7 +54,7 @@ PrintPage1: PrintPage2: hlcoord 0, 0, wPrinterTilemapBuffer ld bc, 8 * SCREEN_WIDTH - ld a, " " + ld a, ' ' call ByteFill hlcoord 0, 0, wPrinterTilemapBuffer ld a, $36 @@ -144,12 +144,12 @@ PrintPartyMonPage1: call Request1bpp ld de, GBPrinterLvIcon - ld hl, vTiles2 tile "" + ld hl, vTiles2 tile '' lb bc, BANK(GBPrinterLvIcon), 1 call Request1bpp ld de, StatsScreenPageTilesGFX + 14 tiles ; shiny icon - ld hl, vTiles2 tile "⁂" + ld hl, vTiles2 tile '⁂' lb bc, BANK(StatsScreenPageTilesGFX), 1 call Get2bpp @@ -177,14 +177,14 @@ PrintPartyMonPage1: hlcoord 8, 4 call PlaceString hlcoord 9, 6 - ld [hl], "/" + ld [hl], '/' call GetPokemonName hlcoord 10, 6 call PlaceString hlcoord 8, 0 - ld [hl], "№" + ld [hl], '№' inc hl - ld [hl], "." + ld [hl], '.' inc hl ld de, wNamedObjectIndex lb bc, PRINTNUM_LEADINGZEROS | 1, 3 @@ -234,12 +234,12 @@ PrintPartyMonPage2: call Request1bpp ld de, GBPrinterLvIcon - ld hl, vTiles2 tile "" + ld hl, vTiles2 tile '' lb bc, BANK(GBPrinterLvIcon), 1 call Request1bpp ld de, StatsScreenPageTilesGFX + 14 tiles ; shiny icon - ld hl, vTiles2 tile "⁂" + ld hl, vTiles2 tile '⁂' lb bc, BANK(StatsScreenPageTilesGFX), 1 call Get2bpp @@ -317,11 +317,11 @@ PlaceMoveNameString: PlaceGenderAndShininess: farcall GetGender - ld a, " " + ld a, ' ' jr c, .got_gender - ld a, "♂" + ld a, '♂' jr nz, .got_gender - ld a, "♀" + ld a, '♀' .got_gender hlcoord 17, 2 @@ -330,7 +330,7 @@ PlaceGenderAndShininess: farcall CheckShininess ret nc hlcoord 18, 2 - ld [hl], "⁂" + ld [hl], '⁂' ret PrintParty_OTString: diff --git a/engine/printer/printer.asm b/engine/printer/printer.asm index bb1eca8a..1dc73600 100644 --- a/engine/printer/printer.asm +++ b/engine/printer/printer.asm @@ -631,13 +631,13 @@ PrintPCBox_Page1: ld [wWhichBoxMonToPrint], a hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill call Printer_PlaceEmptyBoxSlotString hlcoord 0, 0 ld bc, 9 * SCREEN_WIDTH - ld a, " " + ld a, ' ' call ByteFill call Printer_PlaceSideBorders @@ -668,7 +668,7 @@ PrintPCBox_Page1: PrintPCBox_Page2: hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill call Printer_PlaceEmptyBoxSlotString call Printer_PlaceSideBorders @@ -685,7 +685,7 @@ PrintPCBox_Page2: PrintPCBox_Page3: hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill call Printer_PlaceEmptyBoxSlotString call Printer_PlaceSideBorders @@ -702,7 +702,7 @@ PrintPCBox_Page3: PrintPCBox_Page4: hlcoord 0, 0 ld bc, SCREEN_AREA - ld a, " " + ld a, ' ' call ByteFill call Printer_PlaceEmptyBoxSlotString hlcoord 1, 15 @@ -740,7 +740,7 @@ Printer_PrintBoxListSegment: push hl ld bc, 16 - ld a, " " + ld a, ' ' call ByteFill pop hl @@ -760,12 +760,12 @@ Printer_PrintBoxListSegment: call Printer_GetMonGender ld bc, SCREEN_WIDTH - MON_NAME_LENGTH add hl, bc - ld a, "/" + ld a, '/' ld [hli], a push hl ld bc, 14 - ld a, " " + ld a, ' ' call ByteFill pop hl @@ -842,11 +842,11 @@ Printer_GetMonGender: ld a, TEMPMON ld [wMonType], a farcall GetGender - ld a, " " + ld a, ' ' jr c, .got_gender - ld a, "♂" + ld a, '♂' jr nz, .got_gender - ld a, "♀" + ld a, '♀' .got_gender pop hl ld [hli], a @@ -868,15 +868,15 @@ Printer_GetBoxMonSpecies: Printer_PlaceTopBorder: hlcoord 0, 0 - ld a, "┌" + ld a, '┌' ld [hli], a - ld a, "─" + ld a, '─' ld c, SCREEN_WIDTH - 2 .loop ld [hli], a dec c jr nz, .loop - ld a, "┐" + ld a, '┐' ld [hl], a ret @@ -885,10 +885,10 @@ Printer_PlaceSideBorders: ld de, SCREEN_WIDTH - 1 ld c, SCREEN_HEIGHT .loop - ld a, "│" + ld a, '│' ld [hl], a add hl, de - ld a, "│" + ld a, '│' ld [hli], a dec c jr nz, .loop @@ -896,15 +896,15 @@ Printer_PlaceSideBorders: Printer_PlaceBottomBorders: hlcoord 0, 17 - ld a, "└" + ld a, '└' ld [hli], a - ld a, "─" + ld a, '─' ld c, SCREEN_WIDTH - 2 .loop ld [hli], a dec c jr nz, .loop - ld a, "┘" + ld a, '┘' ld [hl], a ret diff --git a/engine/rtc/print_hours_mins.asm b/engine/rtc/print_hours_mins.asm index 4aa4925e..fe1e80cf 100644 --- a/engine/rtc/print_hours_mins.asm +++ b/engine/rtc/print_hours_mins.asm @@ -37,10 +37,10 @@ PrintHoursMins: push hl pop de pop hl - ld [hl], " " + ld [hl], ' ' lb bc, 1, 2 call PrintNum - ld [hl], ":" + ld [hl], ':' inc hl ld d, h ld e, l diff --git a/engine/rtc/reset_password.asm b/engine/rtc/reset_password.asm index 56db033c..a6b4ae91 100644 --- a/engine/rtc/reset_password.asm +++ b/engine/rtc/reset_password.asm @@ -107,21 +107,21 @@ ClockResetPassword: ld c, 5 .loop3 ld a, [de] - add "0" + add '0' ld [hli], a inc de dec c jr nz, .loop3 hlcoord 14, 16 ld bc, 5 - ld a, " " + ld a, ' ' call ByteFill hlcoord 14, 16 ld a, [wStringBuffer2 + 5] ld e, a ld d, 0 add hl, de - ld [hl], "▲" + ld [hl], '▲' ret .dpadinput @@ -242,7 +242,7 @@ ClockResetPassword: .ComponentFromString: ld a, [hli] - cp "@" + cp '@' ret z add e ld e, a diff --git a/engine/rtc/restart_clock.asm b/engine/rtc/restart_clock.asm index 510d1601..a3df8733 100644 --- a/engine/rtc/restart_clock.asm +++ b/engine/rtc/restart_clock.asm @@ -205,10 +205,10 @@ RestartClock: decoord 11, 8 farcall PrintHoursMins ld a, [wRestartClockPrevDivision] - lb de, " ", " " + lb de, ' ', ' ' call .PlaceChars ld a, [wRestartClockCurDivision] - lb de, "▲", "▼" + lb de, '▲', '▼' call .PlaceChars ld a, [wRestartClockCurDivision] ld [wRestartClockPrevDivision], a diff --git a/engine/rtc/timeset.asm b/engine/rtc/timeset.asm index e6c8f9a6..b6a57ac4 100644 --- a/engine/rtc/timeset.asm +++ b/engine/rtc/timeset.asm @@ -1,5 +1,5 @@ -DEF TIMESET_UP_ARROW EQU "♂" ; $ef -DEF TIMESET_DOWN_ARROW EQU "♀" ; $f5 +DEF TIMESET_UP_ARROW EQU '♂' ; $ef +DEF TIMESET_DOWN_ARROW EQU '♀' ; $f5 InitClock: ; Ask the player to set the time. @@ -167,7 +167,7 @@ SetHour: .okay hlcoord 4, 9 - ld a, " " + ld a, ' ' ld bc, 15 call ByteFill hlcoord 4, 9 @@ -201,7 +201,7 @@ DisplayHoursMinutesWithMinString: ; unreferenced pop de inc de inc de - ld a, ":" + ld a, ':' ld [de], a inc de push de @@ -256,7 +256,7 @@ SetMinutes: ld [hl], a .finish_dpad hlcoord 12, 9 - ld a, " " + ld a, ' ' ld bc, 7 call ByteFill hlcoord 12, 9 @@ -278,7 +278,7 @@ DisplayMinutesWithMinString: PrintTwoDigitNumberLeftAlign: push hl - ld a, " " + ld a, ' ' ld [hli], a ld [hl], a pop hl @@ -336,7 +336,7 @@ OakText_ResponseToSetTime: ld a, [wInitHourBuffer] ld c, a call PrintHour - ld [hl], ":" + ld [hl], ':' inc hl ld de, wInitMinuteBuffer lb bc, PRINTNUM_LEADINGZEROS | 1, 2 @@ -603,46 +603,46 @@ MrChrono: call UpdateTime hlcoord 1, 14 - ld [hl], "R" + ld [hl], 'R' inc hl - ld [hl], "T" + ld [hl], 'T' inc hl - ld [hl], " " + ld [hl], ' ' inc hl ld de, hRTCDayLo call .PrintTime hlcoord 1, 16 - ld [hl], "D" + ld [hl], 'D' inc hl - ld [hl], "F" + ld [hl], 'F' inc hl - ld [hl], " " + ld [hl], ' ' inc hl ld de, wStartDay call .PrintTime - ld [hl], " " + ld [hl], ' ' inc hl ld a, [wDST] bit DST_F, a jr z, .off - ld [hl], "O" + ld [hl], 'O' inc hl - ld [hl], "N" + ld [hl], 'N' inc hl jr .done .off - ld [hl], "O" + ld [hl], 'O' inc hl - ld [hl], "F" + ld [hl], 'F' inc hl - ld [hl], "F" + ld [hl], 'F' inc hl .done @@ -657,12 +657,12 @@ MrChrono: .PrintTime: lb bc, 1, 3 call PrintNum - ld [hl], "." + ld [hl], '.' inc hl inc de lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum - ld [hl], ":" + ld [hl], ':' inc hl inc de lb bc, PRINTNUM_LEADINGZEROS | 1, 2 diff --git a/home/audio.asm b/home/audio.asm index 06c9c560..ec79ec10 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -460,16 +460,16 @@ PlaceBCDNumberSprite:: ; unreferenced ld b, a swap a and $f - add "0" + add '0' ld [wShadowOAMSprite38TileID], a ld a, b and $f - add "0" + add '0' ld [wShadowOAMSprite39TileID], a ret .max - ld a, "9" + ld a, '9' ld [wShadowOAMSprite38TileID], a ld [wShadowOAMSprite39TileID], a ret diff --git a/home/copy_name.asm b/home/copy_name.asm index 59c8cf6c..faa3e383 100644 --- a/home/copy_name.asm +++ b/home/copy_name.asm @@ -8,6 +8,6 @@ CopyName2:: ld a, [de] inc de ld [hli], a - cp "@" + cp '@' jr nz, .loop ret diff --git a/home/init.asm b/home/init.asm index dea40f76..91947839 100644 --- a/home/init.asm +++ b/home/init.asm @@ -160,7 +160,7 @@ ClearVRAM:: ret BlankBGMap:: - ld a, " " + ld a, ' ' jr FillBGMap FillBGMap_l:: ; unreferenced diff --git a/home/joypad.asm b/home/joypad.asm index 32a09c70..1754931d 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -429,11 +429,11 @@ PromptButton:: ldh a, [hVBlankCounter] and 1 << 4 ; blink every 2**4 = 16 frames jr z, .cursor_off - ld a, "▼" + ld a, '▼' jr .load_cursor_state .cursor_off - ld a, "─" + ld a, '─' .load_cursor_state ldcoord_a 18, 17 @@ -443,7 +443,7 @@ BlinkCursor:: push bc ld a, [hl] ld b, a - ld a, "▼" + ld a, '▼' cp b pop bc jr nz, .place_arrow @@ -455,7 +455,7 @@ BlinkCursor:: dec a ldh [hObjectStructIndex], a ret nz - ld a, "─" + ld a, '─' ld [hl], a ld a, -1 ldh [hMapObjectIndex], a @@ -478,6 +478,6 @@ BlinkCursor:: ret nz ld a, 6 ldh [hObjectStructIndex], a - ld a, "▼" + ld a, '▼' ld [hl], a ret diff --git a/home/map.asm b/home/map.asm index 75942db2..cdce3d65 100644 --- a/home/map.asm +++ b/home/map.asm @@ -104,7 +104,7 @@ LoadOverworldTilemap:: rst Bankswitch call LoadMetatiles - ld a, "■" + ld a, '■' hlcoord 0, 0 ld bc, SCREEN_AREA call ByteFill @@ -248,7 +248,7 @@ LoadMapTimeOfDay:: ldh [hSCX], a farcall ApplyBGMapAnchorToObjects - ld a, "■" + ld a, '■' ld bc, vBGMap1 - vBGMap0 hlbgcoord 0, 0 call ByteFill diff --git a/home/menu.asm b/home/menu.asm index a8b2f10f..c11059a1 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -52,7 +52,7 @@ PlaceHollowCursor:: ld a, [hli] ld h, [hl] ld l, a - ld [hl], "▷" + ld [hl], '▷' ret HideCursor:: @@ -60,7 +60,7 @@ HideCursor:: ld a, [hli] ld h, [hl] ld l, a - ld [hl], " " + ld [hl], ' ' ret PushWindow:: diff --git a/home/names.asm b/home/names.asm index f6755378..e4aacb4c 100644 --- a/home/names.asm +++ b/home/names.asm @@ -78,7 +78,7 @@ GetNthString:: push bc ld b, a - ld c, "@" + ld c, '@' .readChar ld a, [hli] cp c @@ -97,16 +97,16 @@ GetBasePokemonName:: ld hl, wStringBuffer1 .loop ld a, [hl] - cp "@" + cp '@' jr z, .quit - cp "♂" + cp '♂' jr z, .end - cp "♀" + cp '♀' jr z, .end inc hl jr .loop .end - ld [hl], "@" + ld [hl], '@' .quit pop hl ret @@ -137,7 +137,7 @@ endr ld bc, MON_NAME_LENGTH - 1 call CopyBytes ld hl, wStringBuffer1 + MON_NAME_LENGTH - 1 - ld [hl], "@" + ld [hl], '@' pop de pop hl @@ -209,7 +209,7 @@ GetTMHMName:: .not_hm ; Divide and mod by 10 to get the top and bottom digits respectively - ld b, "0" + ld b, '0' .mod10 sub 10 jr c, .done_mod @@ -224,13 +224,13 @@ GetTMHMName:: inc de pop af - ld b, "0" + ld b, '0' add b ld [de], a ; End the string inc de - ld a, "@" + ld a, '@' ld [de], a pop af diff --git a/home/palettes.asm b/home/palettes.asm index c20d92af..ae0b462c 100644 --- a/home/palettes.asm +++ b/home/palettes.asm @@ -262,7 +262,7 @@ ReloadPalettes:: ld bc, SCREEN_AREA .loop ld a, [hli] - cp "■" + cp '■' jr c, .skip ld a, PAL_BG_TEXT ld [de], a diff --git a/home/pokemon.asm b/home/pokemon.asm index 6b16b7dd..05f29ead 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -179,7 +179,7 @@ PrintLevel:: ; Print wTempMonLevel at hl ld a, [wTempMonLevel] - ld [hl], "" + ld [hl], '' inc hl ; How many digits? @@ -194,7 +194,7 @@ PrintLevel:: PrintLevel_Force3Digits:: ; Print :L and all 3 digits - ld [hl], "" + ld [hl], '' inc hl ld c, 3 diff --git a/home/print_bcd.asm b/home/print_bcd.asm index 4182eadf..91c8707f 100644 --- a/home/print_bcd.asm +++ b/home/print_bcd.asm @@ -20,7 +20,7 @@ PrintBCDNumber:: jr z, .loop bit PRINTNUM_LEADINGZEROS_F, b jr nz, .loop ; skip currency symbol - ld [hl], "¥" + ld [hl], '¥' inc hl .loop ld a, [de] @@ -41,10 +41,10 @@ PrintBCDNumber:: .skipLeftAlignmentAdjustment bit PRINTNUM_MONEY_F, b jr z, .skipCurrencySymbol - ld [hl], "¥" ; currency symbol + ld [hl], '¥' ; currency symbol inc hl .skipCurrencySymbol - ld [hl], "0" + ld [hl], '0' call PrintLetterDelay inc hl .done @@ -60,13 +60,13 @@ PrintBCDDigit:: ; if bit 7 is set, then no numbers have been printed yet bit PRINTNUM_MONEY_F, b jr z, .skipCurrencySymbol - ld [hl], "¥" + ld [hl], '¥' inc hl res PRINTNUM_MONEY_F, b .skipCurrencySymbol res PRINTNUM_LEADINGZEROS_F, b ; unset 7 to indicate that a nonzero digit has been reached .outputDigit - add "0" + add '0' ld [hli], a jp PrintLetterDelay @@ -75,6 +75,6 @@ PrintBCDDigit:: jr z, .outputDigit ; if so, print a zero digit bit PRINTNUM_LEFTALIGN_F, b ret nz - ld a, " " + ld a, ' ' ld [hli], a ; if right-aligned, "print" a space by advancing the pointer ret diff --git a/home/print_num.asm b/home/print_num.asm index 16c9bd50..0c29c2cf 100644 --- a/home/print_num.asm +++ b/home/print_num.asm @@ -19,7 +19,7 @@ PrintNum:: jr z, .main .moneyflag ; 101xxxxx or 011xxxxx - ld a, "¥" + ld a, '¥' ld [hli], a res PRINTNUM_MONEY_F, b ; 100xxxxx or 010xxxxx @@ -133,7 +133,7 @@ PrintNum:: .two dec e jr nz, .two_skip - ld a, "0" + ld a, '0' ldh [hPrintNumBuffer + 0], a .two_skip @@ -157,7 +157,7 @@ PrintNum:: .money call .PrintYen push af - ld a, "0" + ld a, '0' add c ld [hl], a pop af @@ -166,12 +166,12 @@ PrintNum:: dec e jr nz, .money_leading_zero inc hl - ld [hl], "." + ld [hl], '.' .money_leading_zero call .AdvancePointer call .PrintYen - ld a, "0" + ld a, '0' add b ld [hli], a @@ -186,7 +186,7 @@ PrintNum:: jr nz, .stop bit PRINTNUM_MONEY_F, d jr z, .stop - ld a, "¥" + ld a, '¥' ld [hli], a res PRINTNUM_MONEY_F, d @@ -197,7 +197,7 @@ PrintNum:: .PrintDigit: dec e jr nz, .ok - ld a, "0" + ld a, '0' ldh [hPrintNumBuffer + 0], a .ok ld c, 0 @@ -264,11 +264,11 @@ PrintNum:: jr nz, .done bit PRINTNUM_MONEY_F, d jr z, .done - ld a, "¥" + ld a, '¥' ld [hli], a res PRINTNUM_MONEY_F, d .done - ld a, "0" + ld a, '0' add c ld [hl], a ldh [hPrintNumBuffer + 0], a @@ -276,14 +276,14 @@ PrintNum:: dec e ret nz inc hl - ld [hl], "." + ld [hl], '.' ret .PrintLeadingZero: ; prints a leading zero unless they are turned off in the flags bit PRINTNUM_LEADINGZEROS_F, d ret z - ld [hl], "0" + ld [hl], '0' ret .AdvancePointer: diff --git a/home/string.asm b/home/string.asm index 86de2e27..ddce180e 100644 --- a/home/string.asm +++ b/home/string.asm @@ -13,9 +13,9 @@ _InitString:: push bc .loop ld a, [hli] - cp "@" + cp '@' jr z, .blank - cp " " + cp ' ' jr nz, .notblank dec c jr nz, .loop diff --git a/home/text.asm b/home/text.asm index a04a338d..406ed01c 100644 --- a/home/text.asm +++ b/home/text.asm @@ -1,6 +1,6 @@ ClearBox:: ; Fill a c*b box at hl with blank tiles. - ld a, " " + ld a, ' ' ld de, SCREEN_WIDTH .row push hl @@ -20,7 +20,7 @@ ClearTilemap:: ; Fill wTilemap with blank tiles. hlcoord 0, 0 - ld a, " " + ld a, ' ' ld bc, wTilemapEnd - wTilemap call ByteFill @@ -51,7 +51,7 @@ Textbox:: TextboxBorder:: ; Top push hl - ld a, "┌" + ld a, '┌' ld [hli], a inc a ; "─" call .PlaceChars @@ -64,11 +64,11 @@ TextboxBorder:: add hl, de .row push hl - ld a, "│" + ld a, '│' ld [hli], a - ld a, " " + ld a, ' ' call .PlaceChars - ld [hl], "│" + ld [hl], '│' pop hl ld de, SCREEN_WIDTH @@ -77,11 +77,11 @@ TextboxBorder:: jr nz, .row ; Bottom - ld a, "└" + ld a, '└' ld [hli], a - ld a, "─" + ld a, '─' call .PlaceChars - ld [hl], "┘" + ld [hl], '┘' ret @@ -159,7 +159,7 @@ PlaceString:: PlaceNextChar:: ld a, [de] - cp "@" + cp '@' jr nz, CheckDict ld b, h ld c, l @@ -176,7 +176,6 @@ NextChar:: CheckDict:: MACRO dict - assert CHARLEN(\1) == 1 if \1 == 0 and a else @@ -195,41 +194,41 @@ MACRO dict endc ENDM - dict "", LineChar - dict "", NextLineChar - dict "", NullChar - dict "", _ContTextNoPause - dict "<_CONT>", _ContText - dict "", Paragraph - dict "", PrintMomsName - dict "", PrintPlayerName - dict "", PrintRivalName - dict "", PlaceJPRoute - dict "", PlaceWatashi - dict "", PlaceKokoWa - dict "", PrintRedsName - dict "", PrintGreensName - dict "#", PlacePOKe - dict "", PCChar - dict "", RocketChar - dict "", TMChar - dict "", TrainerChar - dict "", PlaceKougeki - dict "", LineFeedChar - dict "", ContText - dict "<……>", SixDotsChar - dict "", DoneText - dict "", PromptText - dict "", PlacePKMN - dict "", PlacePOKE - dict "", NextChar - dict "", " " - dict "", PlaceDexEnd - dict "", PlaceMoveTargetsName - dict "", PlaceMoveUsersName - dict "", PlaceEnemysName - dict "゚", .diacritic - cp "゙" + dict '', LineChar + dict '', NextLineChar + dict '', NullChar + dict '', _ContTextNoPause + dict '<_CONT>', _ContText + dict '', Paragraph + dict '', PrintMomsName + dict '', PrintPlayerName + dict '', PrintRivalName + dict '', PlaceJPRoute + dict '', PlaceWatashi + dict '', PlaceKokoWa + dict '', PrintRedsName + dict '', PrintGreensName + dict '#', PlacePOKe + dict '', PCChar + dict '', RocketChar + dict '', TMChar + dict '', TrainerChar + dict '', PlaceKougeki + dict '', LineFeedChar + dict '', ContText + dict '<……>', SixDotsChar + dict '', DoneText + dict '', PromptText + dict '', PlacePKMN + dict '', PlacePOKE + dict '', NextChar + dict '', ' ' + dict '', PlaceDexEnd + dict '', PlaceMoveTargetsName + dict '', PlaceMoveUsersName + dict '', PlaceEnemysName + dict '゚', .diacritic + cp '゙' jr nz, .not_diacritic .diacritic @@ -241,33 +240,33 @@ ENDM cp FIRST_REGULAR_TEXT_CHAR jr nc, .place ; dakuten or handakuten - cp "パ" + cp 'パ' jr nc, .handakuten ; dakuten cp FIRST_HIRAGANA_DAKUTEN_CHAR jr nc, .hiragana_dakuten ; katakana dakuten - add "カ" - "ガ" + add 'カ' - 'ガ' jr .place_dakuten .hiragana_dakuten - add "か" - "が" + add 'か' - 'が' .place_dakuten - ld b, "゙" ; dakuten + ld b, '゙' ; dakuten call Diacritic jr .place .handakuten - cp "ぱ" + cp 'ぱ' jr nc, .hiragana_handakuten ; katakana handakuten - add "ハ" - "パ" + add 'ハ' - 'パ' jr .place_handakuten .hiragana_handakuten - add "は" - "ぱ" + add 'は' - 'ぱ' .place_handakuten - ld b, "゚" ; handakuten + ld b, '゚' ; handakuten call Diacritic .place @@ -464,7 +463,7 @@ ContText:: PlaceDexEnd:: ; Ends a Pokédex entry in Gen 1. ; Dex entries are now regular strings. - ld [hl], "." + ld [hl], '.' pop hl ret @@ -514,7 +513,7 @@ TextScroll:: ld bc, 3 * SCREEN_WIDTH call CopyBytes hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2 - ld a, " " + ld a, ' ' ld bc, TEXTBOX_INNERW call ByteFill ld c, 5 @@ -547,12 +546,12 @@ Diacritic:: ret LoadBlinkingCursor:: - ld a, "▼" + ld a, '▼' ldcoord_a 18, 17 ret UnloadBlinkingCursor:: - ld a, "─" + ld a, '─' ldcoord_a 18, 17 ret @@ -873,7 +872,7 @@ TextCommand_DOTS:: .loop push de - ld a, "…" + ld a, '…' ld [hli], a call GetJoypad ldh a, [hJoyDown] diff --git a/home/video.asm b/home/video.asm index 30c26954..488ceb38 100644 --- a/home/video.asm +++ b/home/video.asm @@ -417,7 +417,7 @@ DEF BG_THIRD_HEIGHT EQU (TILEMAP_HEIGHT - SCREEN_HEIGHT) / 2 ld de, SCREEN_WIDTH add hl, de ld b, SCREEN_HEIGHT - ld a, "■" + ld a, '■' .loop1 rept TILEMAP_WIDTH - SCREEN_WIDTH ld [hli], a @@ -446,7 +446,7 @@ endr ld l, a add hl, de ld b, BG_THIRD_HEIGHT * 2 - ld a, "■" + ld a, '■' .loop2 rept TILEMAP_WIDTH / 2 ld [hli], a diff --git a/macros/asserts.asm b/macros/asserts.asm index 55637ff9..b6c0515f 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -1,18 +1,14 @@ ; Macros to verify assumptions about the data or code -MACRO _redef_current_label +MACRO? _redef_current_label if DEF(\1) PURGE \1 endc if _NARG == 3 + (\3) DEF \1 EQUS "\<_NARG>" - elif DEF(..) - if .. - @ == 0 - DEF \1 EQUS "{..}" - endc - elif DEF(.) - if . - @ == 0 - DEF \1 EQUS "{.}" + elif STRLEN(#__SCOPE__) + if {{__SCOPE__}} - @ == 0 + DEF \1 EQUS #{__SCOPE__} endc endc if !DEF(\1) @@ -21,12 +17,12 @@ MACRO _redef_current_label endc ENDM -MACRO table_width +MACRO? table_width DEF CURRENT_TABLE_WIDTH = \1 _redef_current_label CURRENT_TABLE_START, "._table_width\@", 2, \# ENDM -MACRO assert_table_length +MACRO? assert_table_length DEF w = \1 DEF x = w * CURRENT_TABLE_WIDTH DEF y = @ - {CURRENT_TABLE_START} @@ -34,24 +30,24 @@ MACRO assert_table_length "bytes, for {d:x} total; but got {d:y} bytes" ENDM -MACRO list_start +MACRO? list_start DEF list_index = 0 _redef_current_label CURRENT_LIST_START, "._list_start\@", 1, \# ENDM -MACRO li +MACRO? li assert STRFIND(\1, "@") == -1, "String terminator \"@\" in list entry: \1" db \1, "@" DEF list_index += 1 ENDM -MACRO assert_list_length +MACRO? assert_list_length DEF x = \1 assert x == list_index, \ "{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}" ENDM -MACRO def_grass_wildmons +MACRO? def_grass_wildmons ;\1: map id REDEF CURRENT_GRASS_WILDMONS_MAP EQUS "\1" REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1" @@ -59,13 +55,13 @@ MACRO def_grass_wildmons map_id \1 ENDM -MACRO end_grass_wildmons +MACRO? end_grass_wildmons DEF x = @ - {CURRENT_GRASS_WILDMONS_LABEL} assert GRASS_WILDDATA_LENGTH == x, \ "def_grass_wildmons {CURRENT_GRASS_WILDMONS_MAP}: expected {d:GRASS_WILDDATA_LENGTH} bytes, got {d:x}" ENDM -MACRO def_water_wildmons +MACRO? def_water_wildmons ;\1: map id REDEF CURRENT_WATER_WILDMONS_MAP EQUS "\1" REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1" diff --git a/macros/code.asm b/macros/code.asm index 7a10f84d..b07c6f42 100644 --- a/macros/code.asm +++ b/macros/code.asm @@ -1,10 +1,10 @@ ; Syntactic sugar macros -MACRO lb ; r, hi, lo +MACRO? lb ; r, hi, lo ld \1, ((\2) & $ff) << 8 | ((\3) & $ff) ENDM -MACRO ln ; r, hi, lo +MACRO? ln ; r, hi, lo ld \1, ((\2) & $f) << 4 | ((\3) & $f) ENDM @@ -23,7 +23,7 @@ MACRO jumptable jp hl ENDM -MACRO maskbits +MACRO? maskbits ; masks just enough bits to cover values 0 to \1 - 1 ; \2 is an optional shift amount ; e.g. "maskbits 26" becomes "and %00011111" (since 26 - 1 = %00011001) diff --git a/macros/const.asm b/macros/const.asm index 261fdef0..a1066629 100644 --- a/macros/const.asm +++ b/macros/const.asm @@ -1,6 +1,6 @@ ; Enumerate constants -MACRO const_def +MACRO? const_def if _NARG >= 1 DEF const_value = \1 else @@ -13,17 +13,17 @@ MACRO const_def endc ENDM -MACRO const +MACRO? const DEF \1 EQU const_value DEF const_value += const_inc ENDM -MACRO shift_const +MACRO? shift_const DEF \1 EQU 1 << const_value const \1_F ENDM -MACRO const_skip +MACRO? const_skip if _NARG >= 1 DEF const_value += const_inc * (\1) else @@ -31,7 +31,7 @@ MACRO const_skip endc ENDM -MACRO const_next +MACRO? const_next if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value) fail "const_next cannot go backwards from {const_value} to \1" else @@ -39,7 +39,7 @@ MACRO const_next endc ENDM -MACRO rb_skip +MACRO? rb_skip if _NARG == 1 rsset _RS + \1 else diff --git a/macros/coords.asm b/macros/coords.asm index 2df93f3b..80e1cb53 100644 --- a/macros/coords.asm +++ b/macros/coords.asm @@ -1,18 +1,18 @@ ; Coordinate macros -MACRO hlcoord +MACRO? hlcoord coord hl, \# ENDM -MACRO bccoord +MACRO? bccoord coord bc, \# ENDM -MACRO decoord +MACRO? decoord coord de, \# ENDM -MACRO coord +MACRO? coord ; register, x, y[, origin] if _NARG < 4 ld \1, (\3) * SCREEN_WIDTH + (\2) + wTilemap @@ -21,19 +21,19 @@ MACRO coord endc ENDM -MACRO hlbgcoord +MACRO? hlbgcoord bgcoord hl, \# ENDM -MACRO bcbgcoord +MACRO? bcbgcoord bgcoord bc, \# ENDM -MACRO debgcoord +MACRO? debgcoord bgcoord de, \# ENDM -MACRO bgcoord +MACRO? bgcoord ; register, x, y[, origin] if _NARG < 4 ld \1, (\3) * TILEMAP_WIDTH + (\2) + vBGMap0 @@ -42,7 +42,7 @@ MACRO bgcoord endc ENDM -MACRO dwcoord +MACRO? dwcoord ; x, y rept _NARG / 2 dw (\2) * SCREEN_WIDTH + (\1) + wTilemap @@ -50,7 +50,7 @@ MACRO dwcoord endr ENDM -MACRO ldcoord_a +MACRO? ldcoord_a ; x, y[, origin] if _NARG < 3 ld [(\2) * SCREEN_WIDTH + (\1) + wTilemap], a @@ -59,7 +59,7 @@ MACRO ldcoord_a endc ENDM -MACRO lda_coord +MACRO? lda_coord ; x, y[, origin] if _NARG < 3 ld a, [(\2) * SCREEN_WIDTH + (\1) + wTilemap] @@ -68,7 +68,7 @@ MACRO lda_coord endc ENDM -MACRO menu_coords +MACRO? menu_coords ; x1, y1, x2, y2 db \2, \1 ; start coords db \4, \3 ; end coords diff --git a/macros/data.asm b/macros/data.asm index 5b1e9e1d..454bf621 100644 --- a/macros/data.asm +++ b/macros/data.asm @@ -25,66 +25,66 @@ DEF percent EQUS "* $ff / 100" ; e.g. 1 out_of 2 == 50 percent + 1 == $80 DEF out_of EQUS "* $100 /" -MACRO assert_power_of_2 +MACRO? assert_power_of_2 assert (\1) & ((\1) - 1) == 0, "\1 must be a power of 2" ENDM ; Constant data (db, dw, dl) macros -MACRO dwb +MACRO? dwb dw \1 db \2 ENDM -MACRO dbw +MACRO? dbw db \1 dw \2 ENDM -MACRO dn ; nybbles - rept _NARG / 2 +MACRO? dn ; nybbles + rept? _NARG / 2 db ((\1) << 4) | (\2) shift 2 endr ENDM -MACRO dc ; "crumbs" - rept _NARG / 4 +MACRO? dc ; "crumbs" + rept? _NARG / 4 db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4) shift 4 endr ENDM -MACRO bigdw ; big-endian word - rept _NARG +MACRO? bigdw ; big-endian word + rept? _NARG db HIGH(\1), LOW(\1) shift endr ENDM -MACRO bigdt ; big-endian "tribyte" - rept _NARG +MACRO? bigdt ; big-endian "tribyte" + rept? _NARG db LOW((\1) >> 16), HIGH(\1), LOW(\1) shift endr ENDM -MACRO bigdd ; big-endian "double word" - rept _NARG +MACRO? bigdd ; big-endian "double word" + rept? _NARG db HIGH((\1) >> 16), LOW((\1) >> 16), HIGH(\1), LOW(\1) shift endr ENDM -MACRO dba ; dbw bank, address - rept _NARG +MACRO? dba ; dbw bank, address + rept? _NARG dbw BANK(\1), \1 shift endr ENDM -MACRO dab ; dwb address, bank - rept _NARG +MACRO? dab ; dwb address, bank + rept? _NARG dwb \1, BANK(\1) shift endr @@ -98,7 +98,7 @@ ENDM ; BANK("Pics 14") -> $1f ; ; Otherwise, the ROM bank will match the defined bank. -MACRO dba_pic ; dbw bank, address +MACRO? dba_pic ; dbw bank, address db (BANK(\1) == BANK("Pics 12")) * ($13 - BANK("Pics 12")) \ + (BANK(\1) == BANK("Pics 13")) * ($14 - BANK("Pics 13")) \ + (BANK(\1) == BANK("Pics 14")) * ($1f - BANK("Pics 14")) \ @@ -106,7 +106,7 @@ MACRO dba_pic ; dbw bank, address dw \1 ENDM -MACRO dba_pics ; front, back +MACRO? dba_pics ; front, back if _NARG == 2 dba_pic \1 ; front dba_pic \2 ; back @@ -119,7 +119,7 @@ MACRO dba_pics ; front, back endc ENDM -MACRO dname +MACRO? dname if _NARG == 2 def n = \2 else @@ -128,19 +128,19 @@ MACRO dname assert STRFIND(\1, "@") == -1, "String terminator \"@\" in name: \1" assert CHARLEN(\1) <= n, "Name longer than {d:n} characters: \1" db \1 - ds n - CHARLEN(\1), "@" + ds n - CHARLEN(\1), '@' ENDM -MACRO bcd - rept _NARG +MACRO? bcd + rept? _NARG dn ((\1) % 100) / 10, (\1) % 10 shift endr ENDM -MACRO sine_table +MACRO? sine_table ; \1 samples of sin(x) from x=0 to x<0.5 turns (pi radians) - for x, \1 + for? x, \1 dw sin(x * 0.5 / (\1)) endr ENDM diff --git a/macros/gfx.asm b/macros/gfx.asm index 95624353..0a761297 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -1,14 +1,14 @@ ; Graphics macros -MACRO assert_valid_rgb +MACRO? assert_valid_rgb rept _NARG assert 0 <= (\1) && (\1) <= COLOR_CH_MAX, "RGB channel must be 0-{d:COLOR_CH_MAX}" shift endr ENDM -MACRO RGB - rept _NARG / 3 +MACRO? RGB + rept? _NARG / 3 assert_valid_rgb \1, \2, \3 dw palred (\1) + palgreen (\2) + palblue (\3) shift 3 @@ -32,7 +32,7 @@ DEF tile EQUS "+ TILE_SIZE *" ; INCBIN "foo.gbcpal", middle_colors DEF middle_colors EQUS "COLOR_SIZE, COLOR_SIZE * 2" -MACRO dbpixel +MACRO? dbpixel if _NARG >= 4 ; x tile, y tile, x pixel, y pixel db \1 * TILE_WIDTH + \3, \2 * TILE_WIDTH + \4 @@ -42,19 +42,19 @@ MACRO dbpixel endc ENDM -MACRO hlpixel +MACRO? hlpixel ldpixel hl, \# ENDM -MACRO bcpixel +MACRO? bcpixel ldpixel bc, \# ENDM -MACRO depixel +MACRO? depixel ldpixel de, \# ENDM -MACRO ldpixel +MACRO? ldpixel if _NARG >= 5 ; register, x tile, y tile, x pixel, y pixel lb \1, \2 * TILE_WIDTH + \4, \3 * TILE_WIDTH + \5 @@ -64,7 +64,7 @@ MACRO ldpixel endc ENDM -MACRO dbsprite +MACRO? dbsprite ; x tile, y tile, x pixel, y pixel, vtile offset, attributes db (\2 * TILE_WIDTH) % $100 + \4, (\1 * TILE_WIDTH) % $100 + \3, \5, \6 ENDM diff --git a/macros/legacy.asm b/macros/legacy.asm index 5954b37d..c80f1257 100644 --- a/macros/legacy.asm +++ b/macros/legacy.asm @@ -7,31 +7,31 @@ DEF callba EQUS "farcall" DEF callab EQUS "callfar" ; macros/gfx.asm -MACRO dsprite +MACRO? dsprite dbsprite \3, \1, \4, \2, \5, \6 ENDM ; macros/data.asm -MACRO dt +MACRO? dt bigdt \1 ENDM -MACRO dd +MACRO? dd bigdd \1 ENDM -MACRO dbbw +MACRO? dbbw db \1, \2 dw \3 ENDM -MACRO dbww +MACRO? dbww db \1 dw \2, \3 ENDM -MACRO dbwww +MACRO? dbwww db \1 dw \2, \3, \4 ENDM @@ -409,8 +409,8 @@ DEF gamecornercoinvendor EQUS "GameCornerCoinVendorScript" DEF happinesschecknpc EQUS "HappinessCheckScript" ; constants/charmap.asm -charmap "%", "" -charmap "¯", "" +charmap "%", '' +charmap "¯", '' ; constants/sprite_constants.asm DEF SPRITE_BUENA EQUS "SPRITE_BEAUTY" diff --git a/macros/predef.asm b/macros/predef.asm index a32b9a3c..fbb7c2bb 100644 --- a/macros/predef.asm +++ b/macros/predef.asm @@ -1,17 +1,17 @@ ; Predef function calls -MACRO lda_predef +MACRO? lda_predef ; Some functions load the predef id ; without immediately calling Predef. ld a, (\1Predef - PredefPointers) / 3 ENDM -MACRO predef +MACRO? predef lda_predef \1 call Predef ENDM -MACRO predef_jump +MACRO? predef_jump lda_predef \1 jp Predef ENDM diff --git a/macros/ram.asm b/macros/ram.asm index 51c75ada..07229355 100644 --- a/macros/ram.asm +++ b/macros/ram.asm @@ -1,6 +1,6 @@ ; Structures in RAM -MACRO flag_array +MACRO? flag_array ds ((\1) + 7) / 8 ENDM diff --git a/macros/vc.asm b/macros/vc.asm index 23b7e722..57df70b1 100644 --- a/macros/vc.asm +++ b/macros/vc.asm @@ -1,12 +1,12 @@ ; Virtual Console macros -MACRO vc_hook +MACRO? vc_hook if DEF(_GOLD_VC) || DEF(_SILVER_VC) .VC_\1:: endc ENDM -MACRO vc_patch +MACRO? vc_patch if DEF(_GOLD_VC) || DEF(_SILVER_VC) assert !DEF(CURRENT_VC_PATCH), "Already started a vc_patch" DEF CURRENT_VC_PATCH EQUS "\1" @@ -14,7 +14,7 @@ MACRO vc_patch endc ENDM -MACRO vc_patch_end +MACRO? vc_patch_end if DEF(_GOLD_VC) || DEF(_SILVER_VC) assert DEF(CURRENT_VC_PATCH), "No vc_patch started" .VC_{CURRENT_VC_PATCH}_End:: @@ -22,7 +22,7 @@ MACRO vc_patch_end endc ENDM -MACRO vc_assert +MACRO? vc_assert if DEF(_GOLD_VC) || DEF(_SILVER_VC) assert \# endc diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 620e1b52..c1aece16 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,6 +1,6 @@ -IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) - fail "pokegold requires rgbds v0.9.3 or newer." +IF !DEF(__RGBDS_MAJOR__) + fail "pokegold requires rgbds v1.0.0 or newer." ENDC -IF __RGBDS_MAJOR__ == 0 && (__RGBDS_MINOR__ < 9 || (__RGBDS_MINOR__ == 9 && __RGBDS_PATCH__ < 3)) - fail "pokegold requires rgbds v0.9.3 or newer." +IF __RGBDS_MAJOR__ < 1 + fail "pokegold requires rgbds v1.0.0 or newer." ENDC diff --git a/vc/pokegold.constants.asm b/vc/pokegold.constants.asm index 11bda344..021d0e70 100644 --- a/vc/pokegold.constants.asm +++ b/vc/pokegold.constants.asm @@ -1,36 +1,36 @@ ; These are all the asm constants needed to make the gold_vc patch. ; [FPA 001 Begin] -EXPORT DEF F_CHAR EQU "F" -EXPORT DEF I_CHAR EQU "I" -EXPORT DEF S_CHAR EQU "S" -EXPORT DEF U_CHAR EQU "U" -EXPORT DEF R_CHAR EQU "R" +EXPORT DEF F_CHAR EQU 'F' +EXPORT DEF I_CHAR EQU 'I' +EXPORT DEF S_CHAR EQU 'S' +EXPORT DEF U_CHAR EQU 'U' +EXPORT DEF R_CHAR EQU 'R' ; [FPA 002 Begin] -EXPORT DEF E_CHAR EQU "E" -EXPORT DEF L_CHAR EQU "L" -EXPORT DEF D_CHAR EQU "D" +EXPORT DEF E_CHAR EQU 'E' +EXPORT DEF L_CHAR EQU 'L' +EXPORT DEF D_CHAR EQU 'D' ; [FPA 003 Begin] -EXPORT DEF T_CHAR EQU "T" -EXPORT DEF H_CHAR EQU "H" -EXPORT DEF N_CHAR EQU "N" +EXPORT DEF T_CHAR EQU 'T' +EXPORT DEF H_CHAR EQU 'H' +EXPORT DEF N_CHAR EQU 'N' ; [FPA 004 Begin] -EXPORT DEF Y_CHAR EQU "Y" -EXPORT DEF P_CHAR EQU "P" -EXPORT DEF SPACE_CHAR EQU " " +EXPORT DEF Y_CHAR EQU 'Y' +EXPORT DEF P_CHAR EQU 'P' +EXPORT DEF SPACE_CHAR EQU ' ' ; [FPA 005 Begin] -EXPORT DEF O_CHAR EQU "O" +EXPORT DEF O_CHAR EQU 'O' ; [FPA 006 Begin] -EXPORT DEF X_CHAR EQU "X" +EXPORT DEF X_CHAR EQU 'X' ; [FPA 007 Begin] -EXPORT DEF A_CHAR EQU "A" -EXPORT DEF AT_CHAR EQU "@" +EXPORT DEF A_CHAR EQU 'A' +EXPORT DEF AT_CHAR EQU '@' ; [FPA 042801 Begin] EXPORT BATTLE_ANIM_GFX_BUBBLE diff --git a/vc/pokesilver.constants.asm b/vc/pokesilver.constants.asm index b9f88e03..8dd59a44 100644 --- a/vc/pokesilver.constants.asm +++ b/vc/pokesilver.constants.asm @@ -1,36 +1,36 @@ ; These are all the asm constants needed to make the silver_vc patch. ; [FPA 001 Begin] -EXPORT DEF F_CHAR EQU "F" -EXPORT DEF I_CHAR EQU "I" -EXPORT DEF S_CHAR EQU "S" -EXPORT DEF U_CHAR EQU "U" -EXPORT DEF R_CHAR EQU "R" +EXPORT DEF F_CHAR EQU 'F' +EXPORT DEF I_CHAR EQU 'I' +EXPORT DEF S_CHAR EQU 'S' +EXPORT DEF U_CHAR EQU 'U' +EXPORT DEF R_CHAR EQU 'R' ; [FPA 002 Begin] -EXPORT DEF E_CHAR EQU "E" -EXPORT DEF L_CHAR EQU "L" -EXPORT DEF D_CHAR EQU "D" +EXPORT DEF E_CHAR EQU 'E' +EXPORT DEF L_CHAR EQU 'L' +EXPORT DEF D_CHAR EQU 'D' ; [FPA 003 Begin] -EXPORT DEF T_CHAR EQU "T" -EXPORT DEF H_CHAR EQU "H" -EXPORT DEF N_CHAR EQU "N" +EXPORT DEF T_CHAR EQU 'T' +EXPORT DEF H_CHAR EQU 'H' +EXPORT DEF N_CHAR EQU 'N' ; [FPA 004 Begin] -EXPORT DEF Y_CHAR EQU "Y" -EXPORT DEF P_CHAR EQU "P" -EXPORT DEF SPACE_CHAR EQU " " +EXPORT DEF Y_CHAR EQU 'Y' +EXPORT DEF P_CHAR EQU 'P' +EXPORT DEF SPACE_CHAR EQU ' ' ; [FPA 005 Begin] -EXPORT DEF O_CHAR EQU "O" +EXPORT DEF O_CHAR EQU 'O' ; [FPA 006 Begin] -EXPORT DEF X_CHAR EQU "X" +EXPORT DEF X_CHAR EQU 'X' ; [FPA 007 Begin] -EXPORT DEF A_CHAR EQU "A" -EXPORT DEF AT_CHAR EQU "@" +EXPORT DEF A_CHAR EQU 'A' +EXPORT DEF AT_CHAR EQU '@' ; [FPA 042801 Begin] EXPORT BATTLE_ANIM_GFX_BUBBLE