Merge branch 'master' into build_more_roms

This commit is contained in:
PikalaxALT
2018-06-03 11:04:06 -04:00
4 changed files with 190 additions and 36 deletions

View File

@@ -15,7 +15,8 @@ RGBFIX := rgbfix
RGBASMFLAGS := -h -E -i $(BUILD)/
tools/gfx :=
tools/make_shim :=
sort_sym := $(PYTHON3) tools/sort_sym.py
sort_sym := tools/sort_symfile.sh
#sort_sym := $(PYTHON3) tools/sort_sym.py
ROM := poke$(BUILD_NAME)-spaceworld.gb
ROMS := $(foreach r, gold gold_debug silver silver_debug, poke$(r)-spaceworld.gb)
@@ -40,11 +41,20 @@ GFX := $(patsubst %.png, $(BUILD)/%.2bpp, \
.SECONDEXPANSION:
.PHONY: all
all: $(ROM) $(CORRECTEDROM)
all: $(ROM) $(CORRECTEDROM) compare
.PHONY: compare
compare: $(ROMS)
$(MD5) roms.md5
.PHONY: tools
tools tools/pkmncompress tools/gfx:
$(MAKE) -C tools/
.PHONY: coverage
coverage: tools/disasm_coverage.py $(ROM)
$(PYTHON3) $< -m $(ROM:.gb=.map) -b 0x40
# Remove files generated by the build process.
.PHONY: clean
clean:
@@ -57,10 +67,14 @@ mostlyclean:
rm -rf $(ROMS) $(OBJS) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) $(CORRECTEDROMS)
find . \( -iname '*.d' \) -exec rm {} +
$(ROM): $(OBJS)
$(ROM): $(OBJS) | $(BASEROM)
$(RGBLINK) -d -n $(@:.gb=.sym) -m $(@:.gb=.map) -O $(BASEROM) -o $@ $^
$(RGBFIX) -f lh -k 01 -l 0x33 -m 0x03 -p 0 -r 3 -t "POKEMON2$(GAME_VERSION)" $@
-$(sort_sym) $(@:.gb=.sym)
$(sort_sym) $(@:.gb=.sym)
$(BASEROM):
@echo "Please obtain a copy of Gold_debug.sgb and put it in this directory as $@"
@exit 1
$(BUILD)/shim.asm: tools/make_shim $(SHIM) tools/make_shim | $$(dir $$@)
tools/make_shim -w $(filter-out $<, $^) > $@
@@ -68,10 +82,6 @@ $(CORRECTEDROM): %-correctheader.gb: %.gb
cp $< $@
$(RGBFIX) -f hg -m 0x10 $@
.PHONY: coverage
coverage: $(ROM)
$(PYTHON3) tools/disasm_coverage.py -m $(ROM:.gb=.map) -b 0x40
$(BUILD)/gfx.o: | $(GFX)
$(BUILD)/%.o: $(BUILD)/%.asm | $$(dir $$@)
$(RGBASM) $(RGBASMFLAGS) -M $(@:.o=.d) $(OUTPUT_OPTION) $<
@@ -114,12 +124,12 @@ $(BUILD)/%.tilemap: %.png | $$(dir $$@)
-include $(call rwildcard, $(BUILD)/, *.d)
#gold: ; @$(MAKE) GAME_VERSION=GOLD
gold_debug: ; @$(MAKE) GAME_VERSION=GOLD DEBUG=1
#gold_debug: ; @$(MAKE) GAME_VERSION=GOLD DEBUG=1
#silver: ; @$(MAKE) GAME_VERSION=SILVER
#silver_debug: ; @$(MAKE) GAME_VERSION=SILVER DEBUG=1
compare: ;
#compare: ;
# @$(MAKE) GAME_VERSION=GOLD COMPARE=1
@$(MAKE) GAME_VERSION=GOLD DEBUG=1 COMPARE=1
# @$(MAKE) GAME_VERSION=GOLD DEBUG=1 COMPARE=1
# @$(MAKE) GAME_VERSION=SILVER COMPARE=1
# @$(MAKE) GAME_VERSION=SILVER DEBUG=1 COMPARE=1
@$(MD5) roms.md5
# @$(MD5) roms.md5

View File

@@ -17,8 +17,21 @@ INCLUDE "data/trainers/party_pointers.inc"
if def(GOLD)
HayatoGroup::
; Leftover Youngster data from Red/Blue
db 11, MON_KORATTA, MON_ARBO, 0
db 14, MON_ONISUZUME, 0
db 10, MON_KORATTA, MON_KORATTA, MON_ZUBAT, 0
db 14, MON_KORATTA, MON_ARBO, MON_ZUBAT, 0
db 15, MON_KORATTA, MON_ONISUZUME, 0
db 17, MON_YADON, 0
db 14, MON_ARBO, MON_SAND, 0
db 21, MON_NIDORAN_M, 0
db 21, MON_ARBO, 0
db 19, MON_SAND, MON_ZUBAT, 0
db 17, MON_KORATTA, MON_KORATTA, MON_RATTA, 0
db 18, MON_NIDORAN_M, MON_NIDORINO, 0
db 17, MON_ONISUZUME, MON_KORATTA, MON_KORATTA, MON_ONISUZUME, 0
SECTION "Trainer Parties 1 TEMPORARY", ROMX[$51BF],BANK[$E]
AkaneGroup::
BugCatcherBoyGroup::
; BUG_CATCHER_BOY_JUNICHI
@@ -98,31 +111,114 @@ OkeraGroup::
db 19, MON_KORATTA, MON_DIGDA, MON_ARBO, MON_SAND, 0
db 29, MON_NIDORAN_M, MON_NIDORINO, 0
SECTION "Trainer Parties 4 TEMPORARY", ROMX[$52B4],BANK[$E]
MikanGroup::
; Leftover Jr.Trainer♀ data from Red/Blue
db 19, MON_TOSAKINTO, 0
db 16, MON_KORATTA, MON_PIKACHU, 0
db 16, MON_POPPO, MON_POPPO, MON_POPPO, 0
db 22, MON_FUSHIGIDANE, 0
db 18, MON_NAZONOKUSA, MON_MADATSUBOMI, MON_NAZONOKUSA, MON_MADATSUBOMI, 0
db 23, MON_NYARTH, 0
db 20, MON_PIKACHU, MON_PIPPI, 0
db 21, MON_POPPO, MON_PIGEON, 0
db 21, MON_PURIN, MON_POPPO, MON_NYARTH, 0
db 22, MON_NAZONOKUSA, MON_FUSHIGIDANE, 0
db 24, MON_FUSHIGIDANE, MON_FUSHIGISOU, 0
db 24, MON_POPPO, MON_NYARTH, MON_KORATTA, MON_PIKACHU, MON_NYARTH, 0
db 30, MON_NYOROMO, MON_NYOROMO, 0
db 27, MON_POPPO, MON_NYARTH, MON_POPPO, MON_PIGEON, 0
db 28, MON_TOSAKINTO, MON_NYOROMO, MON_TATTU, 0
db 31, MON_TOSAKINTO, MON_AZUMAO, 0
db 22, MON_MADATSUBOMI, MON_PIPPI, 0
db 20, MON_NYARTH, MON_NAZONOKUSA, MON_POPPO, 0
db 19, MON_POPPO, MON_KORATTA, MON_KORATTA, MON_MADATSUBOMI, 0
db 28, MON_KUSAIHANA, MON_NAZONOKUSA, MON_NAZONOKUSA, 0
db 29, MON_PIKACHU, MON_RAICHU, 0
db 33, MON_PIPPI, 0
db 29, MON_MADATSUBOMI, MON_NAZONOKUSA, MON_MONJARA, 0
db 30, MON_MENOKURAGE, MON_TATTU, MON_PAWOU, 0
SECTION "Trainer Parties 5 TEMPORARY", ROMX[$5320],BANK[$E]
BlueGroup::
; Leftover Pokémaniac data from Red/Blue
db 30, MON_SIHORN, MON_BERORINGA, 0
db 20, MON_KARAKARA, MON_YADON, 0
db 20, MON_YADON, MON_YADON, MON_YADON, 0
db 22, MON_HITOKAGE, MON_KARAKARA, 0
db 25, MON_YADON, 0
db 40, MON_LIZARDO, MON_LAPLACE, MON_BERORINGA, 0
db 23, MON_KARAKARA, MON_YADON, 0
SECTION "Trainer Parties 6 TEMPORARY", ROMX[$533D],BANK[$E]
GamaGroup::
; Leftover Super Nerd data from Red/Blue
db 11, MON_COIL, MON_BIRIRIDAMA, 0
db 12, MON_BETBETER, MON_BIRIRIDAMA, MON_DOGARS, 0
db 20, MON_BIRIRIDAMA, MON_DOGARS, MON_BIRIRIDAMA, MON_COIL, 0
db 22, MON_BETBETER, MON_BETBETON, MON_BETBETER, 0
db 26, MON_DOGARS, 0
db 22, MON_DOGARS, MON_COIL, MON_MATADOGAS, 0
db 20, MON_COIL, MON_COIL, MON_DOGARS, MON_COIL, 0
db 24, MON_COIL, MON_BIRIRIDAMA, 0
db 36, MON_ROKON, MON_ROKON, MON_KYUKON, 0
db 34, MON_PONYTA, MON_HITOKAGE, MON_ROKON, MON_GARDIE, 0
db 41, MON_GALLOP, 0
db 37, MON_GARDIE, MON_ROKON, 0
SECTION "Trainer Parties 7 TEMPORARY", ROMX[$5375],BANK[$E]
RivalGroup::
db 5, DEX_KURUSU, 0
db 5, DEX_HAPPA, 0
db 5, DEX_HONOGUMA, 0
; Leftover Hiker data from Red/Blue
db 10, MON_ISITSUBUTE, MON_ISITSUBUTE, MON_IWARK, 0
db 15, MON_WANRIKY, MON_ISITSUBUTE, 0
db 13, MON_ISITSUBUTE, MON_ISITSUBUTE, MON_WANRIKY, MON_ISITSUBUTE, 0
db 17, MON_IWARK, 0
db 21, MON_ISITSUBUTE, MON_IWARK, 0
db 20, MON_ISITSUBUTE, MON_WANRIKY, MON_ISITSUBUTE, 0
db 21, MON_ISITSUBUTE, MON_IWARK, 0
db 19, MON_IWARK, MON_GOLONE, 0
db 21, MON_ISITSUBUTE, MON_ISITSUBUTE, MON_GOLONE, 0
db 25, MON_ISITSUBUTE, 0
db 20, MON_WANRIKY, MON_IWARK, 0
db 19, MON_ISITSUBUTE, MON_WANRIKY, MON_ISITSUBUTE, MON_ISITSUBUTE, 0
db 20, MON_IWARK, MON_IWARK, MON_ISITSUBUTE, 0
db 21, MON_ISITSUBUTE, MON_GOLONE, 0
SECTION "Trainer Parties 8 TEMPORARY", ROMX[$53BC],BANK[$E]
OkidoGroup::
; Leftover Biker data from Red/Blue
db 28, MON_DOGARS, MON_DOGARS, MON_DOGARS, 0
db 29, MON_DOGARS, MON_BETBETER, 0
db 25, MON_DOGARS, MON_DOGARS, MON_MATADOGAS, MON_DOGARS, MON_BETBETER, 0
db 28, MON_DOGARS, MON_BETBETER, MON_MATADOGAS, 0
db 29, MON_BETBETER, MON_DOGARS, 0
db 33, MON_MATADOGAS, 0
db 26, MON_BETBETER, MON_BETBETER, MON_BETBETER, MON_BETBETER, 0
db 28, MON_MATADOGAS, MON_DOGARS, MON_MATADOGAS, 0
db 33, MON_BETBETON, 0
db 29, MON_BIRIRIDAMA, MON_BIRIRIDAMA, 0
db 29, MON_MATADOGAS, MON_BETBETON, 0
db 25, MON_DOGARS, MON_MATADOGAS, MON_DOGARS, MON_DOGARS, MON_MATADOGAS, 0
db 26, MON_DOGARS, MON_DOGARS, MON_BETBETER, MON_DOGARS, 0
db 28, MON_BETBETER, MON_BETBETER, MON_DOGARS, 0
db 29, MON_DOGARS, MON_BETBETON, 0
SECTION "Trainer Parties 9 TEMPORARY", ROMX[$5404],BANK[$E]
SakakiGroup::
; Leftover Burglar data from Red/Blue
db 29, MON_GARDIE, MON_ROKON, 0
db 33, MON_GARDIE, 0
db 28, MON_ROKON, MON_HITOKAGE, MON_PONYTA, 0
db 36, MON_GARDIE, MON_ROKON, MON_KYUKON, 0
db 41, MON_PONYTA, 0
db 37, MON_ROKON, MON_GARDIE, 0
db 34, MON_HITOKAGE, MON_LIZARDO, 0
db 38, MON_KYUKON, 0
db 34, MON_GARDIE, MON_PONYTA, 0
SECTION "Trainer Parties 10 TEMPORARY", ROMX[$5427],BANK[$E]
ProtagonistGroup::
; Leftover Engineer data from Red/Blue
db 21, MON_BIRIRIDAMA, MON_COIL, 0
db 21, MON_COIL, 0
db 18, MON_COIL, MON_COIL, MON_RARECOIL, 0
SECTION "Trainer Parties 11 TEMPORARY", ROMX[$5433],BANK[$E]
SibaGroup::
KasumiGroup::
FisherGroup::
@@ -249,7 +345,6 @@ BikerGroup::
db 38, MON_GHOST, 0
db 33, MON_GHOS, MON_GHOS, MON_GHOST, 0
SECTION "Trainer Parties 31 TEMPORARY", ROMX[$5956],BANK[$E]
RockClimberGroup::
; Leftover Agatha data from Red/Blue
db -1, 56, MON_GANGAR, 56, MON_GOLBAT, 55, MON_GHOST, 58, MON_ARBOK, 60, MON_GANGAR, 0

View File

@@ -4,22 +4,61 @@ SECTION "Main Menu Definition", ROMX[$5418], BANK[$01]
MainMenuHeader:
db $40
db $00, $00, $07, $0d
dw .data
menu_coords 0, 0, 13, 7
dw .MenuData
db 1 ; default option
.data
.MenuData: ; 01:5420
db $80
db 0 ; number of options
dw $5461
db 0 ; items
dw MainMenuItems
db $8a, $1f
dw MainMenuStrings
dw .Strings
MainMenuStrings: ; 01:5428
db "つづきから はじめる@"
db "さいしょから はじめる@"
db "せっていを かえる@"
db "#を あそぶ@"
db "じかんセット@"
; 01:5457
.Strings: ; 01:5428
db "つづきから はじめる@"
db "さいしょから はじめる@"
db "せっていを かえる@"
db "#を あそぶ@"
db "じかんセット@"
MainMenuJumptable: ; 01:5457
dw $547c
dw $555c
dw $5cf3
dw $555c
dw $5473
CONTINUE EQU 0
NEW_GAME EQU 1
OPTION EQU 2
PLAY_POKEMON EQU 3
SET_TIME EQU 4
MainMenuItems:
NewGameMenu:
db 2
db NEW_GAME
db OPTION
db -1
ContinueMenu:
db 3
db CONTINUE
db NEW_GAME
db OPTION
db -1
PlayPokemonMenu:
db 2
db PLAY_POKEMON
db OPTION
db -1
PlayPokemonSetTimeMenu:
db 3
db PLAY_POKEMON
db OPTION
db SET_TIME
db -1

10
tools/sort_symfile.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
sed $1 \
-e "s/^..:[0-3]/0_ROM0@&/g" \
-e "s/^..:[4-7]/1_ROMX@&/g" \
-e "s/^..:[8-9]/2_VRAM@&/g" \
-e "s/^..:[A-B]/3_SRAM@&/g" \
-e "s/^00:[C-D]/4_WRAM0@&/g" \
-e "s/^..:[D-D]/5_WRAMX@&/g" \
| sort -o $1
sed -i $1 -e "s/^\w*@//g"