summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-06-27 11:25:55 -0400
committerhuderlem <huderlem@gmail.com>2019-07-02 19:29:49 -0500
commit0eb426179320d08724253b31e2f0371275c8ee7a (patch)
tree9d4ec1c92f865bc456650dea8bd4f3750a35bba5
parent4fedd5183be7de5d5e0fa59c269b28c49d88ef88 (diff)
Start roulette rodata decomp
-rw-r--r--Makefile3
-rw-r--r--data/roulette.s42
-rw-r--r--ld_script.txt1
-rw-r--r--src/roulette.c31
4 files changed, 30 insertions, 47 deletions
diff --git a/Makefile b/Makefile
index 4c031cfda..02f00c22e 100644
--- a/Makefile
+++ b/Makefile
@@ -50,6 +50,7 @@ SUBDIRS := $(sort $(dir $(ALL_OBJECTS)))
LIBC := tools/agbcc/lib/libc.a
LIBGCC := tools/agbcc/lib/libgcc.a
+LDFLAGS := -L ../../tools/agbcc/lib -lgcc -lc
LD_SCRIPT := $(BUILD_DIR)/ld_script.ld
@@ -144,7 +145,7 @@ $(ROM): %.gba: %.elf
$(GBAFIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent
%.elf: $(LD_SCRIPT) $(ALL_OBJECTS)
- cd $(BUILD_DIR) && $(LD) -T ld_script.ld -Map ../../$(MAP) ../../$(LIBGCC) ../../$(LIBC) -o ../../$@
+ cd $(BUILD_DIR) && $(LD) -T ld_script.ld -Map ../../$(MAP) -o ../../$@ $(LDFLAGS)
$(LD_SCRIPT): ld_script.txt $(BUILD_DIR)/sym_common.ld $(BUILD_DIR)/sym_ewram.ld $(BUILD_DIR)/sym_bss.ld
cd $(BUILD_DIR) && sed -e "s#tools/#../../tools/#g" ../../ld_script.txt >ld_script.ld
diff --git a/data/roulette.s b/data/roulette.s
index 160ec3b29..a18f94b1e 100644
--- a/data/roulette.s
+++ b/data/roulette.s
@@ -3,48 +3,6 @@
.section .rodata
- .align 1
-gUnknown_083F86BC:: @ 83F86BC
- .incbin "graphics/roulette/83F86BC.gbapal"
-
- .align 2
-gUnknown_083F88BC:: @ 83F88BC
- .incbin "graphics/roulette/83F88BC.bin.lz"
-
- .align 2
-gUnknown_083F8A60:: @ 83F8A60
- .incbin "graphics/roulette/wheel_map.bin.lz"
-
- .macro struct_unk083f8c00 var00, var01_0, var01_4, var02, var03, var04, var05, var06, var07, var08, var0c, var10, var12
- .byte \var00, \var01_0 | (\var01_4 << 4), \var02, \var03, \var04, \var05, \var06, \var07
- .long \var08, \var0c
- .short \var10, \var12
- .endm
-
- .align 2
-gUnknown_083F8C00:: @ 83F8C00
-// array count = 20
- struct_unk083f8c00 0xFF, 0x0, 0x0, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00000000, 0x00000000, 0x0000, 0x0000
- struct_unk083f8c00 0x0C, 0x4, 0x1, 0x00, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00000002, 0x00010842, 0xE000, 0x0000
- struct_unk083f8c00 0x0D, 0x4, 0x2, 0x00, 0x14, 0x07, 0x00, 0x00, 0x00, 0x00000004, 0x00021084, 0xE000, 0x0000
- struct_unk083f8c00 0x0E, 0x4, 0x3, 0x00, 0x17, 0x07, 0x00, 0x00, 0x00, 0x00000008, 0x00042108, 0xE000, 0x0000
- struct_unk083f8c00 0x0F, 0x4, 0x4, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x00, 0x00000010, 0x00084210, 0xE000, 0x0000
- struct_unk083f8c00 0x10, 0x3, 0x0, 0x01, 0x0E, 0x0A, 0x00, 0x0C, 0x00, 0x00000020, 0x000003E0, 0x0249, 0x0000
- struct_unk083f8c00 0x00, 0xC, 0x1, 0x01, 0x11, 0x0A, 0x03, 0x03, 0x00, 0x00000040, 0x00000040, 0x2001, 0x0000
- struct_unk083f8c00 0x09, 0xC, 0x2, 0x01, 0x14, 0x0A, 0x03, 0x03, 0x00, 0x00000080, 0x00000080, 0x2200, 0x0000
- struct_unk083f8c00 0x06, 0xC, 0x3, 0x01, 0x17, 0x0A, 0x03, 0x03, 0x00, 0x00000100, 0x00000100, 0x2040, 0x0000
- struct_unk083f8c00 0x03, 0xC, 0x4, 0x01, 0x1A, 0x0A, 0x03, 0x03, 0x00, 0x00000200, 0x00000200, 0x2008, 0x0000
- struct_unk083f8c00 0x11, 0x3, 0x0, 0x02, 0x0E, 0x0D, 0x03, 0x0F, 0x00, 0x00000400, 0x00007C00, 0x0492, 0x0000
- struct_unk083f8c00 0x04, 0xC, 0x1, 0x02, 0x11, 0x0D, 0x06, 0x06, 0x00, 0x00000800, 0x00000800, 0x2010, 0x0000
- struct_unk083f8c00 0x01, 0xC, 0x2, 0x02, 0x14, 0x0D, 0x06, 0x06, 0x00, 0x00001000, 0x00001000, 0x2002, 0x0000
- struct_unk083f8c00 0x0A, 0xC, 0x3, 0x02, 0x17, 0x0D, 0x06, 0x06, 0x00, 0x00002000, 0x00002000, 0x2400, 0x0000
- struct_unk083f8c00 0x07, 0xC, 0x4, 0x02, 0x1A, 0x0D, 0x06, 0x06, 0x00, 0x00004000, 0x00004000, 0x2080, 0x0000
- struct_unk083f8c00 0x12, 0x3, 0x0, 0x03, 0x0E, 0x10, 0x06, 0x12, 0x00, 0x00008000, 0x000F8000, 0x0924, 0x0000
- struct_unk083f8c00 0x08, 0xC, 0x1, 0x03, 0x11, 0x10, 0x09, 0x09, 0x00, 0x00010000, 0x00010000, 0x2100, 0x0000
- struct_unk083f8c00 0x05, 0xC, 0x2, 0x03, 0x14, 0x10, 0x09, 0x09, 0x00, 0x00020000, 0x00020000, 0x2020, 0x0000
- struct_unk083f8c00 0x02, 0xC, 0x3, 0x03, 0x17, 0x10, 0x09, 0x09, 0x00, 0x00040000, 0x00040000, 0x2004, 0x0000
- struct_unk083f8c00 0x0B, 0xC, 0x4, 0x03, 0x1A, 0x10, 0x09, 0x09, 0x00, 0x00080000, 0x00080000, 0x2800, 0x0000
-
.align 2
gUnknown_083F8D90:: @ 83F8D90
.byte 0, 1, 6, 0, 64, 0, 0, 0
diff --git a/ld_script.txt b/ld_script.txt
index cc9b22ffe..b478be6da 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -716,6 +716,7 @@ SECTIONS {
src/battle/battle_records.o(.rodata);
src/pokedex_area_screen.o(.rodata);
src/evolution_scene.o(.rodata);
+ src/roulette.o(.rodata);
data/roulette.o(.rodata);
src/pokedex_cry_screen.o(.rodata);
src/pokedex_cry_screen.o(.data);
diff --git a/src/roulette.c b/src/roulette.c
index 288de36fd..305830f5a 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -239,6 +239,33 @@ static void sub_8119BCC(struct Sprite *);
static void sub_8119D08(struct Sprite *);
void sub_8119D80(struct Sprite *);
+const u16 gUnknown_083F86BC[] = INCBIN_U16("graphics/roulette/83F86BC.gbapal");
+const u8 gUnknown_083F88BC[] = INCBIN_U8("graphics/roulette/83F88BC.bin.lz");
+const u8 gUnknown_083F8A60[] = INCBIN_U8("graphics/roulette/wheel_map.bin.lz");
+
+const struct StructgUnknown_083F8C00 gUnknown_083F8C00[] = {
+ {0xFF, 0x0, 0x0, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00000000, 0x00000000, 0x0000, 0x0000},
+ {0x0C, 0x4, 0x1, 0x00, 0x11, 0x07, 0x00, 0x00, 0x00, 0x00000002, 0x00010842, 0xE000, 0x0000},
+ {0x0D, 0x4, 0x2, 0x00, 0x14, 0x07, 0x00, 0x00, 0x00, 0x00000004, 0x00021084, 0xE000, 0x0000},
+ {0x0E, 0x4, 0x3, 0x00, 0x17, 0x07, 0x00, 0x00, 0x00, 0x00000008, 0x00042108, 0xE000, 0x0000},
+ {0x0F, 0x4, 0x4, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x00, 0x00000010, 0x00084210, 0xE000, 0x0000},
+ {0x10, 0x3, 0x0, 0x01, 0x0E, 0x0A, 0x00, 0x0C, 0x00, 0x00000020, 0x000003E0, 0x0249, 0x0000},
+ {0x00, 0xC, 0x1, 0x01, 0x11, 0x0A, 0x03, 0x03, 0x00, 0x00000040, 0x00000040, 0x2001, 0x0000},
+ {0x09, 0xC, 0x2, 0x01, 0x14, 0x0A, 0x03, 0x03, 0x00, 0x00000080, 0x00000080, 0x2200, 0x0000},
+ {0x06, 0xC, 0x3, 0x01, 0x17, 0x0A, 0x03, 0x03, 0x00, 0x00000100, 0x00000100, 0x2040, 0x0000},
+ {0x03, 0xC, 0x4, 0x01, 0x1A, 0x0A, 0x03, 0x03, 0x00, 0x00000200, 0x00000200, 0x2008, 0x0000},
+ {0x11, 0x3, 0x0, 0x02, 0x0E, 0x0D, 0x03, 0x0F, 0x00, 0x00000400, 0x00007C00, 0x0492, 0x0000},
+ {0x04, 0xC, 0x1, 0x02, 0x11, 0x0D, 0x06, 0x06, 0x00, 0x00000800, 0x00000800, 0x2010, 0x0000},
+ {0x01, 0xC, 0x2, 0x02, 0x14, 0x0D, 0x06, 0x06, 0x00, 0x00001000, 0x00001000, 0x2002, 0x0000},
+ {0x0A, 0xC, 0x3, 0x02, 0x17, 0x0D, 0x06, 0x06, 0x00, 0x00002000, 0x00002000, 0x2400, 0x0000},
+ {0x07, 0xC, 0x4, 0x02, 0x1A, 0x0D, 0x06, 0x06, 0x00, 0x00004000, 0x00004000, 0x2080, 0x0000},
+ {0x12, 0x3, 0x0, 0x03, 0x0E, 0x10, 0x06, 0x12, 0x00, 0x00008000, 0x000F8000, 0x0924, 0x0000},
+ {0x08, 0xC, 0x1, 0x03, 0x11, 0x10, 0x09, 0x09, 0x00, 0x00010000, 0x00010000, 0x2100, 0x0000},
+ {0x05, 0xC, 0x2, 0x03, 0x14, 0x10, 0x09, 0x09, 0x00, 0x00020000, 0x00020000, 0x2020, 0x0000},
+ {0x02, 0xC, 0x3, 0x03, 0x17, 0x10, 0x09, 0x09, 0x00, 0x00040000, 0x00040000, 0x2004, 0x0000},
+ {0x0B, 0xC, 0x4, 0x03, 0x1A, 0x10, 0x09, 0x09, 0x00, 0x00080000, 0x00080000, 0x2800, 0x0000},
+};
+
extern u8 gUnknown_02019000[];
extern u16 gSpecialVar_0x8004;
extern struct StructgUnknown_083F8DF4 gUnknown_083F8DF4[];
@@ -252,16 +279,12 @@ extern const u8 gRouletteHeadersTiles[];
extern const u8 gRouletteCreditTiles[];
extern const u8 gRouletteNumbersTiles[];
extern const u8 gRouletteMultiplierTiles[];
-extern const u16 gUnknown_083F86BC[];
-extern const u8 gUnknown_083F88BC[];
-extern const u8 gUnknown_083F8A60[];
extern u16 gPlttBufferFaded[];
extern u16 gPlttBufferUnfaded[];
extern const u8 gUnknown_081C4157[];
extern const struct YesNoFuncTable gUnknown_083F8EBC;
extern const u8 gUnknown_081C41E3;
extern const u16 gUnknown_083F8ECE;
-extern const struct StructgUnknown_083F8C00 gUnknown_083F8C00[];
const extern u8 gUnknown_083F8ECA[];
const extern u8 gUnknown_081C41A5;
const extern u8 gUnknown_081C4199;