summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTal Hayon <talhayon1@gmail.com>2022-04-18 16:33:58 +0300
committerTal Hayon <talhayon1@gmail.com>2022-04-18 16:33:58 +0300
commit0700c0e13f308feab8661ff8914d2dd382cb607b (patch)
tree7330e327f93b93e7743d2d57f43ca24190c7372f
parent534fc194a54d5cc4d585f9872cc61f2e30fc7a42 (diff)
Put const data in manager12
-rw-r--r--assets/assets.json114
-rw-r--r--data/const/manager/manager12.s49
-rw-r--r--linker.ld2
-rw-r--r--src/main.c4
-rw-r--r--src/manager/manager12.c63
5 files changed, 44 insertions, 188 deletions
diff --git a/assets/assets.json b/assets/assets.json
index f9017dbd..d77119a5 100644
--- a/assets/assets.json
+++ b/assets/assets.json
@@ -32289,120 +32289,6 @@
}
},
{
- "path": "manager12/gUnk_08108398.bin",
- "start": 1082264,
- "size": 22
- },
- {
- "path": "manager12/gUnk_081083AE.bin",
- "start": 1082286,
- "size": 22
- },
- {
- "path": "manager12/gUnk_081083C4.bin",
- "start": 1082308,
- "size": 22
- },
- {
- "path": "manager12/gUnk_081083DA.bin",
- "start": 1082330,
- "size": 24
- },
- {
- "path": "manager12/gUnk_081083F2.bin",
- "start": 1082354,
- "size": 22
- },
- {
- "path": "manager12/gUnk_08108408_EU.bin",
- "variants": [
- "EU"
- ],
- "starts": {
- "EU": 1080156
- },
- "size": 60
- },
- {
- "path": "manager12/gUnk_08108408_1_USA-JP-DEMO_USA-DEMO_JP.bin",
- "variants": [
- "USA",
- "JP",
- "DEMO_USA",
- "DEMO_JP"
- ],
- "start": 1082376,
- "size": 60
- },
- {
- "path": "manager12/gUnk_08108408_2_EU.bin",
- "variants": [
- "EU"
- ],
- "starts": {
- "EU": 1080216
- },
- "size": 36
- },
- {
- "path": "manager12/gUnk_08108408_3_USA-JP-DEMO_USA-DEMO_JP.bin",
- "variants": [
- "USA",
- "JP",
- "DEMO_USA",
- "DEMO_JP"
- ],
- "start": 1082436,
- "size": 36
- },
- {
- "path": "manager12/gUnk_08108468_EU.bin",
- "variants": [
- "EU"
- ],
- "starts": {
- "EU": 1080252
- },
- "size": 38
- },
- {
- "path": "manager12/gUnk_08108468_1_USA-JP-DEMO_USA-DEMO_JP.bin",
- "variants": [
- "USA",
- "JP",
- "DEMO_USA",
- "DEMO_JP"
- ],
- "start": 1082472,
- "size": 38
- },
- {
- "path": "manager12/gUnk_08108468_2_EU.bin",
- "variants": [
- "EU"
- ],
- "starts": {
- "EU": 1080290
- },
- "size": 53
- },
- {
- "path": "manager12/gUnk_08108468_3_USA-JP-DEMO_USA-DEMO_JP.bin",
- "variants": [
- "USA",
- "JP",
- "DEMO_USA",
- "DEMO_JP"
- ],
- "start": 1082510,
- "size": 53
- },
- {
- "path": "manager12/gUnk_08108468_4.bin",
- "start": 1082563,
- "size": 5
- },
- {
"path": "manager13/gUnk_081084C8.bin",
"start": 1082568,
"size": 104
diff --git a/data/const/manager/manager12.s b/data/const/manager/manager12.s
deleted file mode 100644
index b25916f7..00000000
--- a/data/const/manager/manager12.s
+++ /dev/null
@@ -1,49 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2
-
-gUnk_08108398:: @ 08108398
- .incbin "manager12/gUnk_08108398.bin"
-
-gUnk_081083AE:: @ 081083AE
- .incbin "manager12/gUnk_081083AE.bin"
-
-gUnk_081083C4:: @ 081083C4
- .incbin "manager12/gUnk_081083C4.bin"
-
-gUnk_081083DA:: @ 081083DA
- .incbin "manager12/gUnk_081083DA.bin"
-
-gUnk_081083F2:: @ 081083F2
- .incbin "manager12/gUnk_081083F2.bin"
-
-gUnk_08108408:: @ 08108408
-.ifdef EU
- @ TODO only small differences
- .incbin "manager12/gUnk_08108408_EU.bin"
-.else
- .incbin "manager12/gUnk_08108408_1_USA-JP-DEMO_USA-DEMO_JP.bin"
-.endif
-.ifdef EU
- @ TODO only small differences
- .incbin "manager12/gUnk_08108408_2_EU.bin"
-.else
- .incbin "manager12/gUnk_08108408_3_USA-JP-DEMO_USA-DEMO_JP.bin"
-.endif
-
-gUnk_08108468:: @ 08108468
-.ifdef EU
- @ TODO only small differences
- .incbin "manager12/gUnk_08108468_EU.bin"
-.else
- .incbin "manager12/gUnk_08108468_1_USA-JP-DEMO_USA-DEMO_JP.bin"
-.endif
-.ifdef EU
- @ TODO only small differences
- .incbin "manager12/gUnk_08108468_2_EU.bin"
-.else
- .incbin "manager12/gUnk_08108468_3_USA-JP-DEMO_USA-DEMO_JP.bin"
-.endif
- .incbin "manager12/gUnk_08108468_4.bin"
diff --git a/linker.ld b/linker.ld
index 305e9e45..0423a30b 100644
--- a/linker.ld
+++ b/linker.ld
@@ -1119,7 +1119,7 @@ SECTIONS {
src/manager/managerD.o(.rodata);
src/manager/managerF.o(.rodata);
src/manager/manager10.o(.rodata);
- data/const/manager/manager12.o(.rodata);
+ src/manager/manager12.o(.rodata);
data/const/manager/manager13.o(.rodata);
src/manager/manager14.o(.rodata);
data/const/manager/manager15.o(.rodata);
diff --git a/src/main.c b/src/main.c
index b05555a5..1fa74dcd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -279,8 +279,8 @@ u32 CheckRegionOnScreen(u32 x0, u32 y0, u32 x1, u32 y1) {
}
// Iterate over array of AABBs and check if any fit on screen
-u16 CheckRegionsOnScreen(u16* arr) {
- u16* i;
+u16 CheckRegionsOnScreen(const u16* arr) {
+ const u16* i;
for (i = arr; *i != 0xff; i += 5) {
if (CheckRegionOnScreen(i[1], i[2], i[3], i[4]))
return *i;
diff --git a/src/manager/manager12.c b/src/manager/manager12.c
index 9bc1eb23..0f947039 100644
--- a/src/manager/manager12.c
+++ b/src/manager/manager12.c
@@ -13,20 +13,19 @@ typedef struct {
} Manager12;
void sub_08059A58(Manager12*);
-
void sub_08059A2C(Manager12*);
+u32 CheckRegionsOnScreen(const u16* arr);
-u32 CheckRegionsOnScreen(u16* arr);
-extern u16 gUnk_081083DA;
-extern u16 gUnk_081083F2;
-extern u16 gUnk_08108398;
-extern u16 gUnk_081083AE;
-extern u16 gUnk_081083C4;
+static const u16 gUnk_08108398[] = { 0x0, 0x0, 0x0, 0x3f0, 0x200, 0x1, 0x0, 0x280, 0x3f0, 0x140, 0xff };
+static const u16 gUnk_081083AE[] = { 0x2, 0x0, 0x0, 0x180, 0x3c0, 0x3, 0x280, 0x0, 0x170, 0x3c0, 0xff };
+static const u16 gUnk_081083C4[] = { 0x5, 0x130, 0x1b0, 0x190, 0x140, 0x4, 0x0, 0x0, 0x3f0, 0x3c0, 0xff };
+static const u16 gUnk_081083DA[] = { 0x0, 0x0, 0x0, 0x190, 0x1d0, 0x1, 0x0, 0x2a0, 0x190, 0x120, 0xff, 0xff };
+static const u16 gUnk_081083F2[] = { 0x5, 0x0, 0x1b0, 0x190, 0x140, 0x4, 0x0, 0x0, 0x190, 0x3c0, 0xff };
void sub_08059CC0(u32, u32);
void sub_08059B18(void);
-bool32 sub_08059C8C(Manager12*, u32, u8*, u16*);
+bool32 sub_08059C8C(Manager12*, u32, u8*, const u16*);
extern u32 gUnk_086E8460;
@@ -37,8 +36,28 @@ typedef struct {
u32 field_0xc;
} Unknown;
-extern Unknown gUnk_08108468[];
-extern Unknown gUnk_08108408[];
+static const Unknown gUnk_08108408[] = {
+#ifdef EU
+ { 0x139860, 0x6000000, 0x13f860, 0x6008000 }, { 0x13c860, 0x6000000, 0x142860, 0x6008000 },
+ { 0x13a860, 0x6001000, 0x140860, 0x6009000 }, { 0x13d860, 0x6001000, 0x143860, 0x6009000 },
+ { 0x13b860, 0x6002000, 0x141860, 0x600a000 }, { 0x13e860, 0x6002000, 0x144860, 0x600a000 }
+#else
+ { 0x1395e0, 0x6000000, 0x13f5e0, 0x6008000 }, { 0x13c5e0, 0x6000000, 0x1425e0, 0x6008000 },
+ { 0x13a5e0, 0x6001000, 0x1405e0, 0x6009000 }, { 0x13d5e0, 0x6001000, 0x1435e0, 0x6009000 },
+ { 0x13b5e0, 0x6002000, 0x1415e0, 0x600a000 }, { 0x13e5e0, 0x6002000, 0x1445e0, 0x600a000 }
+#endif
+};
+static const Unknown gUnk_08108468[] = {
+#ifdef EU
+ { 0x146060, 0x6000000, 0x14c060, 0x6008000 }, { 0x149060, 0x6000000, 0x14f060, 0x6008000 },
+ { 0x147060, 0x6001000, 0x14d060, 0x6009000 }, { 0x14a060, 0x6001000, 0x150060, 0x6009000 },
+ { 0x148060, 0x6002000, 0x14e060, 0x600a000 }, { 0x14b060, 0x6002000, 0x151060, 0x600a000 },
+#else
+ { 0x145de0, 0x6000000, 0x14bde0, 0x6008000 }, { 0x148de0, 0x6000000, 0x14ede0, 0x6008000 },
+ { 0x146de0, 0x6001000, 0x14cde0, 0x6009000 }, { 0x149de0, 0x6001000, 0x14fde0, 0x6009000 },
+ { 0x147de0, 0x6002000, 0x14dde0, 0x600a000 }, { 0x14ade0, 0x6002000, 0x150de0, 0x600a000 },
+#endif
+};
extern const u8 gGlobalGfxAndPalettes[];
void Manager12_Main(Manager12* this) {
@@ -65,23 +84,23 @@ void sub_08059A2C(Manager12* this) {
void sub_08059A58(Manager12* this) {
if (gRoomControls.area != AREA_FESTIVAL_TOWN) {
- if (sub_08059C8C(this, 0, &this->field_0x20, &gUnk_08108398) != 0) {
+ if (sub_08059C8C(this, 0, &this->field_0x20, gUnk_08108398) != 0) {
sub_08059CC0(0, (u32)this->field_0x20);
}
- if (sub_08059C8C(this, 1, &this->field_0x21, &gUnk_081083AE) != 0) {
+ if (sub_08059C8C(this, 1, &this->field_0x21, gUnk_081083AE) != 0) {
sub_08059CC0(1, this->field_0x21);
if (this->field_0x21 == 2) {
sub_08059B18();
}
}
- if (sub_08059C8C(this, 2, &this->field_0x22, &gUnk_081083C4) != 0) {
+ if (sub_08059C8C(this, 2, &this->field_0x22, gUnk_081083C4) != 0) {
sub_08059CC0(2, (u32)this->field_0x22);
}
} else {
- if (sub_08059C8C(this, 0, &this->field_0x20, &gUnk_081083DA) != 0) {
+ if (sub_08059C8C(this, 0, &this->field_0x20, gUnk_081083DA) != 0) {
sub_08059CC0(0, (u32)this->field_0x20);
}
- if (sub_08059C8C(this, 2, &this->field_0x22, &gUnk_081083F2) != 0) {
+ if (sub_08059C8C(this, 2, &this->field_0x22, gUnk_081083F2) != 0) {
sub_08059CC0(2, (u32)this->field_0x22);
}
}
@@ -125,7 +144,7 @@ void sub_08059B18(void) {
}
}
-bool32 sub_08059C8C(Manager12* this, u32 param_2, u8* param_3, u16* param_4) {
+bool32 sub_08059C8C(Manager12* this, u32 param_2, u8* param_3, const u16* param_4) {
bool32 bVar2;
*param_3 = CheckRegionsOnScreen(param_4);
@@ -138,7 +157,7 @@ bool32 sub_08059C8C(Manager12* this, u32 param_2, u8* param_3, u16* param_4) {
}
void sub_08059CC0(u32 param_1, u32 param_2) {
- Unknown* unknown;
+ const Unknown* unknown;
gRoomVars.unk_10[param_1] = param_2;
if (gRoomControls.area != AREA_FESTIVAL_TOWN) {
@@ -154,24 +173,24 @@ void TryLoadPrologueHyruleTown(void) {
u32 tmp;
if (gRoomControls.area != AREA_FESTIVAL_TOWN) {
- tmp = CheckRegionsOnScreen(&gUnk_08108398);
+ tmp = CheckRegionsOnScreen(gUnk_08108398);
if (tmp != 0xff) {
sub_08059CC0(0, tmp);
}
- tmp = CheckRegionsOnScreen(&gUnk_081083AE);
+ tmp = CheckRegionsOnScreen(gUnk_081083AE);
if ((tmp != 0xff) && (sub_08059CC0(1, tmp), tmp == 2)) {
sub_08059B18();
}
- tmp = CheckRegionsOnScreen(&gUnk_081083C4);
+ tmp = CheckRegionsOnScreen(gUnk_081083C4);
if (tmp != 0xff) {
sub_08059CC0(2, tmp);
}
} else {
- tmp = CheckRegionsOnScreen(&gUnk_081083DA);
+ tmp = CheckRegionsOnScreen(gUnk_081083DA);
if (tmp != 0xff) {
sub_08059CC0(0, tmp);
}
- tmp = CheckRegionsOnScreen(&gUnk_081083F2);
+ tmp = CheckRegionsOnScreen(gUnk_081083F2);
if (tmp != 0xff) {
sub_08059CC0(2, tmp);
}