Merge pull request #705 from Rangi42/master

Upgrade to rgbds 0.4.0, and do miscellaneous fixes
This commit is contained in:
Rangi 2020-04-06 12:41:44 -04:00 committed by GitHub
commit 9076d63d62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 2048 additions and 2056 deletions

29
FAQ.md
View File

@ -8,6 +8,7 @@
- [I can't build the ROM, `make` just prints an error!](#i-cant-build-the-rom-make-just-prints-an-error)
- [`gcc`: command not found](#gcc-command-not-found)
- ["ERROR: `UNION` already defined"](#error-union-already-defined)
- ["ERROR: Macro not defined"](#error-macro-not-defined)
- ["Expression must be 8-bit"](#expression-must-be-8-bit)
- ["Segmentation fault" from `rgbgfx`](#segmentation-fault-from-rgbgfx)
- ["Section is too big" or "Unable to place section in bank"](#section-is-too-big-or-unable-to-place-section-in-bank)
@ -16,6 +17,7 @@
- [How do I edit maps?](#how-do-i-edit-maps)
- [How do I edit the colors of an image?](#how-do-i-edit-the-colors-of-an-image)
- [How do I write new features?](#how-do-i-write-new-features)
- [How do I share code on Discord?](#how-do-i-share-code-on-discord)
- [I need more help!](#i-need-more-help)
@ -38,11 +40,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.3.9**][rgbds] or newer. Older versions will not work.
Download [**rgbds 0.4.0**][rgbds] or newer. Older versions will not work.
### "ERROR: Macro not defined"
Download [**rgbds 0.4.0**][rgbds] or newer. Older versions will not work.
### "Expression must be 8-bit"
Download [**rgbds 0.3.9**][rgbds] or newer. Older versions will not work.
Download [**rgbds 0.4.0**][rgbds] or newer. Older versions will not work.
### "Segmentation fault" from `rgbgfx`
@ -84,9 +90,20 @@ It really depends on what image you're trying to change the colors of, where the
There are a number of special-purpose scripting languages, as described in [docs](https://pret.github.io/pokecrystal/). For more general features, you'll need to code directly in [assembly language][asm]. Some of the [tutorials][tutorials] for specific features may also be helpful.
## How do I share code on Discord?
If you're looking for help on Discord, you'll probably need to share your code. How to do this:
- Post *short* pieces of code in Discord messages, surrounded with three <code>\`\`\`backticks\`\`\`</code> to make a [code block][markdown].
- Post longer pieces of code by linking to [GitHub Gist][gist], [Pastebin][pastebin], [Hastebin][hastebin], or other such sites.
- Share your entire pokecrystal project at once by hosting it on GitHub as a fork of this repository. Read the [GitHub Help][forkhelp] for details.
If your code is on GitHub, you can [link to specific lines][snippethelp]. Put "`#L42`" at the end of a URL to link to line 42, or "`#L10-L20`" to link to lines 10-20. For example: [https://github.com/pret/pokecrystal/blob/master/main.asm#L21-L26](https://github.com/pret/pokecrystal/blob/master/main.asm#L21-L26)
## I need more help!
Try asking on IRC or Discord (see [README.md](README.md)).
Try asking on Discord or IRC (see [README.md](README.md)).
[cygwin]: https://cygwin.com/install.html
[rgbds]: https://github.com/rednex/rgbds/releases
@ -97,3 +114,9 @@ Try asking on IRC or Discord (see [README.md](README.md)).
[irfanview]: https://www.irfanview.com/
[asm]: https://github.com/pret/pokecrystal/wiki/Assembly-programming
[tutorials]: https://github.com/pret/pokecrystal/wiki/Tutorials
[markdown]: https://support.discordapp.com/hc/en-us/articles/210298617
[gist]: https://gist.github.com/
[pastebin]: https://pastebin.com/
[hastebin]: https://hastebin.com/
[forkhelp]: https://help.github.com/en/github/getting-started-with-github/fork-a-repo
[snippethelp]: https://help.github.com/en/github/managing-your-work-on-github/creating-a-permanent-link-to-a-code-snippet

View File

@ -38,7 +38,7 @@ Double click on the text that says "**Skip**" next to each package to select the
Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**.
**Note: If you already have an older rgbds, you will need to update to 0.3.9.** Ignore this if you have never installed rgbds before. If a version newer than 0.3.9 does not work, try downloading 0.3.9.
**Note: If you already have an older rgbds, you will need to update to 0.4.0.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.0 does not work, try downloading 0.4.0.
Now open the **Cygwin terminal** and enter the following commands.
@ -86,8 +86,8 @@ To install **rgbds**:
```bash
sudo apt-get install pkg-config flex bison libpng-dev
git clone -b v0.3.9 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds install
```
### OpenSUSE
@ -102,8 +102,8 @@ To install **rgbds**:
```bash
sudo zypper install pkg-config flex bison libpng16-devel
git clone -b v0.3.9 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds install
```
### Arch Linux
@ -120,8 +120,8 @@ Alternatively, to install **rgbds** manually:
```bash
sudo pacman -S pkg-config flex bison libpng
git clone -b v0.3.9 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds install
```
### Termux
@ -157,8 +157,8 @@ If `rgbds` is not available, you'll also need these:
To install **rgbds**:
```bash
git clone -b v0.3.9 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds CFLAGS=-O2 install
git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds
sudo make -C rgbds install
```
Now you're ready to [build **pokecrystal**](#build-pokecrystal).

View File

@ -45,8 +45,8 @@ RGBLINK ?= $(RGBDS)rgblink
.SECONDARY:
all: crystal
crystal: pokecrystal.gbc
crystal11: pokecrystal11.gbc
crystal: pokecrystal.gbc
crystal11: pokecrystal11.gbc
crystal-au: pokecrystal-au.gbc
clean:
@ -66,16 +66,17 @@ tools:
$(MAKE) -C tools/
$(crystal_obj): RGBASMFLAGS =
$(crystal11_obj): RGBASMFLAGS = -D _CRYSTAL11
$(crystal_au_obj): RGBASMFLAGS = -D _CRYSTAL11 -D _CRYSTAL_AU
RGBASMFLAGS = -L -Weverything
$(crystal_obj): RGBASMFLAGS +=
$(crystal11_obj): RGBASMFLAGS += -D _CRYSTAL11
$(crystal_au_obj): RGBASMFLAGS += -D _CRYSTAL11 -D _CRYSTAL_AU
# The dep rules have to be explicit or else missing files won't be reported.
# As a side effect, they're evaluated immediately instead of when the rule is invoked.
# It doesn't look like $(shell) can be deferred so there might not be a better way.
define DEP
$1: $2 $$(shell tools/scan_includes $2)
$$(RGBASM) $$(RGBASMFLAGS) -L -o $$@ $$<
$$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$<
endef
# Build tools when building the rom.
@ -94,17 +95,14 @@ endif
pokecrystal.gbc: $(crystal_obj) pokecrystal.link
$(RGBLINK) -n pokecrystal.sym -m pokecrystal.map -l pokecrystal.link -o $@ $(crystal_obj)
$(RGBFIX) -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
tools/sort_symfile.sh pokecrystal.sym
pokecrystal11.gbc: $(crystal11_obj) pokecrystal.link
$(RGBLINK) -n pokecrystal11.sym -m pokecrystal11.map -l pokecrystal.link -o $@ $(crystal11_obj)
$(RGBFIX) -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -n 1 -p 0 -r 3 -t PM_CRYSTAL $@
tools/sort_symfile.sh pokecrystal11.sym
pokecrystal-au.gbc: $(crystal_au_obj) pokecrystal.link
$(RGBLINK) -n pokecrystal-au.sym -m pokecrystal-au.map -l pokecrystal.link -o $@ $(crystal_au_obj)
$(RGBFIX) -Cjv -i BYTU -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
tools/sort_symfile.sh pokecrystal-au.sym
# For files that the compressor can't match, there will be a .lz file suffixed with the md5 hash of the correct uncompressed file.

View File

@ -1,3 +1,7 @@
if __RGBDS_MAJOR__ <= 0 && __RGBDS_MINOR__ < 4
fail "pokecrystal requires rgbds 0.4.0 or newer."
endc
INCLUDE "charmap.asm"
INCLUDE "macros.asm"

View File

@ -202,8 +202,7 @@ if !DEF(TM01)
TM01 EQU const_value
enum_start 1
endc
define _\@_1, "TM_\1"
const _\@_1
const TM_\1
enum \1_TMNUM
ENDM
@ -266,8 +265,7 @@ add_hm: MACRO
if !DEF(HM01)
HM01 EQU const_value
endc
define _\@_1, "HM_\1"
const _\@_1
const HM_\1
enum \1_TMNUM
ENDM

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -134,25 +134,25 @@ ENDM
ret
.PC_ElmsLab_OAM:
dsprite 4, 0, 4, 2, $7c, PAL_OW_TREE | OBP_NUM
dsprite 4, 0, 4, 6, $7c, PAL_OW_TREE | OBP_NUM
dsprite 4, 6, 4, 0, $7d, PAL_OW_TREE | OBP_NUM
dsprite 4, 6, 5, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
dsprite 5, 3, 4, 0, $7d, PAL_OW_TREE | OBP_NUM
dsprite 5, 3, 5, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
dsprite 6, 0, 4, 0, $7d, PAL_OW_TREE | OBP_NUM
dsprite 6, 0, 5, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
dbsprite 4, 4, 2, 0, $7c, PAL_OW_TREE | OBP_NUM
dbsprite 4, 4, 6, 0, $7c, PAL_OW_TREE | OBP_NUM
dbsprite 4, 4, 0, 6, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 5, 4, 0, 6, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
dbsprite 4, 5, 0, 3, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 5, 5, 0, 3, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
dbsprite 4, 6, 0, 0, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 5, 6, 0, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
.HealMachineGFX:
INCBIN "gfx/overworld/heal_machine.2bpp"
.HOF_OAM:
dsprite 7, 4, 10, 1, $7d, PAL_OW_TREE | OBP_NUM
dsprite 7, 4, 10, 6, $7d, PAL_OW_TREE | OBP_NUM
dsprite 7, 3, 9, 5, $7d, PAL_OW_TREE | OBP_NUM
dsprite 7, 3, 11, 2, $7d, PAL_OW_TREE | OBP_NUM
dsprite 7, 1, 9, 1, $7d, PAL_OW_TREE | OBP_NUM
dsprite 7, 1, 11, 5, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 10, 7, 1, 4, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 10, 7, 6, 4, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 9, 7, 5, 3, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 11, 7, 2, 3, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 9, 7, 1, 1, $7d, PAL_OW_TREE | OBP_NUM
dbsprite 11, 7, 5, 1, $7d, PAL_OW_TREE | OBP_NUM
.LoadPalettes:
call IsCGB

View File

@ -750,13 +750,13 @@ Script_AskWaterfall:
EscapeRopeFunction:
call FieldMoveJumptableReset
ld a, $1
jr dig_incave
jr EscapeRopeOrDig
DigFunction:
call FieldMoveJumptableReset
ld a, $2
dig_incave
EscapeRopeOrDig:
ld [wBuffer2], a
.loop
ld hl, .DigTable

View File

@ -1158,29 +1158,29 @@ PlaceOAMCardBorder:
.SpriteData:
db 18
dsprite 0, 0, 0, 0, $04, 0
dsprite 0, 0, 1, 0, $06, 0
dsprite 0, 0, 2, 0, $06, 0
dsprite 0, 0, 3, 0, $06, 0
dsprite 0, 0, 4, 0, $04, 0 | X_FLIP
dbsprite 0, 0, 0, 0, $04, 0
dbsprite 1, 0, 0, 0, $06, 0
dbsprite 2, 0, 0, 0, $06, 0
dbsprite 3, 0, 0, 0, $06, 0
dbsprite 4, 0, 0, 0, $04, 0 | X_FLIP
dsprite 1, 0, 0, 0, $05, 0
dsprite 1, 0, 4, 0, $05, 0 | X_FLIP
dbsprite 0, 1, 0, 0, $05, 0
dbsprite 4, 1, 0, 0, $05, 0 | X_FLIP
dsprite 2, 0, 0, 0, $05, 0
dsprite 2, 0, 4, 0, $05, 0 | X_FLIP
dbsprite 0, 2, 0, 0, $05, 0
dbsprite 4, 2, 0, 0, $05, 0 | X_FLIP
dsprite 3, 0, 0, 0, $05, 0
dsprite 3, 0, 4, 0, $05, 0 | X_FLIP
dbsprite 0, 3, 0, 0, $05, 0
dbsprite 4, 3, 0, 0, $05, 0 | X_FLIP
dsprite 4, 0, 0, 0, $05, $00
dsprite 4, 0, 4, 0, $05, 0 | X_FLIP
dbsprite 0, 4, 0, 0, $05, $00
dbsprite 4, 4, 0, 0, $05, 0 | X_FLIP
dsprite 5, 0, 0, 0, $04, 0 | Y_FLIP
dsprite 5, 0, 1, 0, $06, 0 | Y_FLIP
dsprite 5, 0, 2, 0, $06, 0 | Y_FLIP
dsprite 5, 0, 3, 0, $06, 0 | Y_FLIP
dsprite 5, 0, 4, 0, $04, 0 | X_FLIP | Y_FLIP
dbsprite 0, 5, 0, 0, $04, 0 | Y_FLIP
dbsprite 1, 5, 0, 0, $06, 0 | Y_FLIP
dbsprite 2, 5, 0, 0, $06, 0 | Y_FLIP
dbsprite 3, 5, 0, 0, $06, 0 | Y_FLIP
dbsprite 4, 5, 0, 0, $04, 0 | X_FLIP | Y_FLIP
ChooseCard_HandleJoypad:
ld hl, hJoyLast
@ -1413,145 +1413,145 @@ ENDM
.SingleTile:
db 6
dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
dsprite 0, 0, 0, 0, $02, 0 | PRIORITY
dsprite 0, 0, 1, 0, $03, 0 | PRIORITY
dsprite 0, 5, -1, 7, $00, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 0, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 1, 0, $03, 0 | PRIORITY
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
dbsprite 0, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 1, 0, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 0, 7, 5, $00, 0 | Y_FLIP | PRIORITY
dbsprite 0, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
dbsprite 1, 0, 0, 5, $03, 0 | PRIORITY
.PokeGroup:
db 26
dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
dsprite 0, 0, 0, 0, $02, 0 | PRIORITY
dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | PRIORITY
dsprite 1, 0, -1, 7, $01, 0 | PRIORITY
dsprite 1, 0, 1, 0, $01, 0 | X_FLIP | PRIORITY
dsprite 2, 0, -1, 7, $01, 0 | PRIORITY
dsprite 2, 0, 1, 0, $03, 0 | PRIORITY
dsprite 3, 0, -1, 7, $01, 0 | PRIORITY
dsprite 3, 0, 1, 0, $03, 0 | PRIORITY
dsprite 4, 0, -1, 7, $01, 0 | PRIORITY
dsprite 4, 0, 1, 0, $03, 0 | PRIORITY
dsprite 5, 0, -1, 7, $01, 0 | PRIORITY
dsprite 5, 0, 1, 0, $03, 0 | PRIORITY
dsprite 6, 0, -1, 7, $01, 0 | PRIORITY
dsprite 6, 0, 1, 0, $03, 0 | PRIORITY
dsprite 7, 0, -1, 7, $01, 0 | PRIORITY
dsprite 7, 0, 1, 0, $03, 0 | PRIORITY
dsprite 8, 0, -1, 7, $01, 0 | PRIORITY
dsprite 8, 0, 1, 0, $03, 0 | PRIORITY
dsprite 9, 0, -1, 7, $01, 0 | PRIORITY
dsprite 9, 0, 1, 0, $03, 0 | PRIORITY
dsprite 10, 0, -1, 7, $01, 0 | PRIORITY
dsprite 10, 0, 1, 0, $03, 0 | PRIORITY
dsprite 10, 1, -1, 7, $00, 0 | Y_FLIP | PRIORITY
dsprite 10, 1, 0, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 10, 1, 1, 0, $03, 0 | PRIORITY
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
dbsprite 0, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
dbsprite -1, 1, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 1, 0, 0, $01, 0 | X_FLIP | PRIORITY
dbsprite -1, 2, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 2, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 3, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 3, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 4, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 4, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 5, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 5, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 6, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 6, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 7, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 7, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 8, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 8, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 9, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 9, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 10, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 10, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 10, 7, 1, $00, 0 | Y_FLIP | PRIORITY
dbsprite 0, 10, 0, 1, $02, 0 | Y_FLIP | PRIORITY
dbsprite 1, 10, 0, 1, $03, 0 | PRIORITY
.NumGroup:
db 20
dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
dsprite 0, 0, 0, 0, $02, 0 | PRIORITY
dsprite 0, 0, 1, 0, $02, 0 | PRIORITY
dsprite 0, 0, 2, 0, $03, 0 | PRIORITY
dsprite 0, 0, 3, 0, $02, 0 | PRIORITY
dsprite 0, 0, 4, 0, $03, 0 | PRIORITY
dsprite 0, 0, 5, 0, $02, 0 | PRIORITY
dsprite 0, 0, 6, 0, $03, 0 | PRIORITY
dsprite 0, 0, 7, 0, $02, 0 | PRIORITY
dsprite 0, 0, 8, 0, $03, 0 | PRIORITY
dsprite 0, 5, -1, 7, $00, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 0, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 1, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 2, 0, $03, 0 | PRIORITY
dsprite 0, 5, 3, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 4, 0, $03, 0 | PRIORITY
dsprite 0, 5, 5, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 6, 0, $03, 0 | PRIORITY
dsprite 0, 5, 7, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 0, 5, 8, 0, $03, 0 | PRIORITY
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
dbsprite 0, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 1, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 2, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 4, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 5, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 6, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 7, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 8, 0, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 0, 7, 5, $00, 0 | Y_FLIP | PRIORITY
dbsprite 0, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
dbsprite 1, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
dbsprite 2, 0, 0, 5, $03, 0 | PRIORITY
dbsprite 3, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
dbsprite 4, 0, 0, 5, $03, 0 | PRIORITY
dbsprite 5, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
dbsprite 6, 0, 0, 5, $03, 0 | PRIORITY
dbsprite 7, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
dbsprite 8, 0, 0, 5, $03, 0 | PRIORITY
.NumGroupPair:
db 30
dsprite 0, 0, 0, 0, $00, 0 | PRIORITY
dsprite 0, 0, 1, 0, $02, 0 | PRIORITY
dsprite 0, 0, 2, 0, $02, 0 | PRIORITY
dsprite 0, 0, 3, 0, $03, 0 | PRIORITY
dsprite 0, 0, 4, 0, $02, 0 | PRIORITY
dsprite 0, 0, 5, 0, $03, 0 | PRIORITY
dsprite 0, 0, 6, 0, $02, 0 | PRIORITY
dsprite 0, 0, 7, 0, $03, 0 | PRIORITY
dsprite 0, 0, 8, 0, $02, 0 | PRIORITY
dsprite 0, 0, 9, 0, $03, 0 | PRIORITY
dsprite 1, 0, 0, 0, $01, 0 | PRIORITY
dsprite 1, 0, 3, 0, $03, 0 | PRIORITY
dsprite 1, 0, 5, 0, $03, 0 | PRIORITY
dsprite 1, 0, 7, 0, $03, 0 | PRIORITY
dsprite 1, 0, 9, 0, $03, 0 | PRIORITY
dsprite 2, 0, 0, 0, $01, 0 | PRIORITY
dsprite 2, 0, 3, 0, $03, 0 | PRIORITY
dsprite 2, 0, 5, 0, $03, 0 | PRIORITY
dsprite 2, 0, 7, 0, $03, 0 | PRIORITY
dsprite 2, 0, 9, 0, $03, 0 | PRIORITY
dsprite 2, 1, 0, 0, $00, 0 | Y_FLIP | PRIORITY
dsprite 2, 1, 1, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 2, 1, 2, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 2, 1, 3, 0, $03, 0 | PRIORITY
dsprite 2, 1, 4, 0, $03, 0 | PRIORITY
dsprite 2, 1, 5, 0, $03, 0 | PRIORITY
dsprite 2, 1, 6, 0, $03, 0 | PRIORITY
dsprite 2, 1, 7, 0, $03, 0 | PRIORITY
dsprite 2, 1, 8, 0, $03, 0 | PRIORITY
dsprite 2, 1, 9, 0, $03, 0 | PRIORITY
dbsprite 0, 0, 0, 0, $00, 0 | PRIORITY
dbsprite 1, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 2, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 3, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 4, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 5, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 6, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 7, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 8, 0, 0, 0, $02, 0 | PRIORITY
dbsprite 9, 0, 0, 0, $03, 0 | PRIORITY
dbsprite 0, 1, 0, 0, $01, 0 | PRIORITY
dbsprite 3, 1, 0, 0, $03, 0 | PRIORITY
dbsprite 5, 1, 0, 0, $03, 0 | PRIORITY
dbsprite 7, 1, 0, 0, $03, 0 | PRIORITY
dbsprite 9, 1, 0, 0, $03, 0 | PRIORITY
dbsprite 0, 2, 0, 0, $01, 0 | PRIORITY
dbsprite 3, 2, 0, 0, $03, 0 | PRIORITY
dbsprite 5, 2, 0, 0, $03, 0 | PRIORITY
dbsprite 7, 2, 0, 0, $03, 0 | PRIORITY
dbsprite 9, 2, 0, 0, $03, 0 | PRIORITY
dbsprite 0, 2, 0, 1, $00, 0 | Y_FLIP | PRIORITY
dbsprite 1, 2, 0, 1, $02, 0 | Y_FLIP | PRIORITY
dbsprite 2, 2, 0, 1, $02, 0 | Y_FLIP | PRIORITY
dbsprite 3, 2, 0, 1, $03, 0 | PRIORITY
dbsprite 4, 2, 0, 1, $03, 0 | PRIORITY
dbsprite 5, 2, 0, 1, $03, 0 | PRIORITY
dbsprite 6, 2, 0, 1, $03, 0 | PRIORITY
dbsprite 7, 2, 0, 1, $03, 0 | PRIORITY
dbsprite 8, 2, 0, 1, $03, 0 | PRIORITY
dbsprite 9, 2, 0, 1, $03, 0 | PRIORITY
.PokeGroupPair:
db 38
dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
dsprite 0, 0, 3, 0, $00, 0 | X_FLIP | PRIORITY
dsprite 1, 0, -1, 7, $01, 0 | PRIORITY
dsprite 1, 0, 3, 0, $01, 0 | X_FLIP | PRIORITY
dsprite 2, 0, -1, 7, $01, 0 | PRIORITY
dsprite 2, 0, 3, 0, $01, 0 | X_FLIP | PRIORITY
dsprite 3, 0, -1, 7, $01, 0 | PRIORITY
dsprite 3, 0, 1, 0, $03, 0 | PRIORITY
dsprite 3, 0, 3, 0, $03, 0 | PRIORITY
dsprite 4, 0, -1, 7, $01, 0 | PRIORITY
dsprite 4, 0, 1, 0, $03, 0 | PRIORITY
dsprite 4, 0, 3, 0, $03, 0 | PRIORITY
dsprite 5, 0, -1, 7, $01, 0 | PRIORITY
dsprite 5, 0, 1, 0, $03, 0 | PRIORITY
dsprite 5, 0, 3, 0, $03, 0 | PRIORITY
dsprite 6, 0, -1, 7, $01, 0 | PRIORITY
dsprite 6, 0, 1, 0, $03, 0 | PRIORITY
dsprite 6, 0, 3, 0, $03, 0 | PRIORITY
dsprite 7, 0, -1, 7, $01, 0 | PRIORITY
dsprite 7, 0, 1, 0, $03, 0 | PRIORITY
dsprite 7, 0, 3, 0, $03, 0 | PRIORITY
dsprite 8, 0, -1, 7, $01, 0 | PRIORITY
dsprite 8, 0, 1, 0, $03, 0 | PRIORITY
dsprite 8, 0, 3, 0, $03, 0 | PRIORITY
dsprite 9, 0, -1, 7, $01, 0 | PRIORITY
dsprite 9, 0, 1, 0, $03, 0 | PRIORITY
dsprite 9, 0, 3, 0, $03, 0 | PRIORITY
dsprite 10, 0, -1, 7, $01, 0 | PRIORITY
dsprite 10, 0, 1, 0, $03, 0 | PRIORITY
dsprite 10, 0, 3, 0, $03, 0 | PRIORITY
dsprite 11, 0, -1, 7, $01, 0 | PRIORITY
dsprite 11, 0, 1, 0, $03, 0 | PRIORITY
dsprite 11, 0, 3, 0, $03, 0 | PRIORITY
dsprite 11, 1, -1, 7, $00, 0 | Y_FLIP | PRIORITY
dsprite 11, 1, 0, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 11, 1, 1, 0, $03, 0 | Y_FLIP | PRIORITY
dsprite 11, 1, 2, 0, $02, 0 | Y_FLIP | PRIORITY
dsprite 11, 1, 3, 0, $03, 0 | X_FLIP | Y_FLIP | PRIORITY
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
dbsprite 3, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
dbsprite -1, 1, 7, 0, $01, 0 | PRIORITY
dbsprite 3, 1, 0, 0, $01, 0 | X_FLIP | PRIORITY
dbsprite -1, 2, 7, 0, $01, 0 | PRIORITY
dbsprite 3, 2, 0, 0, $01, 0 | X_FLIP | PRIORITY
dbsprite -1, 3, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 3, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 3, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 4, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 4, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 4, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 5, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 5, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 5, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 6, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 6, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 6, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 7, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 7, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 7, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 8, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 8, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 8, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 9, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 9, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 9, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 10, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 10, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 10, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 11, 7, 0, $01, 0 | PRIORITY
dbsprite 1, 11, 0, 0, $03, 0 | PRIORITY
dbsprite 3, 11, 0, 0, $03, 0 | PRIORITY
dbsprite -1, 11, 7, 1, $00, 0 | Y_FLIP | PRIORITY
dbsprite 0, 11, 0, 1, $02, 0 | Y_FLIP | PRIORITY
dbsprite 1, 11, 0, 1, $03, 0 | Y_FLIP | PRIORITY
dbsprite 2, 11, 0, 1, $02, 0 | Y_FLIP | PRIORITY
dbsprite 3, 11, 0, 1, $03, 0 | X_FLIP | Y_FLIP | PRIORITY
.Impossible:
db 4
dsprite 0, 0, 0, 0, $00, 0 | PRIORITY
dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | PRIORITY
dsprite 1, 0, 0, 0, $00, 0 | Y_FLIP | PRIORITY
dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
dbsprite 0, 0, 0, 0, $00, 0 | PRIORITY
dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
dbsprite 0, 1, 0, 0, $00, 0 | Y_FLIP | PRIORITY
dbsprite 1, 1, 0, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
CardFlip_InitAttrPals:
ldh a, [hCGB]

View File

@ -115,8 +115,7 @@ InitUnownPuzzlePiecePositions:
initpuzcoord: MACRO
rept _NARG / 2
db \1 puzcoord \2
shift
shift
shift 2
endr
ENDM
initpuzcoord 0,0, 0,1, 0,2, 0,3, 0,4, 0,5
@ -553,27 +552,27 @@ RedrawUnownPuzzlePieces:
jr .loop
.OAM_HoldingPiece:
dsprite -1, -4, -1, -4, $00, 0
dsprite -1, -4, 0, -4, $01, 0
dsprite -1, -4, 0, 4, $02, 0
dsprite 0, -4, -1, -4, $0c, 0
dsprite 0, -4, 0, -4, $0d, 0
dsprite 0, -4, 0, 4, $0e, 0
dsprite 0, 4, -1, -4, $18, 0
dsprite 0, 4, 0, -4, $19, 0
dsprite 0, 4, 0, 4, $1a, 0
dbsprite -1, -1, -4, -4, $00, 0
dbsprite 0, -1, -4, -4, $01, 0
dbsprite 0, -1, 4, -4, $02, 0
dbsprite -1, 0, -4, -4, $0c, 0
dbsprite 0, 0, -4, -4, $0d, 0
dbsprite 0, 0, 4, -4, $0e, 0
dbsprite -1, 0, -4, 4, $18, 0
dbsprite 0, 0, -4, 4, $19, 0
dbsprite 0, 0, 4, 4, $1a, 0
db -1
.OAM_NotHoldingPiece:
dsprite -1, -4, -1, -4, $00, 0
dsprite -1, -4, 0, -4, $01, 0
dsprite -1, -4, 0, 4, $00, 0 | X_FLIP
dsprite 0, -4, -1, -4, $02, 0
dsprite 0, -4, 0, -4, $03, 0
dsprite 0, -4, 0, 4, $02, 0 | X_FLIP
dsprite 0, 4, -1, -4, $00, 0 | Y_FLIP
dsprite 0, 4, 0, -4, $01, 0 | Y_FLIP
dsprite 0, 4, 0, 4, $00, 0 | X_FLIP | Y_FLIP
dbsprite -1, -1, -4, -4, $00, 0
dbsprite 0, -1, -4, -4, $01, 0
dbsprite 0, -1, 4, -4, $00, 0 | X_FLIP
dbsprite -1, 0, -4, -4, $02, 0
dbsprite 0, 0, -4, -4, $03, 0
dbsprite 0, 0, 4, -4, $02, 0 | X_FLIP
dbsprite -1, 0, -4, 4, $00, 0 | Y_FLIP
dbsprite 0, 0, -4, 4, $01, 0 | Y_FLIP
dbsprite 0, 0, 4, 4, $00, 0 | X_FLIP | Y_FLIP
db -1
UnownPuzzleCoordData:

View File

@ -241,21 +241,21 @@ LoadTrainerClassPaletteAsNthBGPal:
ld a, [wTrainerClass]
call GetTrainerPalettePointer
ld a, e
jr got_palette_pointer_8bd7
jr LoadNthMiddleBGPal
LoadMonPaletteAsNthBGPal:
ld a, [wCurPartySpecies]
call _GetMonPalettePointer
ld a, e
bit 7, a
jr z, got_palette_pointer_8bd7
jr z, LoadNthMiddleBGPal
and $7f
inc hl
inc hl
inc hl
inc hl
got_palette_pointer_8bd7
LoadNthMiddleBGPal:
push hl
ld hl, wBGPals1
ld de, 1 palettes

View File

@ -247,7 +247,7 @@ FixPicBank:
; This is a thing for some reason.
PICS_FIX EQU $36
GLOBAL PICS_FIX
EXPORT PICS_FIX
push hl
push bc

View File

@ -1688,22 +1688,22 @@ Function1057d7:
ret
.OAM_data:
dsprite 2, 1, 6, 4, $00, 0
dsprite 2, 1, 7, 4, $01, 0
dsprite 2, 1, 8, 4, $02, 0
dsprite 2, 1, 9, 4, $03, 0
dsprite 3, 1, 6, 4, $04, 0
dsprite 3, 1, 7, 4, $05, 0
dsprite 3, 1, 8, 4, $06, 0
dsprite 3, 1, 9, 4, $07, 0
dsprite 0, 1, 11, 4, $00, 0
dsprite 0, 1, 12, 4, $01, 0
dsprite 0, 1, 13, 4, $02, 0
dsprite 0, 1, 14, 4, $03, 0
dsprite 1, 1, 11, 4, $04, 0
dsprite 1, 1, 12, 4, $05, 0
dsprite 1, 1, 13, 4, $06, 0
dsprite 1, 1, 14, 4, $07, 0
dbsprite 6, 2, 4, 1, $00, 0
dbsprite 7, 2, 4, 1, $01, 0
dbsprite 8, 2, 4, 1, $02, 0
dbsprite 9, 2, 4, 1, $03, 0
dbsprite 6, 3, 4, 1, $04, 0
dbsprite 7, 3, 4, 1, $05, 0
dbsprite 8, 3, 4, 1, $06, 0
dbsprite 9, 3, 4, 1, $07, 0
dbsprite 11, 0, 4, 1, $00, 0
dbsprite 12, 0, 4, 1, $01, 0
dbsprite 13, 0, 4, 1, $02, 0
dbsprite 14, 0, 4, 1, $03, 0
dbsprite 11, 1, 4, 1, $04, 0
dbsprite 12, 1, 4, 1, $05, 0
dbsprite 13, 1, 4, 1, $06, 0
dbsprite 14, 1, 4, 1, $07, 0
CardTradeGFX:
INCBIN "gfx/mystery_gift/card_trade.2bpp"

View File

@ -110,13 +110,13 @@ _ResetWRAM:
call ByteFill
ldh a, [rLY]
ldh [hSecondsBackup], a
ldh [hUnusedBackup], a
call DelayFrame
ldh a, [hRandomSub]
ld [wPlayerID], a
ldh a, [rLY]
ldh [hSecondsBackup], a
ldh [hUnusedBackup], a
call DelayFrame
ldh a, [hRandomAdd]
ld [wPlayerID + 1], a

View File

@ -244,16 +244,16 @@ InitScrollingMenuCursor:
ld a, [wScrollingMenuListSize]
inc a
cp b
jr c, .asm_2475a
jr nc, .asm_24763
jr c, .wrap
jr nc, .done
.asm_2475a
.wrap
xor a
ld [wMenuScrollPosition], a
ld a, $1
ld [wMenuCursorBuffer], a
.asm_24763
.done
ret
ScrollingMenu_InitFlags:

View File

@ -540,17 +540,17 @@ TrainerCard_Page2_3_OAMUpdate:
jr .loop2
.facing1
dsprite 0, 0, 0, 0, $00, 0
dsprite 0, 0, 1, 0, $01, 0
dsprite 1, 0, 0, 0, $02, 0
dsprite 1, 0, 1, 0, $03, 0
dbsprite 0, 0, 0, 0, $00, 0
dbsprite 1, 0, 0, 0, $01, 0
dbsprite 0, 1, 0, 0, $02, 0
dbsprite 1, 1, 0, 0, $03, 0
db -1
.facing2
dsprite 0, 0, 0, 0, $01, 0 | X_FLIP
dsprite 0, 0, 1, 0, $00, 0 | X_FLIP
dsprite 1, 0, 0, 0, $03, 0 | X_FLIP
dsprite 1, 0, 1, 0, $02, 0 | X_FLIP
dbsprite 0, 0, 0, 0, $01, 0 | X_FLIP
dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP
dbsprite 0, 1, 0, 0, $03, 0 | X_FLIP
dbsprite 1, 1, 0, 0, $02, 0 | X_FLIP
db -1
TrainerCard_JohtoBadgesOAM:

View File

@ -113,46 +113,46 @@ UnusedTitleFG_Palettes:
INCLUDE "gfx/title/old_fg.pal"
UnusedTitleFG_OAM:
dsprite 3, 0, 7, 0, $00, 1
dsprite 3, 0, 8, 0, $02, 1
dsprite 3, 0, 9, 0, $04, 1
dsprite 3, 0, 10, 0, $06, 1
dsprite 3, 0, 11, 0, $08, 1
dsprite 3, 0, 12, 0, $0a, 1
dsprite 3, 0, 13, 0, $0c, 1
dsprite 3, 0, 14, 0, $0e, 1
dsprite 5, 0, 7, 0, $10, 0
dsprite 5, 0, 8, 0, $12, 0
dsprite 5, 0, 9, 0, $14, 0
dsprite 5, 0, 10, 0, $16, 0
dsprite 5, 0, 11, 0, $18, 0
dsprite 5, 0, 12, 0, $1a, 0
dsprite 5, 0, 13, 0, $1c, 0
dsprite 5, 0, 14, 0, $1e, 0
dsprite 7, 0, 7, 0, $20, 0
dsprite 7, 0, 8, 0, $22, 0
dsprite 7, 0, 9, 0, $24, 0
dsprite 7, 0, 10, 0, $26, 0
dsprite 7, 0, 11, 0, $28, 0
dsprite 7, 0, 12, 0, $2a, 0
dsprite 7, 0, 13, 0, $2c, 0
dsprite 7, 0, 14, 0, $2e, 0
dsprite 9, 0, 7, 0, $30, 2
dsprite 9, 0, 8, 0, $32, 2
dsprite 9, 0, 9, 0, $34, 2
dsprite 9, 0, 10, 0, $36, 2
dsprite 9, 0, 11, 0, $38, 2
dsprite 9, 0, 12, 0, $3a, 2
dsprite 9, 0, 13, 0, $3c, 2
dsprite 9, 0, 14, 0, $3e, 2
dsprite 11, 0, 7, 0, $40, 1
dsprite 11, 0, 8, 0, $42, 1
dsprite 11, 0, 9, 0, $44, 1
dsprite 11, 0, 10, 0, $46, 1
dsprite 11, 0, 11, 0, $48, 1
dsprite 11, 0, 12, 0, $4a, 1
dsprite 11, 0, 13, 0, $4c, 1
dsprite 11, 0, 14, 0, $4e, 1
dbsprite 7, 3, 0, 0, $00, 1
dbsprite 8, 3, 0, 0, $02, 1
dbsprite 9, 3, 0, 0, $04, 1
dbsprite 10, 3, 0, 0, $06, 1
dbsprite 11, 3, 0, 0, $08, 1
dbsprite 12, 3, 0, 0, $0a, 1
dbsprite 13, 3, 0, 0, $0c, 1
dbsprite 14, 3, 0, 0, $0e, 1
dbsprite 7, 5, 0, 0, $10, 0
dbsprite 8, 5, 0, 0, $12, 0
dbsprite 9, 5, 0, 0, $14, 0
dbsprite 10, 5, 0, 0, $16, 0
dbsprite 11, 5, 0, 0, $18, 0
dbsprite 12, 5, 0, 0, $1a, 0
dbsprite 13, 5, 0, 0, $1c, 0
dbsprite 14, 5, 0, 0, $1e, 0
dbsprite 7, 7, 0, 0, $20, 0
dbsprite 8, 7, 0, 0, $22, 0
dbsprite 9, 7, 0, 0, $24, 0
dbsprite 10, 7, 0, 0, $26, 0
dbsprite 11, 7, 0, 0, $28, 0
dbsprite 12, 7, 0, 0, $2a, 0
dbsprite 13, 7, 0, 0, $2c, 0
dbsprite 14, 7, 0, 0, $2e, 0
dbsprite 7, 9, 0, 0, $30, 2
dbsprite 8, 9, 0, 0, $32, 2
dbsprite 9, 9, 0, 0, $34, 2
dbsprite 10, 9, 0, 0, $36, 2
dbsprite 11, 9, 0, 0, $38, 2
dbsprite 12, 9, 0, 0, $3a, 2
dbsprite 13, 9, 0, 0, $3c, 2
dbsprite 14, 9, 0, 0, $3e, 2
dbsprite 7, 11, 0, 0, $40, 1
dbsprite 8, 11, 0, 0, $42, 1
dbsprite 9, 11, 0, 0, $44, 1
dbsprite 10, 11, 0, 0, $46, 1
dbsprite 11, 11, 0, 0, $48, 1
dbsprite 12, 11, 0, 0, $4a, 1
dbsprite 13, 11, 0, 0, $4c, 1
dbsprite 14, 11, 0, 0, $4e, 1
Function10ed51:
call _TitleScreen

View File

@ -16,7 +16,7 @@
const DEXSTATE_EXIT
POKEDEX_SCX EQU 5
GLOBAL POKEDEX_SCX
EXPORT POKEDEX_SCX
Pokedex:
ldh a, [hWX]
@ -1986,59 +1986,59 @@ Pokedex_PutOldModeCursorOAM:
ret
.CursorOAM:
dsprite 3, 0, 9, -1, $30, 7
dsprite 2, 0, 9, -1, $31, 7
dsprite 2, 0, 10, -1, $32, 7
dsprite 2, 0, 11, -1, $32, 7
dsprite 2, 0, 12, -1, $32, 7
dsprite 2, 0, 13, -1, $33, 7
dsprite 2, 0, 16, -2, $33, 7 | X_FLIP
dsprite 2, 0, 17, -2, $32, 7 | X_FLIP
dsprite 2, 0, 18, -2, $32, 7 | X_FLIP
dsprite 2, 0, 19, -2, $32, 7 | X_FLIP
dsprite 2, 0, 20, -2, $31, 7 | X_FLIP
dsprite 3, 0, 20, -2, $30, 7 | X_FLIP
dsprite 4, 0, 9, -1, $30, 7 | Y_FLIP
dsprite 5, 0, 9, -1, $31, 7 | Y_FLIP
dsprite 5, 0, 10, -1, $32, 7 | Y_FLIP
dsprite 5, 0, 11, -1, $32, 7 | Y_FLIP
dsprite 5, 0, 12, -1, $32, 7 | Y_FLIP
dsprite 5, 0, 13, -1, $33, 7 | Y_FLIP
dsprite 5, 0, 16, -2, $33, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 17, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 18, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 19, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 20, -2, $31, 7 | X_FLIP | Y_FLIP
dsprite 4, 0, 20, -2, $30, 7 | X_FLIP | Y_FLIP
dbsprite 9, 3, -1, 0, $30, 7
dbsprite 9, 2, -1, 0, $31, 7
dbsprite 10, 2, -1, 0, $32, 7
dbsprite 11, 2, -1, 0, $32, 7
dbsprite 12, 2, -1, 0, $32, 7
dbsprite 13, 2, -1, 0, $33, 7
dbsprite 16, 2, -2, 0, $33, 7 | X_FLIP
dbsprite 17, 2, -2, 0, $32, 7 | X_FLIP
dbsprite 18, 2, -2, 0, $32, 7 | X_FLIP
dbsprite 19, 2, -2, 0, $32, 7 | X_FLIP
dbsprite 20, 2, -2, 0, $31, 7 | X_FLIP
dbsprite 20, 3, -2, 0, $30, 7 | X_FLIP
dbsprite 9, 4, -1, 0, $30, 7 | Y_FLIP
dbsprite 9, 5, -1, 0, $31, 7 | Y_FLIP
dbsprite 10, 5, -1, 0, $32, 7 | Y_FLIP
dbsprite 11, 5, -1, 0, $32, 7 | Y_FLIP
dbsprite 12, 5, -1, 0, $32, 7 | Y_FLIP
dbsprite 13, 5, -1, 0, $33, 7 | Y_FLIP
dbsprite 16, 5, -2, 0, $33, 7 | X_FLIP | Y_FLIP
dbsprite 17, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
dbsprite 18, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
dbsprite 19, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
dbsprite 20, 5, -2, 0, $31, 7 | X_FLIP | Y_FLIP
dbsprite 20, 4, -2, 0, $30, 7 | X_FLIP | Y_FLIP
db -1
.CursorAtTopOAM:
; OAM data for when the cursor is at the top of the list. The tiles at the top
; are cut off so they don't show up outside the list area.
dsprite 3, 0, 9, -1, $30, 7
dsprite 2, 0, 9, -1, $34, 7
dsprite 2, 0, 10, -1, $35, 7
dsprite 2, 0, 11, -1, $35, 7
dsprite 2, 0, 12, -1, $35, 7
dsprite 2, 0, 13, -1, $36, 7
dsprite 2, 0, 16, -2, $36, 7 | X_FLIP
dsprite 2, 0, 17, -2, $35, 7 | X_FLIP
dsprite 2, 0, 18, -2, $35, 7 | X_FLIP
dsprite 2, 0, 19, -2, $35, 7 | X_FLIP
dsprite 2, 0, 20, -2, $34, 7 | X_FLIP
dsprite 3, 0, 20, -2, $30, 7 | X_FLIP
dsprite 4, 0, 9, -1, $30, 7 | Y_FLIP
dsprite 5, 0, 9, -1, $31, 7 | Y_FLIP
dsprite 5, 0, 10, -1, $32, 7 | Y_FLIP
dsprite 5, 0, 11, -1, $32, 7 | Y_FLIP
dsprite 5, 0, 12, -1, $32, 7 | Y_FLIP
dsprite 5, 0, 13, -1, $33, 7 | Y_FLIP
dsprite 5, 0, 16, -2, $33, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 17, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 18, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 19, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 0, 20, -2, $31, 7 | X_FLIP | Y_FLIP
dsprite 4, 0, 20, -2, $30, 7 | X_FLIP | Y_FLIP
dbsprite 9, 3, -1, 0, $30, 7
dbsprite 9, 2, -1, 0, $34, 7
dbsprite 10, 2, -1, 0, $35, 7
dbsprite 11, 2, -1, 0, $35, 7
dbsprite 12, 2, -1, 0, $35, 7
dbsprite 13, 2, -1, 0, $36, 7
dbsprite 16, 2, -2, 0, $36, 7 | X_FLIP
dbsprite 17, 2, -2, 0, $35, 7 | X_FLIP
dbsprite 18, 2, -2, 0, $35, 7 | X_FLIP
dbsprite 19, 2, -2, 0, $35, 7 | X_FLIP
dbsprite 20, 2, -2, 0, $34, 7 | X_FLIP
dbsprite 20, 3, -2, 0, $30, 7 | X_FLIP
dbsprite 9, 4, -1, 0, $30, 7 | Y_FLIP
dbsprite 9, 5, -1, 0, $31, 7 | Y_FLIP
dbsprite 10, 5, -1, 0, $32, 7 | Y_FLIP
dbsprite 11, 5, -1, 0, $32, 7 | Y_FLIP
dbsprite 12, 5, -1, 0, $32, 7 | Y_FLIP
dbsprite 13, 5, -1, 0, $33, 7 | Y_FLIP
dbsprite 16, 5, -2, 0, $33, 7 | X_FLIP | Y_FLIP
dbsprite 17, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
dbsprite 18, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
dbsprite 19, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
dbsprite 20, 5, -2, 0, $31, 7 | X_FLIP | Y_FLIP
dbsprite 20, 4, -2, 0, $30, 7 | X_FLIP | Y_FLIP
db -1
Pokedex_PutNewModeABCModeCursorOAM:
@ -2047,26 +2047,26 @@ Pokedex_PutNewModeABCModeCursorOAM:
ret
.CursorOAM:
dsprite 3, 3, 9, -1, $30, 7
dsprite 2, 3, 9, -1, $31, 7
dsprite 2, 3, 10, -1, $32, 7
dsprite 2, 3, 11, -1, $32, 7
dsprite 2, 3, 12, -1, $33, 7
dsprite 2, 3, 16, 0, $33, 7 | X_FLIP
dsprite 2, 3, 17, 0, $32, 7 | X_FLIP
dsprite 2, 3, 18, 0, $32, 7 | X_FLIP
dsprite 2, 3, 19, 0, $31, 7 | X_FLIP
dsprite 3, 3, 19, 0, $30, 7 | X_FLIP
dsprite 4, 3, 9, -1, $30, 7 | Y_FLIP
dsprite 5, 3, 9, -1, $31, 7 | Y_FLIP
dsprite 5, 3, 10, -1, $32, 7 | Y_FLIP
dsprite 5, 3, 11, -1, $32, 7 | Y_FLIP
dsprite 5, 3, 12, -1, $33, 7 | Y_FLIP
dsprite 5, 3, 16, 0, $33, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 17, 0, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 18, 0, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 19, 0, $31, 7 | X_FLIP | Y_FLIP
dsprite 4, 3, 19, 0, $30, 7 | X_FLIP | Y_FLIP
dbsprite 9, 3, -1, 3, $30, 7
dbsprite 9, 2, -1, 3, $31, 7
dbsprite 10, 2, -1, 3, $32, 7
dbsprite 11, 2, -1, 3, $32, 7
dbsprite 12, 2, -1, 3, $33, 7
dbsprite 16, 2, 0, 3, $33, 7 | X_FLIP
dbsprite 17, 2, 0, 3, $32, 7 | X_FLIP
dbsprite 18, 2, 0, 3, $32, 7 | X_FLIP
dbsprite 19, 2, 0, 3, $31, 7 | X_FLIP
dbsprite 19, 3, 0, 3, $30, 7 | X_FLIP
dbsprite 9, 4, -1, 3, $30, 7 | Y_FLIP
dbsprite 9, 5, -1, 3, $31, 7 | Y_FLIP
dbsprite 10, 5, -1, 3, $32, 7 | Y_FLIP
dbsprite 11, 5, -1, 3, $32, 7 | Y_FLIP
dbsprite 12, 5, -1, 3, $33, 7 | Y_FLIP
dbsprite 16, 5, 0, 3, $33, 7 | X_FLIP | Y_FLIP
dbsprite 17, 5, 0, 3, $32, 7 | X_FLIP | Y_FLIP
dbsprite 18, 5, 0, 3, $32, 7 | X_FLIP | Y_FLIP
dbsprite 19, 5, 0, 3, $31, 7 | X_FLIP | Y_FLIP
dbsprite 19, 4, 0, 3, $30, 7 | X_FLIP | Y_FLIP
db -1
Pokedex_UpdateSearchResultsCursorOAM:
@ -2078,30 +2078,30 @@ Pokedex_UpdateSearchResultsCursorOAM:
ret
.CursorOAM:
dsprite 3, 3, 9, -1, $30, 7
dsprite 2, 3, 9, -1, $31, 7
dsprite 2, 3, 10, -1, $32, 7
dsprite 2, 3, 11, -1, $32, 7
dsprite 2, 3, 12, -1, $32, 7
dsprite 2, 3, 13, -1, $33, 7
dsprite 2, 3, 16, -2, $33, 7 | X_FLIP
dsprite 2, 3, 17, -2, $32, 7 | X_FLIP
dsprite 2, 3, 18, -2, $32, 7 | X_FLIP
dsprite 2, 3, 19, -2, $32, 7 | X_FLIP
dsprite 2, 3, 20, -2, $31, 7 | X_FLIP
dsprite 3, 3, 20, -2, $30, 7 | X_FLIP
dsprite 4, 3, 9, -1, $30, 7 | Y_FLIP
dsprite 5, 3, 9, -1, $31, 7 | Y_FLIP
dsprite 5, 3, 10, -1, $32, 7 | Y_FLIP
dsprite 5, 3, 11, -1, $32, 7 | Y_FLIP
dsprite 5, 3, 12, -1, $32, 7 | Y_FLIP
dsprite 5, 3, 13, -1, $33, 7 | Y_FLIP
dsprite 5, 3, 16, -2, $33, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 17, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 18, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 19, -2, $32, 7 | X_FLIP | Y_FLIP
dsprite 5, 3, 20, -2, $31, 7 | X_FLIP | Y_FLIP
dsprite 4, 3, 20, -2, $30, 7 | X_FLIP | Y_FLIP
dbsprite 9, 3, -1, 3, $30, 7
dbsprite 9, 2, -1, 3, $31, 7
dbsprite 10, 2, -1, 3, $32, 7
dbsprite 11, 2, -1, 3, $32, 7
dbsprite 12, 2, -1, 3, $32, 7
dbsprite 13, 2, -1, 3, $33, 7
dbsprite 16, 2, -2, 3, $33, 7 | X_FLIP
dbsprite 17, 2, -2, 3, $32, 7 | X_FLIP
dbsprite 18, 2, -2, 3, $32, 7 | X_FLIP
dbsprite 19, 2, -2, 3, $32, 7 | X_FLIP
dbsprite 20, 2, -2, 3, $31, 7 | X_FLIP
dbsprite 20, 3, -2, 3, $30, 7 | X_FLIP
dbsprite 9, 4, -1, 3, $30, 7 | Y_FLIP
dbsprite 9, 5, -1, 3, $31, 7 | Y_FLIP
dbsprite 10, 5, -1, 3, $32, 7 | Y_FLIP
dbsprite 11, 5, -1, 3, $32, 7 | Y_FLIP
dbsprite 12, 5, -1, 3, $32, 7 | Y_FLIP
dbsprite 13, 5, -1, 3, $33, 7 | Y_FLIP
dbsprite 16, 5, -2, 3, $33, 7 | X_FLIP | Y_FLIP
dbsprite 17, 5, -2, 3, $32, 7 | X_FLIP | Y_FLIP
dbsprite 18, 5, -2, 3, $32, 7 | X_FLIP | Y_FLIP
dbsprite 19, 5, -2, 3, $32, 7 | X_FLIP | Y_FLIP
dbsprite 20, 5, -2, 3, $31, 7 | X_FLIP | Y_FLIP
dbsprite 20, 4, -2, 3, $30, 7 | X_FLIP | Y_FLIP
db -1
Pokedex_LoadCursorOAM:

View File

@ -65,15 +65,15 @@ DoDexSearchSlowpokeFrame:
jr .loop
.SlowpokeSpriteData:
dsprite 11, 0, 9, 0, $00, 0
dsprite 11, 0, 10, 0, $01, 0
dsprite 11, 0, 11, 0, $02, 0
dsprite 12, 0, 9, 0, $10, 0
dsprite 12, 0, 10, 0, $11, 0
dsprite 12, 0, 11, 0, $12, 0
dsprite 13, 0, 9, 0, $20, 0
dsprite 13, 0, 10, 0, $21, 0
dsprite 13, 0, 11, 0, $22, 0
dbsprite 9, 11, 0, 0, $00, 0
dbsprite 10, 11, 0, 0, $01, 0
dbsprite 11, 11, 0, 0, $02, 0
dbsprite 9, 12, 0, 0, $10, 0
dbsprite 10, 12, 0, 0, $11, 0
dbsprite 11, 12, 0, 0, $12, 0
dbsprite 9, 13, 0, 0, $20, 0
dbsprite 10, 13, 0, 0, $21, 0
dbsprite 11, 13, 0, 0, $22, 0
db -1
DisplayDexEntry:

View File

@ -1128,7 +1128,7 @@ PokegearPhoneContactSubmenu:
ld h, a
inc de
push hl
ld bc, hBGMapAddress + 1
bccoord -1, -2, 0
add hl, bc
ld a, [de]
inc de

View File

@ -1480,30 +1480,30 @@ endr
jr .loop
.OAM:
dsprite 4, 6, 10, 0, $00, 0
dsprite 4, 6, 11, 0, $00, 0
dsprite 4, 6, 12, 0, $00, 0
dsprite 4, 6, 13, 0, $00, 0
dsprite 4, 6, 14, 0, $00, 0
dsprite 4, 6, 15, 0, $00, 0
dsprite 4, 6, 16, 0, $00, 0
dsprite 4, 6, 17, 0, $00, 0
dsprite 4, 6, 18, 0, $00, 0
dsprite 4, 6, 18, 7, $00, 0
dsprite 7, 1, 10, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 11, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 12, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 13, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 14, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 15, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 16, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 17, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 18, 0, $00, 0 | Y_FLIP
dsprite 7, 1, 18, 7, $00, 0 | Y_FLIP
dsprite 5, 6, 9, 6, $01, 0
dsprite 6, 1, 9, 6, $01, 0 | Y_FLIP
dsprite 5, 6, 19, 1, $01, 0 | X_FLIP
dsprite 6, 1, 19, 1, $01, 0 | X_FLIP | Y_FLIP
dbsprite 10, 4, 0, 6, $00, 0
dbsprite 11, 4, 0, 6, $00, 0
dbsprite 12, 4, 0, 6, $00, 0
dbsprite 13, 4, 0, 6, $00, 0
dbsprite 14, 4, 0, 6, $00, 0
dbsprite 15, 4, 0, 6, $00, 0
dbsprite 16, 4, 0, 6, $00, 0
dbsprite 17, 4, 0, 6, $00, 0
dbsprite 18, 4, 0, 6, $00, 0
dbsprite 18, 4, 7, 6, $00, 0
dbsprite 10, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 11, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 12, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 13, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 14, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 15, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 16, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 17, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 18, 7, 0, 1, $00, 0 | Y_FLIP
dbsprite 18, 7, 7, 1, $00, 0 | Y_FLIP
dbsprite 9, 5, 6, 6, $01, 0
dbsprite 9, 6, 6, 1, $01, 0 | Y_FLIP
dbsprite 19, 5, 1, 6, $01, 0 | X_FLIP
dbsprite 19, 6, 1, 1, $01, 0 | X_FLIP | Y_FLIP
db -1
BillsPC_UpdateInsertCursor:
@ -1528,16 +1528,16 @@ endr
jr .loop
.OAM:
dsprite 4, 7, 10, 0, $06, 0
dsprite 5, 3, 11, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 12, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 13, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 14, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 15, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 16, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 17, 0, $00, 0 | Y_FLIP
dsprite 5, 3, 18, 0, $00, 0 | Y_FLIP
dsprite 4, 7, 19, 0, $07, 0
dbsprite 10, 4, 0, 7, $06, 0
dbsprite 11, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 12, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 13, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 14, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 15, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 16, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 17, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 18, 5, 0, 3, $00, 0 | Y_FLIP
dbsprite 19, 4, 0, 7, $07, 0
db -1
Unreferenced_BillsPC_FillBox:

View File

@ -9,8 +9,7 @@
townmappals: MACRO
rept _NARG / 2
dn PAL_TOWNMAP_\2, PAL_TOWNMAP_\1
shift
shift
shift 2
endr
ENDM

View File

@ -4,8 +4,7 @@ tilepal: MACRO
x = \1 << OAM_TILE_BANK
rept (_NARG - 1) / 2
dn (x | PAL_BG_\3), (x | PAL_BG_\2)
shift
shift
shift 2
endr
ENDM
@ -109,7 +108,4 @@ INCLUDE "gfx/tilesets/battle_tower_inside_palette_map.asm"
TilesetBattleTowerOutsidePalMap:
INCLUDE "gfx/tilesets/battle_tower_outside_palette_map.asm"
; unused
rept 26
db $06
endr
ds 26, $06 ; unused

View File

@ -4,10 +4,12 @@ SECTION "rst0", ROM0[$0000]
di
jp Start
SECTION "rst8", ROM0[$0008] ; rst FarCall
SECTION "rst8", ROM0[$0008]
FarCall::
jp FarCall_hl
SECTION "rst10", ROM0[$0010] ; rst Bankswitch
SECTION "rst10", ROM0[$0010]
Bankswitch::
ldh [hROMBank], a
ld [MBC3RomBank], a
ret
@ -18,7 +20,8 @@ SECTION "rst18", ROM0[$0018]
SECTION "rst20", ROM0[$0020]
rst $38
SECTION "rst28", ROM0[$0028] ; rst JumpTable
SECTION "rst28", ROM0[$0028]
JumpTable::
push de
ld e, a
ld d, 0
@ -63,4 +66,4 @@ Start::
; The cartridge header data is filled in by rgbfix.
; This makes sure it doesn't get used.
ds $0150 - $0104
ds $0150 - @

View File

@ -140,7 +140,7 @@ VBlank0::
rst Bankswitch
ldh a, [hSeconds]
ldh [hSecondsBackup], a
ldh [hUnusedBackup], a
ret

View File

@ -146,7 +146,7 @@ hRandom::
hRandomAdd:: db ; ffe1
hRandomSub:: db ; ffe2
hSecondsBackup:: db ; ffe3
hUnusedBackup:: db ; ffe3
hBattleTurn:: ; ffe4
; Which trainer's turn is it? 0: player, 1: opponent trainer

View File

@ -4,8 +4,6 @@ INCLUDE "macros/enum.asm"
INCLUDE "constants/hardware_constants.asm"
INCLUDE "constants/mobile_constants.asm"
charmap "<CR>", $d
; Mobile Adapter protocol commands
MOBILE_COMMAND_BEGIN_SESSION EQU $10
MOBILE_COMMAND_END_SESSION EQU $11
@ -4943,31 +4941,31 @@ Unknown_1120a4:
Unknown_1120b0:
db "RCPT TO:<", 0
Unknown_1120ba:
db "DATA<CR>\n", 0
db "DATA\r\n", 0
Unknown_1120c1:
db "QUIT<CR>\n", 0
db "QUIT\r\n", 0
Unknown_1120c8:
db "USER ", 0
Unknown_1120ce:
db "PASS ", 0
Unknown_1120d4:
db "STAT<CR>\n", 0
db "STAT\r\n", 0
Unknown_1120db:
db "LIST 00000<CR>\n", 0
db "LIST 00000\r\n", 0
Unknown_1120e8:
db "RETR 00000<CR>\n", 0
db "RETR 00000\r\n", 0
Unknown_1120f5:
db "DELE 00000<CR>\n", 0
db "DELE 00000\r\n", 0
Unknown_112102:
db "TOP 00000 0<CR>\n", 0
db "TOP 00000 0\r\n", 0
Unknown_112110:
db "GET ", 0
Unknown_112115:
db " HTTP/1.0<CR>\n", 0
db " HTTP/1.0\r\n", 0
Unknown_112121:
db "User-Agent: CGB-", 0
Unknown_112132:
db "<CR>\n<CR>\n", 0
db "\r\n\r\n", 0
Unknown_112137:
db "POST ", 0
Unknown_11213d:

View File

@ -8,17 +8,6 @@ ln: MACRO ; r, hi, lo
ld \1, ((\2) & $f) << 4 | ((\3) & $f)
ENDM
ldpixel: MACRO
if _NARG >= 5
lb \1, \2 * 8 + \4, \3 * 8 + \5
else
lb \1, \2 * 8, \3 * 8
endc
ENDM
depixel EQUS "ldpixel de,"
bcpixel EQUS "ldpixel bc,"
; Design patterns
jumptable: MACRO

View File

@ -28,8 +28,7 @@ dwcoord: MACRO
; x, y
rept _NARG / 2
dw (\2) * SCREEN_WIDTH + (\1) + wTilemap
shift
shift
shift 2
endr
ENDM
@ -50,3 +49,9 @@ lda_coord: MACRO
ld a, [(\2) * SCREEN_WIDTH + (\1) + \3]
endc
ENDM
menu_coords: MACRO
; x1, y1, x2, y2
db \2, \1 ; start coords
db \4, \3 ; end coords
ENDM

View File

@ -32,18 +32,14 @@ ENDM
dn: MACRO ; nybbles
rept _NARG / 2
db ((\1) << 4) | (\2)
shift
shift
shift 2
endr
ENDM
dc: MACRO ; "crumbs"
rept _NARG / 4
db ((\1) << 6) | ((\2) << 4) | ((\3) << 2) | (\4)
shift
shift
shift
shift
shift 4
endr
ENDM
@ -86,27 +82,6 @@ dba_pic: MACRO ; dbw bank, address
dw \1
ENDM
dbpixel: MACRO
if _NARG >= 4
; x tile, x pxl, y tile, y pxl
db \1 * 8 + \3, \2 * 8 + \4
else
; x, y
db \1 * 8, \2 * 8
endc
ENDM
dsprite: MACRO
; y tile, y pxl, x tile, x pxl, vtile offset, attributes
db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6
ENDM
menu_coords: MACRO
; x1, y1, x2, y2
db \2, \1 ; start coords
db \4, \3 ; end coords
ENDM
bcd: MACRO
rept _NARG
dn ((\1) % 100) / 10, (\1) % 10

View File

@ -41,11 +41,3 @@ shift_const: MACRO
\1 EQU (1 << const_value)
const_value = const_value + 1
ENDM
; Enumerate strings
define: MACRO
if !DEF(\1)
\1 EQUS \2
endc
ENDM

View File

@ -1,9 +1,7 @@
RGB: MACRO
rept _NARG / 3
dw palred (\1) + palgreen (\2) + palblue (\3)
shift
shift
shift
shift 3
endr
ENDM
@ -22,3 +20,31 @@ tile EQUS "+ LEN_2BPP_TILE *"
; example usage:
; INCBIN "foo.gbcpal", middle_colors
middle_colors EQUS "PAL_COLOR_SIZE, PAL_COLOR_SIZE * 2"
dbpixel: MACRO
if _NARG >= 4
; x tile, y tile, x pixel, y pixel
db \1 * TILE_WIDTH + \3, \2 * TILE_WIDTH + \4
else
; x tile, y tile
db \1 * TILE_WIDTH, \2 * TILE_WIDTH
endc
ENDM
ldpixel: MACRO
if _NARG >= 5
; register, x tile, y tile, x pixel, y pixel
lb \1, \2 * TILE_WIDTH + \4, \3 * TILE_WIDTH + \5
else
; register, x tile, y tile
lb \1, \2 * TILE_WIDTH, \3 * TILE_WIDTH
endc
ENDM
depixel EQUS "ldpixel de,"
bcpixel EQUS "ldpixel bc,"
dbsprite: MACRO
; 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

View File

@ -6,6 +6,11 @@
callba EQUS "farcall"
callab EQUS "callfar"
; macros/gfx.asm
dsprite: MACRO
dbsprite \2, \4, \1, \3, \5, \6
ENDM
; macros/scripts/audio.asm
__ EQU 0
CC EQU 13

View File

@ -1,7 +1,3 @@
FarCall EQU $08
Bankswitch EQU $10
JumpTable EQU $28
farcall: MACRO ; bank, address
ld a, BANK(\1)
ld hl, \1

View File

@ -491,17 +491,17 @@ Function1143f3:
jp z, .asm_1144c2
inc e
call z, Function1144c8
cp $d ; CR
cp "\r"
jr nz, .asm_11442b
ld a, [de]
inc e
call z, Function1144c8
cp $a ; NL
cp "\n"
jr nz, .asm_11442b
ld a, [de]
cp $2e ; .
cp "."
jr z, .asm_1144ae
cp $d ; CR
cp "\r"
jr z, .asm_1144b8
.asm_11444a
@ -557,7 +557,7 @@ Function1143f3:
inc bc
inc e
call z, Function1144c8
cp $d ; "\r"
cp "\r"
jr nz, .asm_114486
ld a, [de]
inc bc
@ -581,14 +581,14 @@ Function1143f3:
inc e
call z, Function1144c8
ld a, [de]
cp $d ; CR
cp "\r"
jp nz, .asm_11442b
.asm_1144b8
inc e
call z, Function1144c8
ld a, [de]
cp $a ; NL
cp "\n"
jp nz, .asm_11442b
.asm_1144c2

View File

@ -172,140 +172,140 @@ Unknown_115e86:
Unknown_115ea6:
db 4
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115eb7:
db 5
dsprite 0, 0, 1, 0, $64, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 0, $64, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ecc:
db 5
dsprite 0, 0, 1, 0, $65, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 0, $65, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ee1:
db 5
dsprite 0, 0, 1, 0, $66, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 0, $66, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ef6:
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $6d, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $6d, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f13:
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $6e, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $6e, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f30:
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $6f, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $6f, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f4d:
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $70, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $70, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f6a:
db 7
dsprite 0, 0, 0, 0, $67, $01
dsprite 1, 0, 0, 0, $68, $01
dsprite 2, 0, 0, 0, $71, $00
dsprite 2, 0, 1, 0, $69, $00
dsprite 2, 0, 2, 0, $6a, $00
dsprite 3, 0, 1, 0, $6b, $00
dsprite 3, 0, 2, 0, $6c, $00
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $71, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f87:
db 5
dsprite 0, 0, 1, 0, $72, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 0, $72, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115f9c:
db 5
dsprite 0, 0, 1, 0, $73, $00
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 0, $73, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115fb1:
db 5
dsprite 0, 1, 1, 0, $64, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 1, $64, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115fc6:
db 5
dsprite 0, 1, 1, 0, $65, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 1, $65, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115fdb:
db 5
dsprite 0, 1, 1, 0, $66, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 1, $66, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ff0:
db 5
dsprite 0, 1, 1, 0, $72, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 1, $72, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_116005:
db 5
dsprite 0, 1, 1, 0, $73, $60
dsprite 1, 0, 0, 0, $60, $01
dsprite 1, 0, 1, 0, $61, $01
dsprite 2, 0, 0, 0, $62, $01
dsprite 2, 0, 1, 0, $63, $01
dbsprite 1, 0, 0, 1, $73, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
MobileDialingGFX::
INCBIN "gfx/mobile/dialing.2bpp"

View File

@ -1,14 +0,0 @@
#!/bin/sh
TEMP_FILE=$(mktemp)
sed \
-e "s/^..:[0-3]/0_ROM0@&/g" \
-e "s/^..:[4-7]/1_ROMX@&/g" \
-e "s/^..:[8-9]/2_VRAM@&/g" \
-e "s/^..:[A-Ba-b]/3_SRAM@&/g" \
-e "s/^00:[C-Dc-d]/4_WRAM0@&/g" \
-e "s/^..:[D-Dd-d]/5_WRAMX@&/g" \
-e "s/^..:[F-Ff-f]/6_HRAM@&/g" \
$1 \
| sort \
| sed -e "s/^.*@//g" > $TEMP_FILE
mv $TEMP_FILE $1