match demonlight BG tsa

This commit is contained in:
MokhaLeee 2024-09-25 21:12:26 +08:00
parent 215a06955e
commit ca5cd5d4f6
75 changed files with 1091 additions and 1012 deletions

5
.gitignore vendored
View File

@ -74,7 +74,10 @@ tools/agbcc
*.fk
data/banim/*.bin
*.feimg.bin
*.feimg1.bin
*.feimg2.bin
*.feimg3.bin
*.fetsa1.bin
*.fetsa2.bin
*.fetsa3.bin

View File

@ -111,7 +111,7 @@ clean:
# Remove converted songs
$(RM) -f $(MID_SUBDIR)/*.s
$(RM) -f $(AUTO_GEN_TARGETS)
@find . \( -iname '*.o' -o -iname '*.obj' -o -iname '*.feimg.bin' -o -iname '*.fetsa1.bin' -o -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.fk' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
@find . \( -iname '*.o' -o -iname '*.obj' -o -iname '*.feimg1.bin' -o -iname '*.fetsa1.bin' -o -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.fk' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
.PHONY: clean
@ -153,8 +153,8 @@ sound/%.bin: sound/%.aif ; $(AIF2PCM) $< $@
%.4bpp.h: %.4bpp
$(BIN2C) $< $(subst .,_,$(notdir $<)) | sed 's/^const //' > $@
%.feimg.bin %.fetsa1.bin: %.png
$(FETSATOOL) $< $*.feimg.bin $*.fetsa1.bin
%.feimg1.bin %.fetsa1.bin: %.png
$(FETSATOOL) $< $*.feimg1.bin $*.fetsa1.bin
# Battle Animation Recipes

File diff suppressed because it is too large Load Diff

View File

@ -2,67 +2,67 @@
.global Img_EfxSkill1
Img_EfxSkill1: @ 0x085C935C
.incbin "graphics/efxskill/efxskill_1.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_1.feimg1.bin.lz"
.global Img_EfxSkill2
Img_EfxSkill2:
.incbin "graphics/efxskill/efxskill_2.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_2.feimg1.bin.lz"
.global Img_EfxSkill3
Img_EfxSkill3:
.incbin "graphics/efxskill/efxskill_3.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_3.feimg1.bin.lz"
.global Img_EfxSkill4
Img_EfxSkill4:
.incbin "graphics/efxskill/efxskill_4.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_4.feimg1.bin.lz"
.global Img_EfxSkill5
Img_EfxSkill5:
.incbin "graphics/efxskill/efxskill_5.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_5.feimg1.bin.lz"
.global Img_EfxSkill6
Img_EfxSkill6:
.incbin "graphics/efxskill/efxskill_6.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_6.feimg1.bin.lz"
.global Img_EfxSkill7
Img_EfxSkill7:
.incbin "graphics/efxskill/efxskill_7.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_7.feimg1.bin.lz"
.global Img_EfxSkill8
Img_EfxSkill8:
.incbin "graphics/efxskill/efxskill_8.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_8.feimg1.bin.lz"
.global Img_EfxSkill9
Img_EfxSkill9:
.incbin "graphics/efxskill/efxskill_9.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_9.feimg1.bin.lz"
.global Img_EfxSkillA
Img_EfxSkillA:
.incbin "graphics/efxskill/efxskill_10.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_10.feimg1.bin.lz"
.global Img_EfxSkillB
Img_EfxSkillB:
.incbin "graphics/efxskill/efxskill_11.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_11.feimg1.bin.lz"
.global Img_EfxSkillC
Img_EfxSkillC:
.incbin "graphics/efxskill/efxskill_12.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_12.feimg1.bin.lz"
.global Img_EfxSkillD
Img_EfxSkillD:
.incbin "graphics/efxskill/efxskill_13.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_13.feimg1.bin.lz"
.global Img_EfxSkillE
Img_EfxSkillE:
.incbin "graphics/efxskill/efxskill_14.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_14.feimg1.bin.lz"
.global Img_EfxSkillF
Img_EfxSkillF:
.incbin "graphics/efxskill/efxskill_15.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_15.feimg1.bin.lz"
.global Img_EfxSkill10
Img_EfxSkill10:
.incbin "graphics/efxskill/efxskill_16.feimg.bin.lz"
.incbin "graphics/efxskill/efxskill_16.feimg1.bin.lz"
.global Pal_EfxSkill1
Pal_EfxSkill1:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -252,102 +252,102 @@ extern u32 gUnknown_087A6674[];
extern u32 gUnknown_087A6AEC[];
extern u32 gUnknown_087A6F64[];
extern u32 gUnknown_087A73E0[];
extern u16 Img_087A73F4[];
extern u16 Img_087A7F38[];
extern u16 Img_087A8A74[];
extern u16 Img_087A9598[];
extern u16 Img_087AA02C[];
extern u16 Img_087AAAA8[];
extern u16 Img_087AB558[];
extern u16 Img_087ABFF0[];
extern u16 Img_087ACAC8[];
extern u16 Img_087AD54C[];
extern u16 Img_087ADFEC[];
extern u16 Img_087AEA74[];
extern u16 Img_087AF518[];
extern u16 Img_087B0070[];
extern u16 Img_087B0C00[];
extern u16 Img_087B1728[];
extern u16 Pal_087B2230[];
extern u16 Pal_087B2250[];
extern u16 Pal_087B2270[];
extern u16 Pal_087B2290[];
extern u16 Pal_087B22B0[];
extern u16 Pal_087B22D0[];
extern u16 Pal_087B22F0[];
extern u16 Pal_087B2310[];
extern u16 Pal_087B2330[];
extern u16 Pal_087B2350[];
extern u16 Pal_087B2370[];
extern u16 Pal_087B2390[];
extern u16 Pal_087B23B0[];
extern u16 Pal_087B23D0[];
extern u16 Pal_087B23F0[];
extern u16 Pal_087B2410[];
extern u16 Tsa_087B2430[];
extern u16 Tsa_087B26A4[];
extern u16 Tsa_087B291C[];
extern u16 Tsa_087B2B90[];
extern u16 Tsa_087B2E04[];
extern u16 Tsa_087B307C[];
extern u16 Tsa_087B32F0[];
extern u16 Tsa_087B3568[];
extern u16 Tsa_087B37DC[];
extern u16 Tsa_087B3A54[];
extern u16 Tsa_087B3CC8[];
extern u16 Tsa_087B3F40[];
extern u16 Tsa_087B41B4[];
extern u16 Tsa_087B4428[];
extern u16 Tsa_087B46A0[];
extern u16 Tsa_087B4914[];
extern u16 Img_087B4B88[];
extern u16 Img_087B5678[];
extern u16 Img_087B6198[];
extern u16 Img_087B6D54[];
extern u16 Img_087B7AEC[];
extern u16 Img_087B8968[];
extern u16 Img_087B98FC[];
extern u16 Img_087BA910[];
extern u16 Img_087BBAA4[];
extern u16 Img_087BCCD8[];
extern u16 Img_087BDF0C[];
extern u16 Img_087BF05C[];
extern u16 Img_087BFEF4[];
extern u16 Img_087C0A18[];
extern u16 Img_087C15E4[];
extern u16 Img_087C2308[];
extern u16 Pal_087C2D34[];
extern u16 Pal_087C2D54[];
extern u16 Pal_087C2D74[];
extern u16 Pal_087C2D94[];
extern u16 Pal_087C2DB4[];
extern u16 Pal_087C2DD4[];
extern u16 Pal_087C2DF4[];
extern u16 Pal_087C2E14[];
extern u16 Pal_087C2E34[];
extern u16 Pal_087C2E54[];
extern u16 Pal_087C2E74[];
extern u16 Pal_087C2E94[];
extern u16 Pal_087C2EB4[];
extern u16 Pal_087C2ED4[];
extern u16 Pal_087C2EF4[];
extern u16 Pal_087C2F14[];
extern u16 Tsa_087C2F34[];
extern u16 Tsa_087C31A4[];
extern u16 Tsa_087C341C[];
extern u16 Tsa_087C3694[];
extern u16 Tsa_087C38F0[];
extern u16 Tsa_087C3B38[];
extern u16 Tsa_087C3D74[];
extern u16 Tsa_087C3FA8[];
extern u16 Tsa_087C41E0[];
extern u16 Tsa_087C4420[];
extern u16 Tsa_087C4660[];
extern u16 Tsa_087C48AC[];
extern u16 Tsa_087C4AF0[];
extern u16 Tsa_087C4CA0[];
extern u16 Tsa_087C4E64[];
extern u16 Tsa_087C5034[];
extern u16 CONST_DATA Img_DemonLightBg_Close_1[];
extern u16 CONST_DATA Img_DemonLightBg_Close_2[];
extern u16 CONST_DATA Img_DemonLightBg_Close_3[];
extern u16 CONST_DATA Img_DemonLightBg_Close_4[];
extern u16 CONST_DATA Img_DemonLightBg_Close_5[];
extern u16 CONST_DATA Img_DemonLightBg_Close_6[];
extern u16 CONST_DATA Img_DemonLightBg_Close_7[];
extern u16 CONST_DATA Img_DemonLightBg_Close_8[];
extern u16 CONST_DATA Img_DemonLightBg_Close_9[];
extern u16 CONST_DATA Img_DemonLightBg_Close_10[];
extern u16 CONST_DATA Img_DemonLightBg_Close_11[];
extern u16 CONST_DATA Img_DemonLightBg_Close_12[];
extern u16 CONST_DATA Img_DemonLightBg_Close_13[];
extern u16 CONST_DATA Img_DemonLightBg_Close_14[];
extern u16 CONST_DATA Img_DemonLightBg_Close_15[];
extern u16 CONST_DATA Img_DemonLightBg_Close_16[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_1[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_2[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_3[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_4[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_5[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_6[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_7[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_8[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_9[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_10[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_11[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_12[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_13[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_14[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_15[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_16[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_1[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_2[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_3[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_4[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_5[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_6[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_7[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_8[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_9[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_10[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_11[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_12[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_13[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_14[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_15[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_16[];
extern u16 CONST_DATA Img_DemonLightBg_Close_17[];
extern u16 CONST_DATA Img_DemonLightBg_Close_18[];
extern u16 CONST_DATA Img_DemonLightBg_Close_19[];
extern u16 CONST_DATA Img_DemonLightBg_Close_20[];
extern u16 CONST_DATA Img_DemonLightBg_Close_21[];
extern u16 CONST_DATA Img_DemonLightBg_Close_22[];
extern u16 CONST_DATA Img_DemonLightBg_Close_23[];
extern u16 CONST_DATA Img_DemonLightBg_Close_24[];
extern u16 CONST_DATA Img_DemonLightBg_Close_25[];
extern u16 CONST_DATA Img_DemonLightBg_Close_26[];
extern u16 CONST_DATA Img_DemonLightBg_Close_27[];
extern u16 CONST_DATA Img_DemonLightBg_Close_28[];
extern u16 CONST_DATA Img_DemonLightBg_Close_29[];
extern u16 CONST_DATA Img_DemonLightBg_Close_30[];
extern u16 CONST_DATA Img_DemonLightBg_Close_31[];
extern u16 CONST_DATA Img_DemonLightBg_Close_32[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_17[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_18[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_19[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_20[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_21[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_22[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_23[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_24[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_25[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_26[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_27[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_28[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_29[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_30[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_31[];
extern u16 CONST_DATA Pal_DemonLightBg_Close_32[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_17[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_18[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_19[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_20[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_21[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_22[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_23[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_24[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_25[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_26[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_27[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_28[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_29[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_30[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_31[];
extern u16 CONST_DATA Tsa_DemonLightBg_Close_32[];
extern u16 Img_087C5190[];
extern u16 Img_087C56E4[];
extern u16 Img_087C619C[];
@ -387,102 +387,102 @@ extern u16 Tsa_087CC734[];
extern u16 Tsa_087CC878[];
extern u16 Tsa_087CC9B8[];
extern u16 Tsa_087CCAD8[];
extern u16 Img_087CCBF8[];
extern u16 Img_087CD738[];
extern u16 Img_087CE274[];
extern u16 Img_087CED98[];
extern u16 Img_087CF824[];
extern u16 Img_087D0298[];
extern u16 Img_087D0D3C[];
extern u16 Img_087D17C0[];
extern u16 Img_087D2294[];
extern u16 Img_087D2D18[];
extern u16 Img_087D37B8[];
extern u16 Img_087D4238[];
extern u16 Img_087D4CE4[];
extern u16 Img_087D5834[];
extern u16 Img_087D63BC[];
extern u16 Img_087D6EE4[];
extern u16 Pal_087D79E8[];
extern u16 Pal_087D7A08[];
extern u16 Pal_087D7A28[];
extern u16 Pal_087D7A48[];
extern u16 Pal_087D7A68[];
extern u16 Pal_087D7A88[];
extern u16 Pal_087D7AA8[];
extern u16 Pal_087D7AC8[];
extern u16 Pal_087D7AE8[];
extern u16 Pal_087D7B08[];
extern u16 Pal_087D7B28[];
extern u16 Pal_087D7B48[];
extern u16 Pal_087D7B68[];
extern u16 Pal_087D7B88[];
extern u16 Pal_087D7BA8[];
extern u16 Pal_087D7BC8[];
extern u16 Tsa_087D7BE8[];
extern u16 Tsa_087D7E5C[];
extern u16 Tsa_087D80D4[];
extern u16 Tsa_087D8348[];
extern u16 Tsa_087D85BC[];
extern u16 Tsa_087D8834[];
extern u16 Tsa_087D8AA8[];
extern u16 Tsa_087D8D20[];
extern u16 Tsa_087D8F94[];
extern u16 Tsa_087D920C[];
extern u16 Tsa_087D9480[];
extern u16 Tsa_087D96F8[];
extern u16 Tsa_087D996C[];
extern u16 Tsa_087D9BE0[];
extern u16 Tsa_087D9E58[];
extern u16 Tsa_087DA0CC[];
extern u16 Img_087DA340[];
extern u16 Img_087DAE40[];
extern u16 Img_087DB960[];
extern u16 Img_087DC518[];
extern u16 Img_087DD288[];
extern u16 Img_087DE0C8[];
extern u16 Img_087DF030[];
extern u16 Img_087E002C[];
extern u16 Img_087E1190[];
extern u16 Img_087E238C[];
extern u16 Img_087E358C[];
extern u16 Img_087E466C[];
extern u16 Img_087E54B4[];
extern u16 Img_087E5FD4[];
extern u16 Img_087E6B90[];
extern u16 Img_087E78A0[];
extern u16 Pal_087E82CC[];
extern u16 Pal_087E82EC[];
extern u16 Pal_087E830C[];
extern u16 Pal_087E832C[];
extern u16 Pal_087E834C[];
extern u16 Pal_087E836C[];
extern u16 Pal_087E838C[];
extern u16 Pal_087E83AC[];
extern u16 Pal_087E83CC[];
extern u16 Pal_087E83EC[];
extern u16 Pal_087E840C[];
extern u16 Pal_087E842C[];
extern u16 Pal_087E844C[];
extern u16 Pal_087E846C[];
extern u16 Pal_087E848C[];
extern u16 Pal_087E84AC[];
extern u16 Tsa_087E84CC[];
extern u16 Tsa_087E873C[];
extern u16 Tsa_087E89B4[];
extern u16 Tsa_087E8C2C[];
extern u16 Tsa_087E8E88[];
extern u16 Tsa_087E90D0[];
extern u16 Tsa_087E9314[];
extern u16 Tsa_087E9554[];
extern u16 Tsa_087E9798[];
extern u16 Tsa_087E99E0[];
extern u16 Tsa_087E9C28[];
extern u16 Tsa_087E9E78[];
extern u16 Tsa_087EA0C0[];
extern u16 Tsa_087EA268[];
extern u16 Tsa_087EA41C[];
extern u16 Tsa_087EA5D0[];
extern u16 CONST_DATA Img_DemonLightBg_Far_1[];
extern u16 CONST_DATA Img_DemonLightBg_Far_2[];
extern u16 CONST_DATA Img_DemonLightBg_Far_3[];
extern u16 CONST_DATA Img_DemonLightBg_Far_4[];
extern u16 CONST_DATA Img_DemonLightBg_Far_5[];
extern u16 CONST_DATA Img_DemonLightBg_Far_6[];
extern u16 CONST_DATA Img_DemonLightBg_Far_7[];
extern u16 CONST_DATA Img_DemonLightBg_Far_8[];
extern u16 CONST_DATA Img_DemonLightBg_Far_9[];
extern u16 CONST_DATA Img_DemonLightBg_Far_10[];
extern u16 CONST_DATA Img_DemonLightBg_Far_11[];
extern u16 CONST_DATA Img_DemonLightBg_Far_12[];
extern u16 CONST_DATA Img_DemonLightBg_Far_13[];
extern u16 CONST_DATA Img_DemonLightBg_Far_14[];
extern u16 CONST_DATA Img_DemonLightBg_Far_15[];
extern u16 CONST_DATA Img_DemonLightBg_Far_16[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_1[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_2[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_3[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_4[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_5[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_6[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_7[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_8[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_9[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_10[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_11[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_12[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_13[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_14[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_15[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_16[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_1[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_2[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_3[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_4[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_5[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_6[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_7[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_8[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_9[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_10[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_11[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_12[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_13[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_14[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_15[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_16[];
extern u16 CONST_DATA Img_DemonLightBg_Far_17[];
extern u16 CONST_DATA Img_DemonLightBg_Far_18[];
extern u16 CONST_DATA Img_DemonLightBg_Far_19[];
extern u16 CONST_DATA Img_DemonLightBg_Far_20[];
extern u16 CONST_DATA Img_DemonLightBg_Far_21[];
extern u16 CONST_DATA Img_DemonLightBg_Far_22[];
extern u16 CONST_DATA Img_DemonLightBg_Far_23[];
extern u16 CONST_DATA Img_DemonLightBg_Far_24[];
extern u16 CONST_DATA Img_DemonLightBg_Far_25[];
extern u16 CONST_DATA Img_DemonLightBg_Far_26[];
extern u16 CONST_DATA Img_DemonLightBg_Far_27[];
extern u16 CONST_DATA Img_DemonLightBg_Far_28[];
extern u16 CONST_DATA Img_DemonLightBg_Far_29[];
extern u16 CONST_DATA Img_DemonLightBg_Far_30[];
extern u16 CONST_DATA Img_DemonLightBg_Far_31[];
extern u16 CONST_DATA Img_DemonLightBg_Far_32[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_17[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_18[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_19[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_20[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_21[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_22[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_23[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_24[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_25[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_26[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_27[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_28[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_29[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_30[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_31[];
extern u16 CONST_DATA Pal_DemonLightBg_Far_32[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_17[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_18[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_19[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_20[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_21[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_22[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_23[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_24[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_25[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_26[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_27[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_28[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_29[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_30[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_31[];
extern u16 CONST_DATA Tsa_DemonLightBg_Far_32[];
extern u16 Img_087EA72C[];
extern u16 Img_087EAC80[];
extern u16 Img_087EB704[];

View File

@ -2,6 +2,7 @@
import sys, struct, os
import array
import numpy as np
from PIL import Image
import lzss_lib
@ -56,7 +57,20 @@ def create_image_from_4bpp(img_data, tsa_data, pal_bytes, ntiles_x, ntiles_y):
base_x = tile_idx % ntiles_x
tsa_idx = tsa_data[tile_idx]
tile = tiles_8x8[tsa_idx]
flip = tsa_idx & (3 << 10)
tsa_idx_ext = tsa_idx & (0x3FF)
tile = tiles_8x8[tsa_idx_ext]
real_tile = tile
if flip != 0:
flip = flip >> 10
tile_2d = np.array(tile).reshape((8, 8))
if flip == 1: # hf
real_tile = np.flip(tile_2d, axis=1).flatten()
elif flip == 2: # vf
real_tile = np.flip(tile_2d, axis=0).flatten()
elif flip == 3: # se
real_tile = np.flip(tile_2d).flatten()
for y in range(8):
for x in range(0, 8):
@ -65,7 +79,7 @@ def create_image_from_4bpp(img_data, tsa_data, pal_bytes, ntiles_x, ntiles_y):
real_x = x + base_x * 8
real_y = y + base_y * 8
pixels[real_x + 0 + real_y * width] = tile[y * 8 + x]
pixels[real_x + 0 + real_y * width] = real_tile[y * 8 + x]
img.putpalette(pal_data)
img.putdata(pixels)

View File

@ -1,20 +0,0 @@
#!/bin/python3
import sys
from dump_img import dump_img
rom = "baserom.gba"
ImgLut_EfxSkill = 0x5d9370
TsaLut_EfxSkill = 0x5d9330
PalLut_EfxSkill = 0x5d93b0
with open(rom, 'rb') as f:
rom_data = f.read()
for i in range(11, 16):
img_addr = int.from_bytes(rom_data[ImgLut_EfxSkill + 4 * i:ImgLut_EfxSkill + 4 * i + 4], 'little')
tsa_addr = int.from_bytes(rom_data[TsaLut_EfxSkill + 4 * i:TsaLut_EfxSkill + 4 * i + 4], 'little')
pal_addr = int.from_bytes(rom_data[PalLut_EfxSkill + 4 * i:PalLut_EfxSkill + 4 * i + 4], 'little')
print(f"IMG 0x{img_addr:08X}, TSA 0x{tsa_addr:08X}, PAL 0x{pal_addr:08X}")
dump_img(f"graphics/efxskill/efxskill_{i + 1}", img_addr, tsa_addr, pal_addr, 30, 20)

28
scripts/dump_imgs.py Executable file
View File

@ -0,0 +1,28 @@
#!/bin/python3
import sys
from dump_img import dump_img
rom = "baserom.gba"
IMGs = 0x085d7c90
TSAs = 0x085d7c70
PALs = 0x085d7cb0
LENGTH = 8
PREFIX = "graphics/efxdragon/DemonLightBg4_Close_"
WIDTH = 30
HEIGHT = 20
with open(rom, 'rb') as f:
rom_data = f.read()
IMGs = IMGs & 0x00FFFFFF
TSAs = TSAs & 0x00FFFFFF
PALs = PALs & 0x00FFFFFF
for i in range(LENGTH):
img_addr = int.from_bytes(rom_data[IMGs + 4 * i:IMGs + 4 * i + 4], 'little')
tsa_addr = int.from_bytes(rom_data[TSAs + 4 * i:TSAs + 4 * i + 4], 'little')
pal_addr = int.from_bytes(rom_data[PALs + 4 * i:PALs + 4 * i + 4], 'little')
print(f"IMG 0x{img_addr:08X}, TSA 0x{tsa_addr:08X}, PAL 0x{pal_addr:08X}")
dump_img(f"{PREFIX}{i + 1}", img_addr, tsa_addr, pal_addr, 30, 20)

View File

@ -0,0 +1,40 @@
#!/bin/python3
PREFIX = DemonLightBg4_Close
LENGTH = 8
for i in range(1, 1 + LENGTH):
print(f"extern u16 CONST_DATA Pal_{PREFIX}_{i}[];")
for i in range(1, 1 + LENGTH):
print(f" Pal_{PREFIX}_{i},")
for i in range(1, 1 + LENGTH):
print(f" .global Pal_{PREFIX}_{i}")
print(f"Pal_{PREFIX}_{i}:")
print(f" .incbin \"graphics/efxdragon/{PREFIX}_{i}.gbapal\"")
print("")
for i in range(1, 1 + LENGTH):
print(f"extern u16 CONST_DATA Tsa_{PREFIX}_{i}[];")
for i in range(1, 1 + LENGTH):
print(f" Tsa_{PREFIX}_{i},")
for i in range(1, 1 + LENGTH):
print(f" .global Tsa_{PREFIX}_{i}")
print(f"Tsa_{PREFIX}_{i}:")
print(f" .incbin \"graphics/efxdragon/{PREFIX}_{i}.fetsa1.bin.lz\"")
print("")
for i in range(1, 1 + LENGTH):
print(f"extern u16 CONST_DATA Img_{PREFIX}_{i}[];")
for i in range(1, 1 + LENGTH):
print(f" Img_{PREFIX}_{i},")
for i in range(1, 1 + LENGTH):
print(f" .global Img_{PREFIX}_{i}")
print(f"Img_{PREFIX}_{i}:")
print(f" .incbin \"graphics/efxdragon/{PREFIX}_{i}.feimg1.bin.lz\"")
print("")

View File

@ -133,218 +133,218 @@ struct ProcCmd CONST_DATA ProcScr_efxMaohFlashBG1[] =
u16 * CONST_DATA TsaArray_DemonLightBg1_Close[] =
{
Tsa_087B2430,
Tsa_087B26A4,
Tsa_087B291C,
Tsa_087B2B90,
Tsa_087B2E04,
Tsa_087B307C,
Tsa_087B32F0,
Tsa_087B3568,
Tsa_087B37DC,
Tsa_087B3A54,
Tsa_087B3CC8,
Tsa_087B3F40,
Tsa_087B41B4,
Tsa_087B4428,
Tsa_087B46A0,
Tsa_087B4914,
Tsa_087C2F34,
Tsa_087C31A4,
Tsa_087C341C,
Tsa_087C3694,
Tsa_087C38F0,
Tsa_087C3B38,
Tsa_087C3D74,
Tsa_087C3FA8,
Tsa_087C41E0,
Tsa_087C4420,
Tsa_087C4660,
Tsa_087C48AC,
Tsa_087C4AF0,
Tsa_087C4CA0,
Tsa_087C4E64,
Tsa_087C5034,
Tsa_DemonLightBg_Close_1,
Tsa_DemonLightBg_Close_2,
Tsa_DemonLightBg_Close_3,
Tsa_DemonLightBg_Close_4,
Tsa_DemonLightBg_Close_5,
Tsa_DemonLightBg_Close_6,
Tsa_DemonLightBg_Close_7,
Tsa_DemonLightBg_Close_8,
Tsa_DemonLightBg_Close_9,
Tsa_DemonLightBg_Close_10,
Tsa_DemonLightBg_Close_11,
Tsa_DemonLightBg_Close_12,
Tsa_DemonLightBg_Close_13,
Tsa_DemonLightBg_Close_14,
Tsa_DemonLightBg_Close_15,
Tsa_DemonLightBg_Close_16,
Tsa_DemonLightBg_Close_17,
Tsa_DemonLightBg_Close_18,
Tsa_DemonLightBg_Close_19,
Tsa_DemonLightBg_Close_20,
Tsa_DemonLightBg_Close_21,
Tsa_DemonLightBg_Close_22,
Tsa_DemonLightBg_Close_23,
Tsa_DemonLightBg_Close_24,
Tsa_DemonLightBg_Close_25,
Tsa_DemonLightBg_Close_26,
Tsa_DemonLightBg_Close_27,
Tsa_DemonLightBg_Close_28,
Tsa_DemonLightBg_Close_29,
Tsa_DemonLightBg_Close_30,
Tsa_DemonLightBg_Close_31,
Tsa_DemonLightBg_Close_32,
};
u16 * CONST_DATA ImgArray_DemonLightBg1_Close[] =
{
Img_087A73F4,
Img_087A7F38,
Img_087A8A74,
Img_087A9598,
Img_087AA02C,
Img_087AAAA8,
Img_087AB558,
Img_087ABFF0,
Img_087ACAC8,
Img_087AD54C,
Img_087ADFEC,
Img_087AEA74,
Img_087AF518,
Img_087B0070,
Img_087B0C00,
Img_087B1728,
Img_087B4B88,
Img_087B5678,
Img_087B6198,
Img_087B6D54,
Img_087B7AEC,
Img_087B8968,
Img_087B98FC,
Img_087BA910,
Img_087BBAA4,
Img_087BCCD8,
Img_087BDF0C,
Img_087BF05C,
Img_087BFEF4,
Img_087C0A18,
Img_087C15E4,
Img_087C2308,
Img_DemonLightBg_Close_1,
Img_DemonLightBg_Close_2,
Img_DemonLightBg_Close_3,
Img_DemonLightBg_Close_4,
Img_DemonLightBg_Close_5,
Img_DemonLightBg_Close_6,
Img_DemonLightBg_Close_7,
Img_DemonLightBg_Close_8,
Img_DemonLightBg_Close_9,
Img_DemonLightBg_Close_10,
Img_DemonLightBg_Close_11,
Img_DemonLightBg_Close_12,
Img_DemonLightBg_Close_13,
Img_DemonLightBg_Close_14,
Img_DemonLightBg_Close_15,
Img_DemonLightBg_Close_16,
Img_DemonLightBg_Close_17,
Img_DemonLightBg_Close_18,
Img_DemonLightBg_Close_19,
Img_DemonLightBg_Close_20,
Img_DemonLightBg_Close_21,
Img_DemonLightBg_Close_22,
Img_DemonLightBg_Close_23,
Img_DemonLightBg_Close_24,
Img_DemonLightBg_Close_25,
Img_DemonLightBg_Close_26,
Img_DemonLightBg_Close_27,
Img_DemonLightBg_Close_28,
Img_DemonLightBg_Close_29,
Img_DemonLightBg_Close_30,
Img_DemonLightBg_Close_31,
Img_DemonLightBg_Close_32,
};
u16 * CONST_DATA PalArray_DemonLightBg1_Close[] =
{
Pal_087B2230,
Pal_087B2250,
Pal_087B2270,
Pal_087B2290,
Pal_087B22B0,
Pal_087B22D0,
Pal_087B22F0,
Pal_087B2310,
Pal_087B2330,
Pal_087B2350,
Pal_087B2370,
Pal_087B2390,
Pal_087B23B0,
Pal_087B23D0,
Pal_087B23F0,
Pal_087B2410,
Pal_087C2D34,
Pal_087C2D54,
Pal_087C2D74,
Pal_087C2D94,
Pal_087C2DB4,
Pal_087C2DD4,
Pal_087C2DF4,
Pal_087C2E14,
Pal_087C2E34,
Pal_087C2E54,
Pal_087C2E74,
Pal_087C2E94,
Pal_087C2EB4,
Pal_087C2ED4,
Pal_087C2EF4,
Pal_087C2F14,
Pal_DemonLightBg_Close_1,
Pal_DemonLightBg_Close_2,
Pal_DemonLightBg_Close_3,
Pal_DemonLightBg_Close_4,
Pal_DemonLightBg_Close_5,
Pal_DemonLightBg_Close_6,
Pal_DemonLightBg_Close_7,
Pal_DemonLightBg_Close_8,
Pal_DemonLightBg_Close_9,
Pal_DemonLightBg_Close_10,
Pal_DemonLightBg_Close_11,
Pal_DemonLightBg_Close_12,
Pal_DemonLightBg_Close_13,
Pal_DemonLightBg_Close_14,
Pal_DemonLightBg_Close_15,
Pal_DemonLightBg_Close_16,
Pal_DemonLightBg_Close_17,
Pal_DemonLightBg_Close_18,
Pal_DemonLightBg_Close_19,
Pal_DemonLightBg_Close_20,
Pal_DemonLightBg_Close_21,
Pal_DemonLightBg_Close_22,
Pal_DemonLightBg_Close_23,
Pal_DemonLightBg_Close_24,
Pal_DemonLightBg_Close_25,
Pal_DemonLightBg_Close_26,
Pal_DemonLightBg_Close_27,
Pal_DemonLightBg_Close_28,
Pal_DemonLightBg_Close_29,
Pal_DemonLightBg_Close_30,
Pal_DemonLightBg_Close_31,
Pal_DemonLightBg_Close_32,
};
u16 * CONST_DATA TsaArray_DemonLightBg1_Far[] =
{
Tsa_087D7BE8,
Tsa_087D7E5C,
Tsa_087D80D4,
Tsa_087D8348,
Tsa_087D85BC,
Tsa_087D8834,
Tsa_087D8AA8,
Tsa_087D8D20,
Tsa_087D8F94,
Tsa_087D920C,
Tsa_087D9480,
Tsa_087D96F8,
Tsa_087D996C,
Tsa_087D9BE0,
Tsa_087D9E58,
Tsa_087DA0CC,
Tsa_087E84CC,
Tsa_087E873C,
Tsa_087E89B4,
Tsa_087E8C2C,
Tsa_087E8E88,
Tsa_087E90D0,
Tsa_087E9314,
Tsa_087E9554,
Tsa_087E9798,
Tsa_087E99E0,
Tsa_087E9C28,
Tsa_087E9E78,
Tsa_087EA0C0,
Tsa_087EA268,
Tsa_087EA41C,
Tsa_087EA5D0,
Tsa_DemonLightBg_Far_1,
Tsa_DemonLightBg_Far_2,
Tsa_DemonLightBg_Far_3,
Tsa_DemonLightBg_Far_4,
Tsa_DemonLightBg_Far_5,
Tsa_DemonLightBg_Far_6,
Tsa_DemonLightBg_Far_7,
Tsa_DemonLightBg_Far_8,
Tsa_DemonLightBg_Far_9,
Tsa_DemonLightBg_Far_10,
Tsa_DemonLightBg_Far_11,
Tsa_DemonLightBg_Far_12,
Tsa_DemonLightBg_Far_13,
Tsa_DemonLightBg_Far_14,
Tsa_DemonLightBg_Far_15,
Tsa_DemonLightBg_Far_16,
Tsa_DemonLightBg_Far_17,
Tsa_DemonLightBg_Far_18,
Tsa_DemonLightBg_Far_19,
Tsa_DemonLightBg_Far_20,
Tsa_DemonLightBg_Far_21,
Tsa_DemonLightBg_Far_22,
Tsa_DemonLightBg_Far_23,
Tsa_DemonLightBg_Far_24,
Tsa_DemonLightBg_Far_25,
Tsa_DemonLightBg_Far_26,
Tsa_DemonLightBg_Far_27,
Tsa_DemonLightBg_Far_28,
Tsa_DemonLightBg_Far_29,
Tsa_DemonLightBg_Far_30,
Tsa_DemonLightBg_Far_31,
Tsa_DemonLightBg_Far_32,
};
u16 * CONST_DATA ImgArray_DemonLightBg1_Far[] =
{
Img_087CCBF8,
Img_087CD738,
Img_087CE274,
Img_087CED98,
Img_087CF824,
Img_087D0298,
Img_087D0D3C,
Img_087D17C0,
Img_087D2294,
Img_087D2D18,
Img_087D37B8,
Img_087D4238,
Img_087D4CE4,
Img_087D5834,
Img_087D63BC,
Img_087D6EE4,
Img_087DA340,
Img_087DAE40,
Img_087DB960,
Img_087DC518,
Img_087DD288,
Img_087DE0C8,
Img_087DF030,
Img_087E002C,
Img_087E1190,
Img_087E238C,
Img_087E358C,
Img_087E466C,
Img_087E54B4,
Img_087E5FD4,
Img_087E6B90,
Img_087E78A0,
Img_DemonLightBg_Far_1,
Img_DemonLightBg_Far_2,
Img_DemonLightBg_Far_3,
Img_DemonLightBg_Far_4,
Img_DemonLightBg_Far_5,
Img_DemonLightBg_Far_6,
Img_DemonLightBg_Far_7,
Img_DemonLightBg_Far_8,
Img_DemonLightBg_Far_9,
Img_DemonLightBg_Far_10,
Img_DemonLightBg_Far_11,
Img_DemonLightBg_Far_12,
Img_DemonLightBg_Far_13,
Img_DemonLightBg_Far_14,
Img_DemonLightBg_Far_15,
Img_DemonLightBg_Far_16,
Img_DemonLightBg_Far_17,
Img_DemonLightBg_Far_18,
Img_DemonLightBg_Far_19,
Img_DemonLightBg_Far_20,
Img_DemonLightBg_Far_21,
Img_DemonLightBg_Far_22,
Img_DemonLightBg_Far_23,
Img_DemonLightBg_Far_24,
Img_DemonLightBg_Far_25,
Img_DemonLightBg_Far_26,
Img_DemonLightBg_Far_27,
Img_DemonLightBg_Far_28,
Img_DemonLightBg_Far_29,
Img_DemonLightBg_Far_30,
Img_DemonLightBg_Far_31,
Img_DemonLightBg_Far_32,
};
u16 * CONST_DATA PalArray_DemonLightBg1_Far[] =
{
Pal_087D79E8,
Pal_087D7A08,
Pal_087D7A28,
Pal_087D7A48,
Pal_087D7A68,
Pal_087D7A88,
Pal_087D7AA8,
Pal_087D7AC8,
Pal_087D7AE8,
Pal_087D7B08,
Pal_087D7B28,
Pal_087D7B48,
Pal_087D7B68,
Pal_087D7B88,
Pal_087D7BA8,
Pal_087D7BC8,
Pal_087E82CC,
Pal_087E82EC,
Pal_087E830C,
Pal_087E832C,
Pal_087E834C,
Pal_087E836C,
Pal_087E838C,
Pal_087E83AC,
Pal_087E83CC,
Pal_087E83EC,
Pal_087E840C,
Pal_087E842C,
Pal_087E844C,
Pal_087E846C,
Pal_087E848C,
Pal_087E84AC,
Pal_DemonLightBg_Far_1,
Pal_DemonLightBg_Far_2,
Pal_DemonLightBg_Far_3,
Pal_DemonLightBg_Far_4,
Pal_DemonLightBg_Far_5,
Pal_DemonLightBg_Far_6,
Pal_DemonLightBg_Far_7,
Pal_DemonLightBg_Far_8,
Pal_DemonLightBg_Far_9,
Pal_DemonLightBg_Far_10,
Pal_DemonLightBg_Far_11,
Pal_DemonLightBg_Far_12,
Pal_DemonLightBg_Far_13,
Pal_DemonLightBg_Far_14,
Pal_DemonLightBg_Far_15,
Pal_DemonLightBg_Far_16,
Pal_DemonLightBg_Far_17,
Pal_DemonLightBg_Far_18,
Pal_DemonLightBg_Far_19,
Pal_DemonLightBg_Far_20,
Pal_DemonLightBg_Far_21,
Pal_DemonLightBg_Far_22,
Pal_DemonLightBg_Far_23,
Pal_DemonLightBg_Far_24,
Pal_DemonLightBg_Far_25,
Pal_DemonLightBg_Far_26,
Pal_DemonLightBg_Far_27,
Pal_DemonLightBg_Far_28,
Pal_DemonLightBg_Far_29,
Pal_DemonLightBg_Far_30,
Pal_DemonLightBg_Far_31,
Pal_DemonLightBg_Far_32,
};
// clang-format on

View File

@ -7,20 +7,30 @@ from PIL import Image
'''
方案1:
常见于 banim 相关的图片
1. 整张图按行从左向右扫描, 将获得的独特的 tile 入栈, 从而获得 tile array
2. 上述获得的第一个 tile 丢到末尾作为最后一个 tile
3. tile array 0 tile 置空
1. 0 tile 0
2. 整张图按行从左向右扫描, 将获得的独特的 tile 入栈, 从而获得 tile array
3. 上述获得的第一个 tile 丢到末尾作为最后一个 tile
'''
def process_tiles_method1(tiles, ntile_x, ntile_y):
unique_tiles = []
tsa_data = []
tile_dict = {}
unique_tiles.append([0] * 32)
is_first = True
for tile_y in range(0, ntile_y):
for tile_x in range(0, ntile_x):
tile = tiles[tile_y][tile_x]
tile_4bpp = convert_to_4bpp(tile)
# skip tile[0]
if tile_4bpp == [0] * 32:
tsa_data.append(0)
continue
tile_tuple = tuple(tile_4bpp)
tile_2d = tile.reshape((8, 8))
@ -47,20 +57,24 @@ def process_tiles_method1(tiles, ntile_x, ntile_y):
tsa_data.append(tile_dict[tile_se_tuple] | (3 << 10))
else:
# fine, we did not find it
unique_tiles.append(tile_4bpp)
tile_index = len(unique_tiles) - 1
if is_first:
is_first = False
first_tile_4bpp = tile_4bpp
tile_index = -1
else:
unique_tiles.append(tile_4bpp)
tile_index = len(unique_tiles) - 1
tile_dict[tile_tuple] = tile_index
tsa_data.append(tile_index)
# put the first tile to the tale
last_idx = len(unique_tiles)
print(last_idx)
for i, tsa in enumerate(tsa_data):
if tsa == 0:
if tsa == -1:
tsa_data[i] = last_idx
unique_tiles.append(unique_tiles[0])
unique_tiles[0] = [0] * 32
unique_tiles.append(first_tile_4bpp)
return unique_tiles, tsa_data
@ -104,7 +118,7 @@ def main(args):
out_img = args[2]
out_tsa = args[3]
except IndexError:
sys.exit(f"Usage: {args[0]} [*.png] [*.feimg.bin] [*.fetsa<x>.bin]")
sys.exit(f"Usage: {args[0]} [*.png] [*.feimg1.bin] [*.fetsa<x>.bin]")
method = extract_suffix_from_filename(out_tsa)
if method is None: