diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2c375873..228cbc797 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.0 + ref: v0.9.2 repository: gbdev/rgbds - name: Install rgbds diff --git a/FAQ.md b/FAQ.md index 269cf7d7c..01653a402 100644 --- a/FAQ.md +++ b/FAQ.md @@ -41,15 +41,15 @@ You need to install `gcc`. If you're using Cygwin, re-run its setup, and at "Sel ### "ERROR: `UNION` already defined" -Download [**rgbds 0.9.0**][rgbds] or newer. Older versions will not work. +Download [**rgbds 0.9.2**][rgbds] or newer. Older versions will not work. ### "ERROR: Macro not defined" -Download [**rgbds 0.9.0**][rgbds] or newer. Older versions will not work. +Download [**rgbds 0.9.2**][rgbds] or newer. Older versions will not work. ### "Expression must be 8-bit" -Download [**rgbds 0.9.0**][rgbds] or newer. Older versions will not work. +Download [**rgbds 0.9.2**][rgbds] or newer. Older versions will not work. ### "Segmentation fault" from `rgbgfx` diff --git a/INSTALL.md b/INSTALL.md index a10dcb22d..c27d75db0 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.0**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for Windows with Cygwin to install **rgbds 0.9.2**. -**Note:** If you already have an installed rgbds older than 0.9.0, you will need to update to 0.9.0. Ignore this if you have never installed rgbds before. If a version newer than 0.9.0 does not work, try downloading 0.9.0. +**Note:** If you already have an installed rgbds older than 0.9.2, you will need to update to 0.9.2. Ignore this if you have never installed rgbds before. If a version newer than 0.9.2 does not work, try downloading 0.9.2. 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.0**. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#pre-built) for macOS to install **rgbds 0.9.2**. Now you're ready to [build **pokecrystal**](#build-pokecrystal). @@ -84,7 +84,7 @@ To install the software required for **pokecrystal**: 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.0** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. ### OpenSUSE @@ -94,7 +94,7 @@ To install the software required for **pokecrystal**: sudo zypper install make gcc git ``` -Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.0** from source. +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install#building-from-source) to build **rgbds 0.9.2** from source. ### Arch Linux @@ -104,7 +104,7 @@ To install the software required for **pokecrystal**: 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.0** 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 0.9.2** 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.0** 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 0.9.2** 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.0** 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 0.9.2** from source. Now you're ready to [build **pokecrystal**](#build-pokecrystal). @@ -159,12 +159,12 @@ make crystal11 ### 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.0 globally. Instead, you can put its files in a directory within pokecrystal, such as `pokecrystal/rgbds-0.9.0/`. 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 0.9.2 globally. Instead, you can put its files in a directory within pokecrystal, such as `pokecrystal/rgbds-0.9.2/`. Then specify it when you run `make`: ```bash -make RGBDS=rgbds-0.9.0/ +make RGBDS=rgbds-0.9.2/ ``` ```bash -make RGBDS=rgbds-0.9.0/ crystal11 +make RGBDS=rgbds-0.9.2/ crystal11 ``` diff --git a/constants/charmap.asm b/constants/charmap.asm index 3b834dc3f..5b5ff67af 100644 --- a/constants/charmap.asm +++ b/constants/charmap.asm @@ -422,8 +422,8 @@ pushc newcharmap unown DEF PRINTABLE_UNOWN EQUS "ABCDEFGHIJKLMNOPQRSTUVWXYZ-" - for i, STRLEN("{PRINTABLE_UNOWN}") - charmap STRSUB("{PRINTABLE_UNOWN}", i + 1, 1), $10 * (i / 8) + 2 * i + for i, STRLEN(#PRINTABLE_UNOWN) + charmap STRSLICE(#PRINTABLE_UNOWN, i, i + 1), $10 * (i / 8) + 2 * i endr charmap "@", $ff ; end popc @@ -432,8 +432,8 @@ popc pushc newcharmap ascii DEF PRINTABLE_ASCII EQUS " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~" - for i, STRLEN("{PRINTABLE_ASCII}") - charmap STRSUB("{PRINTABLE_ASCII}", i + 1, 1), i + $20 + for i, STRLEN(#PRINTABLE_ASCII) + charmap STRSLICE(#PRINTABLE_ASCII, i, i + 1), i + $20 endr charmap "\t", $09 charmap "\n", $0a diff --git a/data/pokemon/unown_words.asm b/data/pokemon/unown_words.asm index f6035b2ff..cf7e11775 100644 --- a/data/pokemon/unown_words.asm +++ b/data/pokemon/unown_words.asm @@ -1,6 +1,6 @@ MACRO unownword for n, CHARLEN(\1) - db CHARSUB(\1, n + 1) - "A" + FIRST_UNOWN_CHAR + db STRCHAR(\1, n) - "A" + FIRST_UNOWN_CHAR endr db -1 ENDM diff --git a/home/text.asm b/home/text.asm index fe24dca5a..7222d46f2 100644 --- a/home/text.asm +++ b/home/text.asm @@ -198,7 +198,7 @@ MACRO dict jr nz, .not\@ ld a, \2 .not\@: - elif !STRCMP(STRSUB("\2", 1, 1), ".") + elif STRFIND("\2", ".") == 0 ; Locals can use a short jump jr z, \2 else diff --git a/macros/asserts.asm b/macros/asserts.asm index 57cc1c334..e3142c982 100644 --- a/macros/asserts.asm +++ b/macros/asserts.asm @@ -38,7 +38,7 @@ MACRO list_start ENDM MACRO li - assert !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1) + assert STRFIND(\1, "@") == -1, STRCAT("String terminator \"@\" in list entry: ", \1) db \1, "@" DEF list_index += 1 ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index 0aff95701..dd2469b2c 100644 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -187,7 +187,7 @@ ENDM const loadvar_command ; $1e MACRO loadvar - if STRIN("\1", "VAR_") != 1 + if STRFIND("\1", "VAR_") != 0 ; LEGACY: Support for the old name of "loadmem" loadmem \1, \2 else diff --git a/rgbdscheck.asm b/rgbdscheck.asm index 166b1d72d..b3957c517 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,6 +1,6 @@ IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) - fail "pokecrystal requires rgbds v0.9.0 or newer." + fail "pokecrystal requires rgbds v0.9.2 or newer." ENDC -IF __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 9 - fail "pokecrystal requires rgbds v0.9.0 or newer." +IF __RGBDS_MAJOR__ == 0 && (__RGBDS_MINOR__ < 9 || (__RGBDS_MINOR__ == 9 && __RGBDS_PATCH__ < 2)) + fail "pokecrystal requires rgbds v0.9.2 or newer." ENDC diff --git a/tools/unnamed.py b/tools/unnamed.py index 31b5472bf..d424eb9cd 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -90,14 +90,14 @@ for objfile in objects: elif magic == b'RGB9': obj_ver = 10 + unpack_from('