ref: 828d6b92f0488dc1779f4b282610cead039ffbf9
parent: b028e138347e9de72277c525b11d0592ba14498d
author: IIMarckus <iimarckus@gmail.com>
date: Fri Feb 13 20:51:34 EST 2015
Add the ability to build Crystal 1.1.
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,21 @@
includes := $(PYTHON) $(poketools)/scan_includes.py
+crystal11_obj := \
+wram11.o \
+crystal11.o \
+lib/mobile/main.o \
+home.o \
+audio.o \
+maps_crystal.o \
+engine/events_crystal.o \
+engine/credits_crystal.o \
+data/egg_moves_crystal.o \
+data/evos_attacks_crystal.o \
+data/pokedex/entries_crystal.o \
+misc/crystal_misc.o \
+gfx/pics.o
+
crystal_obj := \
wram.o \
main.o \
@@ -25,7 +40,7 @@
misc/crystal_misc.o \
gfx/pics.o
-all_obj := $(crystal_obj)
+all_obj := $(crystal_obj) crystal11.o wram11.o
# object dependencies
$(foreach obj, $(all_obj), \
@@ -52,6 +67,11 @@
@$(gfx) 1bpp $(1bppq); $(eval 1bppq :=)
@$(gfx) lz $(lzq); $(eval lzq :=)
rgbasm -o $@ $<
+
+pokecrystal11.gbc: $(crystal11_obj)
+ rgblink -n $*.sym -m $*.map -o $@ $^
+ rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -n 1 -p 0 -r 3 -t PM_CRYSTAL $@
+ cmp crystal11.gbc $@
pokecrystal.gbc: $(crystal_obj)
rgblink -n $*.sym -m $*.map -o $@ $^
--- /dev/null
+++ b/crystal11.asm
@@ -1,0 +1,4 @@
+CRYSTAL11 = 1
+CORRUPT_TILES = 1
+
+INCLUDE "main.asm"
--- a/data/battle_tower.asm
+++ b/data/battle_tower.asm
@@ -19,8 +19,13 @@
ld a, [hRandomAdd]
add b
ld b, a
+IF DEF(CRYSTAL11)
+ and $7f
+ cp $46
+ELSE
and $1f
cp $15
+ENDC
jr nc, .asm_1f8022
ld b, a
ld a, $1
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -66,7 +66,11 @@
call Function414b7
ld hl, wc6d0
+IF DEF(CRYSTAL11)
+ ld bc, $0116
+ELSE
ld bc, $0115
+ENDC
xor a
call ByteFill
--- /dev/null
+++ b/gfx/unknown/1733af_corrupt.tilemap
@@ -1,0 +1,15 @@
+
+121 ,-,./0
+
+<=<7879:;$ GHG!"#ABCDEF$%$0
+
+121 ,-,./0
+;<=<7879:;F$%$ GHG!"#ABCDEF$,./0
+
+ ,-,.79:;
+
+7879CDEF$%$!"#ABCD ,-,./0&'()*+121 ,7879:;345643<=<7#ABCDEF>?@@?>GHG!"#A1 ,-,./0
+
+121<7879:;<=<G!"#ABCDEF$%$ GHG!121 ,-,./0
+
+1<=<7879:;< GHG!"#ABCDEF$%$ G
\ No newline at end of file
--- a/main.asm
+++ b/main.asm
@@ -96474,5 +96474,9 @@
SECTION "stadium2", ROMX[$8000-$220], BANK[$7F]
-INCBIN "misc/stadium2.bin"
+IF DEF(CRYSTAL11)
+INCBIN "misc/stadium2_2.bin"
+ELSE
+INCBIN "misc/stadium2_1.bin"
+ENDC
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -16333,7 +16333,11 @@
push af
ld a, $3
ld [rSVBK], a
+IF DEF(CRYSTAL11)
+ ld hl, wd10a
+ELSE
ld hl, wd105
+ENDC
ld a, [hl]
dec a
ld e, a
@@ -24067,7 +24071,11 @@
INCBIN "gfx/unknown/172f1f.2bpp"
Tilemap_1733af:
+IF DEF(CORRUPT_TILES)
+INCBIN "gfx/unknown/1733af_corrupt.tilemap"
+ELSE
INCBIN "gfx/unknown/1733af.tilemap"
+ENDC
Attrmap_173517:
INCBIN "gfx/unknown/173517.attrmap"
binary files a/misc/stadium2.bin /dev/null differ
binary files /dev/null b/misc/stadium2_1.bin differ
binary files /dev/null b/misc/stadium2_2.bin differ
--- a/wram.asm
+++ b/wram.asm
@@ -872,7 +872,11 @@
wc7e1:: ds 1
wc7e2:: ds 1
wc7e3:: ds 1
-wc7e4:: ds 4
+wc7e4:: ds 1
+IF DEF(CRYSTAL11)
+wPokedexStatus::
+ENDC
+ ds 3
wc7e8:: ds 24
@@ -1165,7 +1169,9 @@
wcf61:: ds 2
wcf63:: ds 1
wcf64:: ds 1
+IF !DEF(CRYSTAL11)
wPokedexStatus::
+ENDC
wcf65:: ds 1
wcf66:: ds 1
--- /dev/null
+++ b/wram11.asm
@@ -1,0 +1,3 @@
+CRYSTAL11 = 1
+
+INCLUDE "wram.asm"