shithub: pokecrystal

Download patch

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"