ref: 35644c330effcfb083591d20b3b5f780019ae24f
parent: d7bc1d12f23a6d800169b887592807cf92b4974a
parent: 828d6b92f0488dc1779f4b282610cead039ffbf9
author: yenatch <[email protected]>
date: Fri Feb 13 23:18:47 EST 2015
Merge pull request #279 from iimarckus/crystal11 Build both the 1.0 and 1.1 ROMs.
--- 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
@@ -314,7 +318,7 @@
Function40217: ; 40217 (10:4217)
call LowVolume
xor a
- ld [wcf65], a
+ ld [wPokedexStatus], a
xor a
ld [hBGMapMode], a ; $ff00+$d4
call ClearSprites
@@ -373,9 +377,9 @@
; 40292 (10:4292)
Function40292: ; 40292
- ld a, [wcf65]
+ ld a, [wPokedexStatus]
xor $1
- ld [wcf65], a
+ ld [wPokedexStatus], a
call Function40bb1
ld [wc2d6], a
callba Function4424d
@@ -386,7 +390,7 @@
Function402aa: ; 402aa (10:42aa)
call Function41401
xor a
- ld [wcf65], a
+ ld [wPokedexStatus], a
xor a
ld [hBGMapMode], a ; $ff00+$d4
call Function407fd
--- /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
@@ -38165,7 +38165,7 @@
push af
call FarString
pop bc
- ld a, [wcf65]
+ ld a, [wPokedexStatus]
or a
ret z
push bc
@@ -89618,21 +89618,21 @@
call ClearTileMap
call Function1ad2
call ClearSprites
- ld a, [wcf65]
+ ld a, [wPokedexStatus]
push af
ld a, [hSCX]
add $5
ld [hSCX], a
xor a
- ld [wcf65], a
+ ld [wPokedexStatus], a
callba Function41a7f
call Functiona80
ld a, $1
- ld [wcf65], a
+ ld [wPokedexStatus], a
callba Function4424d
call Functiona80
pop af
- ld [wcf65], a
+ ld [wPokedexStatus], a
call MaxVolume
call Function4b6
ld a, [hSCX]
@@ -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,6 +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"