From 707889c5e5cbba495a5072f9475898d2fa3afc55 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 4 Jul 2025 13:12:22 +0200 Subject: [PATCH] effect files table in C --- data/effect_sbin.s | 746 +---------------------------------- include/effect_files_table.h | 10 + ld_script.ld | 2 + src/effect_files_table.c | 303 ++++++++++++++ src/effect_sbin.c | 8 + 5 files changed, 325 insertions(+), 744 deletions(-) create mode 100644 include/effect_files_table.h create mode 100644 src/effect_files_table.c create mode 100644 src/effect_sbin.c diff --git a/data/effect_sbin.s b/data/effect_sbin.s index a434cfba2..438241d2c 100644 --- a/data/effect_sbin.s +++ b/data/effect_sbin.s @@ -1,749 +1,7 @@ .section .rodata - .global gEffectFileArchive -gEffectFileArchive: @ 9740000 -@ replacing .incbin "baserom.gba", 0x1740000, 0x150000 -.string "pksdir0\0" -.incbin "baserom.gba", 0x1740008, 0x4 -.4byte gUnknown_9740018 -.string "pksdir0\0" -.global gUnknown_9740018 -gUnknown_9740018: -.4byte gUnknown_9740940 -.4byte gUnknown_9740950 -.4byte gUnknown_9740938 -.4byte gUnknown_974BE54 -.4byte gUnknown_9740930 -.4byte gUnknown_97547D8 -.4byte gUnknown_9740928 -.4byte gUnknown_9756674 -.4byte gUnknown_9740920 -.4byte gUnknown_9766A78 -.4byte gUnknown_9740918 -.4byte gUnknown_9769088 -.4byte gUnknown_9740910 -.4byte gUnknown_9773B00 -.4byte gUnknown_9740908 -.4byte gUnknown_9783F04 -.4byte gUnknown_9740900 -.4byte gUnknown_978C7C0 -.4byte gUnknown_97408F8 -.4byte gUnknown_979B730 -.4byte gUnknown_97408F0 -.4byte gUnknown_979DCF4 -.4byte gUnknown_97408E8 -.4byte gUnknown_979ECC4 -.4byte gUnknown_97408E0 -.4byte gUnknown_97A0F34 -.4byte gUnknown_97408D8 -.4byte gUnknown_97A20C4 -.4byte gUnknown_97408D0 -.4byte gUnknown_97A3988 -.4byte gUnknown_97408C8 -.4byte gUnknown_97A4FAC -.4byte gUnknown_97408C0 -.4byte gUnknown_97A8C38 -.4byte gUnknown_97408B8 -.4byte gUnknown_97AA0B0 -.4byte gUnknown_97408B0 -.4byte gUnknown_97AABA8 -.4byte gUnknown_97408A8 -.4byte gUnknown_97AF214 -.4byte gUnknown_97408A0 -.4byte gUnknown_97AFE54 -.4byte gUnknown_9740898 -.4byte gUnknown_97B0900 -.4byte gUnknown_9740890 -.4byte gUnknown_97B568C -.4byte gUnknown_9740888 -.4byte gUnknown_97B6924 -.4byte gUnknown_9740880 -.4byte gUnknown_97B6F2C -.4byte gUnknown_9740878 -.4byte gUnknown_97B8B68 -.4byte gUnknown_9740870 -.4byte gUnknown_97B9074 -.4byte gUnknown_9740868 -.4byte gUnknown_97BA958 -.4byte gUnknown_9740860 -.4byte gUnknown_97BACC4 -.4byte gUnknown_9740858 -.4byte gUnknown_97BD45C -.4byte gUnknown_9740850 -.4byte gUnknown_97BE614 -.4byte gUnknown_9740848 -.4byte gUnknown_97BF08C -.4byte gUnknown_9740840 -.4byte gUnknown_97C17A8 -.4byte gUnknown_9740838 -.4byte gUnknown_97C2784 -.4byte gUnknown_9740830 -.4byte gUnknown_97C3E1C -.4byte gUnknown_9740828 -.4byte gUnknown_97C6B08 -.4byte gUnknown_9740820 -.4byte gUnknown_97C76A8 -.4byte gUnknown_9740818 -.4byte gUnknown_97CA290 -.4byte gUnknown_9740810 -.4byte gUnknown_97CBD58 -.4byte gUnknown_9740808 -.4byte gUnknown_97CD47C -.4byte gUnknown_9740800 -.4byte gUnknown_97CE624 -.4byte gUnknown_97407F8 -.4byte gUnknown_97D0694 -.4byte gUnknown_97407F0 -.4byte gUnknown_97D2DF8 -.4byte gUnknown_97407E8 -.4byte gUnknown_97D33BC -.4byte gUnknown_97407E0 -.4byte gUnknown_97D48EC -.4byte gUnknown_97407D8 -.4byte gUnknown_97D6918 -.4byte gUnknown_97407D0 -.4byte gUnknown_97DB4E0 -.4byte gUnknown_97407C8 -.4byte gUnknown_97DE2C0 -.4byte gUnknown_97407C0 -.4byte gUnknown_97DFFD8 -.4byte gUnknown_97407B8 -.4byte gUnknown_97E0B18 -.4byte gUnknown_97407B0 -.4byte gUnknown_97E3E10 -.4byte gUnknown_97407A8 -.4byte gUnknown_97E5548 -.4byte gUnknown_97407A0 -.4byte gUnknown_97EAC34 -.4byte gUnknown_9740798 -.4byte gUnknown_97EB458 -.4byte gUnknown_9740790 -.4byte gUnknown_97EC8E4 -.4byte gUnknown_9740788 -.4byte gUnknown_97EDE74 -.4byte gUnknown_9740780 -.4byte gUnknown_97EE16C -.4byte gUnknown_9740778 -.4byte gUnknown_97F06D8 -.4byte gUnknown_9740770 -.4byte gUnknown_97F20B8 -.4byte gUnknown_9740768 -.4byte gUnknown_97F2C10 -.4byte gUnknown_9740760 -.4byte gUnknown_97F5038 -.4byte gUnknown_9740758 -.4byte gUnknown_97F56AC -.4byte gUnknown_9740750 -.4byte gUnknown_97F772C -.4byte gUnknown_9740748 -.4byte gUnknown_97F810C -.4byte gUnknown_9740740 -.4byte gUnknown_97F8FF4 -.4byte gUnknown_9740738 -.4byte gUnknown_97FA0F0 -.4byte gUnknown_9740730 -.4byte gUnknown_97FBF1C -.4byte gUnknown_9740728 -.4byte gUnknown_97FCEAC -.4byte gUnknown_9740720 -.4byte gUnknown_97FDEF4 -.4byte gUnknown_9740718 -.4byte gUnknown_9800B00 -.4byte gUnknown_9740710 -.4byte gUnknown_9801080 -.4byte gUnknown_9740708 -.4byte gUnknown_98015FC -.4byte gUnknown_9740700 -.4byte gUnknown_9802438 -.4byte gUnknown_97406F8 -.4byte gUnknown_9803184 -.4byte gUnknown_97406F0 -.4byte gUnknown_98045E8 -.4byte gUnknown_97406E8 -.4byte gUnknown_980519C -.4byte gUnknown_97406E0 -.4byte gUnknown_9805FF4 -.4byte gUnknown_97406D8 -.4byte gUnknown_98067DC -.4byte gUnknown_97406D0 -.4byte gUnknown_9806E60 -.4byte gUnknown_97406C8 -.4byte gUnknown_98074A4 -.4byte gUnknown_97406C0 -.4byte gUnknown_98078A0 -.4byte gUnknown_97406B8 -.4byte gUnknown_9807BDC -.4byte gUnknown_97406B0 -.4byte gUnknown_9808890 -.4byte gUnknown_97406A8 -.4byte gUnknown_980A350 -.4byte gUnknown_97406A0 -.4byte gUnknown_980B580 -.4byte gUnknown_9740698 -.4byte gUnknown_980C308 -.4byte gUnknown_9740690 -.4byte gUnknown_980C830 -.4byte gUnknown_9740688 -.4byte gUnknown_980DB3C -.4byte gUnknown_9740680 -.4byte gUnknown_980E08C -.4byte gUnknown_9740678 -.4byte gUnknown_980EBEC -.4byte gUnknown_9740670 -.4byte gUnknown_9812F54 -.4byte gUnknown_9740668 -.4byte gUnknown_9813710 -.4byte gUnknown_9740660 -.4byte gUnknown_981447C -.4byte gUnknown_9740658 -.4byte gUnknown_9814C9C -.4byte gUnknown_9740650 -.4byte gUnknown_9815C0C -.4byte gUnknown_9740648 -.4byte gUnknown_9815E9C -.4byte gUnknown_9740640 -.4byte gUnknown_98170B4 -.4byte gUnknown_9740638 -.4byte gUnknown_9817550 -.4byte gUnknown_9740630 -.4byte gUnknown_9817B3C -.4byte gUnknown_9740628 -.4byte gUnknown_98196BC -.4byte gUnknown_9740620 -.4byte gUnknown_981AC60 -.4byte gUnknown_9740618 -.4byte gUnknown_981AFC8 -.4byte gUnknown_9740610 -.4byte gUnknown_981CC20 -.4byte gUnknown_9740608 -.4byte gUnknown_981D97C -.4byte gUnknown_9740600 -.4byte gUnknown_981E450 -.4byte gUnknown_97405F8 -.4byte gUnknown_981FDDC -.4byte gUnknown_97405F0 -.4byte gUnknown_98216EC -.4byte gUnknown_97405E8 -.4byte gUnknown_9821A1C -.4byte gUnknown_97405E0 -.4byte gUnknown_9823C10 -.4byte gUnknown_97405D8 -.4byte gUnknown_9824E2C -.4byte gUnknown_97405D0 -.4byte gUnknown_9825508 -.4byte gUnknown_97405C8 -.4byte gUnknown_98278D8 -.4byte gUnknown_97405C0 -.4byte gUnknown_9828ED8 -.4byte gUnknown_97405B8 -.4byte gUnknown_9829B6C -.4byte gUnknown_97405B0 -.4byte gUnknown_982A960 -.4byte gUnknown_97405A8 -.4byte gUnknown_982AEDC -.4byte gUnknown_97405A0 -.4byte gUnknown_982B0C8 -.4byte gUnknown_9740598 -.4byte gUnknown_98344C8 -.4byte gUnknown_9740590 -.4byte gUnknown_98367D4 -.4byte gUnknown_9740588 -.4byte gUnknown_9837A34 -.4byte gUnknown_9740580 -.4byte gUnknown_9838678 -.4byte gUnknown_9740578 -.4byte gUnknown_9838AB4 -.4byte gUnknown_9740570 -.4byte gUnknown_983A7A8 -.4byte gUnknown_9740568 -.4byte gUnknown_983BED4 -.4byte gUnknown_9740560 -.4byte gUnknown_983C248 -.4byte gUnknown_9740558 -.4byte gUnknown_983D410 -.4byte gUnknown_9740550 -.4byte gUnknown_983D5FC -.4byte gUnknown_9740548 -.4byte gUnknown_983DFF0 -.4byte gUnknown_9740540 -.4byte gUnknown_983F060 -.4byte gUnknown_9740538 -.4byte gUnknown_983F3A4 -.4byte gUnknown_9740530 -.4byte gUnknown_9842498 -.4byte gUnknown_9740528 -.4byte gUnknown_9844EDC -.4byte gUnknown_9740520 -.4byte gUnknown_98452E0 -.4byte gUnknown_9740518 -.4byte gUnknown_9846AC8 -.4byte gUnknown_9740510 -.4byte gUnknown_9847D1C -.4byte gUnknown_9740508 -.4byte gUnknown_98482D0 -.4byte gUnknown_9740500 -.4byte gUnknown_98489E4 -.4byte gUnknown_97404F8 -.4byte gUnknown_98491A8 -.4byte gUnknown_97404F0 -.4byte gUnknown_984AE74 -.4byte gUnknown_97404E8 -.4byte gUnknown_984BDF8 -.4byte gUnknown_97404E0 -.4byte gUnknown_984CCEC -.4byte gUnknown_97404D8 -.4byte gUnknown_984E45C -.4byte gUnknown_97404D0 -.4byte gUnknown_984EBA0 -.4byte gUnknown_97404C8 -.4byte gUnknown_984FC40 -.4byte gUnknown_97404C0 -.4byte gUnknown_9853444 -.4byte gUnknown_97404B8 -.4byte gUnknown_98549B8 -.4byte gUnknown_97404B0 -.4byte gUnknown_9854D10 -.global gUnknown_97404B0 -gUnknown_97404B0: -.incbin "baserom.gba", 0x17404B0, 0x8 -.global gUnknown_97404B8 -gUnknown_97404B8: -.incbin "baserom.gba", 0x17404B8, 0x8 -.global gUnknown_97404C0 -gUnknown_97404C0: -.incbin "baserom.gba", 0x17404C0, 0x8 -.global gUnknown_97404C8 -gUnknown_97404C8: -.incbin "baserom.gba", 0x17404C8, 0x8 -.global gUnknown_97404D0 -gUnknown_97404D0: -.incbin "baserom.gba", 0x17404D0, 0x8 -.global gUnknown_97404D8 -gUnknown_97404D8: -.incbin "baserom.gba", 0x17404D8, 0x8 -.global gUnknown_97404E0 -gUnknown_97404E0: -.incbin "baserom.gba", 0x17404E0, 0x8 -.global gUnknown_97404E8 -gUnknown_97404E8: -.incbin "baserom.gba", 0x17404E8, 0x8 -.global gUnknown_97404F0 -gUnknown_97404F0: -.incbin "baserom.gba", 0x17404F0, 0x8 -.global gUnknown_97404F8 -gUnknown_97404F8: -.incbin "baserom.gba", 0x17404F8, 0x8 -.global gUnknown_9740500 -gUnknown_9740500: -.incbin "baserom.gba", 0x1740500, 0x8 -.global gUnknown_9740508 -gUnknown_9740508: -.incbin "baserom.gba", 0x1740508, 0x8 -.global gUnknown_9740510 -gUnknown_9740510: -.incbin "baserom.gba", 0x1740510, 0x8 -.global gUnknown_9740518 -gUnknown_9740518: -.incbin "baserom.gba", 0x1740518, 0x8 -.global gUnknown_9740520 -gUnknown_9740520: -.incbin "baserom.gba", 0x1740520, 0x8 -.global gUnknown_9740528 -gUnknown_9740528: -.incbin "baserom.gba", 0x1740528, 0x8 -.global gUnknown_9740530 -gUnknown_9740530: -.incbin "baserom.gba", 0x1740530, 0x8 -.global gUnknown_9740538 -gUnknown_9740538: -.incbin "baserom.gba", 0x1740538, 0x8 -.global gUnknown_9740540 -gUnknown_9740540: -.incbin "baserom.gba", 0x1740540, 0x8 -.global gUnknown_9740548 -gUnknown_9740548: -.incbin "baserom.gba", 0x1740548, 0x8 -.global gUnknown_9740550 -gUnknown_9740550: -.incbin "baserom.gba", 0x1740550, 0x8 -.global gUnknown_9740558 -gUnknown_9740558: -.incbin "baserom.gba", 0x1740558, 0x8 -.global gUnknown_9740560 -gUnknown_9740560: -.incbin "baserom.gba", 0x1740560, 0x8 -.global gUnknown_9740568 -gUnknown_9740568: -.incbin "baserom.gba", 0x1740568, 0x8 -.global gUnknown_9740570 -gUnknown_9740570: -.incbin "baserom.gba", 0x1740570, 0x8 -.global gUnknown_9740578 -gUnknown_9740578: -.incbin "baserom.gba", 0x1740578, 0x8 -.global gUnknown_9740580 -gUnknown_9740580: -.incbin "baserom.gba", 0x1740580, 0x8 -.global gUnknown_9740588 -gUnknown_9740588: -.incbin "baserom.gba", 0x1740588, 0x8 -.global gUnknown_9740590 -gUnknown_9740590: -.incbin "baserom.gba", 0x1740590, 0x8 -.global gUnknown_9740598 -gUnknown_9740598: -.incbin "baserom.gba", 0x1740598, 0x8 -.global gUnknown_97405A0 -gUnknown_97405A0: -.incbin "baserom.gba", 0x17405A0, 0x8 -.global gUnknown_97405A8 -gUnknown_97405A8: -.incbin "baserom.gba", 0x17405A8, 0x8 -.global gUnknown_97405B0 -gUnknown_97405B0: -.incbin "baserom.gba", 0x17405B0, 0x8 -.global gUnknown_97405B8 -gUnknown_97405B8: -.incbin "baserom.gba", 0x17405B8, 0x8 -.global gUnknown_97405C0 -gUnknown_97405C0: -.incbin "baserom.gba", 0x17405C0, 0x8 -.global gUnknown_97405C8 -gUnknown_97405C8: -.incbin "baserom.gba", 0x17405C8, 0x8 -.global gUnknown_97405D0 -gUnknown_97405D0: -.incbin "baserom.gba", 0x17405D0, 0x8 -.global gUnknown_97405D8 -gUnknown_97405D8: -.incbin "baserom.gba", 0x17405D8, 0x8 -.global gUnknown_97405E0 -gUnknown_97405E0: -.incbin "baserom.gba", 0x17405E0, 0x8 -.global gUnknown_97405E8 -gUnknown_97405E8: -.incbin "baserom.gba", 0x17405E8, 0x8 -.global gUnknown_97405F0 -gUnknown_97405F0: -.incbin "baserom.gba", 0x17405F0, 0x8 -.global gUnknown_97405F8 -gUnknown_97405F8: -.incbin "baserom.gba", 0x17405F8, 0x8 -.global gUnknown_9740600 -gUnknown_9740600: -.incbin "baserom.gba", 0x1740600, 0x8 -.global gUnknown_9740608 -gUnknown_9740608: -.incbin "baserom.gba", 0x1740608, 0x8 -.global gUnknown_9740610 -gUnknown_9740610: -.incbin "baserom.gba", 0x1740610, 0x8 -.global gUnknown_9740618 -gUnknown_9740618: -.incbin "baserom.gba", 0x1740618, 0x8 -.global gUnknown_9740620 -gUnknown_9740620: -.incbin "baserom.gba", 0x1740620, 0x8 -.global gUnknown_9740628 -gUnknown_9740628: -.incbin "baserom.gba", 0x1740628, 0x8 -.global gUnknown_9740630 -gUnknown_9740630: -.incbin "baserom.gba", 0x1740630, 0x8 -.global gUnknown_9740638 -gUnknown_9740638: -.incbin "baserom.gba", 0x1740638, 0x8 -.global gUnknown_9740640 -gUnknown_9740640: -.incbin "baserom.gba", 0x1740640, 0x8 -.global gUnknown_9740648 -gUnknown_9740648: -.incbin "baserom.gba", 0x1740648, 0x8 -.global gUnknown_9740650 -gUnknown_9740650: -.incbin "baserom.gba", 0x1740650, 0x8 -.global gUnknown_9740658 -gUnknown_9740658: -.incbin "baserom.gba", 0x1740658, 0x8 -.global gUnknown_9740660 -gUnknown_9740660: -.incbin "baserom.gba", 0x1740660, 0x8 -.global gUnknown_9740668 -gUnknown_9740668: -.incbin "baserom.gba", 0x1740668, 0x8 -.global gUnknown_9740670 -gUnknown_9740670: -.incbin "baserom.gba", 0x1740670, 0x8 -.global gUnknown_9740678 -gUnknown_9740678: -.incbin "baserom.gba", 0x1740678, 0x8 -.global gUnknown_9740680 -gUnknown_9740680: -.incbin "baserom.gba", 0x1740680, 0x8 -.global gUnknown_9740688 -gUnknown_9740688: -.incbin "baserom.gba", 0x1740688, 0x8 -.global gUnknown_9740690 -gUnknown_9740690: -.incbin "baserom.gba", 0x1740690, 0x8 -.global gUnknown_9740698 -gUnknown_9740698: -.incbin "baserom.gba", 0x1740698, 0x8 -.global gUnknown_97406A0 -gUnknown_97406A0: -.incbin "baserom.gba", 0x17406A0, 0x8 -.global gUnknown_97406A8 -gUnknown_97406A8: -.incbin "baserom.gba", 0x17406A8, 0x8 -.global gUnknown_97406B0 -gUnknown_97406B0: -.incbin "baserom.gba", 0x17406B0, 0x8 -.global gUnknown_97406B8 -gUnknown_97406B8: -.incbin "baserom.gba", 0x17406B8, 0x8 -.global gUnknown_97406C0 -gUnknown_97406C0: -.incbin "baserom.gba", 0x17406C0, 0x8 -.global gUnknown_97406C8 -gUnknown_97406C8: -.incbin "baserom.gba", 0x17406C8, 0x8 -.global gUnknown_97406D0 -gUnknown_97406D0: -.incbin "baserom.gba", 0x17406D0, 0x8 -.global gUnknown_97406D8 -gUnknown_97406D8: -.incbin "baserom.gba", 0x17406D8, 0x8 -.global gUnknown_97406E0 -gUnknown_97406E0: -.incbin "baserom.gba", 0x17406E0, 0x8 -.global gUnknown_97406E8 -gUnknown_97406E8: -.incbin "baserom.gba", 0x17406E8, 0x8 -.global gUnknown_97406F0 -gUnknown_97406F0: -.incbin "baserom.gba", 0x17406F0, 0x8 -.global gUnknown_97406F8 -gUnknown_97406F8: -.incbin "baserom.gba", 0x17406F8, 0x8 -.global gUnknown_9740700 -gUnknown_9740700: -.incbin "baserom.gba", 0x1740700, 0x8 -.global gUnknown_9740708 -gUnknown_9740708: -.incbin "baserom.gba", 0x1740708, 0x8 -.global gUnknown_9740710 -gUnknown_9740710: -.incbin "baserom.gba", 0x1740710, 0x8 -.global gUnknown_9740718 -gUnknown_9740718: -.incbin "baserom.gba", 0x1740718, 0x8 -.global gUnknown_9740720 -gUnknown_9740720: -.incbin "baserom.gba", 0x1740720, 0x8 -.global gUnknown_9740728 -gUnknown_9740728: -.incbin "baserom.gba", 0x1740728, 0x8 -.global gUnknown_9740730 -gUnknown_9740730: -.incbin "baserom.gba", 0x1740730, 0x8 -.global gUnknown_9740738 -gUnknown_9740738: -.incbin "baserom.gba", 0x1740738, 0x8 -.global gUnknown_9740740 -gUnknown_9740740: -.incbin "baserom.gba", 0x1740740, 0x8 -.global gUnknown_9740748 -gUnknown_9740748: -.incbin "baserom.gba", 0x1740748, 0x8 -.global gUnknown_9740750 -gUnknown_9740750: -.incbin "baserom.gba", 0x1740750, 0x8 -.global gUnknown_9740758 -gUnknown_9740758: -.incbin "baserom.gba", 0x1740758, 0x8 -.global gUnknown_9740760 -gUnknown_9740760: -.incbin "baserom.gba", 0x1740760, 0x8 -.global gUnknown_9740768 -gUnknown_9740768: -.incbin "baserom.gba", 0x1740768, 0x8 -.global gUnknown_9740770 -gUnknown_9740770: -.incbin "baserom.gba", 0x1740770, 0x8 -.global gUnknown_9740778 -gUnknown_9740778: -.incbin "baserom.gba", 0x1740778, 0x8 -.global gUnknown_9740780 -gUnknown_9740780: -.incbin "baserom.gba", 0x1740780, 0x8 -.global gUnknown_9740788 -gUnknown_9740788: -.incbin "baserom.gba", 0x1740788, 0x8 -.global gUnknown_9740790 -gUnknown_9740790: -.incbin "baserom.gba", 0x1740790, 0x8 -.global gUnknown_9740798 -gUnknown_9740798: -.incbin "baserom.gba", 0x1740798, 0x8 -.global gUnknown_97407A0 -gUnknown_97407A0: -.incbin "baserom.gba", 0x17407A0, 0x8 -.global gUnknown_97407A8 -gUnknown_97407A8: -.incbin "baserom.gba", 0x17407A8, 0x8 -.global gUnknown_97407B0 -gUnknown_97407B0: -.incbin "baserom.gba", 0x17407B0, 0x8 -.global gUnknown_97407B8 -gUnknown_97407B8: -.incbin "baserom.gba", 0x17407B8, 0x8 -.global gUnknown_97407C0 -gUnknown_97407C0: -.incbin "baserom.gba", 0x17407C0, 0x8 -.global gUnknown_97407C8 -gUnknown_97407C8: -.incbin "baserom.gba", 0x17407C8, 0x8 -.global gUnknown_97407D0 -gUnknown_97407D0: -.incbin "baserom.gba", 0x17407D0, 0x8 -.global gUnknown_97407D8 -gUnknown_97407D8: -.incbin "baserom.gba", 0x17407D8, 0x8 -.global gUnknown_97407E0 -gUnknown_97407E0: -.incbin "baserom.gba", 0x17407E0, 0x8 -.global gUnknown_97407E8 -gUnknown_97407E8: -.incbin "baserom.gba", 0x17407E8, 0x8 -.global gUnknown_97407F0 -gUnknown_97407F0: -.incbin "baserom.gba", 0x17407F0, 0x8 -.global gUnknown_97407F8 -gUnknown_97407F8: -.incbin "baserom.gba", 0x17407F8, 0x8 -.global gUnknown_9740800 -gUnknown_9740800: -.incbin "baserom.gba", 0x1740800, 0x8 -.global gUnknown_9740808 -gUnknown_9740808: -.incbin "baserom.gba", 0x1740808, 0x8 -.global gUnknown_9740810 -gUnknown_9740810: -.incbin "baserom.gba", 0x1740810, 0x8 -.global gUnknown_9740818 -gUnknown_9740818: -.incbin "baserom.gba", 0x1740818, 0x8 -.global gUnknown_9740820 -gUnknown_9740820: -.incbin "baserom.gba", 0x1740820, 0x8 -.global gUnknown_9740828 -gUnknown_9740828: -.incbin "baserom.gba", 0x1740828, 0x8 -.global gUnknown_9740830 -gUnknown_9740830: -.incbin "baserom.gba", 0x1740830, 0x8 -.global gUnknown_9740838 -gUnknown_9740838: -.incbin "baserom.gba", 0x1740838, 0x8 -.global gUnknown_9740840 -gUnknown_9740840: -.incbin "baserom.gba", 0x1740840, 0x8 -.global gUnknown_9740848 -gUnknown_9740848: -.incbin "baserom.gba", 0x1740848, 0x8 -.global gUnknown_9740850 -gUnknown_9740850: -.incbin "baserom.gba", 0x1740850, 0x8 -.global gUnknown_9740858 -gUnknown_9740858: -.incbin "baserom.gba", 0x1740858, 0x8 -.global gUnknown_9740860 -gUnknown_9740860: -.incbin "baserom.gba", 0x1740860, 0x8 -.global gUnknown_9740868 -gUnknown_9740868: -.incbin "baserom.gba", 0x1740868, 0x8 -.global gUnknown_9740870 -gUnknown_9740870: -.incbin "baserom.gba", 0x1740870, 0x8 -.global gUnknown_9740878 -gUnknown_9740878: -.incbin "baserom.gba", 0x1740878, 0x8 -.global gUnknown_9740880 -gUnknown_9740880: -.incbin "baserom.gba", 0x1740880, 0x8 -.global gUnknown_9740888 -gUnknown_9740888: -.incbin "baserom.gba", 0x1740888, 0x8 -.global gUnknown_9740890 -gUnknown_9740890: -.incbin "baserom.gba", 0x1740890, 0x8 -.global gUnknown_9740898 -gUnknown_9740898: -.incbin "baserom.gba", 0x1740898, 0x8 -.global gUnknown_97408A0 -gUnknown_97408A0: -.incbin "baserom.gba", 0x17408A0, 0x8 -.global gUnknown_97408A8 -gUnknown_97408A8: -.incbin "baserom.gba", 0x17408A8, 0x8 -.global gUnknown_97408B0 -gUnknown_97408B0: -.incbin "baserom.gba", 0x17408B0, 0x8 -.global gUnknown_97408B8 -gUnknown_97408B8: -.incbin "baserom.gba", 0x17408B8, 0x8 -.global gUnknown_97408C0 -gUnknown_97408C0: -.incbin "baserom.gba", 0x17408C0, 0x8 -.global gUnknown_97408C8 -gUnknown_97408C8: -.incbin "baserom.gba", 0x17408C8, 0x8 -.global gUnknown_97408D0 -gUnknown_97408D0: -.incbin "baserom.gba", 0x17408D0, 0x8 -.global gUnknown_97408D8 -gUnknown_97408D8: -.incbin "baserom.gba", 0x17408D8, 0x8 -.global gUnknown_97408E0 -gUnknown_97408E0: -.incbin "baserom.gba", 0x17408E0, 0x8 -.global gUnknown_97408E8 -gUnknown_97408E8: -.incbin "baserom.gba", 0x17408E8, 0x8 -.global gUnknown_97408F0 -gUnknown_97408F0: -.incbin "baserom.gba", 0x17408F0, 0x8 -.global gUnknown_97408F8 -gUnknown_97408F8: -.incbin "baserom.gba", 0x17408F8, 0x8 -.global gUnknown_9740900 -gUnknown_9740900: -.incbin "baserom.gba", 0x1740900, 0x8 -.global gUnknown_9740908 -gUnknown_9740908: -.incbin "baserom.gba", 0x1740908, 0x8 -.global gUnknown_9740910 -gUnknown_9740910: -.incbin "baserom.gba", 0x1740910, 0x8 -.global gUnknown_9740918 -gUnknown_9740918: -.incbin "baserom.gba", 0x1740918, 0x8 -.global gUnknown_9740920 -gUnknown_9740920: -.incbin "baserom.gba", 0x1740920, 0x8 -.global gUnknown_9740928 -gUnknown_9740928: -.incbin "baserom.gba", 0x1740928, 0x8 -.global gUnknown_9740930 -gUnknown_9740930: -.incbin "baserom.gba", 0x1740930, 0x8 -.global gUnknown_9740938 -gUnknown_9740938: -.incbin "baserom.gba", 0x1740938, 0x8 -.global gUnknown_9740940 -gUnknown_9740940: -.incbin "baserom.gba", 0x1740940, 0x8 + .align 2 + .string "pksdir0\0" .global gUnknown_9740950 gUnknown_9740950: diff --git a/include/effect_files_table.h b/include/effect_files_table.h new file mode 100644 index 000000000..c77c0f311 --- /dev/null +++ b/include/effect_files_table.h @@ -0,0 +1,10 @@ +#ifndef GUARD_EFFECT_FILES_TABLE_H +#define GUARD_EFFECT_FILES_TABLE_H + +#define EFFECT_FILES_COUNT 147 + +#include "structs/str_file_system.h" + +extern const File gEffectFiles[EFFECT_FILES_COUNT]; + +#endif // GUARD_EFFECT_FILES_TABLE_H diff --git a/ld_script.ld b/ld_script.ld index b5b17f83a..5792bdbe4 100755 --- a/ld_script.ld +++ b/ld_script.ld @@ -1018,6 +1018,8 @@ SECTIONS { effect_sbin_section : ALIGN(4) { + src/effect_sbin.o(.rodata); + src/effect_files_table.o(.rodata); data/effect_sbin.o(.rodata); } > ROM =0 diff --git a/src/effect_files_table.c b/src/effect_files_table.c new file mode 100644 index 000000000..6537f29c1 --- /dev/null +++ b/src/effect_files_table.c @@ -0,0 +1,303 @@ +#include "global.h" +#include "globaldata.h" +#include "effect_files_table.h" +#include "decompress_sir.h" + +// TODO: move to header +extern const SiroArchive gUnknown_9740950; +extern const SiroArchive gUnknown_974BE54; +extern const SiroArchive gUnknown_97547D8; +extern const SiroArchive gUnknown_9756674; +extern const SiroArchive gUnknown_9766A78; +extern const SiroArchive gUnknown_9769088; +extern const SiroArchive gUnknown_9773B00; +extern const SiroArchive gUnknown_9783F04; +extern const SiroArchive gUnknown_978C7C0; +extern const SiroArchive gUnknown_979B730; +extern const SiroArchive gUnknown_979DCF4; +extern const SiroArchive gUnknown_979ECC4; +extern const SiroArchive gUnknown_97A0F34; +extern const SiroArchive gUnknown_97A20C4; +extern const SiroArchive gUnknown_97A3988; +extern const SiroArchive gUnknown_97A4FAC; +extern const SiroArchive gUnknown_97A8C38; +extern const SiroArchive gUnknown_97AA0B0; +extern const SiroArchive gUnknown_97AABA8; +extern const SiroArchive gUnknown_97AF214; +extern const SiroArchive gUnknown_97AFE54; +extern const SiroArchive gUnknown_97B0900; +extern const SiroArchive gUnknown_97B568C; +extern const SiroArchive gUnknown_97B6924; +extern const SiroArchive gUnknown_97B6F2C; +extern const SiroArchive gUnknown_97B8B68; +extern const SiroArchive gUnknown_97B9074; +extern const SiroArchive gUnknown_97BA958; +extern const SiroArchive gUnknown_97BACC4; +extern const SiroArchive gUnknown_97BD45C; +extern const SiroArchive gUnknown_97BE614; +extern const SiroArchive gUnknown_97BF08C; +extern const SiroArchive gUnknown_97C17A8; +extern const SiroArchive gUnknown_97C2784; +extern const SiroArchive gUnknown_97C3E1C; +extern const SiroArchive gUnknown_97C6B08; +extern const SiroArchive gUnknown_97C76A8; +extern const SiroArchive gUnknown_97CA290; +extern const SiroArchive gUnknown_97CBD58; +extern const SiroArchive gUnknown_97CD47C; +extern const SiroArchive gUnknown_97CE624; +extern const SiroArchive gUnknown_97D0694; +extern const SiroArchive gUnknown_97D2DF8; +extern const SiroArchive gUnknown_97D33BC; +extern const SiroArchive gUnknown_97D48EC; +extern const SiroArchive gUnknown_97D6918; +extern const SiroArchive gUnknown_97DB4E0; +extern const SiroArchive gUnknown_97DE2C0; +extern const SiroArchive gUnknown_97DFFD8; +extern const SiroArchive gUnknown_97E0B18; +extern const SiroArchive gUnknown_97E3E10; +extern const SiroArchive gUnknown_97E5548; +extern const SiroArchive gUnknown_97EAC34; +extern const SiroArchive gUnknown_97EB458; +extern const SiroArchive gUnknown_97EC8E4; +extern const SiroArchive gUnknown_97EDE74; +extern const SiroArchive gUnknown_97EE16C; +extern const SiroArchive gUnknown_97F06D8; +extern const SiroArchive gUnknown_97F20B8; +extern const SiroArchive gUnknown_97F2C10; +extern const SiroArchive gUnknown_97F5038; +extern const SiroArchive gUnknown_97F56AC; +extern const SiroArchive gUnknown_97F772C; +extern const SiroArchive gUnknown_97F810C; +extern const SiroArchive gUnknown_97F8FF4; +extern const SiroArchive gUnknown_97FA0F0; +extern const SiroArchive gUnknown_97FBF1C; +extern const SiroArchive gUnknown_97FCEAC; +extern const SiroArchive gUnknown_97FDEF4; +extern const SiroArchive gUnknown_9800B00; +extern const SiroArchive gUnknown_9801080; +extern const SiroArchive gUnknown_98015FC; +extern const SiroArchive gUnknown_9802438; +extern const SiroArchive gUnknown_9803184; +extern const SiroArchive gUnknown_98045E8; +extern const SiroArchive gUnknown_980519C; +extern const SiroArchive gUnknown_9805FF4; +extern const SiroArchive gUnknown_98067DC; +extern const SiroArchive gUnknown_9806E60; +extern const SiroArchive gUnknown_98074A4; +extern const SiroArchive gUnknown_98078A0; +extern const SiroArchive gUnknown_9807BDC; +extern const SiroArchive gUnknown_9808890; +extern const SiroArchive gUnknown_980A350; +extern const SiroArchive gUnknown_980B580; +extern const SiroArchive gUnknown_980C308; +extern const SiroArchive gUnknown_980C830; +extern const SiroArchive gUnknown_980DB3C; +extern const SiroArchive gUnknown_980E08C; +extern const SiroArchive gUnknown_980EBEC; +extern const SiroArchive gUnknown_9812F54; +extern const SiroArchive gUnknown_9813710; +extern const SiroArchive gUnknown_981447C; +extern const SiroArchive gUnknown_9814C9C; +extern const SiroArchive gUnknown_9815C0C; +extern const SiroArchive gUnknown_9815E9C; +extern const SiroArchive gUnknown_98170B4; +extern const SiroArchive gUnknown_9817550; +extern const SiroArchive gUnknown_9817B3C; +extern const SiroArchive gUnknown_98196BC; +extern const SiroArchive gUnknown_981AC60; +extern const SiroArchive gUnknown_981AFC8; +extern const SiroArchive gUnknown_981CC20; +extern const SiroArchive gUnknown_981D97C; +extern const SiroArchive gUnknown_981E450; +extern const SiroArchive gUnknown_981FDDC; +extern const SiroArchive gUnknown_98216EC; +extern const SiroArchive gUnknown_9821A1C; +extern const SiroArchive gUnknown_9823C10; +extern const SiroArchive gUnknown_9824E2C; +extern const SiroArchive gUnknown_9825508; +extern const SiroArchive gUnknown_98278D8; +extern const SiroArchive gUnknown_9828ED8; +extern const SiroArchive gUnknown_9829B6C; +extern const SiroArchive gUnknown_982A960; +extern const SiroArchive gUnknown_982AEDC; +extern const SiroArchive gUnknown_982B0C8; +extern const SiroArchive gUnknown_98344C8; +extern const SiroArchive gUnknown_98367D4; +extern const SiroArchive gUnknown_9837A34; +extern const SiroArchive gUnknown_9838678; +extern const SiroArchive gUnknown_9838AB4; +extern const SiroArchive gUnknown_983A7A8; +extern const SiroArchive gUnknown_983BED4; +extern const SiroArchive gUnknown_983C248; +extern const SiroArchive gUnknown_983D410; +extern const SiroArchive gUnknown_983D5FC; +extern const SiroArchive gUnknown_983DFF0; +extern const SiroArchive gUnknown_983F060; +extern const SiroArchive gUnknown_983F3A4; +extern const SiroArchive gUnknown_9842498; +extern const SiroArchive gUnknown_9844EDC; +extern const SiroArchive gUnknown_98452E0; +extern const SiroArchive gUnknown_9846AC8; +extern const SiroArchive gUnknown_9847D1C; +extern const SiroArchive gUnknown_98482D0; +extern const SiroArchive gUnknown_98489E4; +extern const SiroArchive gUnknown_98491A8; +extern const SiroArchive gUnknown_984AE74; +extern const SiroArchive gUnknown_984BDF8; +extern const SiroArchive gUnknown_984CCEC; +extern const SiroArchive gUnknown_984E45C; +extern const SiroArchive gUnknown_984EBA0; +extern const SiroArchive gUnknown_984FC40; +extern const SiroArchive gUnknown_9853444; +extern const SiroArchive gUnknown_98549B8; +extern const SiroArchive gUnknown_9854D10; + +const File gEffectFiles[EFFECT_FILES_COUNT] = { + [0] = { "efbg000", &gUnknown_9740950, }, + [1] = { "efbg001", &gUnknown_974BE54, }, + [2] = { "efbg002", &gUnknown_97547D8, }, + [3] = { "efbg003", &gUnknown_9756674, }, + [4] = { "efbg004", &gUnknown_9766A78, }, + [5] = { "efbg005", &gUnknown_9769088, }, + [6] = { "efbg006", &gUnknown_9773B00, }, + [7] = { "efbg007", &gUnknown_9783F04, }, + [8] = { "efob000", &gUnknown_978C7C0, }, + [9] = { "efob001", &gUnknown_979B730, }, + [10] = { "efob002", &gUnknown_979DCF4, }, + [11] = { "efob003", &gUnknown_979ECC4, }, + [12] = { "efob004", &gUnknown_97A0F34, }, + [13] = { "efob005", &gUnknown_97A20C4, }, + [14] = { "efob006", &gUnknown_97A3988, }, + [15] = { "efob007", &gUnknown_97A4FAC, }, + [16] = { "efob008", &gUnknown_97A8C38, }, + [17] = { "efob009", &gUnknown_97AA0B0, }, + [18] = { "efob010", &gUnknown_97AABA8, }, + [19] = { "efob011", &gUnknown_97AF214, }, + [20] = { "efob012", &gUnknown_97AFE54, }, + [21] = { "efob013", &gUnknown_97B0900, }, + [22] = { "efob014", &gUnknown_97B568C, }, + [23] = { "efob015", &gUnknown_97B6924, }, + [24] = { "efob016", &gUnknown_97B6F2C, }, + [25] = { "efob017", &gUnknown_97B8B68, }, + [26] = { "efob018", &gUnknown_97B9074, }, + [27] = { "efob019", &gUnknown_97BA958, }, + [28] = { "efob020", &gUnknown_97BACC4, }, + [29] = { "efob021", &gUnknown_97BD45C, }, + [30] = { "efob022", &gUnknown_97BE614, }, + [31] = { "efob023", &gUnknown_97BF08C, }, + [32] = { "efob024", &gUnknown_97C17A8, }, + [33] = { "efob025", &gUnknown_97C2784, }, + [34] = { "efob026", &gUnknown_97C3E1C, }, + [35] = { "efob027", &gUnknown_97C6B08, }, + [36] = { "efob028", &gUnknown_97C76A8, }, + [37] = { "efob029", &gUnknown_97CA290, }, + [38] = { "efob030", &gUnknown_97CBD58, }, + [39] = { "efob031", &gUnknown_97CD47C, }, + [40] = { "efob032", &gUnknown_97CE624, }, + [41] = { "efob033", &gUnknown_97D0694, }, + [42] = { "efob034", &gUnknown_97D2DF8, }, + [43] = { "efob035", &gUnknown_97D33BC, }, + [44] = { "efob036", &gUnknown_97D48EC, }, + [45] = { "efob037", &gUnknown_97D6918, }, + [46] = { "efob038", &gUnknown_97DB4E0, }, + [47] = { "efob039", &gUnknown_97DE2C0, }, + [48] = { "efob040", &gUnknown_97DFFD8, }, + [49] = { "efob041", &gUnknown_97E0B18, }, + [50] = { "efob042", &gUnknown_97E3E10, }, + [51] = { "efob043", &gUnknown_97E5548, }, + [52] = { "efob044", &gUnknown_97EAC34, }, + [53] = { "efob045", &gUnknown_97EB458, }, + [54] = { "efob046", &gUnknown_97EC8E4, }, + [55] = { "efob047", &gUnknown_97EDE74, }, + [56] = { "efob048", &gUnknown_97EE16C, }, + [57] = { "efob049", &gUnknown_97F06D8, }, + [58] = { "efob050", &gUnknown_97F20B8, }, + [59] = { "efob051", &gUnknown_97F2C10, }, + [60] = { "efob052", &gUnknown_97F5038, }, + [61] = { "efob053", &gUnknown_97F56AC, }, + [62] = { "efob054", &gUnknown_97F772C, }, + [63] = { "efob055", &gUnknown_97F810C, }, + [64] = { "efob056", &gUnknown_97F8FF4, }, + [65] = { "efob057", &gUnknown_97FA0F0, }, + [66] = { "efob058", &gUnknown_97FBF1C, }, + [67] = { "efob059", &gUnknown_97FCEAC, }, + [68] = { "efob060", &gUnknown_97FDEF4, }, + [69] = { "efob061", &gUnknown_9800B00, }, + [70] = { "efob062", &gUnknown_9801080, }, + [71] = { "efob063", &gUnknown_98015FC, }, + [72] = { "efob064", &gUnknown_9802438, }, + [73] = { "efob065", &gUnknown_9803184, }, + [74] = { "efob066", &gUnknown_98045E8, }, + [75] = { "efob067", &gUnknown_980519C, }, + [76] = { "efob068", &gUnknown_9805FF4, }, + [77] = { "efob069", &gUnknown_98067DC, }, + [78] = { "efob070", &gUnknown_9806E60, }, + [79] = { "efob071", &gUnknown_98074A4, }, + [80] = { "efob072", &gUnknown_98078A0, }, + [81] = { "efob073", &gUnknown_9807BDC, }, + [82] = { "efob074", &gUnknown_9808890, }, + [83] = { "efob075", &gUnknown_980A350, }, + [84] = { "efob076", &gUnknown_980B580, }, + [85] = { "efob077", &gUnknown_980C308, }, + [86] = { "efob078", &gUnknown_980C830, }, + [87] = { "efob079", &gUnknown_980DB3C, }, + [88] = { "efob080", &gUnknown_980E08C, }, + [89] = { "efob081", &gUnknown_980EBEC, }, + [90] = { "efob082", &gUnknown_9812F54, }, + [91] = { "efob083", &gUnknown_9813710, }, + [92] = { "efob084", &gUnknown_981447C, }, + [93] = { "efob085", &gUnknown_9814C9C, }, + [94] = { "efob086", &gUnknown_9815C0C, }, + [95] = { "efob087", &gUnknown_9815E9C, }, + [96] = { "efob088", &gUnknown_98170B4, }, + [97] = { "efob089", &gUnknown_9817550, }, + [98] = { "efob090", &gUnknown_9817B3C, }, + [99] = { "efob091", &gUnknown_98196BC, }, + [100] = { "efob092", &gUnknown_981AC60, }, + [101] = { "efob093", &gUnknown_981AFC8, }, + [102] = { "efob094", &gUnknown_981CC20, }, + [103] = { "efob095", &gUnknown_981D97C, }, + [104] = { "efob096", &gUnknown_981E450, }, + [105] = { "efob097", &gUnknown_981FDDC, }, + [106] = { "efob098", &gUnknown_98216EC, }, + [107] = { "efob099", &gUnknown_9821A1C, }, + [108] = { "efob100", &gUnknown_9823C10, }, + [109] = { "efob101", &gUnknown_9824E2C, }, + [110] = { "efob102", &gUnknown_9825508, }, + [111] = { "efob103", &gUnknown_98278D8, }, + [112] = { "efob104", &gUnknown_9828ED8, }, + [113] = { "efob105", &gUnknown_9829B6C, }, + [114] = { "efob106", &gUnknown_982A960, }, + [115] = { "efob107", &gUnknown_982AEDC, }, + [116] = { "efob108", &gUnknown_982B0C8, }, + [117] = { "efob109", &gUnknown_98344C8, }, + [118] = { "efob110", &gUnknown_98367D4, }, + [119] = { "efob111", &gUnknown_9837A34, }, + [120] = { "efob112", &gUnknown_9838678, }, + [121] = { "efob113", &gUnknown_9838AB4, }, + [122] = { "efob114", &gUnknown_983A7A8, }, + [123] = { "efob115", &gUnknown_983BED4, }, + [124] = { "efob116", &gUnknown_983C248, }, + [125] = { "efob117", &gUnknown_983D410, }, + [126] = { "efob118", &gUnknown_983D5FC, }, + [127] = { "efob119", &gUnknown_983DFF0, }, + [128] = { "efob120", &gUnknown_983F060, }, + [129] = { "efob121", &gUnknown_983F3A4, }, + [130] = { "efob122", &gUnknown_9842498, }, + [131] = { "efob123", &gUnknown_9844EDC, }, + [132] = { "efob124", &gUnknown_98452E0, }, + [133] = { "efob125", &gUnknown_9846AC8, }, + [134] = { "efob126", &gUnknown_9847D1C, }, + [135] = { "efob127", &gUnknown_98482D0, }, + [136] = { "efob128", &gUnknown_98489E4, }, + [137] = { "efob129", &gUnknown_98491A8, }, + [138] = { "efob130", &gUnknown_984AE74, }, + [139] = { "efob131", &gUnknown_984BDF8, }, + [140] = { "efob132", &gUnknown_984CCEC, }, + [141] = { "efob133", &gUnknown_984E45C, }, + [142] = { "efob134", &gUnknown_984EBA0, }, + [143] = { "efob135", &gUnknown_984FC40, }, + [144] = { "efob136", &gUnknown_9853444, }, + [145] = { "efob137", &gUnknown_98549B8, }, + [146] = { "efob138", &gUnknown_9854D10, }, +}; diff --git a/src/effect_sbin.c b/src/effect_sbin.c new file mode 100644 index 000000000..4f57b511f --- /dev/null +++ b/src/effect_sbin.c @@ -0,0 +1,8 @@ +#include "global.h" +#include "effect_files_table.h" + +const FileArchive gEffectFileArchive = { + .magic = "pksdir0", + .count = EFFECT_FILES_COUNT, + .entries = gEffectFiles, +};