diff --git a/.gitignore b/.gitignore index f7c4e9e2..c6f838da 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ _Deparsed_XSubs.pm *.sna __pycache__ .vscode/settings.json +assets/ \ No newline at end of file diff --git a/INSTALL.md b/INSTALL.md index 42f27dd5..1c8a4fa3 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,18 +1,11 @@ # Install First, you must put a The Legend of Zelda: The Minish Cap (U) ROM (with SHA1: `b4bd50e4131b027c334547b4524e2dbbd4227130`) in the root directory of the repository and name it `baserom.gba`. +## Extract assets +Run `python tools/asset_extractor/asset_extractor.py usa`. ## Building other variants -To build other variants, you currently need a combination of different baseroms, depending on the variant. -| | USA | JP | EU | DEMO_USA | DEMO_JP | -| - | :-: | :-: | :-: | :-: | :-: | -| baserom.gba | X | X | X | X | X | -| baserom_jp.gba | | X | X | | X | -| baserom_eu.gba | | | X | | | -| baserom_demo.gba | | | | X | | -| baserom_demo_jp.gba | | | | | X | - - +To build other variants, you need to place the corresponding baserom and then extract the assets, e.g. for JP: `baserom_jp.gba` and run `python tools/asset_extractor/asset_extractor.py jp`. ## Prerequisites diff --git a/Makefile b/Makefile index 360a949d..b3f90c05 100644 --- a/Makefile +++ b/Makefile @@ -185,6 +185,7 @@ include songs.mk %.png: ; %.pal: ; %.aif: ; +%.bin: ; %.1bpp: %.png ; $(GFX) $< $@ %.4bpp: %.png ; $(GFX) $< $@ @@ -262,44 +263,38 @@ baserom_eu.gba: baserom_demo_jp.gba: endif ifeq ($(GAME_VERSION), DEMO_USA) -baserom.gba: - $(error "You need to provide a USA ROM as baserom.gba") baserom_demo.gba: $(error "You need to provide a DEMO ROM as baserom_demo.gba") -.PHONY: baserom_jp.gba baserom_eu.gba baserom_demo_jp.gba +.PHONY: baserom_jp.gba baserom_eu.gba baserom.gba baserom_demo_jp.gba +baserom.gba: baserom_jp.gba: baserom_eu.gba: baserom_demo_jp.gba: endif ifeq ($(GAME_VERSION), JP) -baserom.gba: - $(error "You need to provide a USA ROM as baserom.gba") baserom_jp.gba: $(error "You need to provide a JP ROM as baserom_jp.gba") -.PHONY: baserom_demo.gba baserom_eu.gba baserom_demo_jp.gba +.PHONY: baserom_demo.gba baserom_eu.gba baserom.gba baserom_demo_jp.gba +baserom.gba: baserom_demo.gba: baserom_eu.gba: baserom_demo_jp.gba: endif ifeq ($(GAME_VERSION), DEMO_JP) -baserom.gba: - $(error "You need to provide a USA ROM as baserom.gba") -baserom_jp.gba: - $(error "You need to provide a JP ROM as baserom_jp.gba") baserom_demo_jp.gba: $(error "You need to provide a DEMO JP ROM as baserom_demo_jp.gba") -.PHONY: baserom_demo.gba baserom_eu.gba -baserom_demo.gba: +.PHONY: baserom_jp.gba baserom_eu.gba baserom.gba baserom_demo.gba +baserom.gba: +baserom_jp.gba: baserom_eu.gba: +baserom_demo.gba: endif ifeq ($(GAME_VERSION), EU) -baserom.gba: - $(error "You need to provide a USA ROM as baserom.gba") -baserom_jp.gba: - $(error "You need to provide a JP ROM as baserom_jp.gba") baserom_eu.gba: $(error "You need to provide a EU ROM as baserom_eu.gba") -.PHONY: baserom_demo.gba baserom_demo_jp.gba +.PHONY: baserom_demo.gba baserom.gba baserom_jp.gba baserom_demo_jp.gba +baserom.gba: +baserom_jp.gba: baserom_demo.gba: baserom_demo_jp.gba: endif