add sprite editor gui

This commit is contained in:
Alex Bates 2020-12-22 00:09:55 +00:00
parent 09e7228e1d
commit 36233280d6
5 changed files with 41 additions and 4 deletions

4
.gitignore vendored
View File

@ -27,4 +27,8 @@ settings.mk
/msg /msg
/sprite /sprite
# Star Rod
/sprite/SpriteTable.xml
/mod.cfg
tools/Yay0compress tools/Yay0compress

5
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "tools/n64splat"] [submodule "tools/n64splat"]
path = tools/n64splat path = tools/n64splat
url = https://github.com/ethteck/n64splat.git url = https://github.com/ethteck/n64splat.git
[submodule "tools/star-rod"]
path = tools/star-rod
url = https://github.com/nanaian/star-rod-for-decomp.git

View File

@ -68,6 +68,13 @@ ifeq ($(UNAME_S),Darwin)
ICONV := tools/iconv.py UTF-8 SHIFT-JIS ICONV := tools/iconv.py UTF-8 SHIFT-JIS
endif endif
WSL := 0
JAVA := java
ifeq ($(findstring microsoft,$(shell cat /proc/sys/kernel/osrelease)),microsoft)
WSL := 1
JAVA := powershell.exe -command java
endif
OLD_AS=tools/$(OS)/mips-nintendo-nu64-as OLD_AS=tools/$(OS)/mips-nintendo-nu64-as
CC=tools/$(OS)/cc1 CC=tools/$(OS)/cc1
@ -115,14 +122,16 @@ tools:
setup: clean submodules tools split $(LD_SCRIPT) setup: clean submodules tools split $(LD_SCRIPT)
# tools/star-rod submodule intentionally omitted
submodules: submodules:
git submodule init tools/n64splat
git submodule update --init --recursive git submodule update --init --recursive
split: split:
$(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new
split-%: split-%:
$(SPLAT) --modes ld $* --verbose --new $(SPLAT) --modes ld $* --verbose
split-all: split-all:
$(SPLAT) --modes all $(SPLAT) --modes all
@ -269,9 +278,25 @@ $(BUILD_DIR)/$(TARGET).bin: $(BUILD_DIR)/$(TARGET).elf
include/ld_addrs.h: $(BUILD_DIR)/$(LD_SCRIPT) include/ld_addrs.h: $(BUILD_DIR)/$(LD_SCRIPT)
grep -E "[^\. ]+ =" $< -o | sed 's/^/extern void* /; s/ =/;/' > $@ grep -E "[^\. ]+ =" $< -o | sed 's/^/extern void* /; s/ =/;/' > $@
### Star Rod (optional) ###
STAR_ROD := cd tools/star-rod && $(JAVA) -jar StarRod.jar
# lazily initialise the submodule
tools/star-rod:
git submodule init tools/star-rod
sprite/SpriteTable.xml: tools/star-rod sources.mk
$(PYTHON) tools/star-rod/spritetable.xml.py $(NPC_SPRITES) > $@
editor: tools/star-rod sprite/SpriteTable.xml
$(STAR_ROD)
### Make Settings ### ### Make Settings ###
.PHONY: clean tools test setup submodules split $(ROM) include/sprite .PHONY: clean tools test setup submodules split editor $(ROM) include/sprite
.DELETE_ON_ERROR: .DELETE_ON_ERROR:
.SECONDARY: .SECONDARY:
.PRECIOUS: $(ROM) %.Yay0 .PRECIOUS: $(ROM) %.Yay0

View File

@ -42,6 +42,10 @@ $ make
If you get `OK`, you're all set! Otherwise, please feel free to reach out to us in [our Discord channel](https://discord.gg/urUm3VG). If you get `OK`, you're all set! Otherwise, please feel free to reach out to us in [our Discord channel](https://discord.gg/urUm3VG).
## Star Rod GUI
You can open [our modified version of Star Rod](https://github.com/nanaian/star-rod-for-decomp) with `make editor`.
## Contributing ## Contributing
### Dependencies ### Dependencies
@ -136,4 +140,4 @@ make: *** [verify] Error 1
``` ```
> 💡 Solution > 💡 Solution
> Run `git checkout checksum.sha1` and retry building. Windows has different line endings than Linux, causing some of our tools to break. > Run `git checkout checksum.sha1` and retry building. Windows has different line endings than Linux, causing some of our tools to break.

1
tools/star-rod Submodule

@ -0,0 +1 @@
Subproject commit aec5d4c037e95227fb5f118075564031636697fe