Add asset extraction to Makefile

This commit is contained in:
octorock 2021-09-11 10:53:09 +02:00
parent a868ae7228
commit bb8429933e
3 changed files with 16 additions and 27 deletions

1
.gitignore vendored
View File

@ -66,3 +66,4 @@ _Deparsed_XSubs.pm
*.sna
__pycache__
.vscode/settings.json
assets/

View File

@ -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

View File

@ -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