From 93d274828bb6efea08e0ef451ec2a832d4cfc8f0 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Tue, 19 Sep 2017 23:49:38 -0500 Subject: decompile the monster that is sub_807CEBC --- src/field_weather.c | 154 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 131 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 5ff2eddf9..366d57824 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -4,11 +4,15 @@ #include "sprite.h" #include "task.h" +#define MACRO1(a) ((((a) >> 1) & 0xF) | (((a) >> 2) & 0xF0) | (((a) >> 3) & 0xF00)) + struct Weather { u8 filler_000[0x200]; u8 unknown_200[2][32]; - u8 filler_240[0x480]; + u8 filler_240[0x460-0x240]; + u8 unk460[2][32]; + u8 filler4A0[0x6C0-0x4A0]; s8 unknown_6C0; s8 unknown_6C1; u8 unknown_6C2; @@ -184,26 +188,18 @@ void sub_807CB10(void) for (v0 = 0; v0 <= 1; v0++) { if (v0 == 0) - { v1 = &gUnknown_0202F9E8; - } else - { v1 = &gUnknown_0202F9E8 + 19; - } + for (v2 = 0; (u16)v2 <= 0x1f; v2++) { v4 = v2 << 8; if (v0 == 0) - { v5 = (v2 << 8) / 16; - } else - { v5 = 0; - } - v6 = 0; - for (; v6 <= 2; v6++) + for (v6 = 0; v6 <= 2; v6++) { v4 = (v4 - v5); v1[v6][v2] = v4 >> 8; @@ -260,13 +256,9 @@ void sub_807CC24(void) { gWeather.unknown_6C3 = 0; if (gWeather.unknown_6C0 < gWeather.unknown_6C1) - { gWeather.unknown_6C0++; - } else - { gWeather.unknown_6C0--; - } sub_807CEBC(0, 0x20, gWeather.unknown_6C0); } } @@ -275,9 +267,7 @@ void sub_807CC24(void) void sub_807CCAC(void) { if (++gWeather.unknown_6CB > 1) - { gWeather.unknown_6CA = 0; - } switch (gWeather.unknown_6D0) { case 3: @@ -322,9 +312,7 @@ void sub_807CCAC(void) u8 sub_807CDC4(void) { if (gWeather.unknown_6C7 == 0x10) - { return 0; - } if (++gWeather.unknown_6C7 >= 0x10) { sub_807CEBC(0, 0x20, 3); @@ -338,9 +326,7 @@ u8 sub_807CDC4(void) u8 sub_807CE24(void) { if (gWeather.unknown_6C7 == 0x10) - { return 0; - } if (++gWeather.unknown_6C7 >= 0x10) { sub_807CEBC(0, 0x20, -6); @@ -354,9 +340,7 @@ u8 sub_807CE24(void) u8 sub_807CE7C(void) { if (gWeather.unknown_6C7 == 0x10) - { return 0; - } ++gWeather.unknown_6C7; sub_807D424(0x10 - gWeather.unknown_6C7, gWeather.unknown_6C4); return 1; @@ -365,3 +349,127 @@ u8 sub_807CE7C(void) void nullsub_39(void) { } + +struct RGBColor +{ + u16 r:5; + u16 g:5; + u16 b:5; +}; + +extern u8 ewram[]; + +struct Struct2000000 +{ + u16 data[0][0x1000]; // unknown length +}; + +#define ewram0 (*(struct Struct2000000 *)ewram) + +void sub_807CEBC(u8 a, u8 b, s8 c) +{ + u16 r4; + u16 r5; + u8 *r6; + u16 r7; + + if (c > 0) + { + c = c - 1; + r5 = a * 16; + b += a; + r4 = a; + while (r4 < b) + { + if (gUnknown_030006DC[r4] == 0) + { + CpuFastCopy(gPlttBufferUnfaded + r5, gPlttBufferFaded + r5, 16 * sizeof(u16)); + r5 += 16; + } + else + { + u8 r, g, b; + + if (gUnknown_030006DC[r4] == 2 || r4 - 16 == gUnknown_0202F7E8.unknown_6D5) + r6 = gUnknown_0202F7E8.unk460[c]; + else + r6 = gUnknown_0202F7E8.unknown_200[c]; + if (r4 == 16 || r4 > 0x1B) + { + for (r7 = 0; r7 < 16; r7++) + { + if (gPlttBufferUnfaded[r5] == 0x2D9F) + { + r5++; + } + else + { + struct RGBColor r1 = *(struct RGBColor *)&gPlttBufferUnfaded[r5]; + r = r6[r1.r]; + g = r6[r1.g]; + b = r6[r1.b]; + + gPlttBufferFaded[r5++] = (b << 10) | (g << 5) | r; + } + } + } + else + { + for (r7 = 0; r7 < 16; r7++) + { + struct RGBColor r1 = *(struct RGBColor *)&gPlttBufferUnfaded[r5]; + r = r6[r1.r]; + g = r6[r1.g]; + b = r6[r1.b]; + + gPlttBufferFaded[r5++] = (b << 10) | (g << 5) | r; + } + } + } + r4++; + } + } + else + { + if (c < 0) + { + c = -c - 1; + r5 = a * 16; + b += a; + r4 = a; + while (r4 < b) + { + if (gUnknown_030006DC[r4] == 0) + { + CpuFastCopy(gPlttBufferUnfaded + r5, gPlttBufferFaded + r5, 16 * sizeof(u16)); + r5 += 16; + } + else + { + if (r4 == 16 || r4 > 0x1B) + { + for (r7 = 0; r7 < 16; r7++) + { + if (gPlttBufferUnfaded[r5] != 0x2D9F) + gPlttBufferFaded[r5] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[r5])]; + r5++; + } + } + else + { + for (r7 = 0; r7 < 16; r7++) + { + gPlttBufferFaded[r5] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[r5])]; + r5++; + } + } + } + r4++; + } + } + else + { + CpuFastCopy(gPlttBufferUnfaded + a * 16, gPlttBufferFaded + a * 16, b * 16 * sizeof(u16)); + } + } +} -- cgit v1.2.3 From 1f74ac11c84c3e62854effebe5eda240991567f2 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 20 Sep 2017 11:12:52 -0500 Subject: decompile sub_807D1BC --- src/field_weather.c | 147 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 97 insertions(+), 50 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 366d57824..8807362e2 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -1,4 +1,5 @@ #include "global.h" +#include "blend_palette.h" #include "field_weather.h" #include "palette.h" #include "sprite.h" @@ -61,8 +62,9 @@ extern u8 (*gUnknown_08396FC8[][4])(void); extern u8 (*gUnknown_083970B8[])(void); extern u8 *gUnknown_030006DC; extern u8 gUnknown_083970C8; -extern u8 (*gUnknown_0202FC48)[32]; -extern u8 gUnknown_0202F9E8[32]; +//extern u8 (*gUnknown_0202FC48)[32]; +extern u8 gUnknown_0202FC48[][32]; +extern u8 gUnknown_0202F9E8[][32]; void sub_807C828(void) @@ -188,9 +190,10 @@ void sub_807CB10(void) for (v0 = 0; v0 <= 1; v0++) { if (v0 == 0) - v1 = &gUnknown_0202F9E8; + v1 = (void *)&gUnknown_0202F9E8; else - v1 = &gUnknown_0202F9E8 + 19; + //v1 = (void *)(&gUnknown_0202F9E8 + 19); + v1 = &gUnknown_0202F9E8[19]; for (v2 = 0; (u16)v2 <= 0x1f; v2++) { @@ -369,22 +372,22 @@ struct Struct2000000 void sub_807CEBC(u8 a, u8 b, s8 c) { u16 r4; - u16 r5; + u16 palOffset; u8 *r6; - u16 r7; + u16 i; if (c > 0) { c = c - 1; - r5 = a * 16; + palOffset = a * 16; b += a; r4 = a; while (r4 < b) { if (gUnknown_030006DC[r4] == 0) { - CpuFastCopy(gPlttBufferUnfaded + r5, gPlttBufferFaded + r5, 16 * sizeof(u16)); - r5 += 16; + CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); + palOffset += 16; } else { @@ -396,80 +399,124 @@ void sub_807CEBC(u8 a, u8 b, s8 c) r6 = gUnknown_0202F7E8.unknown_200[c]; if (r4 == 16 || r4 > 0x1B) { - for (r7 = 0; r7 < 16; r7++) + for (i = 0; i < 16; i++) { - if (gPlttBufferUnfaded[r5] == 0x2D9F) + if (gPlttBufferUnfaded[palOffset] == 0x2D9F) { - r5++; + palOffset++; } else { - struct RGBColor r1 = *(struct RGBColor *)&gPlttBufferUnfaded[r5]; - r = r6[r1.r]; - g = r6[r1.g]; - b = r6[r1.b]; + struct RGBColor color = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; - gPlttBufferFaded[r5++] = (b << 10) | (g << 5) | r; + r = r6[color.r]; + g = r6[color.g]; + b = r6[color.b]; + gPlttBufferFaded[palOffset++] = (b << 10) | (g << 5) | r; } } } else { - for (r7 = 0; r7 < 16; r7++) + for (i = 0; i < 16; i++) { - struct RGBColor r1 = *(struct RGBColor *)&gPlttBufferUnfaded[r5]; - r = r6[r1.r]; - g = r6[r1.g]; - b = r6[r1.b]; + struct RGBColor color = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; - gPlttBufferFaded[r5++] = (b << 10) | (g << 5) | r; + r = r6[color.r]; + g = r6[color.g]; + b = r6[color.b]; + gPlttBufferFaded[palOffset++] = (b << 10) | (g << 5) | r; } } } r4++; } } - else + else if (c < 0) { - if (c < 0) + c = -c - 1; + palOffset = a * 16; + b += a; + r4 = a; + while (r4 < b) { - c = -c - 1; - r5 = a * 16; - b += a; - r4 = a; - while (r4 < b) + if (gUnknown_030006DC[r4] == 0) { - if (gUnknown_030006DC[r4] == 0) + CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16)); + palOffset += 16; + } + else + { + if (r4 == 16 || r4 > 0x1B) { - CpuFastCopy(gPlttBufferUnfaded + r5, gPlttBufferFaded + r5, 16 * sizeof(u16)); - r5 += 16; + for (i = 0; i < 16; i++) + { + if (gPlttBufferUnfaded[palOffset] != 0x2D9F) + gPlttBufferFaded[palOffset] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[palOffset])]; + palOffset++; + } } else { - if (r4 == 16 || r4 > 0x1B) + for (i = 0; i < 16; i++) { - for (r7 = 0; r7 < 16; r7++) - { - if (gPlttBufferUnfaded[r5] != 0x2D9F) - gPlttBufferFaded[r5] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[r5])]; - r5++; - } - } - else - { - for (r7 = 0; r7 < 16; r7++) - { - gPlttBufferFaded[r5] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[r5])]; - r5++; - } + gPlttBufferFaded[palOffset] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[palOffset])]; + palOffset++; } } - r4++; } + r4++; + } + } + else + { + CpuFastCopy(gPlttBufferUnfaded + a * 16, gPlttBufferFaded + a * 16, b * 16 * sizeof(u16)); + } +} + +void sub_807D1BC(u8 a1, u8 a2, s8 c, u8 d, u16 e) +{ + u16 palOffset; + u16 r4; + u16 i; + struct RGBColor color = *(struct RGBColor *)&e; + u8 r_ = color.r; + u8 g_ = color.g; + u8 b_ = color.b; + + palOffset = a1 * 16; + a2 += a1; + c = c - 1; + r4 = a1; + while (r4 < a2) + { + if (gUnknown_030006DC[r4] == 0) + { + BlendPalette(palOffset, 16, d, e); + palOffset += 16; } else { - CpuFastCopy(gPlttBufferUnfaded + a * 16, gPlttBufferFaded + a * 16, b * 16 * sizeof(u16)); + u8 *r5; + + if (gUnknown_030006DC[r4] == 1) + r5 = gUnknown_0202F9E8[c]; + else + r5 = gUnknown_0202FC48[c]; + + for (i = 0; i < 16; i++) + { + struct RGBColor color = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset]; + u8 r = r5[color.r]; + u8 g = r5[color.g]; + u8 b = r5[color.b]; + + r += ((r_ - r) * d) >> 4; + g += ((g_ - g) * d) >> 4; + b += ((b_ - b) * d) >> 4; + gPlttBufferFaded[palOffset++] = (b << 10) | (g << 5) | r; + } } + r4++; } } -- cgit v1.2.3 From d81ba931cc138074187924a5d3e88bb0a619f9f5 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 20 Sep 2017 19:57:57 -0500 Subject: decompile sub_807D304 --- src/field_weather.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 8807362e2..9460110be 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -192,7 +192,6 @@ void sub_807CB10(void) if (v0 == 0) v1 = (void *)&gUnknown_0202F9E8; else - //v1 = (void *)(&gUnknown_0202F9E8 + 19); v1 = &gUnknown_0202F9E8[19]; for (v2 = 0; (u16)v2 <= 0x1f; v2++) @@ -502,7 +501,7 @@ void sub_807D1BC(u8 a1, u8 a2, s8 c, u8 d, u16 e) if (gUnknown_030006DC[r4] == 1) r5 = gUnknown_0202F9E8[c]; else - r5 = gUnknown_0202FC48[c]; + r5 = gUnknown_0202F9E8[c + 19]; for (i = 0; i < 16; i++) { @@ -520,3 +519,57 @@ void sub_807D1BC(u8 a1, u8 a2, s8 c, u8 d, u16 e) r4++; } } + +void sub_807D304(s8 a, u8 arg2, u16 c) +{ + struct RGBColor color; + u8 r_; + u8 g_; + u8 b_; + u16 r4; + u16 r5; + u16 r12; + + a = -a - 1; + color = *(struct RGBColor *)&c; + r_ = color.r; + g_ = color.g; + b_ = color.b; + r5 = 0; + for (r4 = 0; r4 < 32; r4++) + { + if (gUnknown_030006DC[r4] == 0) + { + BlendPalette(r5, 16, arg2, c); + r5 += 16; + } + else + { + for (r12 = 0; r12 < 16; r12++) + { + u32 offset; + struct RGBColor color1; + struct RGBColor color2; + u8 r1, g1, b1; + u8 r2, g2, b2; + + color1 = *(struct RGBColor *)&gPlttBufferUnfaded[r5]; + r1 = color1.r; + g1 = color1.g; + b1 = color1.b; + + offset = ((b1 & 0x1E) << 7) | ((g1 & 0x1E) << 3) | ((r1 & 0x1E) >> 1); + color2 = *(struct RGBColor *)&ewram0.data[a][offset]; + r2 = color2.r; + g2 = color2.g; + b2 = color2.b; + + r2 += ((r_ - r2) * arg2) >> 4; + g2 += ((g_ - g2) * arg2) >> 4; + b2 += ((b_ - b2) * arg2) >> 4; + + gPlttBufferFaded[r5++] = (b2 << 10) | (g2 << 5) | r2; + } + } + } +} -- cgit v1.2.3 From 8fe982335e26911dcb6842d27c3d6bd5cd74c292 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Thu, 21 Sep 2017 13:00:04 -0500 Subject: decompile sub_807D424 - sub_807DBE8 --- src/field_weather.c | 413 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 399 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 9460110be..9dc2560cc 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -4,6 +4,7 @@ #include "palette.h" #include "sprite.h" #include "task.h" +#include "trig.h" #define MACRO1(a) ((((a) >> 1) & 0xF) | (((a) >> 2) & 0xF0) | (((a) >> 3) & 0xF00)) @@ -13,7 +14,9 @@ struct Weather u8 unknown_200[2][32]; u8 filler_240[0x460-0x240]; u8 unk460[2][32]; - u8 filler4A0[0x6C0-0x4A0]; + u8 filler4A0[0x6B6-0x4A0]; + s8 unknown_6B6; + u8 filler_6B7[0xC0-0xB7]; s8 unknown_6C0; s8 unknown_6C1; u8 unknown_6C2; @@ -41,7 +44,8 @@ struct Weather u8 unknown_6DE; u8 filler_6DF[5]; u8 unknown_6E4; - u8 filler_6E5[0x15]; + u8 filler_6E5[0xF]; + u8 unknown_6F4[6]; u8 unknown_6FA; u8 unknown_6FB; u8 filler_6FC[4]; @@ -53,18 +57,34 @@ struct Weather u8 unknown_724; u8 filler_725[9]; u8 unknown_72E; + u8 filler_72F; + u16 unknown_730; + u16 unknown_732; + u16 unknown_734; + u16 unknown_736; + u8 unknown_738; + u8 unknown_739; + u8 unknown_73A; + u8 filler_73B[0x3C-0x3B]; + s16 unknown_73C; + s16 unknown_73E; + s16 unknown_740; + s16 unknown_742; + u8 filler_744[0xD-4]; + s8 unknown_74D; + u8 unknown_74E; }; #define gWeather gUnknown_0202F7E8 -extern struct Weather gWeather; +extern struct Weather gUnknown_0202F7E8; +extern u16 gUnknown_0202FF58; extern u8 *gUnknown_083970E8; extern u8 (*gUnknown_08396FC8[][4])(void); extern u8 (*gUnknown_083970B8[])(void); extern u8 *gUnknown_030006DC; extern u8 gUnknown_083970C8; -//extern u8 (*gUnknown_0202FC48)[32]; -extern u8 gUnknown_0202FC48[][32]; -extern u8 gUnknown_0202F9E8[][32]; + +extern const u8 *const gUnknown_08396FA8[]; void sub_807C828(void) @@ -176,7 +196,7 @@ u32 sub_807CB0C(void) void sub_807CB10(void) { u16 v0; - u8(*v1)[32]; + u8 (*v1)[32]; u16 v2; u16 v4; u16 v5; @@ -190,9 +210,9 @@ void sub_807CB10(void) for (v0 = 0; v0 <= 1; v0++) { if (v0 == 0) - v1 = (void *)&gUnknown_0202F9E8; + v1 = gWeather.unknown_200; else - v1 = &gUnknown_0202F9E8[19]; + v1 = gWeather.unk460; for (v2 = 0; (u16)v2 <= 0x1f; v2++) { @@ -392,10 +412,10 @@ void sub_807CEBC(u8 a, u8 b, s8 c) { u8 r, g, b; - if (gUnknown_030006DC[r4] == 2 || r4 - 16 == gUnknown_0202F7E8.unknown_6D5) - r6 = gUnknown_0202F7E8.unk460[c]; + if (gUnknown_030006DC[r4] == 2 || r4 - 16 == gWeather.unknown_6D5) + r6 = gWeather.unk460[c]; else - r6 = gUnknown_0202F7E8.unknown_200[c]; + r6 = gWeather.unknown_200[c]; if (r4 == 16 || r4 > 0x1B) { for (i = 0; i < 16; i++) @@ -499,9 +519,9 @@ void sub_807D1BC(u8 a1, u8 a2, s8 c, u8 d, u16 e) u8 *r5; if (gUnknown_030006DC[r4] == 1) - r5 = gUnknown_0202F9E8[c]; + r5 = gWeather.unknown_200[c]; else - r5 = gUnknown_0202F9E8[c + 19]; + r5 = gWeather.unk460[c]; for (i = 0; i < 16; i++) { @@ -573,3 +593,368 @@ void sub_807D304(s8 a, u8 arg2, u16 c) } } } + +bool8 sub_807D574(u8); + +void sub_807D424(u8 a, u16 b) +{ + struct RGBColor color; + u8 r_; + u8 g_; + u8 b_; + u16 r4; + + BlendPalette(0, 0x100, a, b); + color = *(struct RGBColor *)&b; + r_ = color.r; + g_ = color.g; + b_ = color.b; + + r4 = 16; + while (r4 < 32) + { + if (sub_807D574(r4)) + { + u16 r12 = (r4 + 1) * 16; + u16 r6 = r4 * 16; + + while (r6 < r12) + { + struct RGBColor color = *(struct RGBColor *)&gPlttBufferUnfaded[r6]; + u8 r = color.r; + u8 g = color.g; + u8 b = color.b; + + r += ((28 - r) * 3) >> 2; + g += ((31 - g) * 3) >> 2; + b += ((28 - b) * 3) >> 2; + + r += ((r_ - r) * a) >> 4; + g += ((g_ - g) * a) >> 4; + b += ((b_ - b) * a) >> 4; + + gPlttBufferFaded[r6] = (b << 10) | (g << 5) | r; + r6++; + } + } + else + { + BlendPalette(r4 * 16, 16, a, b); + } + r4++; + } +} + +void sub_807D540(u8 a) +{ + if (gWeather.unknown_6FA < 6) + { + gWeather.unknown_6F4[gWeather.unknown_6FA] = a; + gWeather.unknown_6FA++; + } +} + +bool8 sub_807D574(u8 a) +{ + u16 i; + + for (i = 0; i < gWeather.unknown_6FA; i++) + { + if (gWeather.unknown_6F4[i] == a) + return TRUE; + } + return FALSE; +} + +void sub_807D5BC(s8 a) +{ + if (gWeather.unknown_6C6 == 3) + { + sub_807CEBC(0, 32, a); + gWeather.unknown_6C0 = a; + } +} + +void sub_807D5F0(u8 a, u8 b, u8 c) +{ + if (gWeather.unknown_6C6 == 3) + { + gWeather.unknown_6C6 = 0; + gWeather.unknown_6C0 = a; + gWeather.unknown_6C1 = b; + gWeather.unknown_6C3 = 0; + gWeather.unknown_6C2 = c; + sub_807D5BC(a); + } +} + +void fade_screen(u8 a, u8 b) +{ + u32 r4; + u32 r1; + u32 r2; + + switch (a) + { + case 0: + r4 = 0; + r1 = 0; + break; + case 2: + r4 = 0xFFFF; + r1 = 0; + break; + case 1: + r4 = 0; + r1 = 1; + break; + case 3: + r4 = 0xFFFF; + r1 = 1; + break; + default: + return; + } + + switch (gWeather.unknown_6D0) + { + case 3: + case 4: + case 5: + case 6: + case 11: + case 12: + case 13: + r2 = 1; + break; + default: + r2 = 0; + break; + } + + if (r1 != 0) + { + if (r2 != 0) + CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + BeginNormalPaletteFade(0xFFFFFFFF, b, 0, 16, r4); + gWeather.unknown_6C6 = 2; + } + else + { + gWeather.unknown_6C4 = r4; + if (r2 != 0) + gWeather.unknown_6C7 = 0; + else + BeginNormalPaletteFade(0xFFFFFFFF, b, 16, 0, r4); + gWeather.unknown_6C6 = 1; + gWeather.unknown_6CA = 1; + gWeather.unknown_6CB = 0; + sub_807DB64(gWeather.unknown_730, gWeather.unknown_732); + gWeather.unknown_6C8 = 1; + } +} + +bool8 sub_807D770(void) +{ + return gWeather.unknown_6C6 ^ 1 ? TRUE : FALSE; +} + +void sub_807D78C(u8 a) +{ + u16 r4 = 16 + a; + u16 i; + + switch (gWeather.unknown_6C6) + { + case 1: + if (gWeather.unknown_6CA != 0) + { + if (gWeather.unknown_6D0 == 6) + sub_807D540(r4); + r4 *= 16; + for (i = 0; i < 16; i++) + gPlttBufferFaded[r4 + i] = gWeather.unknown_6C4; + } + break; + case 2: + r4 *= 16; + CpuFastCopy(gPlttBufferFaded + r4, gPlttBufferUnfaded + r4, 32); + BlendPalette(r4, 16, gPaletteFade.y, gPaletteFade.blendColor); + break; + default: + if (gWeather.unknown_6D0 != 6) + { + sub_807CEBC(r4, 1, gWeather.unknown_6C0); + } + else + { + r4 *= 16; + BlendPalette(r4, 16, 12, 0x73FC); + } + break; + } +} + +void sub_807D874(u8 a) +{ + sub_807CEBC(a, 1, gWeather.unknown_6C0); +} + +u8 unref_sub_807D894(void) +{ + if (gWeather.unknown_6C6 == 1) + return gWeather.unknown_6CA; + else + return 0; +} + +void sub_807D8C0(const u16 *palette) +{ + LoadPalette(palette, 0x100 + gWeather.unknown_6D4 * 16, 32); + sub_807D78C(gWeather.unknown_6D4); +} + +void sub_807D8F0(u8 *a, u8 *b) +{ + u8 r4 = *a; + u16 i; + + if (r4 < 7) + { + r4--; + LZ77UnCompWram(gUnknown_08396FA8[r4], ewram0.data[r4]); + if (r4 == 0) + { + ewram0.data[r4][0] = 0x421; + for (i = 1; i < 0x1000; i++) + ewram0.data[r4][i] += ewram0.data[r4][i - 1]; + } + else + { + for (i = 0; i < 0x1000; i++) + ewram0.data[r4][i] += ewram0.data[r4 - 1][i]; + } + (*a)++; + if (*a == 7) + { + *a = 32; + *b = 32; + } + } +} + +void sub_807D9A8(void) +{ + gWeather.unknown_74D = 1; + gWeather.unknown_74E = 1; +} + +bool8 sub_807D9C8(void) +{ + if (gWeather.unknown_74D < 32) + { + sub_807D8F0(&gWeather.unknown_74D, &gWeather.unknown_74E); + if (gWeather.unknown_74D < 32) + return TRUE; + } + return FALSE; +} + +void sub_807DA04(s8 a) +{ + sub_807D5BC(-a - 1); +} + +void sub_807DA14(void) +{ + gWeather.unknown_73C = 0; + gWeather.unknown_740 = 0; + gWeather.unknown_742 = 0; + gWeather.unknown_73E = 0; + gUnknown_0202FF58 = 5; +} + +void sub_807DA4C(void) +{ + switch (gWeather.unknown_742) + { + case 0: + if (++gWeather.unknown_740 > gUnknown_0202FF58) + { + gWeather.unknown_740 = 0; + sub_807DA04(gWeather.unknown_73C++); + if (gWeather.unknown_73C > 5) + { + gWeather.unknown_73E = gWeather.unknown_73C; + gWeather.unknown_742 = 1; + gWeather.unknown_740 = 0x3C; + } + } + break; + case 1: + gWeather.unknown_740 = (gWeather.unknown_740 + 3) & 0x7F; + gWeather.unknown_73C = ((gSineTable[gWeather.unknown_740] - 1) >> 6) + 2; + if (gWeather.unknown_73C != gWeather.unknown_73E) + sub_807DA04(gWeather.unknown_73C); + gWeather.unknown_73E = gWeather.unknown_73C; + break; + case 2: + if (++gWeather.unknown_740 > gUnknown_0202FF58) + { + gWeather.unknown_740 = 0; + sub_807DA04(--gWeather.unknown_73C); + if (gWeather.unknown_73C == 3) + gWeather.unknown_742 = 0; + } + break; + } +} + +void sub_807DB64(u8 a, u8 b) +{ + gWeather.unknown_730 = a; + gWeather.unknown_732 = b; + gWeather.unknown_734 = a; + gWeather.unknown_736 = b; + REG_BLDALPHA = (b << 8) | a; +} + +void sub_807DBA4(u8 a, u8 b, int c) +{ + gWeather.unknown_734 = a; + gWeather.unknown_736 = b; + gWeather.unknown_73A = c; + gWeather.unknown_739 = 0; + gWeather.unknown_738 = 0; +} + +bool8 sub_807DBE8(void) +{ + if (gWeather.unknown_730 == gWeather.unknown_734 + && gWeather.unknown_732 == gWeather.unknown_736) + return TRUE; + if (++gWeather.unknown_739 > gWeather.unknown_73A) + { + gWeather.unknown_739 = 0; + gWeather.unknown_738++; + if (gWeather.unknown_738 & 1) + { + if (gWeather.unknown_730 < gWeather.unknown_734) + gWeather.unknown_730++; + else if (gWeather.unknown_730 > gWeather.unknown_734) + gWeather.unknown_730--; + } + else + { + if (gWeather.unknown_732 < gWeather.unknown_736) + gWeather.unknown_732++; + else if (gWeather.unknown_732 > gWeather.unknown_736) + gWeather.unknown_732--; + } + } + REG_BLDALPHA = (gWeather.unknown_732 << 8) | gWeather.unknown_730; + if (gWeather.unknown_730 == gWeather.unknown_734 + && gWeather.unknown_732 == gWeather.unknown_736) + return TRUE; + return FALSE; +} -- cgit v1.2.3 From 61e8416b6e7d1b309b7382169c3fe47bc46f7c90 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Thu, 21 Sep 2017 15:24:12 -0500 Subject: decompile unref_sub_807DCB4 - sub_807E460 --- src/field_weather.c | 570 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 539 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 9dc2560cc..f1b4d4391 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -1,16 +1,33 @@ #include "global.h" #include "blend_palette.h" +#include "field_map_obj.h" #include "field_weather.h" #include "palette.h" +#include "script.h" +#include "songs.h" +#include "sound.h" #include "sprite.h" #include "task.h" #include "trig.h" #define MACRO1(a) ((((a) >> 1) & 0xF) | (((a) >> 2) & 0xF0) | (((a) >> 3) & 0xF00)) +struct RGBColor +{ + u16 r:5; + u16 g:5; + u16 b:5; +}; + +struct Struct2000000 +{ + u16 data[0][0x1000]; // unknown length +}; + struct Weather { - u8 filler_000[0x200]; + u8 filler_000[0x1F4]; + struct Sprite *unknown_1F4[3]; u8 unknown_200[2][32]; u8 filler_240[0x460-0x240]; u8 unk460[2][32]; @@ -28,19 +45,21 @@ struct Weather u8 unknown_6C9; u8 unknown_6CA; u8 unknown_6CB; - u8 filler_6CC[2]; + u16 unknown_6CC; u16 unknown_6CE; u8 unknown_6D0; u8 unknown_6D1; - u8 filler_6D2[1]; + u8 unknown_6D2; u8 unknown_6D3; u8 unknown_6D4; u8 unknown_6D5; - u8 filler_6D6[2]; + u16 unknown_6D6; u8 unknown_6D8; - u8 filler_6D9[1]; + u8 unknown_6D9; u8 unknown_6DA; - u8 filler_6DB[3]; + u8 unknown_6DB; + u8 unknown_6DC; + u8 unknown_6DD; u8 unknown_6DE; u8 filler_6DF[5]; u8 unknown_6E4; @@ -75,17 +94,43 @@ struct Weather u8 unknown_74E; }; +extern u8 ewram[]; + +#define ewram0 (*(struct Struct2000000 *)ewram) + #define gWeather gUnknown_0202F7E8 extern struct Weather gUnknown_0202F7E8; +extern u8 gUnknown_0202FF38[]; extern u16 gUnknown_0202FF58; extern u8 *gUnknown_083970E8; extern u8 (*gUnknown_08396FC8[][4])(void); extern u8 (*gUnknown_083970B8[])(void); -extern u8 *gUnknown_030006DC; -extern u8 gUnknown_083970C8; - -extern const u8 *const gUnknown_08396FA8[]; - +extern const u8 *gUnknown_030006DC; +extern const u8 gUnknown_083970C8[]; +extern struct Weather *const gUnknown_08396FC4; +extern const struct SpriteSheet gUnknown_0839A9D4; +extern const struct SpriteTemplate gSpriteTemplate_839A9F0; +extern const u16 gUnknown_08397108[]; +//extern const s16 gUnknown_0839A9C8[][2]; +extern const struct Coords16 gUnknown_0839A9C8[]; + +const u8 DroughtPaletteData_0[] = INCBIN_U8("graphics/weather/drought0.bin.lz"); +const u8 DroughtPaletteData_1[] = INCBIN_U8("graphics/weather/drought1.bin.lz"); +const u8 DroughtPaletteData_2[] = INCBIN_U8("graphics/weather/drought2.bin.lz"); +const u8 DroughtPaletteData_3[] = INCBIN_U8("graphics/weather/drought3.bin.lz"); +const u8 DroughtPaletteData_4[] = INCBIN_U8("graphics/weather/drought4.bin.lz"); +const u8 DroughtPaletteData_5[] = INCBIN_U8("graphics/weather/drought5.bin.lz"); + +const u8 *const gUnknown_08396FA8[] = +{ + DroughtPaletteData_0, + DroughtPaletteData_1, + DroughtPaletteData_2, + DroughtPaletteData_3, + DroughtPaletteData_4, + DroughtPaletteData_5, + ewram, +}; void sub_807C828(void) { @@ -113,7 +158,7 @@ void sub_807C828(void) gWeather.unknown_6C6 = 3; gWeather.unknown_6C8 = 0; gWeather.unknown_6D3 = 1; - gWeather.unknown_6C9 = CreateTask(&sub_807C9E4, 80); + gWeather.unknown_6C9 = CreateTask(sub_807C9E4, 80); } } @@ -147,12 +192,12 @@ void sub_807C9B4(u8 effect) gWeather.unknown_6C8 = 1; } -void sub_807C9E4(u8 task) +void sub_807C9E4(u8 taskId) { if (gWeather.unknown_6C8) { gUnknown_08396FC8[gWeather.unknown_6D0][2](); - gTasks[task].func = &sub_807CA34; + gTasks[taskId].func = sub_807CA34; } } @@ -206,7 +251,7 @@ void sub_807CB10(void) u16 v11; s16 dunno; - gUnknown_030006DC = &gUnknown_083970C8; + gUnknown_030006DC = gUnknown_083970C8; for (v0 = 0; v0 <= 1; v0++) { if (v0 == 0) @@ -372,22 +417,6 @@ void nullsub_39(void) { } -struct RGBColor -{ - u16 r:5; - u16 g:5; - u16 b:5; -}; - -extern u8 ewram[]; - -struct Struct2000000 -{ - u16 data[0][0x1000]; // unknown length -}; - -#define ewram0 (*(struct Struct2000000 *)ewram) - void sub_807CEBC(u8 a, u8 b, s8 c) { u16 r4; @@ -958,3 +987,482 @@ bool8 sub_807DBE8(void) return TRUE; return FALSE; } + +void unref_sub_807DCB4(u8 a) +{ + switch (a) + { + case 1: + SetWeather(1); + break; + case 2: + SetWeather(2); + break; + case 3: + SetWeather(3); + break; + case 4: + SetWeather(4); + break; + case 5: + SetWeather(5); + break; + case 6: + SetWeather(6); + break; + case 7: + SetWeather(9); + break; + case 8: + SetWeather(7); + break; + case 9: + SetWeather(8); + break; + case 10: + SetWeather(11); + break; + } +} + +u8 weather_get_current(void) +{ + return gWeather.unknown_6D0; +} + +void sub_807DD5C(u16 sndEff) +{ + if (gUnknown_0202F7E8.unknown_6C6 != 2) + { + switch (sndEff) + { + case SE_T_KOAME: + gUnknown_0202F7E8.unknown_6DD = 0; + break; + case SE_T_OOAME: + gUnknown_0202F7E8.unknown_6DD = 1; + break; + case SE_T_AME: + gUnknown_0202F7E8.unknown_6DD = 2; + break; + default: + return; + } + PlaySE(sndEff); + } +} + +void PlayRainSoundEffect(void) +{ + if (IsSpecialSEPlaying()) + { + switch (gUnknown_0202F7E8.unknown_6DD) + { + case 0: + PlaySE(0x56); + break; + case 1: + PlaySE(0x54); + break; + case 2: + default: + PlaySE(0x52); + break; + } + } +} + +u8 sub_807DDFC(void) +{ + return gUnknown_0202F7E8.unknown_6D3; +} + +void sub_807DE10(void) +{ + gUnknown_0202F7E8.unknown_6C6 = 2; +} + +void unref_sub_807DE24(void) +{ + gUnknown_0202F7E8.unknown_6C6 = 3; +} + +void sub_807DE38(u8 a) +{ + CpuCopy16(gUnknown_083970C8, gUnknown_0202FF38, 32); + gUnknown_0202FF38[a] = 0; + gUnknown_030006DC = gUnknown_0202FF38; +} + +void sub_807DE68(void) +{ + gUnknown_030006DC = gUnknown_083970C8; +} + +void sub_807DE78(void) +{ + gUnknown_08396FC4->unknown_6C1 = 0; + gUnknown_08396FC4->unknown_6C2 = 20; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6CC = 0; + if (gUnknown_08396FC4->unknown_6DE == 0) + sub_807DB64(0, 16); +} + +void sub_807DEF4(void); + +void sub_807DEC4(void) +{ + sub_807DE78(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + sub_807DEF4(); +} + +void sub_807DFD4(void); + +void sub_807DEF4(void) +{ + switch (gUnknown_08396FC4->unknown_6CC) + { + case 0: + sub_807DFD4(); + gUnknown_08396FC4->unknown_6CC++; + break; + case 1: + sub_807DBA4(12, 8, 1); + gUnknown_08396FC4->unknown_6CC++; + break; + case 2: + if (sub_807DBE8()) + { + gUnknown_08396FC4->unknown_6D2 = 1; + gUnknown_08396FC4->unknown_6CC++; + } + break; + } +} + +void sub_807E0A0(void); + +bool8 sub_807DF54(void) +{ + switch (gUnknown_08396FC4->unknown_6CE) + { + case 0: + sub_807DBA4(0, 16, 1); + gUnknown_08396FC4->unknown_6CE++; + return TRUE; + case 1: + if (sub_807DBE8()) + { + sub_807E0A0(); + gUnknown_08396FC4->unknown_6CE++; + } + return TRUE; + } + return FALSE; +} + +void sub_807DF9C(void) +{ + gUnknown_08396FC4->unknown_6C1 = 0; + gUnknown_08396FC4->unknown_6C2 = 20; +} + +void sub_807DFC0(void) +{ + sub_807DF9C(); +} + +void nullsub_55(void) +{ +} + +int sub_807DFD0(void) +{ + return 0; +} + +void sub_807DFD4(void) +{ + u16 i; + + if (gUnknown_08396FC4->unknown_6DE == 1) + return; + LoadSpriteSheet(&gUnknown_0839A9D4); + sub_807D8C0(gUnknown_08397108); + for (i = 0; i < 3; i++) + { + u8 spriteId = CreateSprite(&gSpriteTemplate_839A9F0, 0, 0, 0xFF); + + if (spriteId != 64) + { + struct Sprite *sprite; + + gUnknown_08396FC4->unknown_1F4[i] = &gSprites[spriteId]; + sprite = gUnknown_08396FC4->unknown_1F4[i]; + sub_80603CC(gUnknown_0839A9C8[i].x + 7, gUnknown_0839A9C8[i].y + 7, &sprite->pos1.x, &sprite->pos1.y); + sprite->coordOffsetEnabled = TRUE; + } + else + { + gUnknown_08396FC4->unknown_1F4[i] = NULL; + } + } + gUnknown_08396FC4->unknown_6DE = 1; +} + +void sub_807E0A0(void) +{ + u16 i; + + if (gUnknown_08396FC4->unknown_6DE == 0) + return; + for (i = 0; i < 3; i++) + { + if (gUnknown_08396FC4->unknown_1F4[i] != NULL) + DestroySprite(gUnknown_08396FC4->unknown_1F4[i]); + } + FreeSpriteTilesByTag(0x1200); + gUnknown_08396FC4->unknown_6DE = 0; +} + +void sub_807E0F4(struct Sprite *sprite) +{ + sprite->data0 = (sprite->data0 + 1) & 1; + if (sprite->data0 != 0) + sprite->pos1.x--; +} + +void sub_807E110(void) +{ + gUnknown_08396FC4->unknown_6CC = 0; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6C1 = 0; + gUnknown_08396FC4->unknown_6C2 = 0; +} + +void sub_807E174(void); + +void sub_807E144(void) +{ + sub_807E110(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + sub_807E174(); +} + +void sub_807E174(void) +{ + switch (gUnknown_08396FC4->unknown_6CC) + { + case 0: + if (gUnknown_08396FC4->unknown_6C6 != 0) + gUnknown_08396FC4->unknown_6CC++; + break; + case 1: + sub_807D9A8(); + gUnknown_08396FC4->unknown_6CC++; + break; + case 2: + if (sub_807D9C8() == FALSE) + gUnknown_08396FC4->unknown_6CC++; + break; + case 3: + sub_807DA14(); + gUnknown_08396FC4->unknown_6CC++; + break; + case 4: + sub_807DA4C(); + if (gUnknown_08396FC4->unknown_73C == 6) + { + gUnknown_08396FC4->unknown_6D2 = 1; + gUnknown_08396FC4->unknown_6CC++; + } + break; + default: + sub_807DA4C(); + break; + } +} + +int sub_807E258(void) +{ + return 0; +} + +void task50_0807B6D4(u8); + +void sub_807E25C(void) +{ + CreateTask(task50_0807B6D4, 0x50); +} + +#define tState data[0] +#define tBlendY data[1] +#define tBlendDelay data[2] +#define tWinRange data[3] + +void task50_0807B6D4(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->tState) + { + case 0: + task->tBlendY = 0; + task->tBlendDelay = 0; + task->tWinRange = REG_WININ; + REG_WININ = WIN_RANGE(63, 63); + REG_BLDCNT = 0x9E; + REG_BLDY = 0; + task->tState++; + // fall through + case 1: + task->tBlendY += 3; + if (task->tBlendY > 16) + task->tBlendY = 16; + REG_BLDY = task->tBlendY; + if (task->tBlendY >= 16) + task->tState++; + break; + case 2: + task->tBlendDelay++; + if (task->tBlendDelay > 9) + { + task->tBlendDelay = 0; + task->tBlendY--; + if (task->tBlendY <= 0) + { + task->tBlendY = 0; + task->tState++; + } + REG_BLDY = task->tBlendY; + } + break; + case 3: + REG_BLDCNT = 0; + REG_BLDY = 0; + REG_WININ = task->tWinRange; + task->tState++; + break; + case 4: + EnableBothScriptContexts(); + DestroyTask(taskId); + break; + } +} + +#undef tState +#undef tBlendY +#undef tBlendDelay +#undef tWinRange + +void sub_807E364(void) +{ + gUnknown_08396FC4->unknown_6CC = 0; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6D6 = 0; + gUnknown_08396FC4->unknown_6DB = 8; + gUnknown_08396FC4->unknown_6DC = 0; + gUnknown_08396FC4->unknown_6D9 = 10; + gUnknown_08396FC4->unknown_6C1 = 3; + gUnknown_08396FC4->unknown_6C2 = 20; + sub_807DD5C(SE_T_KOAME); +} + +void sub_807E400(void); + +void sub_807E3D0(void) +{ + sub_807E364(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + sub_807E400(); +} + +void sub_807E7A4(void); +u8 sub_807E7B4(void); +u8 sub_807E8E8(void); + +void sub_807E400(void) +{ + switch (gUnknown_08396FC4->unknown_6CC) + { + case 0: + sub_807E7A4(); + gUnknown_08396FC4->unknown_6CC++; + break; + case 1: + if (sub_807E7B4() == 0) + gUnknown_08396FC4->unknown_6CC++; + break; + case 2: + if (sub_807E8E8() == 0) + { + gUnknown_08396FC4->unknown_6D2 = 1; + gUnknown_08396FC4->unknown_6CC++; + } + break; + } +} + +void sub_807E974(void); + +bool8 sub_807E460(void) +{ + switch (gUnknown_08396FC4->unknown_6CE) + { + case 0: + if (gUnknown_08396FC4->unknown_6D1 == 3 + || gUnknown_08396FC4->unknown_6D1 == 5 + || gUnknown_08396FC4->unknown_6D1 == 13) + { + gUnknown_08396FC4->unknown_6CE = 0xFF; + return FALSE; + } + else + { + gUnknown_08396FC4->unknown_6D9 = 0; + gUnknown_08396FC4->unknown_6CE++; + } + // fall through + case 1: + if (sub_807E8E8() == 0) + { + sub_807E974(); + gUnknown_08396FC4->unknown_6CE++; + return FALSE; + } + return TRUE; + } + return FALSE; +} + +extern const struct Coords16 gUnknown_0839AAC4[]; +extern const struct Coords16 gUnknown_0839AABC[]; + +/* +void sub_807E4EC(struct Sprite *sprite) +{ + u32 randVal; + u16 r6; + s16 r4; + s16 r0; + + if (sprite->data1 == 0) + sprite->data1 = 361; + randVal = sprite->data1 * 1103515245 + 12345; + sprite->data1 = ((randVal & 0x7FFF0000) >> 16) % 600; + r6 = gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC].x; + r4 = sprite->data1 % 31; + sprite->data2 = r4 * 8; + r0 = sprite->data1 / 31; + sprite->data2 = r4 * 128; + sprite->data3 = r0 * 128; + sprite->data2 = r4 * 128 - gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC].x * r6; + sprite->data3 = r0 * 128 - gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC].y * r6; + StartSpriteAnim(sprite, 0); + sprite->data4 = 0; + sprite->invisible = FALSE; + sprite->data0 = r6; +} +*/ \ No newline at end of file -- cgit v1.2.3 From 3185d7c252ef5eb036edbe8976de41abc40ee498 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Thu, 21 Sep 2017 18:12:02 -0500 Subject: get sub_807E4EC to match --- src/field_weather.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index f1b4d4391..fff4ac673 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -1438,31 +1438,38 @@ bool8 sub_807E460(void) } extern const struct Coords16 gUnknown_0839AAC4[]; -extern const struct Coords16 gUnknown_0839AABC[]; +//extern const struct Coords16 gUnknown_0839AABC[]; +extern const s16 gUnknown_0839AABC[][2]; -/* void sub_807E4EC(struct Sprite *sprite) { u32 randVal; u16 r6; - s16 r4; - s16 r0; + s32 r4; + s32 r0; if (sprite->data1 == 0) sprite->data1 = 361; randVal = sprite->data1 * 1103515245 + 12345; sprite->data1 = ((randVal & 0x7FFF0000) >> 16) % 600; r6 = gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC].x; - r4 = sprite->data1 % 31; - sprite->data2 = r4 * 8; - r0 = sprite->data1 / 31; - sprite->data2 = r4 * 128; - sprite->data3 = r0 * 128; - sprite->data2 = r4 * 128 - gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC].x * r6; - sprite->data3 = r0 * 128 - gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC].y * r6; + + r4 = sprite->data1 % 30; + sprite->data2 = r4 * 8; // useless assignment + + r0 = sprite->data1 / 30; + sprite->data3 = r0 * 8; // useless assignment + + sprite->data2 = r4; + sprite->data2 <<= 7; + + sprite->data3 = r0; + sprite->data3 <<= 7; + + sprite->data2 -= gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC][0] * r6; + sprite->data3 -= gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC][1] * r6; StartSpriteAnim(sprite, 0); sprite->data4 = 0; - sprite->invisible = FALSE; + sprite->coordOffsetEnabled = FALSE; sprite->data0 = r6; } -*/ \ No newline at end of file -- cgit v1.2.3 From a0a58c3f49fcc4fec62a9f4345fb29893f97c607 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Thu, 21 Sep 2017 21:40:26 -0500 Subject: decompile sub_807E5C0 - snowflakes_progress2 --- src/field_weather.c | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 209 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index fff4ac673..0027f2bc1 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -26,7 +26,8 @@ struct Struct2000000 struct Weather { - u8 filler_000[0x1F4]; + struct Sprite *unknown_0[24]; + struct Sprite *unknown_60[0x65]; // snowflakes? struct Sprite *unknown_1F4[3]; u8 unknown_200[2][32]; u8 filler_240[0x460-0x240]; @@ -61,9 +62,12 @@ struct Weather u8 unknown_6DC; u8 unknown_6DD; u8 unknown_6DE; - u8 filler_6DF[5]; + u8 filler_6DF[1]; + u16 unknown_6E0; + u8 filler_6E2[2]; u8 unknown_6E4; - u8 filler_6E5[0xF]; + u8 unknown_6E5; + u8 filler_6E6[0xE]; u8 unknown_6F4[6]; u8 unknown_6FA; u8 unknown_6FB; @@ -113,6 +117,8 @@ extern const struct SpriteTemplate gSpriteTemplate_839A9F0; extern const u16 gUnknown_08397108[]; //extern const s16 gUnknown_0839A9C8[][2]; extern const struct Coords16 gUnknown_0839A9C8[]; +extern const struct SpriteSheet gUnknown_0839AACC; +extern const struct SpriteTemplate gSpriteTemplate_839AAA4; const u8 DroughtPaletteData_0[] = INCBIN_U8("graphics/weather/drought0.bin.lz"); const u8 DroughtPaletteData_1[] = INCBIN_U8("graphics/weather/drought1.bin.lz"); @@ -1437,7 +1443,8 @@ bool8 sub_807E460(void) return FALSE; } -extern const struct Coords16 gUnknown_0839AAC4[]; +//extern const struct Coords16 gUnknown_0839AAC4[]; +extern const u16 gUnknown_0839AAC4[][2]; //extern const struct Coords16 gUnknown_0839AABC[]; extern const s16 gUnknown_0839AABC[][2]; @@ -1452,7 +1459,8 @@ void sub_807E4EC(struct Sprite *sprite) sprite->data1 = 361; randVal = sprite->data1 * 1103515245 + 12345; sprite->data1 = ((randVal & 0x7FFF0000) >> 16) % 600; - r6 = gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC].x; + + r6 = gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC][0]; r4 = sprite->data1 % 30; sprite->data2 = r4 * 8; // useless assignment @@ -1468,8 +1476,204 @@ void sub_807E4EC(struct Sprite *sprite) sprite->data2 -= gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC][0] * r6; sprite->data3 -= gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC][1] * r6; + StartSpriteAnim(sprite, 0); sprite->data4 = 0; sprite->coordOffsetEnabled = FALSE; sprite->data0 = r6; } + +void sub_807E5C0(struct Sprite *sprite) +{ + if (sprite->data4 == 0) + { + sprite->data2 += gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC][0]; + sprite->data3 += gUnknown_0839AABC[gUnknown_08396FC4->unknown_6DC][1]; + sprite->pos1.x = sprite->data2 >> 4; + sprite->pos1.y = sprite->data3 >> 4; + + if (sprite->data5 != 0 + && (sprite->pos1.x >= -8 && sprite->pos1.x <= 248) + && sprite->pos1.y >= -16 && sprite->pos1.y <= 176) + sprite->invisible = FALSE; + else + sprite->invisible = TRUE; + + sprite->data0--; + if (sprite->data0 == 0) + { + StartSpriteAnim(sprite, gUnknown_08396FC4->unknown_6DC + 1); + sprite->data4 = 1; + sprite->pos1.x -= gSpriteCoordOffsetX; + sprite->pos1.y -= gSpriteCoordOffsetY; + sprite->coordOffsetEnabled = TRUE; + } + } + else if (sprite->animEnded) + { + sprite->invisible = TRUE; + sub_807E4EC(sprite); + } +} + +void sub_807E6C4(struct Sprite *sprite) +{ + if (sprite->data0 == 0) + { + sub_807E4EC(sprite); + sprite->callback = sub_807E5C0; + } + else + { + sprite->data0--; + } +} + +void sub_807E6F0(struct Sprite *sprite, u16 b) +{ + u16 r8 = gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC][0]; + u16 r6 = b / (gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC][1] + r8); + u16 r4 = b % (gUnknown_0839AAC4[gUnknown_08396FC4->unknown_6DC][1] + r8); + + while (--r6 != 0xFFFF) + sub_807E4EC(sprite); + if (r4 < r8) + { + while (--r4 != 0xFFFF) + sub_807E5C0(sprite); + sprite->data6 = 0; + } + else + { + sprite->data0 = r4 - r8; + sprite->invisible = TRUE; + sprite->data6 = 1; + } +} + +void sub_807E7A4(void) +{ + LoadSpriteSheet(&gUnknown_0839AACC); +} + +extern const struct Coords16 gUnknown_0839AA08[]; + +bool8 sub_807E7B4(void) +{ + u8 r7; + u8 spriteId; + + if (gUnknown_08396FC4->unknown_6DA == 24) + return FALSE; + + r7 = gUnknown_08396FC4->unknown_6DA; + spriteId = CreateSpriteAtEnd(&gSpriteTemplate_839AAA4, + gUnknown_0839AA08[r7].x, gUnknown_0839AA08[r7].y, 78); + if (spriteId != 64) + { + gSprites[spriteId].data5 = 0; + gSprites[spriteId].data1 = r7 * 145; + while (gSprites[spriteId].data1 >= 600) + gSprites[spriteId].data1 -= 600; + sub_807E4EC(&gSprites[spriteId]); + sub_807E6F0(&gSprites[spriteId], r7 * 9); + gSprites[spriteId].invisible = TRUE; + gUnknown_08396FC4->unknown_0[r7] = &gSprites[spriteId]; + } + else + { + gUnknown_08396FC4->unknown_0[r7] = NULL; + } + + if (++gUnknown_08396FC4->unknown_6DA == 24) + { + u16 i; + + for (i = 0; i < 24; i++) + { + if (gUnknown_08396FC4->unknown_0[i] != NULL) + { + if (gUnknown_08396FC4->unknown_0[i]->data6 == 0) + gUnknown_08396FC4->unknown_0[i]->callback = sub_807E5C0; + else + gUnknown_08396FC4->unknown_0[i]->callback = sub_807E6C4; + } + } + return FALSE; + } + return TRUE; +} + +bool8 sub_807E8E8(void) +{ + if (gUnknown_08396FC4->unknown_6D8 == gUnknown_08396FC4->unknown_6D9) + return FALSE; + + if (++gUnknown_08396FC4->unknown_6D6 > gUnknown_08396FC4->unknown_6DB) + { + gUnknown_08396FC4->unknown_6D6 = 0; + if (gUnknown_08396FC4->unknown_6D8 < gUnknown_08396FC4->unknown_6D9) + { + gUnknown_08396FC4->unknown_0[gUnknown_08396FC4->unknown_6D8++]->data5 = 1; + } + else + { + gUnknown_08396FC4->unknown_6D8--; + gUnknown_08396FC4->unknown_0[gUnknown_08396FC4->unknown_6D8]->data5 = 0; + gUnknown_08396FC4->unknown_0[gUnknown_08396FC4->unknown_6D8]->invisible = TRUE; + } + } + return TRUE; +} + +void sub_807E974(void) +{ + u16 i; + + for (i = 0; i < gUnknown_08396FC4->unknown_6DA; i++) + { + if (gUnknown_08396FC4->unknown_0[i] != NULL) + DestroySprite(gUnknown_08396FC4->unknown_0[i]); + } + gUnknown_08396FC4->unknown_6DA = 0; + FreeSpriteTilesByTag(0x1206); +} + +void sub_807E9C8(void) +{ + gUnknown_08396FC4->unknown_6CC = 0; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6C1 = 3; + gUnknown_08396FC4->unknown_6C2 = 20; + gUnknown_08396FC4->unknown_6E5 = 16; + gUnknown_08396FC4->unknown_6E0 = 0; +} + +void snowflakes_progress2(void); +void sub_807ED48(struct Sprite *); + +void sub_807EA18(void) +{ + sub_807E9C8(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + { + u16 i; + + snowflakes_progress2(); + for (i = 0; i < gUnknown_08396FC4->unknown_6E4; i++) + { + sub_807ED48(gUnknown_08396FC4->unknown_60[i]); + } + } +} + +u8 snowflakes_progress(void); + +void snowflakes_progress2(void) +{ + if (gUnknown_08396FC4->unknown_6CC == 0 && snowflakes_progress() == 0) + { + gUnknown_08396FC4->unknown_6D2 = 1; + gUnknown_08396FC4->unknown_6CC++; + } +} -- cgit v1.2.3 From d40d0ee267a4ac1401ff6b4fe600159a21bd2cb3 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Fri, 22 Sep 2017 17:04:38 -0500 Subject: decompile sub_807EAC0 - sub_807F3F8 --- src/field_weather.c | 357 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 352 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 0027f2bc1..08eee454c 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -3,6 +3,7 @@ #include "field_map_obj.h" #include "field_weather.h" #include "palette.h" +#include "rng.h" #include "script.h" #include "songs.h" #include "sound.h" @@ -64,10 +65,16 @@ struct Weather u8 unknown_6DE; u8 filler_6DF[1]; u16 unknown_6E0; - u8 filler_6E2[2]; + u16 unknown_6E2; u8 unknown_6E4; u8 unknown_6E5; - u8 filler_6E6[0xE]; + u16 unknown_6E6; + u16 unknown_6E8; + u8 unknown_6EA; + u8 unknown_6EB; + u8 unknown_6EC; + u8 unknown_6ED; + u8 filler_6EE[0xF4-0xEE]; u8 unknown_6F4[6]; u8 unknown_6FA; u8 unknown_6FB; @@ -111,7 +118,11 @@ extern u8 (*gUnknown_08396FC8[][4])(void); extern u8 (*gUnknown_083970B8[])(void); extern const u8 *gUnknown_030006DC; extern const u8 gUnknown_083970C8[]; + +// This is a pointer to gWeather. All code sub_807DE78 and below uses this pointer, +// while everything above accesses gWeather directly. extern struct Weather *const gUnknown_08396FC4; + extern const struct SpriteSheet gUnknown_0839A9D4; extern const struct SpriteTemplate gSpriteTemplate_839A9F0; extern const u16 gUnknown_08397108[]; @@ -119,6 +130,7 @@ extern const u16 gUnknown_08397108[]; extern const struct Coords16 gUnknown_0839A9C8[]; extern const struct SpriteSheet gUnknown_0839AACC; extern const struct SpriteTemplate gSpriteTemplate_839AAA4; +extern const struct SpriteTemplate gSpriteTemplate_839AB04; const u8 DroughtPaletteData_0[] = INCBIN_U8("graphics/weather/drought0.bin.lz"); const u8 DroughtPaletteData_1[] = INCBIN_U8("graphics/weather/drought1.bin.lz"); @@ -1402,7 +1414,7 @@ void sub_807E400(void) gUnknown_08396FC4->unknown_6CC++; break; case 2: - if (sub_807E8E8() == 0) + if (sub_807E8E8() == FALSE) { gUnknown_08396FC4->unknown_6D2 = 1; gUnknown_08396FC4->unknown_6CC++; @@ -1432,7 +1444,7 @@ bool8 sub_807E460(void) } // fall through case 1: - if (sub_807E8E8() == 0) + if (sub_807E8E8() == FALSE) { sub_807E974(); gUnknown_08396FC4->unknown_6CE++; @@ -1671,9 +1683,344 @@ u8 snowflakes_progress(void); void snowflakes_progress2(void) { - if (gUnknown_08396FC4->unknown_6CC == 0 && snowflakes_progress() == 0) + if (gUnknown_08396FC4->unknown_6CC == 0 && snowflakes_progress() == FALSE) + { + gUnknown_08396FC4->unknown_6D2 = 1; + gUnknown_08396FC4->unknown_6CC++; + } +} + +bool8 sub_807EAC0(void) +{ + switch (gUnknown_08396FC4->unknown_6CE) + { + case 0: + gUnknown_08396FC4->unknown_6E5 = 0; + gUnknown_08396FC4->unknown_6E0 = 0; + gUnknown_08396FC4->unknown_6CE++; + // fall through + case 1: + if (snowflakes_progress() == FALSE) + { + gUnknown_08396FC4->unknown_6CE++; + return FALSE; + } + return TRUE; + } + return FALSE; +} + +bool8 snowflake_add(void); +bool8 snowflake_remove(void); + +bool8 snowflakes_progress(void) +{ + if (gUnknown_08396FC4->unknown_6E4 == gUnknown_08396FC4->unknown_6E5) + return FALSE; + + gUnknown_08396FC4->unknown_6E0++; + if (gUnknown_08396FC4->unknown_6E0 > 36) + { + gUnknown_08396FC4->unknown_6E0 = 0; + if (gUnknown_08396FC4->unknown_6E4 < gUnknown_08396FC4->unknown_6E5) + snowflake_add(); + else + snowflake_remove(); + } + return (gUnknown_08396FC4->unknown_6E4 != gUnknown_08396FC4->unknown_6E5); +} + +void sub_807EC40(struct Sprite *); + +bool8 snowflake_add(void) +{ + u8 spriteId = CreateSpriteAtEnd(&gSpriteTemplate_839AB04, 0, 0, 78); + + if (spriteId == 64) + return FALSE; + gSprites[spriteId].data4 = gUnknown_08396FC4->unknown_6E4; + sub_807EC40(&gSprites[spriteId]); + gSprites[spriteId].coordOffsetEnabled = TRUE; + gUnknown_08396FC4->unknown_60[gUnknown_08396FC4->unknown_6E4++] = &gSprites[spriteId]; + return TRUE; +} + +bool8 snowflake_remove(void) +{ + if (gUnknown_08396FC4->unknown_6E4 != 0) + { + DestroySprite(gUnknown_08396FC4->unknown_60[--gUnknown_08396FC4->unknown_6E4]); + return TRUE; + } + return FALSE; +} + +void sub_807EC40(struct Sprite *sprite) +{ + u16 r4 = ((sprite->data4 * 5) & 7) * 30 + (Random() % 30); + u16 r6; + + sprite->pos1.y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); + sprite->pos1.x = r4 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); + sprite->data0 = sprite->pos1.y * 128; + sprite->pos2.x = 0; + r6 = Random(); + sprite->data1 = (r6 & 3) * 5 + 64; + sprite->data7 = (r6 & 3) * 5 + 64; + StartSpriteAnim(sprite, (r6 & 1) ? 0 : 1); + sprite->data3 = 0; + sprite->data2 = ((r6 & 3) == 0) ? 2 : 1; + sprite->data6 = (r6 & 0x1F) + 210; + sprite->data5 = 0; +} + +void sub_807ECEC(struct Sprite *sprite) +{ + if (gUnknown_08396FC4->unknown_6E2 > 18) + { + sprite->invisible = FALSE; + sprite->callback = sub_807ED48; + sprite->pos1.y = 0xFA - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); + sprite->data0 = sprite->pos1.y * 128; + gUnknown_08396FC4->unknown_6E2 = 0; + } +} + +void sub_807ED48(struct Sprite *sprite) +{ + s16 r3; + s16 r2; + + sprite->data0 += sprite->data1; + sprite->pos1.y = sprite->data0 >> 7; + sprite->data3 = (sprite->data3 + sprite->data2) & 0xFF; + sprite->pos2.x = gSineTable[sprite->data3] / 64; + + r3 = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF; + if (r3 & 0x100) + r3 = -0x100 | r3; // hmm... what is this? + if (r3 < -3) + sprite->pos1.x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); + else if (r3 > 242) + sprite->pos1.x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); + + r2 = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF; + if (r2 > 163 && r2 < 171) + { + sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); + sprite->data0 = sprite->pos1.y * 128; + sprite->data5 = 0; + sprite->data6 = 220; + } + else if (r2 > 242 && r2 < 250) + { + sprite->pos1.y = 163; + sprite->data0 = sprite->pos1.y * 128; + sprite->data5 = 0; + sprite->data6 = 220; + sprite->invisible = TRUE; + sprite->callback = sub_807ECEC; + } + + sprite->data5++; + if (sprite->data5 == sprite->data6) + { + sub_807EC40(sprite); + sprite->pos1.y = 250; + sprite->invisible = TRUE; + sprite->callback = sub_807ECEC; + } +} + +void sub_807EE80(void) +{ + gUnknown_08396FC4->unknown_6CC = 0; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6D6 = 0; + gUnknown_08396FC4->unknown_6DB = 4; + gUnknown_08396FC4->unknown_6DC = 0; + gUnknown_08396FC4->unknown_6D9 = 16; + gUnknown_08396FC4->unknown_6C1 = 3; + gUnknown_08396FC4->unknown_6C2 = 20; + gUnknown_08396FC4->unknown_6D2 = 0; // duplicate assignment + gUnknown_08396FC4->unknown_6ED = 0; + sub_807DD5C(0x51); +} + +void sub_807EFC0(void); + +void sub_807EEF4(void) +{ + sub_807EE80(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + sub_807EFC0(); +} + +void sub_807EF24(void) +{ + gUnknown_08396FC4->unknown_6CC = 0; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6D6 = 0; + gUnknown_08396FC4->unknown_6DB = 4; + gUnknown_08396FC4->unknown_6DC = 1; + gUnknown_08396FC4->unknown_6D9 = 24; + gUnknown_08396FC4->unknown_6C1 = 3; + gUnknown_08396FC4->unknown_6C2 = 20; + gUnknown_08396FC4->unknown_6D2 = 0; // duplicate assignment + sub_807DD5C(0x53); +} + +void sub_807EF90(void) +{ + sub_807EF24(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + sub_807EFC0(); +} + +void sub_807F434(void); +void sub_807F3F8(u16); + +void sub_807EFC0(void) +{ + sub_807F434(); + switch (gUnknown_08396FC4->unknown_6CC) { + case 0: + sub_807E7A4(); + gUnknown_08396FC4->unknown_6CC++; + break; + case 1: + if (sub_807E7B4()) + break; + gUnknown_08396FC4->unknown_6CC++; + break; + case 2: + if (sub_807E8E8()) + break; gUnknown_08396FC4->unknown_6D2 = 1; gUnknown_08396FC4->unknown_6CC++; + break; + case 3: + if (gUnknown_08396FC4->unknown_6C6 == 0) + break; + gUnknown_08396FC4->unknown_6CC = 6; + break; + case 4: + gUnknown_08396FC4->unknown_6EA = 1; + gUnknown_08396FC4->unknown_6E6 = (Random() % 360) + 360; + gUnknown_08396FC4->unknown_6CC++; + // fall through + case 5: + if (--gUnknown_08396FC4->unknown_6E6 != 0) + break; + gUnknown_08396FC4->unknown_6CC++; + break; + case 6: + gUnknown_08396FC4->unknown_6EA = 1; + gUnknown_08396FC4->unknown_6EB = Random() % 2; + gUnknown_08396FC4->unknown_6CC++; + break; + case 7: + gUnknown_08396FC4->unknown_6EC = (Random() & 1) + 1; + gUnknown_08396FC4->unknown_6CC++; + // fall through + case 8: + sub_807D5BC(19); + if (gUnknown_08396FC4->unknown_6EB == 0 && gUnknown_08396FC4->unknown_6EC == 1) + sub_807F3F8(20); + gUnknown_08396FC4->unknown_6E6 = (Random() % 3) + 6; + gUnknown_08396FC4->unknown_6CC++; + break; + case 9: + if (--gUnknown_08396FC4->unknown_6E6 != 0) + break; + sub_807D5BC(3); + gUnknown_08396FC4->unknown_6EA = 1; + if (--gUnknown_08396FC4->unknown_6EC != 0) + { + gUnknown_08396FC4->unknown_6E6 = (Random() % 16) + 60; + gUnknown_08396FC4->unknown_6CC = 10; + } + else if (gUnknown_08396FC4->unknown_6EB == 0) + { + gUnknown_08396FC4->unknown_6CC = 4; + } + else + { + gUnknown_08396FC4->unknown_6CC = 11; + } + break; + case 10: + if (--gUnknown_08396FC4->unknown_6E6 != 0) + break; + gUnknown_08396FC4->unknown_6CC = 8; + break; + case 11: + gUnknown_08396FC4->unknown_6E6 = (Random() % 16) + 60; + gUnknown_08396FC4->unknown_6CC++; + break; + case 12: + if (--gUnknown_08396FC4->unknown_6E6 != 0) + break; + sub_807F3F8(100); + sub_807D5BC(19); + // Why use "% 16" everywhere else and "& 0xF" here. So dumb. + gUnknown_08396FC4->unknown_6E6 = (Random() & 0xF) + 30; + gUnknown_08396FC4->unknown_6CC++; + break; + case 13: + if (--gUnknown_08396FC4->unknown_6E6 != 0) + break; + sub_807D5F0(19, 3, 5); + gUnknown_08396FC4->unknown_6CC++; + break; + case 14: + if (gUnknown_08396FC4->unknown_6C6 != 3) + break; + gUnknown_08396FC4->unknown_6EA = 1; + gUnknown_08396FC4->unknown_6CC = 4; + break; + } +} + +bool8 sub_807F34C(void) +{ + switch (gUnknown_08396FC4->unknown_6CE) + { + case 0: + gUnknown_08396FC4->unknown_6EA = 0; + gUnknown_08396FC4->unknown_6CE++; + // fall through + case 1: + sub_807EFC0(); + if (gUnknown_08396FC4->unknown_6EA != 0) + { + if (gUnknown_08396FC4->unknown_6D1 == 3 + || gUnknown_08396FC4->unknown_6D1 == 5 + || gUnknown_08396FC4->unknown_6D1 == 13) + return FALSE; + gUnknown_08396FC4->unknown_6D9 = 0; + gUnknown_08396FC4->unknown_6CE++; + } + break; + case 2: + if (sub_807E8E8()) + break; + sub_807E974(); + gUnknown_08396FC4->unknown_6ED = 0; + gUnknown_08396FC4->unknown_6CE++; + return FALSE; + default: + return FALSE; + } + return TRUE; +} + +void sub_807F3F8(u16 a) +{ + if (gUnknown_08396FC4->unknown_6ED == 0) + { + gUnknown_08396FC4->unknown_6E8 = Random() % a; + gUnknown_08396FC4->unknown_6ED = 1; } } -- cgit v1.2.3 From ba06c424c974f18f9c4af85eb0ffe8adc6056941 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Fri, 22 Sep 2017 20:29:41 -0500 Subject: decompile sub_807F434 - sub_807F688 --- src/field_weather.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 120 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/field_weather.c b/src/field_weather.c index 08eee454c..c4fb4872f 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -74,7 +74,9 @@ struct Weather u8 unknown_6EB; u8 unknown_6EC; u8 unknown_6ED; - u8 filler_6EE[0xF4-0xEE]; + u16 unknown_6EE; + u16 unknown_6F0; + u16 unknown_6F2; u8 unknown_6F4[6]; u8 unknown_6FA; u8 unknown_6FB; @@ -2024,3 +2026,120 @@ void sub_807F3F8(u16 a) gUnknown_08396FC4->unknown_6ED = 1; } } + +void sub_807F434(void) +{ + if (gUnknown_08396FC4->unknown_6ED == 1) + { + if (gUnknown_08396FC4->unknown_6E8 == 0) + { + if (IsSEPlaying()) + return; + if (Random() & 1) + PlaySE(0x57); + else + PlaySE(0x58); + gUnknown_08396FC4->unknown_6ED = 0; + } + else + { + gUnknown_08396FC4->unknown_6E8--; + } + } +} + +void sub_807F49C(void) +{ + gUnknown_08396FC4->unknown_6CC = 0; + gUnknown_08396FC4->unknown_6D2 = 0; + gUnknown_08396FC4->unknown_6C1 = 0; + gUnknown_08396FC4->unknown_6C2 = 20; + if (gUnknown_08396FC4->unknown_6FB == 0) + { + gUnknown_08396FC4->unknown_6F0 = 0; + gUnknown_08396FC4->unknown_6F2 = 0; + gUnknown_08396FC4->unknown_6EE = 0; + sub_807DB64(0, 16); + } +} + +void sub_807F52C(void); + +void sub_807F4FC(void) +{ + sub_807F49C(); + while (gUnknown_08396FC4->unknown_6D2 == 0) + sub_807F52C(); +} + +void sub_807F6E8(void); + +void sub_807F52C(void) +{ + gUnknown_08396FC4->unknown_6EE = (gSpriteCoordOffsetX - gUnknown_08396FC4->unknown_6F2) & 0xFF; + if (++gUnknown_08396FC4->unknown_6F0 > 3) + { + gUnknown_08396FC4->unknown_6F0 = 0; + gUnknown_08396FC4->unknown_6F2++; + } + switch (gUnknown_08396FC4->unknown_6CC) + { + case 0: + sub_807F6E8(); + if (gUnknown_08396FC4->unknown_6D0 == 6) + sub_807DBA4(12, 8, 3); + else + sub_807DBA4(4, 16, 0); + gUnknown_08396FC4->unknown_6CC++; + break; + case 1: + if (sub_807DBE8()) + { + gUnknown_08396FC4->unknown_6D2 = 1; + gUnknown_08396FC4->unknown_6CC++; + } + break; + } +} + +void sub_807F7A4(void); + +bool8 sub_807F5EC(void) +{ + gUnknown_08396FC4->unknown_6EE = (gSpriteCoordOffsetX - gUnknown_08396FC4->unknown_6F2) & 0xFF; + if (++gUnknown_08396FC4->unknown_6F0 > 3) + { + gUnknown_08396FC4->unknown_6F0 = 0; + gUnknown_08396FC4->unknown_6F2++; + } + switch (gUnknown_08396FC4->unknown_6CE) + { + case 0: + sub_807DBA4(0, 16, 3); + gUnknown_08396FC4->unknown_6CE++; + break; + case 1: + if (!sub_807DBE8()) + break; + gUnknown_08396FC4->unknown_6CE++; + break; + case 2: + sub_807F7A4(); + gUnknown_08396FC4->unknown_6CE++; + break; + default: + return FALSE; + } + return TRUE; +} + +void sub_807F688(struct Sprite *sprite) +{ + sprite->pos2.y = (u8)gSpriteCoordOffsetY; + sprite->pos1.x = gUnknown_08396FC4->unknown_6EE + 32 + sprite->data0 * 64; + if (sprite->pos1.x > 0x10F) + { + sprite->pos1.x = 480 + gUnknown_08396FC4->unknown_6EE - (4 - sprite->data0) * 64; + sprite->pos1.x &= 0x1FF; + } +} -- cgit v1.2.3 From 13bd14feabf17e16b180d176b488979708391927 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Mon, 23 Oct 2017 23:33:13 -0400 Subject: recast fixes for SetMonData and SetBoxMonData. --- src/battle/battle_2.c | 8 +-- src/battle/battle_controller_linkopponent.c | 50 +++++++-------- src/battle/battle_controller_linkpartner.c | 50 +++++++-------- src/battle/battle_controller_opponent.c | 50 +++++++-------- src/battle/battle_controller_player.c | 60 +++++++++--------- src/battle/battle_controller_wally.c | 50 +++++++-------- src/engine/trade.c | 2 +- src/field/daycare.c | 10 +-- src/field/field_poison.c | 2 +- src/field/field_specials.c | 10 +-- src/field/party_menu.c | 4 +- src/field/roamer.c | 14 ++--- src/pokemon/pokemon_1.c | 96 ++++++++++++++--------------- src/pokemon/pokemon_2.c | 10 +-- src/pokemon/pokemon_3.c | 12 ++-- 15 files changed, 215 insertions(+), 213 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index a447cf498..ecd0c677d 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -999,7 +999,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) for (j = 0; j < 4; j++) { - SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); } break; @@ -1014,7 +1014,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) fixedIV = partyData[i].iv * 31 / 255; CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0); - SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem); + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); break; } case 3: @@ -1027,10 +1027,10 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) fixedIV = partyData[i].iv * 31 / 255; CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0); - SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem); + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); for (j = 0; j < 4; j++) { - SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]); + SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); } break; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 83b690719..f2b11ae3d 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -936,38 +936,38 @@ void sub_8038900(u8 a) { u8 iv; - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gEnemyParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -979,8 +979,8 @@ void sub_8038900(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index ca20f6262..60e9599f8 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -893,38 +893,38 @@ void sub_811EC68(u8 a) { u8 iv; - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -936,8 +936,8 @@ void sub_811EC68(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index cf90d5817..85c0f4c52 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -908,38 +908,38 @@ void sub_8033E24(u8 a) { u8 iv; - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gEnemyParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -951,8 +951,8 @@ void sub_8033E24(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index dd94b2f4b..ad266d415 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -841,7 +841,7 @@ void sub_802CA60(void) for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, (u8 *)&sp0.moves[i]); + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &sp0.moves[i]); SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &sp0.pp[i]); } SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses); @@ -1149,7 +1149,7 @@ void sub_802D924(u8 taskId) { u8 savedActiveBank; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&nextLvlExp); + SetMonData(pkmn, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(pkmn); gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBank; @@ -1166,7 +1166,7 @@ void sub_802D924(u8 taskId) else { currExp += gainedExp; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&currExp); + SetMonData(pkmn, MON_DATA_EXP, &currExp); gBattleBankFunc[bank] = sub_802D90C; DestroyTask(taskId); } @@ -1231,7 +1231,7 @@ void sub_802DB6C(u8 taskId) u8 r5; u32 asdf; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp0); + SetMonData(pkmn, MON_DATA_EXP, &sp0); CalculateMonStats(pkmn); //r10 -= sp0 - sp4; asdf = sp0 - sp4; @@ -1247,7 +1247,7 @@ void sub_802DB6C(u8 taskId) { //u32 asdf = sp4 + r10; sp4 += r10; - SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp4); + SetMonData(pkmn, MON_DATA_EXP, &sp4); gBattleBankFunc[r7] = sub_802D90C; DestroyTask(taskId); } @@ -2081,38 +2081,38 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) { u8 iv; - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -2124,8 +2124,8 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 97c78ecd8..cd371bc6f 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -868,38 +868,38 @@ void sub_8138294(u8 a) { u8 iv; - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species); - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item); for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]); } - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship); - SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience); iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv); iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv); iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv); iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv); iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv); iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv); - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality); - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1); - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level); - SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp); - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP); - SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack); - SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense); } break; case 1: @@ -911,8 +911,8 @@ void sub_8138294(u8 a) case 3: for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]); - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]); } SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses); break; diff --git a/src/engine/trade.c b/src/engine/trade.c index 905e9ff0c..fdc764e87 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -5447,7 +5447,7 @@ static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade) sub_804DAD4(&mail, inGameTrade); gUnknown_02029700[0] = mail; SetMonData(pokemon, MON_DATA_MAIL, &isMail); - SetMonData(pokemon, MON_DATA_HELD_ITEM, (u8 *)&inGameTrade->heldItem); + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); } else { diff --git a/src/field/daycare.c b/src/field/daycare.c index 9c5808a0e..97765e676 100644 --- a/src/field/daycare.c +++ b/src/field/daycare.c @@ -188,7 +188,7 @@ static u16 sub_8041570(struct DayCareData * daycare_data, u8 slot) if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL) { experience = GetMonData(&pokemon, MON_DATA_EXP) + daycare_data->misc.countersEtc.steps[slot]; - SetMonData(&pokemon, MON_DATA_EXP, (u8 *)&experience); + SetMonData(&pokemon, MON_DATA_EXP, &experience); DayCare_LevelUpMoves(&pokemon); } gPlayerParty[PARTY_SIZE - 1] = pokemon; @@ -213,7 +213,7 @@ u16 sub_8041648() u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){ struct BoxPokemon temp = *mon; u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps; - SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp); + SetBoxMonData(&temp, MON_DATA_EXP, &new_exp); return GetLevelFromBoxMonExp(&temp); } @@ -960,7 +960,7 @@ void sub_8042044(struct Pokemon *mon, u16 species, u8 overwriteMetLocation) // s metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; - SetMonData(mon, MON_DATA_POKEBALL, (u8 *)&ball); + SetMonData(mon, MON_DATA_POKEBALL, &ball); SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4); SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); @@ -985,7 +985,7 @@ static void sub_80420FC(struct Pokemon *mon, u16 species, struct DayCareData *da metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; - SetMonData(mon, MON_DATA_POKEBALL, (u8 *)&ball); + SetMonData(mon, MON_DATA_POKEBALL, &ball); SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4); SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles); SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel); @@ -1030,7 +1030,7 @@ static bool8 sub_80421B0(struct DayCareData *dayCareData) return TRUE; } steps--; - SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, (u8 *)&steps); + SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps); } } } diff --git a/src/field/field_poison.c b/src/field/field_poison.c index 1244b9c62..b6ff12ff9 100644 --- a/src/field/field_poison.c +++ b/src/field/field_poison.c @@ -128,7 +128,7 @@ s32 DoPoisonFieldEffect(void) hp--; if (hp == 0) numFainting++; //Pokemon will now faint due to poison - SetMonData(pkmn, MON_DATA_HP, (u8 *)&hp); + SetMonData(pkmn, MON_DATA_HP, &hp); numPoisoned++; } pkmn++; diff --git a/src/field/field_specials.c b/src/field/field_specials.c index 899905429..b328ecb1b 100644 --- a/src/field/field_specials.c +++ b/src/field/field_specials.c @@ -1905,13 +1905,13 @@ void PutZigzagoonInPlayerParty(void) u16 monData; CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0); monData = TRUE; - SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, (u8 *)&monData); + SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData); monData = MOVE_TACKLE; - SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (u8 *)&monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData); monData = MOVE_NONE; - SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (u8 *)&monData); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (u8 *)&monData); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (u8 *)&monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData); } bool8 IsStarterInParty(void) diff --git a/src/field/party_menu.c b/src/field/party_menu.c index a4c66d891..a8c57b86d 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -4457,7 +4457,7 @@ void sub_806F8AC(u8 taskId) ewram1B000.unk261 = 2; sub_806E834(gStringVar4, 1); sp14 += sp0.unk4; - SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&sp14); + SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14); RemoveBagItem(ewram1C000.unk6, 1); sub_8032638(); gTasks[taskId].func = sub_806FB44; @@ -4478,7 +4478,7 @@ void sub_806FA18(u8 taskId) PlaySE(SE_KAIFUKU); ewram1C000.unkC = 0; gTasks[taskId].data[11] -= gTasks[taskId].data[12]; - SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&gTasks[taskId].data[11]); + SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]); SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon); ewram1C000.unk5 = gSprites[ewram01000.unk2].data0; ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; diff --git a/src/field/roamer.c b/src/field/roamer.c index 948828d5e..c45c87601 100644 --- a/src/field/roamer.c +++ b/src/field/roamer.c @@ -173,13 +173,13 @@ void CreateRoamerMonInstance(void) struct Pokemon *mon = &gEnemyParty[0]; struct Roamer *roamer = &gSaveBlock1.roamer; CreateMonWithIVsPersonality(mon, roamer->species, roamer->level, roamer->ivs, roamer->personality); - SetMonData(mon, MON_DATA_STATUS, (u8 *)&roamer->status); - SetMonData(mon, MON_DATA_HP, (u8 *)&roamer->hp); - SetMonData(mon, MON_DATA_COOL, (u8 *)&roamer->cool); - SetMonData(mon, MON_DATA_BEAUTY, (u8 *)&roamer->beauty); - SetMonData(mon, MON_DATA_CUTE, (u8 *)&roamer->cute); - SetMonData(mon, MON_DATA_SMART, (u8 *)&roamer->smart); - SetMonData(mon, MON_DATA_TOUGH, (u8 *)&roamer->tough); + SetMonData(mon, MON_DATA_STATUS, &roamer->status); + SetMonData(mon, MON_DATA_HP, &roamer->hp); + SetMonData(mon, MON_DATA_COOL, &roamer->cool); + SetMonData(mon, MON_DATA_BEAUTY, &roamer->beauty); + SetMonData(mon, MON_DATA_CUTE, &roamer->cute); + SetMonData(mon, MON_DATA_SMART, &roamer->smart); + SetMonData(mon, MON_DATA_TOUGH, &roamer->tough); } bool8 TryStartRoamerEncounter(void) diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 345a9668b..a0e1d8801 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -39,17 +39,17 @@ void ZeroMonData(struct Pokemon *mon) u32 arg; ZeroBoxMonData(&mon->box); arg = 0; - SetMonData(mon, MON_DATA_STATUS, (u8 *)&arg); - SetMonData(mon, MON_DATA_LEVEL, (u8 *)&arg); - SetMonData(mon, MON_DATA_HP, (u8 *)&arg); - SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&arg); - SetMonData(mon, MON_DATA_ATK, (u8 *)&arg); - SetMonData(mon, MON_DATA_DEF, (u8 *)&arg); - SetMonData(mon, MON_DATA_SPEED, (u8 *)&arg); - SetMonData(mon, MON_DATA_SPATK, (u8 *)&arg); - SetMonData(mon, MON_DATA_SPDEF, (u8 *)&arg); + SetMonData(mon, MON_DATA_STATUS, &arg); + SetMonData(mon, MON_DATA_LEVEL, &arg); + SetMonData(mon, MON_DATA_HP, &arg); + SetMonData(mon, MON_DATA_MAX_HP, &arg); + SetMonData(mon, MON_DATA_ATK, &arg); + SetMonData(mon, MON_DATA_DEF, &arg); + SetMonData(mon, MON_DATA_SPEED, &arg); + SetMonData(mon, MON_DATA_SPATK, &arg); + SetMonData(mon, MON_DATA_SPDEF, &arg); arg = 255; - SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg); + SetMonData(mon, MON_DATA_MAIL, &arg); } void ZeroPlayerPartyMons(void) @@ -74,7 +74,7 @@ void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFix CreateBoxMon(&mon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId); SetMonData(mon, MON_DATA_LEVEL, &level); arg = 255; - SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg); + SetMonData(mon, MON_DATA_MAIL, &arg); CalculateMonStats(mon); } @@ -92,7 +92,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, else personality = Random32(); - SetBoxMonData(boxMon, MON_DATA_PERSONALITY, (u8 *)&personality); + SetBoxMonData(boxMon, MON_DATA_PERSONALITY, &personality); //Determine original trainer ID if (otIdType == 2) //Pokemon cannot be shiny @@ -116,24 +116,24 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, | (gSaveBlock2.playerTrainerId[3] << 24); } - SetBoxMonData(boxMon, MON_DATA_OT_ID, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_OT_ID, &value); checksum = CalculateBoxMonChecksum(boxMon); - SetBoxMonData(boxMon, MON_DATA_CHECKSUM, (u8 *)&checksum); + SetBoxMonData(boxMon, MON_DATA_CHECKSUM, &checksum); EncryptBoxMon(boxMon); GetSpeciesName(speciesName, species); SetBoxMonData(boxMon, MON_DATA_NICKNAME, speciesName); SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2.playerName); - SetBoxMonData(boxMon, MON_DATA_SPECIES, (u8 *)&species); - SetBoxMonData(boxMon, MON_DATA_EXP, (u8 *)&gExperienceTables[gBaseStats[species].growthRate][level]); + SetBoxMonData(boxMon, MON_DATA_SPECIES, &species); + SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]); SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship); value = sav1_map_get_name(); - SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value); SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level); SetBoxMonData(boxMon, MON_DATA_MET_GAME, &gGameVersion); value = 4; - SetBoxMonData(boxMon, MON_DATA_POKEBALL, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_POKEBALL, &value); SetBoxMonData(boxMon, MON_DATA_OT_GENDER, &gSaveBlock2.playerGender); if (fixedIV < 32) @@ -151,26 +151,26 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, value = Random(); iv = value & 0x1F; - SetBoxMonData(boxMon, MON_DATA_HP_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv); iv = (value & 0x3E0) >> 5; - SetBoxMonData(boxMon, MON_DATA_ATK_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv); iv = (value & 0x7C00) >> 10; - SetBoxMonData(boxMon, MON_DATA_DEF_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv); value = Random(); iv = value & 0x1F; - SetBoxMonData(boxMon, MON_DATA_SPEED_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv); iv = (value & 0x3E0) >> 5; - SetBoxMonData(boxMon, MON_DATA_SPATK_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv); iv = (value & 0x7C00) >> 10; - SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, (u8 *)&iv); + SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv); } if (gBaseStats[species].ability2) { value = personality & 1; - SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, (u8 *)&value); + SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, &value); } GiveBoxMonInitialMoveset(boxMon); @@ -237,7 +237,7 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level) void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality) { CreateMon(mon, species, level, 0, 1, personality, 0, 0); - SetMonData(mon, MON_DATA_IVS, (u8 *)&ivs); + SetMonData(mon, MON_DATA_IVS, &ivs); CalculateMonStats(mon); } @@ -278,7 +278,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI for (i = 0; i < 6; i++) { if (evSpread & temp) - SetMonData(mon, MON_DATA_HP_EV + i, (u8 *)&evAmount); + SetMonData(mon, MON_DATA_HP_EV + i, &evAmount); temp <<= 1; } @@ -297,8 +297,8 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src) for (i = 0; i < 4; i++) SetMonMoveSlot(mon, src->moves[i], i); - SetMonData(mon, MON_DATA_PP_BONUSES, (u8 *)&src->ppBonuses); - SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&src->heldItem); + SetMonData(mon, MON_DATA_PP_BONUSES, &src->ppBonuses); + SetMonData(mon, MON_DATA_HELD_ITEM, &src->heldItem); StringCopy(nickname, src->nickname); @@ -310,13 +310,13 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src) SetMonData(mon, MON_DATA_LANGUAGE, &language); StripExtCtrlCodes(nickname); SetMonData(mon, MON_DATA_NICKNAME, nickname); - SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&src->friendship); - SetMonData(mon, MON_DATA_HP_EV, (u8 *)&src->hpEV); - SetMonData(mon, MON_DATA_ATK_EV, (u8 *)&src->attackEV); - SetMonData(mon, MON_DATA_DEF_EV, (u8 *)&src->defenseEV); - SetMonData(mon, MON_DATA_SPD_EV, (u8 *)&src->speedEV); - SetMonData(mon, MON_DATA_SPATK_EV, (u8 *)&src->spAttackEV); - SetMonData(mon, MON_DATA_SPDEF_EV, (u8 *)&src->spDefenseEV); + SetMonData(mon, MON_DATA_FRIENDSHIP, &src->friendship); + SetMonData(mon, MON_DATA_HP_EV, &src->hpEV); + SetMonData(mon, MON_DATA_ATK_EV, &src->attackEV); + SetMonData(mon, MON_DATA_DEF_EV, &src->defenseEV); + SetMonData(mon, MON_DATA_SPD_EV, &src->speedEV); + SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV); + SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV); value = src->altAbility; SetMonData(mon, MON_DATA_ALT_ABILITY, &value); value = src->hpIV; @@ -401,7 +401,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ n = nature_stat_mod(nature, n, statIndex); \ - SetMonData(mon, field, (u8 *)&n); \ + SetMonData(mon, field, &n); \ } void CalculateMonStats(struct Pokemon *mon) @@ -424,7 +424,7 @@ void CalculateMonStats(struct Pokemon *mon) s32 level = GetLevelFromMonExp(mon); s32 newMaxHP; - SetMonData(mon, MON_DATA_LEVEL, (u8 *)&level); + SetMonData(mon, MON_DATA_LEVEL, &level); if (species == SPECIES_SHEDINJA) { @@ -440,7 +440,7 @@ void CalculateMonStats(struct Pokemon *mon) if (unk_2000000[0x160FA] == 0) unk_2000000[0x160FA] = 1; - SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&newMaxHP); + SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); CALC_STAT(baseAttack, attackIV, attackEV, 1, MON_DATA_ATK) CALC_STAT(baseDefense, defenseIV, defenseEV, 2, MON_DATA_DEF) @@ -465,18 +465,18 @@ void CalculateMonStats(struct Pokemon *mon) return; } - SetMonData(mon, MON_DATA_HP, (u8 *)¤tHP); + SetMonData(mon, MON_DATA_HP, ¤tHP); } void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest) { u32 value = 0; dest->box = *src; - SetMonData(dest, MON_DATA_STATUS, (u8 *)&value); - SetMonData(dest, MON_DATA_HP, (u8 *)&value); - SetMonData(dest, MON_DATA_MAX_HP, (u8 *)&value); + SetMonData(dest, MON_DATA_STATUS, &value); + SetMonData(dest, MON_DATA_HP, &value); + SetMonData(dest, MON_DATA_MAX_HP, &value); value = 255; - SetMonData(dest, MON_DATA_MAIL, (u8 *)&value); + SetMonData(dest, MON_DATA_MAIL, &value); CalculateMonStats(dest); } @@ -517,7 +517,7 @@ u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL); if (!existingMove) { - SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&move); + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move); SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp); return move; } @@ -546,7 +546,7 @@ u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move) void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot) { - SetMonData(mon, MON_DATA_MOVE1 + slot, (u8 *)&move); + SetMonData(mon, MON_DATA_MOVE1 + slot, &move); SetMonData(mon, MON_DATA_PP1 + slot, &gBattleMoves[move].pp); } @@ -636,7 +636,7 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move) for (i = 0; i < 4; i++) { - SetMonData(mon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]); + SetMonData(mon, MON_DATA_MOVE1 + i, &moves[i]); SetMonData(mon, MON_DATA_PP1 + i, &pp[i]); } @@ -663,7 +663,7 @@ void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) for (i = 0; i < 4; i++) { - SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]); + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &moves[i]); SetBoxMonData(boxMon, MON_DATA_PP1 + i, &pp[i]); } diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c index eaa0b86b8..285ecfe6e 100644 --- a/src/pokemon/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -631,8 +631,9 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) #define SET16(lhs) (lhs) = data[0] + (data[1] << 8) #define SET32(lhs) (lhs) = data[0] + (data[1] << 8) + (data[2] << 16) + (data[3] << 24) -void SetMonData(struct Pokemon *mon, s32 field, const u8 *data) +void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg) { + u8 *data = (u8 *)dataArg; switch (field) { case MON_DATA_STATUS: @@ -673,8 +674,9 @@ void SetMonData(struct Pokemon *mon, s32 field, const u8 *data) } } -void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data) +void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) { + u8 *data = (u8 *)dataArg; struct PokemonSubstruct0 *substruct0 = NULL; struct PokemonSubstruct1 *substruct1 = NULL; struct PokemonSubstruct2 *substruct2 = NULL; @@ -1077,14 +1079,14 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) 2, 0); - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&gSecretBaseRecord.partyHeldItems[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSecretBaseRecord.partyHeldItems[i]); for (j = 0; j < 6; j++) SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gSecretBaseRecord.partyEVs[i]); for (j = 0; j < 4; j++) { - SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, (u8 *)&gSecretBaseRecord.partyMoves[i * 4 + j]); + SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, &gSecretBaseRecord.partyMoves[i * 4 + j]); SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[gSecretBaseRecord.partyMoves[i * 4 + j]].pp); } } diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c index f3d0bee03..e9fb30415 100644 --- a/src/pokemon/pokemon_3.c +++ b/src/pokemon/pokemon_3.c @@ -68,7 +68,7 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 bat if (status & healMask) { status &= ~healMask; - SetMonData(mon, MON_DATA_STATUS, (u8 *)&status); + SetMonData(mon, MON_DATA_STATUS, &status); if (gMain.inBattle && battleId != 4) gBattleMons[battleId].status1 &= ~healMask; return FALSE; @@ -355,7 +355,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) if (gEvolutionTable[species].evolutions[i].param == heldItem) { heldItem = 0; - SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem); + SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem); targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; } break; @@ -695,7 +695,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) friendship = 0; if (friendship > 255) friendship = 255; - SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&friendship); + SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); } } } @@ -1299,16 +1299,16 @@ void SetWildMonHeldItem(void) u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0); if (gBaseStats[species].item1 == gBaseStats[species].item2) { - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1); return; } if (rnd > 44) { if (rnd <= 94) - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1); else - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item2); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item2); } } } -- cgit v1.2.3 From f9282b737e5ac72ad9e946e6bf5441852abad0f8 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sun, 29 Oct 2017 02:06:11 -0400 Subject: use BAD_MEMSET macro for battle files. --- src/battle/battle_2.c | 36 ++++++++--------------------- src/battle/battle_ai.c | 21 +++++++++-------- src/battle/battle_controller_linkopponent.c | 15 +++++------- src/battle/battle_controller_linkpartner.c | 14 ++++------- src/battle/battle_controller_opponent.c | 21 +++++++---------- src/battle/battle_controller_player.c | 24 ++++++++----------- src/battle/battle_controller_wally.c | 8 ++----- 7 files changed, 52 insertions(+), 87 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index ecd0c677d..e6bad0d6b 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1375,6 +1375,7 @@ void sub_8010384(struct Sprite *sprite) void sub_8010494(struct Sprite *sprite) { s32 i; + u8 *dst; sprite->data4--; if (sprite->data4 == 0) @@ -1389,8 +1390,8 @@ void sub_8010494(struct Sprite *sprite) } else { - u8 *dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); - + // this should use a BAD_MEMSET, but *(dst++) wont match with it. + dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; StartSpriteAnim(sprite, gBattleMonForms[sprite->data0]); @@ -1567,10 +1568,7 @@ void sub_8010874(void) { gStatuses3[i] = 0; - r4 = (u8 *)&gDisableStructs[i]; - for (j = 0; j < (u32)0x1C; j++) - r4[j] = 0; - + BAD_MEMSET(&gDisableStructs[i], 0, 0x1C, j, r4) gDisableStructs[i].isFirstTurn= 2; gUnknown_02024C70[i] = 0; gLastUsedMove[i] = 0; @@ -1586,19 +1584,14 @@ void sub_8010874(void) for (i = 0; i < 2; i++) { gSideAffecting[i] = 0; - - r4 = (u8 *)&gSideTimer[i]; - for (j = 0; j < 12; j++) - r4[j] = 0; + BAD_MEMSET(&gSideTimer[i], 0, 12, j, r4) } gBankAttacker = 0; gBankTarget = 0; gBattleWeather = 0; - r4 = (u8 *)&gWishFutureKnock; - for (i = 0; i < (u32)0x2C; i++) - r4[i] = 0; + BAD_MEMSET(&gWishFutureKnock, 0, 0x2C, i, r4) gHitMarker = 0; if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE) @@ -1721,9 +1714,7 @@ void SwitchInClearStructs(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - ptr = (u8 *)&gDisableStructs[gActiveBank]; - for (i = 0; i < (u32)0x1C; i++) - ptr[i] = 0; + BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr) if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { @@ -1778,9 +1769,7 @@ void UndoEffectsAfterFainting(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - ptr = (u8 *)&gDisableStructs[gActiveBank]; - for (i = 0; i < (u32)0x1C; i++) - ptr[i] = 0; + BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr) gProtectStructs[gActiveBank].protected = 0; gProtectStructs[gActiveBank].endured = 0; gProtectStructs[gActiveBank].onlyStruggle = 0; @@ -1873,18 +1862,13 @@ void sub_8011384(void) if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBankSide(gActiveBank) == 0) { - ptr = (u8 *)&gBattleMons[gActiveBank]; - for (i = 0; i < (u32)0x58; i++) - ptr[i] = 0; + BAD_MEMSET(&gBattleMons[gActiveBank], 0, 0x58, i, ptr) } else { u8 r0; - ptr = (u8 *)&gBattleMons[gActiveBank]; - for (i = 0; i < (u32)0x58; i++) - ptr[i] = gBattleBufferB[gActiveBank][4 + i]; - + BAD_MEMSET(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr) gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 1869bbe36..a8bd7aa19 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -267,10 +267,9 @@ const u16 sDiscouragedPowerfulMoveEffects[] = void BattleAI_HandleItemUseBeforeAISetup(void) { s32 i; - u8 *data = (u8 *)UNK_2016A00_STRUCT; + u8 *data; - for (i = 0; (u32)i < sizeof(struct UnkBattleStruct1); i++) - data[i] = 0; + BAD_MEMSET(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data) if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 0x400 @@ -292,21 +291,23 @@ void BattleAI_HandleItemUseBeforeAISetup(void) void BattleAI_SetupAIData(void) { s32 i; - u8 *data = (u8 *)AI_THINKING_STRUCT; - u8 r7; + u8 limitations; + u8 *data; // clear AI data and set default move score to 100. strange that they didn't use memset here. - for (i = 0; (u32)i < sizeof(struct AI_ThinkingStruct); i++) - data[i] = 0; + BAD_MEMSET(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data) + for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; - r7 = CheckMoveLimitations(gActiveBank, 0, 0xFF); + limitations = CheckMoveLimitations(gActiveBank, 0, 0xFF); - // probably sets up the moves to consider and ignores non-valid moves such as NO_MOVE or glitch moves. + // do not consider moves the AI cannot select + // also, roll simulated RNG for moves that have a degree of + // randomness. for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBitTable[i] & r7) + if (gBitTable[i] & limitations) AI_THINKING_STRUCT->score[i] = 0; AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16); diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index f2b11ae3d..4845988e8 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -637,9 +637,8 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + + BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -660,9 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: @@ -1145,9 +1142,9 @@ void LinkOpponentHandlecmd3(void) u8 *dst; u8 i; - dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + BAD_MEMSET(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst) + LinkOpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 60e9599f8..6d7c3115f 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -593,9 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -616,9 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: @@ -1103,9 +1099,9 @@ void LinkPartnerHandlecmd3(void) u8 *dst; u8 i; - dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + BAD_MEMSET(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], + gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst) + LinkPartnerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 85c0f4c52..8ad4075e5 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -601,9 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -624,9 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: @@ -864,12 +860,12 @@ u32 sub_8033598(u8 a, u8 *buffer) void OpponentHandlecmd1(void) { struct BattlePokemon buffer; - u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - u8 *dst = (u8 *)&buffer + gBattleBufferA[gActiveBank][1]; u8 i; + // TODO: Maybe fix this. Integrating this into BAD_MEMSET is too hard. + u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = src[i]; + BAD_MEMSET(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst) Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); OpponentBufferExecCompleted(); } @@ -1117,9 +1113,8 @@ void OpponentHandlecmd3(void) u8 *dst; u8 i; - dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + BAD_MEMSET(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], + gBattleBufferA[gActiveBank][2], i, dst) OpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index ad266d415..423d036df 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -1773,9 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -1796,9 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: @@ -2035,13 +2031,13 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) void PlayerHandlecmd1(void) { - struct BattlePokemon battleMon; // I think this is a BattlePokemon - u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; - u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBank][1]; + struct BattlePokemon battleMon; u8 i; + // TODO: Maybe fix this. Integrating this into BAD_MEMSET is too hard. + u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *dst; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = src[i]; + BAD_MEMSET(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst) Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); PlayerBufferExecCompleted(); } @@ -2288,11 +2284,11 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) void PlayerHandlecmd3(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; u8 i; + u8 *dst; - for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++) - dst[i] = gBattleBufferA[gActiveBank][3 + i]; + BAD_MEMSET(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], + gBattleBufferA[gActiveBank][2], i, dst) PlayerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index cd371bc6f..838e99c83 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -569,9 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - src = (u8 *)&battlePokemon; - for (size = 0; size < sizeof(battlePokemon); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -592,9 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - src = (u8 *)&moveData; - for (size = 0; size < sizeof(moveData); size++) - buffer[size] = src[size]; + BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: -- cgit v1.2.3 From e08f3e4398d6c1dc21437e7b6462521ecfd299a6 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sun, 29 Oct 2017 02:22:10 -0400 Subject: change SetMonData and SetBoxMonData prototypes --- src/pokemon/pokemon_2.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c index 72d41c7a6..d3bdf3a13 100644 --- a/src/pokemon/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -631,9 +631,8 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) #define SET16(lhs) (lhs) = data[0] + (data[1] << 8) #define SET32(lhs) (lhs) = data[0] + (data[1] << 8) + (data[2] << 16) + (data[3] << 24) -void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg) +void SetMonData(struct Pokemon *mon, s32 field, const u8 *data) { - u8 *data = (u8 *)dataArg; switch (field) { case MON_DATA_STATUS: @@ -674,9 +673,8 @@ void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg) } } -void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) +void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data) { - u8 *data = (u8 *)dataArg; struct PokemonSubstruct0 *substruct0 = NULL; struct PokemonSubstruct1 *substruct1 = NULL; struct PokemonSubstruct2 *substruct2 = NULL; @@ -1079,14 +1077,15 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) 2, 0); - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gSecretBaseRecord.partyHeldItems[i]); + // these two SetMonData calls require the (u8 *) cast since SetMonData is declared in this function. + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&gSecretBaseRecord.partyHeldItems[i]); for (j = 0; j < 6; j++) SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gSecretBaseRecord.partyEVs[i]); for (j = 0; j < 4; j++) { - SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, &gSecretBaseRecord.partyMoves[i * 4 + j]); + SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, (u8 *)&gSecretBaseRecord.partyMoves[i * 4 + j]); SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[gSecretBaseRecord.partyMoves[i * 4 + j]].pp); } } -- cgit v1.2.3 From 2f99edc6fd21d0af1bb05fae55302a46c744ffa6 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 3 Nov 2017 02:43:41 -0400 Subject: NotInBattle --- src/battle/battle_7.c | 10 ++-- src/battle/battle_anim.c | 71 ++++++++++++++--------------- src/battle/battle_anim_807B69C.c | 2 +- src/battle/battle_anim_80A7E7C.c | 4 +- src/battle/battle_controller_linkopponent.c | 4 +- src/battle/battle_controller_linkpartner.c | 4 +- src/battle/battle_controller_opponent.c | 4 +- src/battle/battle_controller_player.c | 4 +- src/battle/battle_controller_wally.c | 4 +- src/rom_8077ABC.c | 54 +++++++++++----------- 10 files changed, 80 insertions(+), 81 deletions(-) (limited to 'src') diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index ad96510cf..1d68386aa 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -637,7 +637,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) const void *src; void *dst; - if (IsContest()) + if (NotInBattle()) { r10 = 0; species = ewram19348.unk2; @@ -702,7 +702,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) } BlendPalette(paletteOffset, 16, 6, 0x7FFF); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); - if (!IsContest()) + if (!NotInBattle()) { ewram17800[a].transformedSpecies = species; gBattleMonForms[a] = gBattleMonForms[b]; @@ -722,11 +722,11 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) if (b == 0) { - if (IsContest()) + if (NotInBattle()) r4 = 0; else r4 = GetBankIdentity(a); - if (IsContest()) + if (NotInBattle()) LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); else if (GetBankSide(a) != 0) LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]); @@ -742,7 +742,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) } else { - if (!IsContest()) + if (!NotInBattle()) { if (GetBankSide(a) != 0) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 111d72813..5790cffe4 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -217,7 +217,7 @@ void DoMoveAnim(const u8 *const moveAnims[], u16 move, u8 c) { s32 i; - if (IsContest() == 0) + if (NotInBattle() == 0) { sub_8079E24(); sub_8043EB4(0); @@ -654,7 +654,7 @@ static void ScriptCmd_end(void) if (continuousAnim == FALSE) // may have been used for debug? { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - if (IsContest() == 0) + if (NotInBattle() == 0) { sub_8079E24(); sub_8043EB4(1); @@ -693,7 +693,7 @@ static void ScriptCmd_monbg(void) { r0 = GetBankIdentity(r5); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r7 = 0; else r7 = 1; @@ -723,7 +723,7 @@ static void ScriptCmd_monbg(void) { r0 = GetBankIdentity(r5); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r7 = 0; else r7 = 1; @@ -753,7 +753,7 @@ static void ScriptCmd_monbg(void) #ifdef NONMATCHING bool8 IsAnimBankSpriteVisible(u8 a) { - if (IsContest()) + if (NotInBattle()) { if (a == gBattleAnimBankAttacker) return TRUE; @@ -762,7 +762,7 @@ bool8 IsAnimBankSpriteVisible(u8 a) } if (!AnimBankSpriteExists(a)) return FALSE; - if (IsContest()) + if (NotInBattle()) return TRUE; // this line wont ever be reached. if (!(EWRAM_17800[a].unk0 & 1)) return TRUE; @@ -779,7 +779,7 @@ bool8 IsAnimBankSpriteVisible(u8 a) lsls r0, 24\n\ lsrs r4, r0, 24\n\ adds r5, r4, 0\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08075FDC\n\ @@ -796,7 +796,7 @@ _08075FDC:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _0807602C\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0807601C\n\ @@ -877,7 +877,7 @@ void sub_8076034(u8 a, u8 b) spriteId = gObjectBankIDs[a]; gUnknown_030042C0 = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; - if (IsContest() != 0 && sub_80AEB1C(EWRAM_19348) != 0) + if (NotInBattle() != 0 && sub_80AEB1C(EWRAM_19348) != 0) gUnknown_030042C0--; gUnknown_030041B4 = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; gSprites[gObjectBankIDs[a]].invisible = TRUE; @@ -889,12 +889,12 @@ void sub_8076034(u8 a, u8 b) addr3 = (u16 *)PLTT + s.unk8 * 16; DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32); - if (IsContest() != 0) + if (NotInBattle() != 0) r2 = 0; else r2 = GetBankIdentity(a); sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock); - if (IsContest() != 0) + if (NotInBattle() != 0) sub_8076380(); } else @@ -996,7 +996,7 @@ void sub_8076464(u8 a) struct UnknownStruct2 s; sub_8078914(&s); - if (a == 0 || IsContest() != 0) + if (a == 0 || NotInBattle() != 0) { u16 *addr2; @@ -1121,7 +1121,7 @@ static void sub_807672C(u8 taskId) { var = GetBankIdentity(gTasks[taskId].data[2]); var += 0xFF; - if (var <= 1 || IsContest() != 0) + if (var <= 1 || NotInBattle() != 0) r4 = 0; else r4 = 1; @@ -1162,7 +1162,7 @@ static void ScriptCmd_monbg_22(void) { r0 = GetBankIdentity(r4); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r1 = 0; else r1 = 1; @@ -1174,7 +1174,7 @@ static void ScriptCmd_monbg_22(void) { r0 = GetBankIdentity(r4); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r1 = 0; else r1 = 1; @@ -1224,7 +1224,7 @@ static void sub_80769A4(u8 taskId) r4 = gTasks[taskId].data[2]; r0 = GetBankIdentity(r4); r0 += 0xFF; - if (r0 <= 1 || IsContest() != 0) + if (r0 <= 1 || NotInBattle() != 0) r5 = 0; else r5 = 1; @@ -1334,8 +1334,7 @@ static void ScriptCmd_jump(void) gBattleAnimScriptPtr = (u8 *)addr; } -// Uses of this function that rely on a TRUE return are expecting inBattle to not be ticked as defined in contest behavior. As a result, if misused, this function cannot reliably discern between field and contest status and could result in undefined behavior. -bool8 IsContest(void) +bool8 NotInBattle(void) { if (!gMain.inBattle) return TRUE; @@ -1369,7 +1368,7 @@ static void ScriptCmd_fadetobg_25(void) r6 = gBattleAnimScriptPtr[2]; gBattleAnimScriptPtr += 3; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); - if (IsContest() != 0) + if (NotInBattle() != 0) gTasks[taskId].data[0] = r6; else if (GetBankSide(gBattleAnimBankTarget) == 0) gTasks[taskId].data[0] = r7; @@ -1416,15 +1415,15 @@ static void task_p5_load_battle_screen_elements(u8 taskId) static void sub_8076DB8(u16 a) { - if (IsContest()) + if (NotInBattle()) { void *tilemap = gBattleAnimBackgroundTable[a].tilemap; void *dmaSrc; void *dmaDest; - LZDecompressWram(tilemap, IsContest() ? EWRAM_14800 : EWRAM_18000); - sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : EWRAM_18000, 0x100, 0); - dmaSrc = IsContest() ? EWRAM_14800 : EWRAM_18000; + LZDecompressWram(tilemap, NotInBattle() ? EWRAM_14800 : EWRAM_18000); + sub_80763FC(sub_80789BC(), NotInBattle() ? EWRAM_14800 : EWRAM_18000, 0x100, 0); + dmaSrc = NotInBattle() ? EWRAM_14800 : EWRAM_18000; dmaDest = (void *)(VRAM + 0xD000); DmaCopy32(3, dmaSrc, dmaDest, 0x800); LZDecompressVram(gBattleAnimBackgroundTable[a].image, (void *)(VRAM + 0x2000)); @@ -1440,7 +1439,7 @@ static void sub_8076DB8(u16 a) static void dp01t_11_3_message_for_player_only(void) { - if (IsContest()) + if (NotInBattle()) sub_80AB2AC(); else sub_800D7B8(); @@ -1493,14 +1492,14 @@ static void ScriptCmd_changebg(void) /* s8 sub_8076F98(s8 a) { - if (!IsContest() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10)) + if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10)) { a = GetBankSide(gBattleAnimBankAttacker) ? 0xC0 : 0x3F; } //_08076FDC else { - if (IsContest()) + if (NotInBattle()) { if (gBattleAnimBankAttacker == gBattleAnimBankTarget && gBattleAnimBankAttacker == 2 && a == 0x3F) @@ -1536,7 +1535,7 @@ s8 sub_8076F98(s8 a) push {r4,lr}\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08076FDC\n\ @@ -1564,7 +1563,7 @@ s8 sub_8076F98(s8 a) _08076FD4: .4byte gBattleAnimBankAttacker\n\ _08076FD8: .4byte 0x02017810\n\ _08076FDC:\n\ - bl IsContest\n\ + bl NotInBattle\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08077004\n\ @@ -1661,7 +1660,7 @@ _08077088:\n\ s8 sub_8077094(s8 a) { - if (!IsContest() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10)) + if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10)) { if (GetBankSide(gBattleAnimBankAttacker) != 0) a = 0x3F; @@ -1670,7 +1669,7 @@ s8 sub_8077094(s8 a) } else { - if (GetBankSide(gBattleAnimBankAttacker) != 0 || IsContest() != 0) + if (GetBankSide(gBattleAnimBankAttacker) != 0 || NotInBattle() != 0) a = -a; } return a; @@ -2108,7 +2107,7 @@ static void ScriptCmd_jumpunkcond(void) u8 *addr; gBattleAnimScriptPtr++; - if (IsContest()) + if (NotInBattle()) { addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr); gBattleAnimScriptPtr = addr; @@ -2132,7 +2131,7 @@ static void ScriptCmd_monbgprio_28(void) else r0 = gBattleAnimBankAttacker; r4 = GetBankIdentity(r0); - if (!IsContest() && (r4 == 0 || r4 == 3)) + if (!NotInBattle() && (r4 == 0 || r4 == 3)) { REG_BG1CNT_BITFIELD.priority = 1; REG_BG2CNT_BITFIELD.priority = 2; @@ -2142,7 +2141,7 @@ static void ScriptCmd_monbgprio_28(void) static void ScriptCmd_monbgprio_29(void) { gBattleAnimScriptPtr++; - if (!IsContest()) + if (!NotInBattle()) { REG_BG1CNT_BITFIELD.priority = 1; REG_BG2CNT_BITFIELD.priority = 2; @@ -2164,7 +2163,7 @@ static void ScriptCmd_monbgprio_2A(void) else r0 = gBattleAnimBankAttacker; r4 = GetBankIdentity(r0); - if (!IsContest() && (r4 == 0 || r4 == 3)) + if (!NotInBattle() && (r4 == 0 || r4 == 3)) { REG_BG1CNT_BITFIELD.priority = 1; REG_BG2CNT_BITFIELD.priority = 2; @@ -2208,7 +2207,7 @@ static void ScriptCmd_doublebattle_2D(void) r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; - if (!IsContest() && IsDoubleBattle() + if (!NotInBattle() && IsDoubleBattle() && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget)) { if (r7 == 0) @@ -2242,7 +2241,7 @@ static void ScriptCmd_doublebattle_2E(void) r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; - if (!IsContest() && IsDoubleBattle() + if (!NotInBattle() && IsDoubleBattle() && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget)) { if (r7 == 0) diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c index bf3eb7ef1..9acc7bd46 100644 --- a/src/battle/battle_anim_807B69C.c +++ b/src/battle/battle_anim_807B69C.c @@ -183,7 +183,7 @@ void sub_807B920(u8 taskId) s16 y = sub_8077ABC(gBattleAnimBankTarget, 3) - 36; u8 spriteId; - if (IsContest()) + if (NotInBattle()) x -= 6; REG_BLDCNT = 0x3F40; REG_BLDALPHA = 0x1000; diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index e0c79dc8e..19ac7143e 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -769,7 +769,7 @@ void sub_80A8E04(u8 taskId) TASK.data[4] = gBattleAnimArgs[1]; TASK.data[5] = spriteId; TASK.data[6] = gBattleAnimArgs[3]; - if (IsContest()) + if (NotInBattle()) { TASK.data[7] = 1; } @@ -786,7 +786,7 @@ void sub_80A8E04(u8 taskId) } if (TASK.data[7]) { - if (!IsContest()) + if (!NotInBattle()) { TASK.data[3] *= -1; TASK.data[4] *= -1; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 7b7c7ed82..70cd636bd 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -638,7 +638,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -659,7 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 7f3cf9d37..718afa6bd 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -593,7 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -614,7 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index d9f24e6c2..c36f5fd82 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -601,7 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -622,7 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 62da661f0..70eeed5f7 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -1773,7 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -1794,7 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index d2baa293b..eefdc5e50 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -569,7 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMSET_REVERSE(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -590,7 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMSET_REVERSE(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) break; case 4: case 5: diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index ef9eb36a8..285c992ca 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -187,7 +187,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) { u16 species; struct TransformStatus *transform; - if (IsContest()) { + if (NotInBattle()) { if (a2 == 3 && slot == 3) { a2 = 1; } @@ -203,7 +203,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) { case 3: case 4: default: - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { species = unk_2019348.field_2; } else { @@ -243,9 +243,9 @@ u8 sub_8077BFC(u8 slot, u16 species) { u8 ret; u16 var; - if (!GetBankSide(slot) || IsContest()) { + if (!GetBankSide(slot) || NotInBattle()) { if (species == SPECIES_UNOWN) { - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { personality = unk_2019348.field_10; } else { @@ -302,7 +302,7 @@ u8 sub_8077BFC(u8 slot, u16 species) { u8 sub_8077DD8(u8 slot, u16 species) { u8 ret = 0; if (GetBankSide(slot) == 1) { - if (!IsContest()) { + if (!NotInBattle()) { if (species == SPECIES_CASTFORM) { ret = gCastformElevations[gBattleMonForms[slot]]; } else if (species > NUM_SPECIES) { @@ -318,7 +318,7 @@ u8 sub_8077DD8(u8 slot, u16 species) { u8 sub_8077E44(u8 slot, u16 species, u8 a3) { u16 offset; u8 y; - if (GetBankSide(slot) == 0 || IsContest()) { + if (GetBankSide(slot) == 0 || NotInBattle()) { offset = sub_8077BFC(slot, species); } else { offset = sub_8077BFC(slot, species); @@ -338,7 +338,7 @@ u8 sub_8077EE4(u8 slot, u8 a2) { u16 species; struct TransformStatus *transform; if (a2 == 3 || a2 == 4) { - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { species = unk_2019348.field_2; } else { @@ -381,7 +381,7 @@ u8 sub_8077FC0(u8 slot) { u8 r6; struct TransformStatus *transform; r6 = sub_8077ABC(slot, 1); - if (!IsContest()) { + if (!NotInBattle()) { if (GetBankSide(slot)) { transform = &gTransformStatuses[slot]; if (!transform->species) { @@ -752,7 +752,7 @@ u8 GetBankByPlayerAI(u8 slot) { } bool8 AnimBankSpriteExists(u8 slot) { - if (IsContest()) { + if (NotInBattle()) { if (gBattleAnimBankAttacker == slot) { return TRUE; } @@ -782,7 +782,7 @@ bool8 IsDoubleBattle() { } void sub_8078914(struct Struct_sub_8078914 *unk) { - if (IsContest()) { + if (NotInBattle()) { unk->field_0 = (u8 *)0x6008000; unk->field_4 = (u8 *)0x600f000; unk->field_8 = 0xe; @@ -794,7 +794,7 @@ void sub_8078914(struct Struct_sub_8078914 *unk) { } void sub_8078954(struct Struct_sub_8078914 *unk) { - if (IsContest()) { + if (NotInBattle()) { unk->field_0 = (u8 *)0x6008000; unk->field_4 = (u8 *)0x600f000; unk->field_8 = 0xe; @@ -810,7 +810,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) { } u8 sub_80789BC() { - if (IsContest()) { + if (NotInBattle()) { return 1; } return 2; @@ -820,7 +820,7 @@ void sub_80789D4(bool8 a1) { if (!a1) { BG3CNT.size = 0; BG3CNT.overflow = 1; - } else if (IsContest()) { + } else if (NotInBattle()) { BG3CNT.size = 0; BG3CNT.overflow = 1; } else { @@ -1025,7 +1025,7 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) { } bool8 sub_8078E38() { - if (IsContest()) { + if (NotInBattle()) { if (gSprites[GetAnimBankSpriteId(0)].data2 == 0xc9 /* XXX SPECIES_UNOWN? */) { return FALSE; } @@ -1037,12 +1037,12 @@ bool8 sub_8078E38() { void sub_8078E70(u8 sprite, u8 a2) { struct Struct_2017810 *unk; u8 r7 = gSprites[sprite].data0; - if (IsContest() || IsAnimBankSpriteVisible(r7)) { + if (NotInBattle() || IsAnimBankSpriteVisible(r7)) { gSprites[sprite].invisible = FALSE; } gSprites[sprite].oam.objMode = a2; gSprites[sprite].affineAnimPaused = TRUE; - if (!IsContest() && !gSprites[sprite].oam.affineMode) { + if (!NotInBattle() && !gSprites[sprite].oam.affineMode) { unk = &unk_2017810[r7]; gSprites[sprite].oam.matrixNum = unk->field_6; } @@ -1135,7 +1135,7 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { u32 var = 0; u32 shift; if (a1) { - if (!IsContest()) { + if (!NotInBattle()) { var = 0xe; } else { var = 1 << sub_80789BC(); @@ -1162,14 +1162,14 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { } } if (a6) { - if (!IsContest()) { + if (!NotInBattle()) { var |= 0x100; } else { var |= 0x4000; } } if (a7) { - if (!IsContest()) { + if (!NotInBattle()) { var |= 0x200; } } @@ -1179,7 +1179,7 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) { u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) { u32 var = 0; u32 shift; - if (IsContest()) { + if (NotInBattle()) { if (a1) { var |= 1 << 18; return var; @@ -1540,7 +1540,7 @@ u16 sub_8079B10(u8 sprite) { u16 i; for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) { if (gBattleMonSprites[i] == sprite) { - if (IsContest()) { + if (NotInBattle()) { species = unk_2019348.field_0; return gMonBackPicCoords[species].y_offset; } else { @@ -1653,7 +1653,7 @@ void sub_8079E24() { u8 sub_8079E90(u8 slot) { u8 status; u8 ret; - if (IsContest()) { + if (NotInBattle()) { if (slot == 2) { return 30; } else { @@ -1676,7 +1676,7 @@ u8 sub_8079E90(u8 slot) { u8 sub_8079ED4(u8 slot) { u8 status = GetBankIdentity(slot); - if (IsContest()) { + if (NotInBattle()) { return 2; } if (status == 0 || status == 3) { @@ -1688,7 +1688,7 @@ u8 sub_8079ED4(u8 slot) { u8 GetBankIdentity_permutated(u8 slot) { u8 status; - if (!IsContest()) { + if (!NotInBattle()) { status = GetBankIdentity(slot); if (status == 0 || status == 3) { return 2; @@ -1744,7 +1744,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, } else { sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6); } - if (IsContest()) { + if (NotInBattle()) { gSprites[sprite].affineAnims = &gSpriteAffineAnimTable_81E7C18; StartSpriteAffineAnim(&gSprites[sprite], 0); } @@ -1763,7 +1763,7 @@ int sub_807A100(u8 slot, u8 a2) { int ret; const struct MonCoords *coords; struct TransformStatus *transform; - if (IsContest()) { + if (NotInBattle()) { if (unk_2019348.field_4 & 1) { species = unk_2019348.field_2; personality = unk_2019348.field_10; @@ -1870,7 +1870,7 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) { } v3 = sub_8077ABC(slot, v1); v4 = sub_8077ABC(slot, v2); - if (IsDoubleBattle() && !IsContest()) { + if (IsDoubleBattle() && !NotInBattle()) { v5 = sub_8077ABC(slot ^ 2, v1); v6 = sub_8077ABC(slot ^ 2, v2); } else { -- cgit v1.2.3 From 67ea254871134d850e013ee72bd4275b40e8091b Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 3 Nov 2017 19:09:40 -0400 Subject: BG_CHAR_ADDR and BG_SCREEN_ADDR recast fixes --- src/battle/battle_2.c | 34 +-- src/battle/battle_4.c | 520 ++++++++++++++++------------------ src/battle/battle_ai.c | 174 ++++++------ src/battle/battle_anim.c | 139 +++++---- src/battle/battle_controller_player.c | 2 +- src/battle/battle_controller_safari.c | 2 +- src/battle/battle_records.c | 2 +- src/battle/battle_setup.c | 23 +- src/engine/link.c | 2 +- src/engine/text.c | 226 +++++++-------- src/engine/trade.c | 52 ++-- src/field/pokeblock.c | 2 +- src/field/slot_machine.c | 10 +- src/pokemon/pokedex_cry_screen.c | 2 +- src/rom3.c | 4 +- 15 files changed, 582 insertions(+), 612 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index e6bad0d6b..32ffc57d4 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1927,11 +1927,7 @@ void bc_801333C(void) if (gBattleExecBuffer == 0) { - struct - { - u16 hp; - u32 status; - } sp0[6]; + struct HpAndStatus hpStatus[6]; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { @@ -1940,17 +1936,17 @@ void bc_801333C(void) if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == 0 || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) { - sp0[i].hp = 0xFFFF; - sp0[i].status = 0; + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; } else { - sp0[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); - sp0[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); + hpStatus[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); } } gActiveBank = GetBankByPlayerAI(1); - Emitcmd48(0, (u8 *)sp0, 0x80); + EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBank); for (i = 0; i < 6; i++) @@ -1958,17 +1954,17 @@ void bc_801333C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0 || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) { - sp0[i].hp = 0xFFFF; - sp0[i].status = 0; + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; } else { - sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } gActiveBank = GetBankByPlayerAI(0); - Emitcmd48(0, (u8 *)sp0, 0x80); + EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBank); gBattleMainFunc = bc_battle_begin_message; @@ -1983,13 +1979,13 @@ void bc_801333C(void) if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0 || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) { - sp0[i].hp = 0xFFFF; - sp0[i].status = 0; + hpStatus[i].hp = 0xFFFF; + hpStatus[i].status = 0; } else { - sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index a3b7ac41f..9a44a1242 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -220,18 +220,6 @@ extern u8 gUnknown_081D8C65[]; extern u8 gUnknown_081D9156[]; extern u8 gUnknown_081D9468[]; - -//useful macros -//read via orr -#define BSScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) -#define BSScriptRead8(ptr) (((u8)((ptr)[0]))) -#define BSScriptReadPtr(ptr) ((void *)BSScriptRead32(ptr)) - -//read via add -#define BS2ScriptRead32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) -#define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) -#define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr)) - #define TargetProtectAffected ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) //array entries for battle communication @@ -1119,7 +1107,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move) { gMoveHitWith[gBankTarget] = 0; gUnknown_02024C44[gBankTarget] = 0; - to_store = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + to_store = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -1200,13 +1188,13 @@ static bool8 AccuracyCalcHelper(u16 move) static void atk01_accuracycheck(void) { - u16 move = BS2ScriptRead16(gBattlescriptCurrInstr + 5); + u16 move = T2_READ_16(gBattlescriptCurrInstr + 5); if (move == 0xFFFE || move == 0xFFFF) { if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker) gBattlescriptCurrInstr += 7; else if (gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else if (!JumpIfMoveAffectedByProtect(0)) gBattlescriptCurrInstr += 7; } @@ -1891,7 +1879,7 @@ static void atk0B_healthbarupdate(void) if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) goto END; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { @@ -1930,7 +1918,7 @@ static void atk0C_datahpupdate(void) if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage) @@ -1975,7 +1963,7 @@ static void atk0C_datahpupdate(void) else { gTakenDmg[gActiveBank] += gBattleMoveDamage; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) gTakenDmgBanks[gActiveBank] = gBankAttacker; else gTakenDmgBanks[gActiveBank] = gBankTarget; @@ -1999,7 +1987,7 @@ static void atk0C_datahpupdate(void) { gProtectStructs[gActiveBank].physicalDmg = gHP_dealt; gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHP_dealt; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) { gProtectStructs[gActiveBank].physicalBank = gBankAttacker; gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker; @@ -2014,7 +2002,7 @@ static void atk0C_datahpupdate(void) { gProtectStructs[gActiveBank].specialDmg = gHP_dealt; gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHP_dealt; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) { gProtectStructs[gActiveBank].specialBank = gBankAttacker; gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker; @@ -2033,7 +2021,7 @@ static void atk0C_datahpupdate(void) } else { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF; } @@ -2188,7 +2176,7 @@ static void atk10_printstring(void) { if (gBattleExecBuffer == 0) { - u16 var = BS2ScriptRead16(gBattlescriptCurrInstr + 1); + u16 var = T2_READ_16(gBattlescriptCurrInstr + 1); PrepareStringBattle(var, gBankAttacker); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2198,7 +2186,7 @@ static void atk10_printstring(void) static void atk11_printstring_playeronly(void) { gActiveBank = gBankAttacker; - EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2214,7 +2202,7 @@ static void atk12_waitmessage(void) } else { - u16 to_wait = BS2ScriptRead16(gBattlescriptCurrInstr + 1); + u16 to_wait = T2_READ_16(gBattlescriptCurrInstr + 1); if (++gPauseCounterBattle >= to_wait) { gPauseCounterBattle = 0; @@ -2229,7 +2217,7 @@ static void atk13_printfromtable(void) { if (gBattleExecBuffer == 0) { - u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr += gBattleCommunication[MULTISTRING_CHOOSER]; PrepareStringBattle(*(u16*)ptr, gBankAttacker); gBattlescriptCurrInstr += 5; @@ -2241,7 +2229,7 @@ static void atk14_printfromtable_playeronly(void) { if (gBattleExecBuffer == 0) { - u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME ptr += gBattleCommunication[MULTISTRING_CHOOSER]; gActiveBank = gBankAttacker; EmitPrintStringPlayerOnly(0, *(u16*)ptr); @@ -4961,7 +4949,7 @@ static void atk17_seteffectsecondary(void) static void atk18_status_effect_clear(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) gBattleMons[gActiveBank].status1 &= (~gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); else @@ -4981,7 +4969,7 @@ static void atk19_faint_pokemon(void) gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) { - r4 = BSScriptReadPtr(gBattlescriptCurrInstr + 3); + r4 = T1_READ_PTR(gBattlescriptCurrInstr + 3); b_movescr_stack_pop_cursor(); gBattlescriptCurrInstr = r4; @@ -5079,7 +5067,7 @@ static void atk1A_faint_animation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd10(0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -5091,7 +5079,7 @@ static void atk1B_faint_effects_clear(void) //Clears things like attraction or trapping to other banks if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); gBattleMons[gActiveBank].status1 = 0; EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1); MarkBufferBankForExecution(gActiveBank); @@ -5102,9 +5090,9 @@ static void atk1B_faint_effects_clear(void) static void atk1C_jumpifstatus(void) { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6); if (gBattleMons[bank].status1 & flags && gBattleMons[bank].hp) gBattlescriptCurrInstr = jump_loc; else @@ -5113,9 +5101,9 @@ static void atk1C_jumpifstatus(void) static void atk1D_jumpifstatus2(void) { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6); if (gBattleMons[bank].status2 & flags && gBattleMons[bank].hp) gBattlescriptCurrInstr = jump_loc; else @@ -5125,9 +5113,9 @@ static void atk1D_jumpifstatus2(void) static void atk1E_jumpifability(void) { u8 bank; - u8 ability = BSScriptRead8(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 8) + u8 ability = T2_READ_8(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3); + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 8) { bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBankAttacker, ability, 0, 0); if (bank) @@ -5140,7 +5128,7 @@ static void atk1E_jumpifability(void) else gBattlescriptCurrInstr += 7; } - else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 9) + else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 9) { bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBankAttacker, ability, 0, 0); if (bank) @@ -5155,7 +5143,7 @@ static void atk1E_jumpifability(void) } else { - bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[bank].ability == ability) { gLastUsedAbility = ability; @@ -5173,13 +5161,13 @@ static void atk1F_jumpifsideaffecting(void) u8 side; u16 flags; void* jump_loc; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) side = GetBankIdentity(gBankAttacker) & 1; else side = GetBankIdentity(gBankTarget) & 1; - flags = BS2ScriptRead16(gBattlescriptCurrInstr + 2); - jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 4); + flags = T2_READ_16(gBattlescriptCurrInstr + 2); + jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4); if (gSideAffecting[side] & flags) gBattlescriptCurrInstr = jump_loc; @@ -5190,37 +5178,37 @@ static void atk1F_jumpifsideaffecting(void) static void atk20_jumpifstat(void) { u8 ret = 0; - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u8 value = gBattleMons[bank].statStages[BSScriptRead8(gBattlescriptCurrInstr + 3)]; - switch (BSScriptRead8(gBattlescriptCurrInstr + 2)) + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u8 value = gBattleMons[bank].statStages[T2_READ_8(gBattlescriptCurrInstr + 3)]; + switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case CMP_EQUAL: - if (value == BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value == T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_NOT_EQUAL: - if (value != BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value != T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_GREATER_THAN: - if (value > BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value > T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_LESS_THAN: - if (value < BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value < T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_COMMON_BITS: - if (value & BSScriptRead8(gBattlescriptCurrInstr + 4)) + if (value & T2_READ_8(gBattlescriptCurrInstr + 4)) ret++; break; case CMP_NO_COMMON_BITS: - if (!(value & BSScriptRead8(gBattlescriptCurrInstr + 4))) + if (!(value & T2_READ_8(gBattlescriptCurrInstr + 4))) ret++; break; } if (ret) - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 5); else gBattlescriptCurrInstr += 9; } @@ -5230,10 +5218,10 @@ static void atk21_jumpifstatus3(void) u32 flags; void* jump_loc; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2); - jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7); - if (BSScriptRead8(gBattlescriptCurrInstr + 6)) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + flags = T2_READ_32(gBattlescriptCurrInstr + 2); + jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7); + if (T2_READ_8(gBattlescriptCurrInstr + 6)) { if ((gStatuses3[gActiveBank] & flags) != 0) gBattlescriptCurrInstr += 11; @@ -5251,9 +5239,9 @@ static void atk21_jumpifstatus3(void) static void atk22_jumpiftype(void) //u8 bank, u8 type, *ptr { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - u8 type = BSScriptRead8(gBattlescriptCurrInstr + 2); - void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u8 type = T2_READ_8(gBattlescriptCurrInstr + 2); + void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3); if (gBattleMons[bank].type1 == type || gBattleMons[bank].type2 == type) gBattlescriptCurrInstr = jump_loc; @@ -5268,7 +5256,7 @@ static void atk23_getexp(void) u8 hold_effect; int via_expshare = 0, sent_in; u16* exp = &BATTLE_STRUCT->exp; - gBank1 = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gBank1 = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); sent_in = gSentPokesToOpponent[(gBank1 & 2) >> 1]; switch (BATTLE_STRUCT->atk23StateTracker) { @@ -6724,14 +6712,14 @@ static void atk24(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { if (found2 + found1 > 1) - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } else { if (found2 != 0 && found1 != 0) - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } @@ -6979,7 +6967,7 @@ static void atk25_move_values_cleanup(void) static void atk26_set_multihit(void) { - gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1); + gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr += 2; } @@ -6988,20 +6976,20 @@ static void atk27_decrement_multihit(void) if (--gMultiHitCounter == 0) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); } static void atk28_goto(void) { - gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1); } static void atk29_jumpifbyte(void) { - u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1); - u8* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - u8 value = BSScriptRead8(gBattlescriptCurrInstr + 6); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7); + u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); + u8* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2); + u8 value = T2_READ_8(gBattlescriptCurrInstr + 6); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr += 11; switch (caseID) { @@ -7034,10 +7022,10 @@ static void atk29_jumpifbyte(void) static void atk2A_jumpifhalfword(void) { - u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1); - u16* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 6); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 8); + u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); + u16* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2); + u16 value = T2_READ_16(gBattlescriptCurrInstr + 6); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 8); gBattlescriptCurrInstr += 12; switch (caseID) { @@ -7070,10 +7058,10 @@ static void atk2A_jumpifhalfword(void) static void atk2B_jumpifword(void) { - u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1); - u32* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - u32 value = BSScriptRead32(gBattlescriptCurrInstr + 6); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10); + u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); + u32* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2); + u32 value = T1_READ_32(gBattlescriptCurrInstr + 6); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10); gBattlescriptCurrInstr += 14; switch (caseID) { @@ -7107,10 +7095,10 @@ static void atk2B_jumpifword(void) static void atk2C_jumpifarrayequal(void) { //Mem1, Mem2, Size, Jump Loc - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u32 size = T2_READ_8(gBattlescriptCurrInstr + 9); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10); u8 i; for (i = 0; i < size; i++) @@ -7131,10 +7119,10 @@ static void atk2D_jumpifarraynotequal(void) { //Mem1, Mem2, Size, Jump Loc u8 equal_bytes = 0; - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9); - u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u32 size = T2_READ_8(gBattlescriptCurrInstr + 9); + u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10); u8 i; for (i = 0; i < size; i++) @@ -7154,30 +7142,30 @@ static void atk2D_jumpifarraynotequal(void) static void atk2E_setbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem = BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem = T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk2F_addbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem += BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem += T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk30_subbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem -= BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem -= T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk31_copyarray(void) { - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - s32 size = BSScriptRead8(gBattlescriptCurrInstr + 9); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + s32 size = T2_READ_8(gBattlescriptCurrInstr + 9); s32 i; for (i = 0; i < size; i++) @@ -7190,10 +7178,10 @@ static void atk31_copyarray(void) static void atk32_copyarray_withindex(void) { - u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5); - u8* index = BS2ScriptReadPtr(gBattlescriptCurrInstr + 9); - s32 size = BSScriptRead8(gBattlescriptCurrInstr + 13); + u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5); + u8* index = T2_READ_PTR(gBattlescriptCurrInstr + 9); + s32 size = T2_READ_8(gBattlescriptCurrInstr + 13); s32 i; for (i = 0; i < size; i++) @@ -7206,15 +7194,15 @@ static void atk32_copyarray_withindex(void) static void atk33_orbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem |= BSScriptRead8(gBattlescriptCurrInstr + 5); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem |= T2_READ_8(gBattlescriptCurrInstr + 5); gBattlescriptCurrInstr += 6; } static void atk34_orhalfword(void) { - u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5); + u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); *mem |= val; gBattlescriptCurrInstr += 7; @@ -7222,8 +7210,8 @@ static void atk34_orhalfword(void) static void atk35_orword(void) { - u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5); + u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); *mem |= val; gBattlescriptCurrInstr += 9; @@ -7231,15 +7219,15 @@ static void atk35_orword(void) static void atk36_bicbyte(void) { - u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - *mem &= ~(BSScriptRead8(gBattlescriptCurrInstr + 5)); + u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + *mem &= ~(T2_READ_8(gBattlescriptCurrInstr + 5)); gBattlescriptCurrInstr += 6; } static void atk37_bichalfword(void) { - u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5); + u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u16 val = T2_READ_16(gBattlescriptCurrInstr + 5); *mem &= ~val; gBattlescriptCurrInstr += 7; @@ -7247,8 +7235,8 @@ static void atk37_bichalfword(void) static void atk38_bicword(void) { - u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1); - u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5); + u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1); + u32 val = T2_READ_32(gBattlescriptCurrInstr + 5); *mem &= ~val; gBattlescriptCurrInstr += 9; @@ -7258,7 +7246,7 @@ static void atk39_pause(void) { if (gBattleExecBuffer == 0) { - u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 1); + u16 value = T2_READ_16(gBattlescriptCurrInstr + 1); if (++gPauseCounterBattle >= value) { gPauseCounterBattle = 0; @@ -7275,7 +7263,7 @@ static void atk3A_waitstate(void) static void atk3B_healthbar_update(void) { - if (!BSScriptRead8(gBattlescriptCurrInstr + 1)) + if (!T2_READ_8(gBattlescriptCurrInstr + 1)) gActiveBank = gBankTarget; else gActiveBank = gBankAttacker; @@ -7315,23 +7303,23 @@ static void atk3F_end3(void) //pops the main function stack static void atk41_call(void) { b_movescr_stack_push(gBattlescriptCurrInstr + 5); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atk42_jumpiftype2(void) //u8 bank, u8 type, *ptr { - u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 3); + if (T2_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || T2_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); else gBattlescriptCurrInstr += 7; } static void atk43_jumpifabilitypresent(void) { - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, BSScriptRead8(gBattlescriptCurrInstr + 1), 0, 0)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, T2_READ_8(gBattlescriptCurrInstr + 1), 0, 0)) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -7345,9 +7333,9 @@ static void atk44(void) static void atk45_playanimation(void) { - #define ANIMATION_ID BSScriptRead8(gBattlescriptCurrInstr + 2) - #define ARGUMENT (u16*) BS2ScriptReadPtr(gBattlescriptCurrInstr + 3) - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + #define ANIMATION_ID T2_READ_8(gBattlescriptCurrInstr + 2) + #define ARGUMENT (u16*) T2_READ_PTR(gBattlescriptCurrInstr + 3) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if ( ANIMATION_ID == 1 || ANIMATION_ID == 0x11 || ANIMATION_ID == 2) { EmitBattleAnimation(0, ANIMATION_ID, *argument); @@ -7477,10 +7465,10 @@ static void atk46_playanimation2(void) u16* arg3; u32 something; - arg1 = BSScriptRead8(gBattlescriptCurrInstr + 1); + arg1 = T2_READ_8(gBattlescriptCurrInstr + 1); gActiveBank = GetBattleBank(arg1); - arg2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); - arg3 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); + arg2 = T2_READ_PTR(gBattlescriptCurrInstr + 2); + arg3 = T2_READ_PTR(gBattlescriptCurrInstr + 6); if (*arg2 == 1 || *arg2 == 0x11 || *arg2 == 2) { @@ -7645,9 +7633,9 @@ static void atk48_playstatchangeanimation(void) u32 stats_to_check; u8 arg3; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - stats_to_check = BSScriptRead8(gBattlescriptCurrInstr + 2); - arg3 = BSScriptRead8(gBattlescriptCurrInstr + 3); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + stats_to_check = T2_READ_8(gBattlescriptCurrInstr + 2); + arg3 = T2_READ_8(gBattlescriptCurrInstr + 3); if (arg3 & 1) { u16 r1 = 0x15; @@ -7657,7 +7645,7 @@ static void atk48_playstatchangeanimation(void) { if (!(stats_to_check & 1)) continue; - if (!(BSScriptRead8(gBattlescriptCurrInstr + 3))) + if (!(T2_READ_8(gBattlescriptCurrInstr + 3))) { u8 ability; if (gSideTimer[GetBankIdentity(gActiveBank) & 1].mistTimer) @@ -7676,7 +7664,7 @@ static void atk48_playstatchangeanimation(void) r1 += 1; curr_stat++; } - if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2) + if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2) stat_animID = 0x39; else stat_animID = 0x3A; @@ -7700,19 +7688,19 @@ static void atk48_playstatchangeanimation(void) r1 += 1; curr_stat++; } - if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2) + if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2) stat_animID = 0x37; else stat_animID = 0x38; } - if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1) + if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1) || changeable_stats == 0 || BATTLE_STRUCT->filler2[0] != 0) gBattlescriptCurrInstr += 4; else { EmitBattleAnimation(0, 1, stat_animID); MarkBufferBankForExecution(gActiveBank); - if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) + if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) BATTLE_STRUCT->filler2[0] = 1; gBattlescriptCurrInstr += 4; } @@ -7998,8 +7986,8 @@ static void atk49_moveendturn(void) if (gLastUsedMove != 0xFFFF) last_move = gLastUsedMove; - arg1 = BSScriptRead8(gBattlescriptCurrInstr + 1); - arg2 = BSScriptRead8(gBattlescriptCurrInstr + 2); + arg1 = T2_READ_8(gBattlescriptCurrInstr + 1); + arg2 = T2_READ_8(gBattlescriptCurrInstr + 2); if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY) hold_effect_atk = gEnigmaBerries[gBankAttacker].holdEffect; else @@ -9531,7 +9519,7 @@ static void atk4C_copy_poke_data(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); gBattlePartyID[gActiveBank] = unk_2000000[0x16068 + gActiveBank]; @@ -9558,7 +9546,7 @@ static void atk4D_switch_data_update(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); OldData = gBattleMons[gActiveBank]; monData = (u8*)(&gBattleMons[gActiveBank]); for (i = 0; i < sizeof(struct BattlePokemon); i++) @@ -9599,13 +9587,13 @@ static void atk4E_switchin_anim(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); } gAbsentBankFlags &= ~(gBitTable[gActiveBank]); - EmitSendOutPoke(0, gBattlePartyID[gActiveBank], BSScriptRead8(gBattlescriptCurrInstr + 2)); + EmitSendOutPoke(0, gBattlePartyID[gActiveBank], T2_READ_8(gBattlescriptCurrInstr + 2)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } @@ -9616,12 +9604,12 @@ static void atk4F_jump_if_cannot_switch(void) register struct Pokemon *party; u8 r7; //0x80 byte is used as a way of telling the function whether to not check status2/status3 - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x7F); - if (!(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x80) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F); + if (!(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x80) && ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) || (gStatuses3[gActiveBank] & STATUS3_ROOTED))) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); return; } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -9642,7 +9630,7 @@ static void atk4F_jump_if_cannot_switch(void) break; } if (val == to_cmp) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -9675,7 +9663,7 @@ static void atk4F_jump_if_cannot_switch(void) break; } if (val == 6) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -9694,9 +9682,9 @@ static void atk50_openpartyscreen(void) { int i = 0; int r9 = 0; - u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2); - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5) { if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) { @@ -10765,8 +10753,8 @@ static void atk51_switch_handle_order(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - switch (BSScriptRead8(gBattlescriptCurrInstr + 2)) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: for (i = 0; i < gNoOfAllBanks; i++) @@ -10816,7 +10804,7 @@ static void atk52_switch_in_effects(void) { int i; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); sub_80157C4(gActiveBank); gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); gSpecialStatuses[gActiveBank].flag40 = 0; @@ -10836,9 +10824,9 @@ static void atk52_switch_in_effects(void) BATTLE_STRUCT->scriptingActive = gActiveBank; b_movescr_stack_push_cursor(); - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) gBattlescriptCurrInstr = gUnknown_081D919F; - else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1) + else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) gBattlescriptCurrInstr = gUnknown_081D9171; else gBattlescriptCurrInstr = gUnknown_081D91CD; @@ -10865,7 +10853,7 @@ static void atk52_switch_in_effects(void) *(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp; } - if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5) + if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5) { u32 hitmark = gHitMarker >> 0x1C; gBank1++; @@ -10885,7 +10873,7 @@ static void atk52_switch_in_effects(void) static void atk53_trainer_slide(void) { - if (!BSScriptRead8(gBattlescriptCurrInstr + 1)) + if (!T2_READ_8(gBattlescriptCurrInstr + 1)) gActiveBank = GetBankByPlayerAI(0); else gActiveBank = GetBankByPlayerAI(1); @@ -10898,7 +10886,7 @@ static void atk53_trainer_slide(void) static void atk54_effectiveness_sound(void) { gActiveBank = gBankAttacker; - EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } @@ -10906,14 +10894,14 @@ static void atk54_effectiveness_sound(void) static void atk55_play_sound(void) { gActiveBank = gBankAttacker; - Emitcmd44(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1)); + Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1)); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 3; } static void atk56_fainting_cry(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitFaintingCry(0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -10929,7 +10917,7 @@ static void atk57(void) static void atk58_return_to_ball(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitReturnPokeToBall(0, 1); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -10937,10 +10925,10 @@ static void atk58_return_to_ball(void) void atk59_learnmove_inbattle(void) { - u8* loc1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1); - u8* loc2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5); + u8* loc1 = T1_READ_PTR(gBattlescriptCurrInstr + 1); + u8* loc2 = T1_READ_PTR(gBattlescriptCurrInstr + 5); - u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], BSScriptRead8(gBattlescriptCurrInstr + 9)); + u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], T2_READ_8(gBattlescriptCurrInstr + 9)); while (ret == 0xFFFE) ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], 0); @@ -11053,7 +11041,7 @@ static void atk5A(void) { u8 *ptr; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); ptr = gBattleTextBuff2; { ptr[0] = 0xFD; @@ -11123,7 +11111,7 @@ static void atk5B_80256E0(void) { PlaySE(SE_SELECT); if (gBattleCommunication[1] != 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; sub_8023AD8(); @@ -11131,7 +11119,7 @@ static void atk5B_80256E0(void) else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); sub_8023AD8(); } } @@ -11139,7 +11127,7 @@ static void atk5B_80256E0(void) static void atk5C_hitanimation(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) gBattlescriptCurrInstr += 2; else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0) @@ -11412,7 +11400,7 @@ _08024190: .4byte gBattlescriptCurrInstr\n\ static void atk5E_8025A70(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleCommunication[0]) { case 0: @@ -11453,26 +11441,20 @@ static void atk60_increment_gamestat(void) { if (GetBankSide(gBankAttacker) == 0) { - IncrementGameStat(BSScriptRead8(gBattlescriptCurrInstr + 1)); + IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1)); } gBattlescriptCurrInstr += 2; } -struct hp_status -{ - u16 hp; - u32 status; -}; - static void atk61_8025BA4(void) { int i; struct Pokemon* party; - struct hp_status hpStatus[6]; + struct HpAndStatus hpStatus[6]; if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (GetBankSide(gActiveBank) == 0) party = gPlayerParty; else @@ -11491,14 +11473,14 @@ static void atk61_8025BA4(void) hpStatus[i].status = GetMonData(&party[i], MON_DATA_STATUS); } } - Emitcmd48(0, (u8*)(hpStatus), 1); + EmitDrawPartyStatusSummary(0, hpStatus, 1); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; } static void atk62_08025C6C(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd49(0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -11506,7 +11488,7 @@ static void atk62_08025C6C(void) static void atk63_jumptorandomattack(void) { - if (BSScriptRead8(gBattlescriptCurrInstr + 1)) + if (T2_READ_8(gBattlescriptCurrInstr + 1)) gCurrentMove = gRandomMove; else gUnknown_02024BE8 = gCurrentMove = gRandomMove; @@ -11517,7 +11499,7 @@ static void atk64_statusanimation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1); @@ -11532,8 +11514,8 @@ static void atk65_status2animation(void) if (gBattleExecBuffer == 0) { u32 possible_to_anim; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - possible_to_anim = BSScriptRead32(gBattlescriptCurrInstr + 2); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim); @@ -11548,11 +11530,11 @@ static void atk66_chosenstatusanimation(void) if (gBattleExecBuffer == 0) { u32 status; - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - status = BSScriptRead32(gBattlescriptCurrInstr + 3); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + status = T1_READ_32(gBattlescriptCurrInstr + 3); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, BSScriptRead8(gBattlescriptCurrInstr + 2), status); + EmitStatusAnimation(0, T2_READ_8(gBattlescriptCurrInstr + 2), status); MarkBufferBankForExecution(gActiveBank); } gBattlescriptCurrInstr += 7; @@ -11656,7 +11638,7 @@ static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except there void atk6A_removeitem(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); #define USED_HELD_ITEMS(bank) (*(u16 *)&ewram[0x160CC + 2 * (bank)]) USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item; @@ -12116,7 +12098,7 @@ static void atk6E_set_atk_to_player0(void) static void atk6F_set_visible(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitSpriteInvisibility(0, 0); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -12124,7 +12106,7 @@ static void atk6F_set_visible(void) static void atk70_record_ability(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); RecordAbilityBattle(gActiveBank, gLastUsedAbility); gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument... } @@ -12147,7 +12129,7 @@ static void atk71_buffer_move_to_learn(void) static void atk72_jump_if_can_run_frombattle(void) { if (sub_8014AB8(gBank1)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } @@ -12158,7 +12140,7 @@ static void atk73_hp_thresholds(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); opposing_bank = gActiveBank ^ 1; result = gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP; @@ -12185,7 +12167,7 @@ static void atk74_hp_thresholds2(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); opposing_bank = gActiveBank ^ 1; hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)]; result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout; @@ -12212,8 +12194,8 @@ static void atk75_8026A58(void) static void atk76_various(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); - switch (BSScriptRead8(gBattlescriptCurrInstr + 2)) + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: CancelMultiTurnMoves(gActiveBank); @@ -12360,7 +12342,7 @@ static void atk79_setatkhptozero(void) static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop through all targets { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -12383,9 +12365,9 @@ static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop throug static void atk7B_healhalfHP_if_possible(void) { - u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - if (BSScriptRead8(gBattlescriptCurrInstr + 5) == 1) + if (T2_READ_8(gBattlescriptCurrInstr + 5) == 1) gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2; @@ -12502,7 +12484,7 @@ static void atk7F_setseeded(void) static void atk80_manipulatedamage(void) { - switch (BSScriptRead8(gBattlescriptCurrInstr + 1)) + switch (T2_READ_8(gBattlescriptCurrInstr + 1)) { case 0: gBattleMoveDamage *= -1; @@ -12524,7 +12506,7 @@ static void atk80_manipulatedamage(void) static void atk81_setrest(void) { - u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); gActiveBank = gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) @@ -12545,7 +12527,7 @@ static void atk81_setrest(void) static void atk82_jumpifnotfirstturn(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBankAttacker].isFirstTurn) gBattlescriptCurrInstr += 5; @@ -12582,7 +12564,7 @@ bool8 UproarWakeUpCheck(u8 bank) static void atk84_jump_if_cant_sleep(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (UproarWakeUpCheck(gBankTarget)) gBattlescriptCurrInstr = jump_loc; else if (gBattleMons[gBankTarget].ability == ABILITY_INSOMNIA || gBattleMons[gBankTarget].ability == ABILITY_VITAL_SPIRIT) @@ -12621,7 +12603,7 @@ static void atk85_stockpile(void) static void atk86_stockpiletobasedamage(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBankAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jump_loc; @@ -12646,7 +12628,7 @@ static void atk86_stockpiletobasedamage(void) static void atk87_stockpiletohpheal(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); if (gDisableStructs[gBankAttacker].stockpileCounter == 0) { gBattlescriptCurrInstr = jump_loc; @@ -13433,8 +13415,8 @@ _080262C0: .4byte gBattleMoveFlags\n\ static void atk89_statbuffchange(void) { - u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2); - if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, BSScriptRead8(gBattlescriptCurrInstr + 1), jump_loc) == 0) + u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2); + if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, T2_READ_8(gBattlescriptCurrInstr + 1), jump_loc) == 0) gBattlescriptCurrInstr += 6; } @@ -13469,8 +13451,8 @@ static void atk8C_confuseifrepeatingattackends(void) static void atk8D_setmultihit_counter(void) { - if (BSScriptRead8(gBattlescriptCurrInstr + 1)) - gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1); + if (T2_READ_8(gBattlescriptCurrInstr + 1)) + gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1); else { gMultiHitCounter = Random() & 3; @@ -13504,7 +13486,7 @@ static bool8 sub_80264C0(void) u16 random = Random() & 0xFF; if ((u32)((random * (gBattleMons[gBankAttacker].level + gBattleMons[gBankTarget].level) >> 8) + 1) <= (gBattleMons[gBankTarget].level / 4)) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); return 0; } ewram[gBankTarget + 0x16064] = gBattlePartyID[gBankTarget]; @@ -13555,7 +13537,7 @@ static void atk8F_forcerandomswitch(void) if ((valid < 2 && (gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) || (valid < 3 && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else if (sub_80264C0()) { @@ -13631,7 +13613,7 @@ static void atk90_conversion_type_change(void) if (checked_move == valid_moves) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -13750,7 +13732,7 @@ MOVESTATUS_MISSED_LABEL: gBattleCommunication[MULTISTRING_CHOOSER] = 1; else gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #else @@ -14205,7 +14187,7 @@ static void atk97_try_infatuation(void) || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE || gBattleMons[gBankTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == 0xFF || GetGenderFromSpeciesAndPersonality(def_species, def_pid) == 0xFF) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -14220,9 +14202,9 @@ static void atk98_status_icon_update(void) if (gBattleExecBuffer) return; - if (BSScriptRead8(gBattlescriptCurrInstr + 1) != 4) + if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); MarkBufferBankForExecution(gActiveBank); gBattlescriptCurrInstr += 2; @@ -14362,7 +14344,7 @@ static void atk9D_copyattack(void) if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED || gLastUsedMove[gBankTarget] == 0 || gLastUsedMove[gBankTarget] == 0xFFFF) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -14390,7 +14372,7 @@ static void atk9D_copyattack(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -14527,7 +14509,7 @@ static void atkA1_counterdamagecalculator(void) else { gSpecialStatuses[gBankAttacker].flag20 = 1; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -14547,7 +14529,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the ph else { gSpecialStatuses[gBankAttacker].flag20 = 1; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -14574,7 +14556,7 @@ static void atkA3_disablelastusedattack(void) } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -14598,7 +14580,7 @@ static void atkA4_setencore(void) } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -14619,14 +14601,14 @@ static void atkA5_painsplitdmgcalc(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #ifdef NONMATCHING static void atkA6_settypetorandomresistance(void) { if (gMoveHitWith[gBankAttacker] == 0 || gMoveHitWith[gBankAttacker] == 0xFFFF || (IsTwoTurnsMove(gMoveHitWith[gBankAttacker]) && !gProtectStructs[gBankAttacker].physicalDmg && !gProtectStructs[gBankAttacker].specialDmg)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { int type = 0, rands = 0; @@ -14668,7 +14650,7 @@ static void atkA6_settypetorandomresistance(void) type += 3, rands += 3; } while (rands < 336); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -14957,7 +14939,7 @@ static void atkA8_copymovepermanently(void) break; } if (i != 4) //sketch fail - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else //sketch worked { struct move_pp moves_data; @@ -14981,7 +14963,7 @@ static void atkA8_copymovepermanently(void) } } else //sketch fail - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static bool8 IsTwoTurnsMove(u16 move) @@ -15042,7 +15024,7 @@ static void atkA9_sleeptalk_choose_move(void) gCurrMovePos = random_pos; gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gBankTarget = GetMoveTarget(gRandomMove, 0); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15122,7 +15104,7 @@ static void atkAD_spite_ppreduce(void) return; } } - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkAE_heal_party_status(void) @@ -15206,7 +15188,7 @@ static void atkAF_cursetarget(void) { if (gBattleMons[gBankTarget].status2 & STATUS2_CURSED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -15224,7 +15206,7 @@ static void atkB0_set_spikes(void) if (gSideTimer[side].spikesAmount == 3) { gSpecialStatuses[gBankAttacker].flag20 = 1; - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -15258,7 +15240,7 @@ static void atkB2_setperishsong(void) sub_80153D0(gBankAttacker); if (not_affected_pokes == gNoOfAllBanks) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } @@ -15296,8 +15278,8 @@ static void atkB3_rolloutdamagecalculation(void) static void atkB4_jumpifconfusedandstatmaxed(void) { - if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[BSScriptRead8(gBattlescriptCurrInstr + 1)] == 0xC) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[T2_READ_8(gBattlescriptCurrInstr + 1)] == 0xC) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -15464,7 +15446,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void) gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkBB_setsunny(void) @@ -15499,7 +15481,7 @@ static void atkBC_maxattackhalvehp(void) //belly drum } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15569,7 +15551,7 @@ static void atkC0_recoverbasedonsunlight(void) } else { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15738,7 +15720,7 @@ static void atkC3_setfutureattack(void) { if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -15771,7 +15753,7 @@ static void atkC4_beat_up(void) party = gEnemyParty; if (gBattleMons[gBankTarget].hp == 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { while (gBattleCommunication[0] < 6) @@ -15801,9 +15783,9 @@ static void atkC4_beat_up(void) gBattleCommunication[0]++; } else if (gBattleCommunication[0] != 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 5); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); } } #else @@ -16125,7 +16107,7 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento if (gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] == 0 && gBattleMons[gBankTarget].statStages[STAT_STAGE_SPATK] == 0 && gBattleCommunication[6] != 1) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gActiveBank = gBankAttacker; @@ -16171,13 +16153,13 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh MarkBufferBankForExecution(gActiveBank); } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkCE_settorment(void) { if (gBattleMons[gBankTarget].status2 & STATUS2_TORMENT) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gBattleMons[gBankTarget].status2 |= STATUS2_TORMENT; @@ -16190,7 +16172,7 @@ static void atkCF_jumpifnodamage(void) if (gProtectStructs[gBankAttacker].physicalDmg || gProtectStructs[gBankAttacker].specialDmg) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkD0_settaunt(void) @@ -16202,7 +16184,7 @@ static void atkD0_settaunt(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkD1_set_helpinghand(void) @@ -16215,7 +16197,7 @@ static void atkD1_set_helpinghand(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #ifdef NONMATCHING @@ -16227,7 +16209,7 @@ static void atkD2_swap_items(void) if (gBattleTypeFlags) } - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #else @@ -16560,12 +16542,12 @@ static void atkD3_copy_ability(void) //role play gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkD4_wish_effect(void) { - switch (BSScriptRead8(gBattlescriptCurrInstr + 1)) + switch (T2_READ_8(gBattlescriptCurrInstr + 1)) { case 0: //use wish if (gWishFutureKnock.wishCounter[gBankAttacker] == 0) @@ -16575,7 +16557,7 @@ static void atkD4_wish_effect(void) gBattlescriptCurrInstr += 6; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); break; case 1: //heal effect gBattleTextBuff1[0] = 0xFD; @@ -16588,7 +16570,7 @@ static void atkD4_wish_effect(void) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; break; @@ -16598,7 +16580,7 @@ static void atkD4_wish_effect(void) static void atkD5_setroots(void) //ingrain { if (gStatuses3[gBankAttacker] & STATUS3_ROOTED) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gStatuses3[gBankAttacker] |= STATUS3_ROOTED; @@ -16617,7 +16599,7 @@ static void atkD6_doubledamagedealtifdamaged(void) static void atkD7_setyawn(void) { if (gStatuses3[gBankTarget] & STATUS3_YAWN || (u8) gBattleMons[gBankTarget].status1) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gStatuses3[gBankTarget] |= 0x1000; @@ -16629,7 +16611,7 @@ static void atkD8_setdamagetohealthdifference(void) { if (gBattleMons[gBankTarget].hp <= gBattleMons[gBankAttacker].hp) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -16655,7 +16637,7 @@ static void atkDA_abilityswap(void) if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0) || gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD || gBattleMoveFlags & MOVESTATUS_NOEFFECT) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { u8 atk_ability = gBattleMons[gBankAttacker].ability; @@ -16670,7 +16652,7 @@ static void atkDB_imprisoneffect(void) u8 r8 = 0; if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISIONED)) { - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } else { @@ -16701,14 +16683,14 @@ static void atkDB_imprisoneffect(void) } } if (bank == gNoOfAllBanks) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } static void atkDC_setgrudge(void) { if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gStatuses3[gBankAttacker] |= STATUS3_GRUDGE; @@ -16782,7 +16764,7 @@ static void atkDE_asistattackselect(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } #else @@ -16978,7 +16960,7 @@ static void atkDF_setmagiccoat(void) gBankTarget = gBankAttacker; gSpecialStatuses[gBankAttacker].flag20 = 1; if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gProtectStructs[gBankAttacker].bounceMove = 1; @@ -16990,7 +16972,7 @@ static void atkE0_setstealstatchange(void) { gSpecialStatuses[gBankAttacker].flag20 = 1; if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { gProtectStructs[gBankAttacker].stealMove = 1; @@ -17018,14 +17000,14 @@ static void atkE1_intimidate_string_loader(void) } if (gBankTarget >= gNoOfAllBanks) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; } static void atkE2_switchout_abilities(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleMons[gActiveBank].ability) { case ABILITY_NATURAL_CURE: @@ -17039,9 +17021,9 @@ static void atkE2_switchout_abilities(void) static void atkE3_jumpiffainted(void) { - gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMons[gActiveBank].hp == 0) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; } @@ -17155,7 +17137,7 @@ static void atkE8_settypebasedhalvers(void) //water/mud sport if (worked) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkE9_setweatherballtype(void) @@ -17193,7 +17175,7 @@ static void atkEA_recycleitem(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkEB_settypetoterrain(void) @@ -17209,7 +17191,7 @@ static void atkEB_settypetoterrain(void) gBattlescriptCurrInstr += 5; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkEC_pursuit_sth(void) @@ -17225,7 +17207,7 @@ static void atkEC_pursuit_sth(void) gBankAttacker = gActiveBank; } else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } static void atkED_802B4B4(void) @@ -17401,7 +17383,7 @@ static void atkF0_copy_caught_poke(void) static void atkF1_setpoke_as_caught(void) { if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1)) - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3); @@ -17605,14 +17587,14 @@ static void atkF3_nickname_caught_poke(void) if (gMain.callback2 == sub_800F808 && !gPaletteFade.active ) { SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick); - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } break; case 4: if (CalculatePlayerPartyCount() == 6) gBattlescriptCurrInstr += 5; else - gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); break; } } diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index a8bd7aa19..3a5fb3d0d 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -412,7 +412,7 @@ void BattleAI_DoAIProcessing(void) break; case AIState_Processing: if (AI_THINKING_STRUCT->moveConsidered != MOVE_NONE) - sBattleAICmdTable[*(u8 *)gAIScriptPtr](); // run AI command. + sBattleAICmdTable[*gAIScriptPtr](); // run AI command. else { AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; // definitely do not consider any move that has 0 PP. @@ -470,7 +470,7 @@ void RecordItemBattle(u8 a, u8 b) static void BattleAICmd_if_random_less_than(void) { if (Random() % 256 < gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -478,7 +478,7 @@ static void BattleAICmd_if_random_less_than(void) static void BattleAICmd_if_random_greater_than(void) { if (Random() % 256 > gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -486,7 +486,7 @@ static void BattleAICmd_if_random_greater_than(void) static void BattleAICmd_if_random_equal(void) { if (Random() % 256 == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -494,7 +494,7 @@ static void BattleAICmd_if_random_equal(void) static void BattleAICmd_if_random_not_equal(void) { if (Random() % 256 != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -519,7 +519,7 @@ static void BattleAICmd_if_hp_less_than(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -534,7 +534,7 @@ static void BattleAICmd_if_hp_more_than(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -549,7 +549,7 @@ static void BattleAICmd_if_hp_equal(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -564,7 +564,7 @@ static void BattleAICmd_if_hp_not_equal(void) index = gBankTarget; if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } @@ -579,10 +579,10 @@ static void BattleAICmd_if_status(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status1 & arg) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -597,10 +597,10 @@ static void BattleAICmd_if_not_status(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status1 & arg) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -615,10 +615,10 @@ static void BattleAICmd_if_status2(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status2 & arg) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -633,10 +633,10 @@ static void BattleAICmd_if_not_status2(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gBattleMons[index].status2 & arg) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -651,10 +651,10 @@ static void BattleAICmd_if_status3(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gStatuses3[index] & arg) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -669,10 +669,10 @@ static void BattleAICmd_if_not_status3(void) else index = gBankTarget; - arg = AIScriptRead32(gAIScriptPtr + 2); + arg = T1_READ_32(gAIScriptPtr + 2); if ((gStatuses3[index] & arg) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -688,10 +688,10 @@ static void BattleAICmd_if_status4(void) index = gBankTarget; arg1 = GetBankIdentity(index) & 1; - arg2 = AIScriptRead32(gAIScriptPtr + 2); + arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -707,10 +707,10 @@ static void BattleAICmd_if_not_status4(void) index = gBankTarget; arg1 = GetBankIdentity(index) & 1; - arg2 = AIScriptRead32(gAIScriptPtr + 2); + arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; } @@ -718,7 +718,7 @@ static void BattleAICmd_if_not_status4(void) static void BattleAICmd_if_less_than(void) { if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -726,7 +726,7 @@ static void BattleAICmd_if_less_than(void) static void BattleAICmd_if_more_than(void) { if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -734,7 +734,7 @@ static void BattleAICmd_if_more_than(void) static void BattleAICmd_if_equal(void) { if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -742,80 +742,80 @@ static void BattleAICmd_if_equal(void) static void BattleAICmd_if_not_equal(void) { if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } static void BattleAICmd_if_less_than_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult < *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_more_than_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult > *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_equal_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult == *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_not_equal_32(void) { - u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *temp = T1_READ_PTR(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->funcResult != *temp) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); else gAIScriptPtr += 9; } static void BattleAICmd_if_move(void) { - u16 move = AIScriptRead16(gAIScriptPtr + 1); + u16 move = T1_READ_16(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->moveConsidered == move) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } static void BattleAICmd_if_not_move(void) { - u16 move = AIScriptRead16(gAIScriptPtr + 1); + u16 move = T1_READ_16(gAIScriptPtr + 1); if (AI_THINKING_STRUCT->moveConsidered != move) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; } static void BattleAICmd_if_in_bytes(void) { - u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFF) { if (AI_THINKING_STRUCT->funcResult == *ptr) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); return; } ptr++; @@ -825,7 +825,7 @@ static void BattleAICmd_if_in_bytes(void) static void BattleAICmd_if_not_in_bytes(void) { - u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1); + u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFF) { @@ -836,18 +836,18 @@ static void BattleAICmd_if_not_in_bytes(void) } ptr++; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); } static void BattleAICmd_if_in_words(void) { - u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFFFF) { if (AI_THINKING_STRUCT->funcResult == *ptr) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); return; } ptr++; @@ -857,7 +857,7 @@ static void BattleAICmd_if_in_words(void) static void BattleAICmd_if_not_in_words(void) { - u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1); + u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFFFF) { @@ -868,7 +868,7 @@ static void BattleAICmd_if_not_in_words(void) } ptr++; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5); } static void BattleAICmd_if_user_can_damage(void) @@ -884,7 +884,7 @@ static void BattleAICmd_if_user_can_damage(void) if (i == MAX_MON_MOVES) gAIScriptPtr += 5; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_if_user_cant_damage(void) @@ -900,7 +900,7 @@ static void BattleAICmd_if_user_cant_damage(void) if (i != MAX_MON_MOVES) gAIScriptPtr += 5; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_get_turn_count(void) @@ -1259,7 +1259,7 @@ static void BattleAICmd_get_move(void) static void BattleAICmd_if_arg_equal(void) { if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1267,7 +1267,7 @@ static void BattleAICmd_if_arg_equal(void) static void BattleAICmd_if_arg_not_equal(void) { if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1275,7 +1275,7 @@ static void BattleAICmd_if_arg_not_equal(void) static void BattleAICmd_if_would_go_first(void) { if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1283,7 +1283,7 @@ static void BattleAICmd_if_would_go_first(void) static void BattleAICmd_if_would_not_go_first(void) { if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1487,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void) damageVar = gBattleMoveDamage; if (damageVar == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1518,7 +1518,7 @@ static void BattleAICmd_if_status_in_party(void) break; } - statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); + statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); for (i = 0; i < 6; i++) { @@ -1528,7 +1528,7 @@ static void BattleAICmd_if_status_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch return; } } @@ -1554,7 +1554,7 @@ static void BattleAICmd_if_status_not_in_party(void) break; } - statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2); + statusToCompareTo = T1_READ_32(gAIScriptPtr + 2); for (i = 0; i < 6; i++) { @@ -1566,7 +1566,7 @@ static void BattleAICmd_if_status_not_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) gAIScriptPtr += 10; // doesnt return? } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); } static void BattleAICmd_get_weather(void) @@ -1586,7 +1586,7 @@ static void BattleAICmd_get_weather(void) static void BattleAICmd_if_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1594,7 +1594,7 @@ static void BattleAICmd_if_effect(void) static void BattleAICmd_if_not_effect(void) { if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; } @@ -1609,7 +1609,7 @@ static void BattleAICmd_if_stat_level_less_than(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1624,7 +1624,7 @@ static void BattleAICmd_if_stat_level_more_than(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1639,7 +1639,7 @@ static void BattleAICmd_if_stat_level_equal(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1654,7 +1654,7 @@ static void BattleAICmd_if_stat_level_not_equal(void) party = gBankTarget; if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3]) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); else gAIScriptPtr += 8; } @@ -1683,7 +1683,7 @@ static void BattleAICmd_if_can_faint(void) gBattleMoveDamage = 1; if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -1710,7 +1710,7 @@ static void BattleAICmd_if_cant_faint(void) // this macro is missing the damage 0 = 1 assumption. if (gBattleMons[gBankTarget].hp > gBattleMoveDamage) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -1732,7 +1732,7 @@ static void BattleAICmd_if_has_move(void) if (i == MAX_MON_MOVES) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; case 0: case 2: @@ -1744,7 +1744,7 @@ static void BattleAICmd_if_has_move(void) if (i == 8) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; } } @@ -1766,7 +1766,7 @@ static void BattleAICmd_if_dont_have_move(void) if (i != MAX_MON_MOVES) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; case 0: case 2: @@ -1778,7 +1778,7 @@ static void BattleAICmd_if_dont_have_move(void) if (i != 8) gAIScriptPtr += 8; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); break; } } @@ -1797,7 +1797,7 @@ static void BattleAICmd_if_move_effect(void) break; } if (i != MAX_MON_MOVES) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); else gAIScriptPtr += 7; break; @@ -1808,7 +1808,7 @@ static void BattleAICmd_if_move_effect(void) if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); } } @@ -1828,7 +1828,7 @@ static void BattleAICmd_if_not_move_effect(void) if (i != MAX_MON_MOVES) gAIScriptPtr += 7; else - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); break; case 0: case 2: @@ -1857,7 +1857,7 @@ static void BattleAICmd_if_last_move_did_damage(void) gAIScriptPtr += 7; return; } - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); return; } else if (gAIScriptPtr[2] != 1) // ignore the macro if its not 0 or 1. @@ -1867,7 +1867,7 @@ static void BattleAICmd_if_last_move_did_damage(void) } else if (gDisableStructs[index].encoredMove != 0) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); return; } gAIScriptPtr += 7; @@ -1880,7 +1880,7 @@ static void BattleAICmd_if_encored(void) case 0: // _08109348 if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -1888,7 +1888,7 @@ static void BattleAICmd_if_encored(void) case 1: // _08109370 if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -1909,7 +1909,7 @@ static void BattleAICmd_if_random_100(void) u8 safariFleeRate = BATTLE_STRUCT->safariFleeRate * 5; // safari flee rate, from 0-20 if ((u8)(Random() % 100) < safariFleeRate) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -2066,12 +2066,12 @@ static void BattleAICmd_nullsub_57(void) static void BattleAICmd_call(void) { AIStackPushVar(gAIScriptPtr + 5); - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_jump(void) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); } static void BattleAICmd_end(void) @@ -2087,7 +2087,7 @@ static void BattleAICmd_if_level_compare(void) case 0: // greater than if (gBattleMons[gBankAttacker].level > gBattleMons[gBankTarget].level) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -2095,7 +2095,7 @@ static void BattleAICmd_if_level_compare(void) case 1: // less than if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -2103,7 +2103,7 @@ static void BattleAICmd_if_level_compare(void) case 2: // equal if (gBattleMons[gBankAttacker].level == gBattleMons[gBankTarget].level) { - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; } gAIScriptPtr += 6; @@ -2114,7 +2114,7 @@ static void BattleAICmd_if_level_compare(void) static void BattleAICmd_if_taunted(void) { if (gDisableStructs[gBankTarget].tauntTimer1 != 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } @@ -2122,7 +2122,7 @@ static void BattleAICmd_if_taunted(void) static void BattleAICmd_if_not_taunted(void) { if (gDisableStructs[gBankTarget].tauntTimer1 == 0) - gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); else gAIScriptPtr += 5; } diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 5790cffe4..eac16ee18 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -335,7 +335,7 @@ static void RunAnimScriptCommand(void) { do { - sScriptCmdTable[SCRIPT_READ_8(gBattleAnimScriptPtr)](); + sScriptCmdTable[T1_READ_8(gBattleAnimScriptPtr)](); } while (gAnimFramesToWait == 0 && gAnimScriptActive != FALSE); } @@ -344,7 +344,7 @@ static void ScriptCmd_loadsprite(void) u16 index; gBattleAnimScriptPtr++; - index = SCRIPT_READ_16(gBattleAnimScriptPtr); + index = T1_READ_16(gBattleAnimScriptPtr); LoadCompressedObjectPic(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]); LoadCompressedObjectPalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]); gBattleAnimScriptPtr += 2; @@ -358,7 +358,7 @@ static void ScriptCmd_unloadsprite(void) u16 index; gBattleAnimScriptPtr++; - index = SCRIPT_READ_16(gBattleAnimScriptPtr); + index = T1_READ_16(gBattleAnimScriptPtr); FreeSpriteTilesByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag); FreeSpritePaletteByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag); gBattleAnimScriptPtr += 2; @@ -378,15 +378,15 @@ static void ScriptCmd_sprite(void) s8 r1; gBattleAnimScriptPtr++; - r7 = (struct SpriteTemplate *)(SCRIPT_READ_32(gBattleAnimScriptPtr)); + r7 = (struct SpriteTemplate *)(T2_READ_32(gBattleAnimScriptPtr)); gBattleAnimScriptPtr += 4; - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; for (i = 0; i < r0; i++) { - gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 2; } if (r4 & 0x80) @@ -559,16 +559,16 @@ static void ScriptCmd_createtask(void) s32 i; gBattleAnimScriptPtr++; - taskFunc = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr); + taskFunc = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 4; - taskPriority = SCRIPT_READ_8(gBattleAnimScriptPtr); + taskPriority = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; - numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr); + numArgs = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; for (i = 0; i < numArgs; i++) { - gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 2; } @@ -580,7 +580,7 @@ static void ScriptCmd_createtask(void) static void ScriptCmd_delay(void) { gBattleAnimScriptPtr++; - gAnimFramesToWait = SCRIPT_READ_8(gBattleAnimScriptPtr); + gAnimFramesToWait = T1_READ_8(gBattleAnimScriptPtr); if (gAnimFramesToWait == 0) gAnimFramesToWait = -1; gBattleAnimScriptPtr++; @@ -666,7 +666,7 @@ static void ScriptCmd_end(void) static void ScriptCmd_playse(void) { gBattleAnimScriptPtr++; - PlaySE(SCRIPT_READ_16(gBattleAnimScriptPtr)); + PlaySE(T1_READ_16(gBattleAnimScriptPtr)); gBattleAnimScriptPtr += 2; } @@ -680,7 +680,7 @@ static void ScriptCmd_monbg(void) u8 taskId; gBattleAnimScriptPtr++; - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r6 = T1_READ_8(gBattleAnimScriptPtr); if (r6 == 0) r6 = 2; else if (r6 == 1) @@ -1090,7 +1090,7 @@ static void ScriptCmd_clearmonbg(void) u8 taskId; gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr); if (r4 == 0) r4 = 2; else if (r4 == 1) @@ -1149,7 +1149,7 @@ static void ScriptCmd_monbg_22(void) u8 r1; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r5 = T1_READ_8(gBattleAnimScriptPtr); if (r5 == 0) r5 = 2; else if (r5 == 1) @@ -1191,7 +1191,7 @@ static void ScriptCmd_clearmonbg_23(void) u8 taskId; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r5 = T1_READ_8(gBattleAnimScriptPtr); if (r5 == 0) r5 = 2; else if (r5 == 1) @@ -1268,12 +1268,9 @@ static void ScriptCmd_blendoff(void) static void ScriptCmd_call(void) { - u32 addr; - gBattleAnimScriptPtr++; gBattleAnimScriptRetAddr = gBattleAnimScriptPtr + 4; - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } static void ScriptCmd_return(void) @@ -1288,36 +1285,31 @@ static void ScriptCmd_setvar(void) u8 r2; gBattleAnimScriptPtr++; - r2 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r2 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); + r4 = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr = addr + 4; gBattleAnimArgs[r2] = r4; } static void ScriptCmd_ifelse(void) { - u32 addr; - gBattleAnimScriptPtr++; if (gUnknown_0202F7C4 & 1) gBattleAnimScriptPtr += 4; - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } static void ScriptCmd_jumpif(void) { u8 r1; - u32 addr; gBattleAnimScriptPtr++; - r1 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r1 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; if (r1 == gUnknown_0202F7C4) { - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } else { @@ -1327,11 +1319,8 @@ static void ScriptCmd_jumpif(void) static void ScriptCmd_jump(void) { - u32 addr; - gBattleAnimScriptPtr++; - addr = SCRIPT_READ_32(gBattleAnimScriptPtr); - gBattleAnimScriptPtr = (u8 *)addr; + gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr); } bool8 NotInBattle(void) @@ -1348,7 +1337,7 @@ static void ScriptCmd_fadetobg(void) u8 taskId; gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; taskId = CreateTask(task_p5_load_battle_screen_elements, 5); gTasks[taskId].data[0] = r4; @@ -1484,7 +1473,7 @@ static void ScriptCmd_waitbgfadein(void) static void ScriptCmd_changebg(void) { gBattleAnimScriptPtr++; - sub_8076DB8(SCRIPT_READ_8(gBattleAnimScriptPtr)); + sub_8076DB8(T1_READ_8(gBattleAnimScriptPtr)); gBattleAnimScriptPtr++; } @@ -1705,8 +1694,8 @@ static void ScriptCmd_panse_19(void) s8 r0; gBattleAnimScriptPtr++; - r4 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); + r4 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); PlaySE12WithPanning(r4, sub_8076F98(r0)); gBattleAnimScriptPtr += 3; } @@ -1716,7 +1705,7 @@ static void ScriptCmd_setpan(void) s8 r0; gBattleAnimScriptPtr++; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr); SE12PanpotControl(sub_8076F98(r0)); gBattleAnimScriptPtr++; } @@ -1733,11 +1722,11 @@ static void ScriptCmd_panse_1B(void) u8 taskId; gBattleAnimScriptPtr++; - songNum = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5); + songNum = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r4 = T1_READ_8(gBattleAnimScriptPtr + 3); + r6 = T1_READ_8(gBattleAnimScriptPtr + 4); + r7 = T1_READ_8(gBattleAnimScriptPtr + 5); panning = sub_8076F98(r0); r8 = sub_8076F98(r4); r4 = sub_807712C(panning, r8, r6); @@ -1898,11 +1887,11 @@ static void ScriptCmd_panse_26(void) u8 taskId; gBattleAnimScriptPtr++; - r8 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r5 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); - r10 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5); + r8 = T1_READ_16(gBattleAnimScriptPtr); + r4 = T1_READ_8(gBattleAnimScriptPtr + 2); + r5 = T1_READ_8(gBattleAnimScriptPtr + 3); + r6 = T1_READ_8(gBattleAnimScriptPtr + 4); + r10 = T1_READ_8(gBattleAnimScriptPtr + 5); taskId = CreateTask(c3_08073CEC, 1); gTasks[taskId].data[0] = r4; gTasks[taskId].data[1] = r5; @@ -1927,11 +1916,11 @@ static void ScriptCmd_panse_27(void) u8 taskId; gBattleAnimScriptPtr++; - r9 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5); + r9 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r4 = T1_READ_8(gBattleAnimScriptPtr + 3); + r8 = T1_READ_8(gBattleAnimScriptPtr + 4); + r7 = T1_READ_8(gBattleAnimScriptPtr + 5); r6 = sub_8077094(r0); r5 = sub_8077094(r4); r4_2 = sub_8077094(r8); @@ -1956,10 +1945,10 @@ static void ScriptCmd_panse_1C(void) u8 taskId; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); - r9 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4); + r5 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r8 = T1_READ_8(gBattleAnimScriptPtr + 3); + r9 = T1_READ_8(gBattleAnimScriptPtr + 4); r4 = sub_8076F98(r0); taskId = CreateTask(sub_80774FC, 1); gTasks[taskId].data[0] = r5; @@ -2006,9 +1995,9 @@ static void ScriptCmd_panse_1D(void) u8 taskId; gBattleAnimScriptPtr++; - r5 = SCRIPT_READ_16(gBattleAnimScriptPtr); - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2); - r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3); + r5 = T1_READ_16(gBattleAnimScriptPtr); + r0 = T1_READ_8(gBattleAnimScriptPtr + 2); + r8 = T1_READ_8(gBattleAnimScriptPtr + 3); r4 = sub_8076F98(r0); taskId = CreateTask(sub_80775CC, 1); gTasks[taskId].data[0] = r5; @@ -2040,13 +2029,13 @@ static void ScriptCmd_createtask_1F(void) u8 taskId; gBattleAnimScriptPtr++; - func = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr); + func = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 4; - numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr); + numArgs = T1_READ_8(gBattleAnimScriptPtr); gBattleAnimScriptPtr++; for (i = 0; i < numArgs; i++) { - gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr); + gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr); gBattleAnimScriptPtr += 2; } taskId = CreateTask(func, 1); @@ -2089,11 +2078,11 @@ static void ScriptCmd_jumpvareq(void) u8 *addr; gBattleAnimScriptPtr++; - r2 = SCRIPT_READ_8(gBattleAnimScriptPtr); - r1 = SCRIPT_READ_16(gBattleAnimScriptPtr + 1); + r2 = T1_READ_8(gBattleAnimScriptPtr); + r1 = T1_READ_16(gBattleAnimScriptPtr + 1); if (r1 == gBattleAnimArgs[r2]) { - addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr + 3); + addr = T2_READ_PTR(gBattleAnimScriptPtr + 3); gBattleAnimScriptPtr = addr; } else @@ -2109,7 +2098,7 @@ static void ScriptCmd_jumpunkcond(void) gBattleAnimScriptPtr++; if (NotInBattle()) { - addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr); + addr = T2_READ_PTR(gBattleAnimScriptPtr); gBattleAnimScriptPtr = addr; } else @@ -2124,7 +2113,7 @@ static void ScriptCmd_monbgprio_28(void) u8 r0; u8 r4; - r2 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r2 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (r2 != 0) r0 = gBattleAnimBankTarget; @@ -2154,7 +2143,7 @@ static void ScriptCmd_monbgprio_2A(void) u8 r4; u8 r0; - r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r6 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (GetBankSide(gBattleAnimBankAttacker) != GetBankSide(gBattleAnimBankTarget)) { @@ -2176,7 +2165,7 @@ static void ScriptCmd_invisible(void) u8 r0; u8 spriteId; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r0 = T1_READ_8(gBattleAnimScriptPtr + 1); spriteId = GetAnimBankSpriteId(r0); if (spriteId != 0xFF) { @@ -2190,7 +2179,7 @@ static void ScriptCmd_visible(void) u8 r0; u8 spriteId; - r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r0 = T1_READ_8(gBattleAnimScriptPtr + 1); spriteId = GetAnimBankSpriteId(r0); if (spriteId != 0xFF) { @@ -2205,7 +2194,7 @@ static void ScriptCmd_doublebattle_2D(void) u8 r4; u8 spriteId; - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r7 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (!NotInBattle() && IsDoubleBattle() && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget)) @@ -2239,7 +2228,7 @@ static void ScriptCmd_doublebattle_2E(void) u8 r4; u8 spriteId; - r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1); + r7 = T1_READ_8(gBattleAnimScriptPtr + 1); gBattleAnimScriptPtr += 2; if (!NotInBattle() && IsDoubleBattle() && GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget)) diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 70eeed5f7..8f63cd1ee 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -2595,7 +2595,7 @@ void PlayerHandlecmd18(void) sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); - StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CA8); + StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CA8); InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35); sub_8002F44(&gUnknown_03004210); } diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index e05578c31..2fcdf7548 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -483,7 +483,7 @@ void SafariHandlecmd18(void) nullsub_8(i); sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); - StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CBB); + StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CBB); InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); sub_8002F44(&gUnknown_03004210); diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index fd1f528ac..54697593b 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -243,7 +243,7 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y) void ShowLinkBattleRecords(void) { s32 i; MenuDrawTextWindow(1, 0, 28, 18); - sub_8072BD8((u8 *) gOtherText_BattleResults, 0, 1, 240); + sub_8072BD8(gOtherText_BattleResults, 0, 1, 240); PrintLinkBattleWinsLossesDraws(gSaveBlock1.linkBattleRecords); #if ENGLISH diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 91a0667d9..8327ed59d 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -880,19 +880,20 @@ static void CB2_EndFirstBattle(void) SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } +// why not just use the macros? maybe its because they didnt want to uncast const every time? static u32 TrainerBattleLoadArg32(const u8 *ptr) { - return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24); + return T1_READ_32(ptr); } static u16 TrainerBattleLoadArg16(const u8 *ptr) { - return ptr[0] | (ptr[1] << 8); + return T1_READ_16(ptr); } static u8 TrainerBattleLoadArg8(const u8 *ptr) { - return ptr[0]; + return T1_READ_8(ptr); } static u16 CurrentOpponentTrainerFlag(void) @@ -1123,8 +1124,8 @@ void ScrSpecial_StartTrainerEyeRematch(void) ScriptContext1_Stop(); } -static u8 *GetTrainerIntroSpeech(void); -static u8 *GetTrainerNonBattlingSpeech(void); +static const u8 *GetTrainerIntroSpeech(void); +static const u8 *GetTrainerNonBattlingSpeech(void); void ScrSpecial_ShowTrainerIntroSpeech(void) { @@ -1207,15 +1208,15 @@ void PlayTrainerEncounterMusic(void) } //Returns an empty string if a null pointer was passed, otherwise returns str -static u8 *SanitizeString(const u8 *str) +static const u8 *SanitizeString(const u8 *str) { if (str) - return (u8 *) str; + return str; else - return (u8 *) gOtherText_CancelWithTerminator; + return gOtherText_CancelWithTerminator; } -static u8 *GetTrainerIntroSpeech(void) +static const u8 *GetTrainerIntroSpeech(void) { return SanitizeString(sTrainerIntroSpeech); } @@ -1233,12 +1234,12 @@ u8 *sub_8082830(void) return gStringVar4; } -u8 *unref_sub_808286C(void) +const u8 *unref_sub_808286C(void) { return SanitizeString(sTrainerVictorySpeech); } -static u8 *GetTrainerNonBattlingSpeech(void) +static const u8 *GetTrainerNonBattlingSpeech(void) { return SanitizeString(sTrainerCannotBattleSpeech); } diff --git a/src/engine/link.c b/src/engine/link.c index 850201ccb..7f7e48083 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -954,7 +954,7 @@ static u16 LinkTestCalcBlockChecksum(void *data, u16 size) static void PrintHexDigit(u8 tileNum, u8 x, u8 y) { - u16 *tilemap = (u16 *)BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock); + u16 *tilemap = BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock); tilemap[(32 * y) + x] = (gLinkTestBGInfo.paletteNum << 12) | (tileNum + 1); } diff --git a/src/engine/text.c b/src/engine/text.c index 87903608f..9bb33f3c2 100644 --- a/src/engine/text.c +++ b/src/engine/text.c @@ -396,6 +396,8 @@ extern const u32 gFont4LatinGlyphs[]; extern const u32 gFont3JapaneseGlyphs[]; extern const u32 gFont4JapaneseGlyphs[]; +// Getting rid of the u8 recasting will make the ROM no longer match due to +// a const being required to pass the elements directly to the rodata structs. static const struct Font sFonts[] = { // Japanese fonts @@ -405,15 +407,15 @@ static const struct Font sFonts[] = { 4, (u8 *)gFont3JapaneseGlyphs, 64, 512 }, { 1, (u8 *)gFont4JapaneseGlyphs, 32, 0 }, { 2, (u8 *)gFont4JapaneseGlyphs, 32, 0 }, - { 3, (u8 *)sBrailleGlyphs, 8, 0 }, + { 3, (u8 *)sBrailleGlyphs, 8, 0 }, // Latin - { 0, (u8 *)sFont0LatinGlyphs, 16, 8 }, - { 1, (u8 *)sFont1LatinGlyphs, 8, 0 }, - { 2, (u8 *)sFont1LatinGlyphs, 8, 0 }, - { 0, (u8 *)gFont3LatinGlyphs, 64, 32 }, - { 1, (u8 *)gFont4LatinGlyphs, 32, 0 }, - { 2, (u8 *)gFont4LatinGlyphs, 32, 0 }, - { 3, (u8 *)sBrailleGlyphs, 8, 0 }, + { 0, (u8 *)sFont0LatinGlyphs, 16, 8 }, + { 1, (u8 *)sFont1LatinGlyphs, 8, 0 }, + { 2, (u8 *)sFont1LatinGlyphs, 8, 0 }, + { 0, (u8 *)gFont3LatinGlyphs, 64, 32 }, + { 1, (u8 *)gFont4LatinGlyphs, 32, 0 }, + { 2, (u8 *)gFont4LatinGlyphs, 32, 0 }, + { 3, (u8 *)sBrailleGlyphs, 8, 0 }, }; static const u8 sTextSpeedDelays[] = { 6, 3, 1 }; // slow, mid, fast @@ -492,8 +494,8 @@ const struct WindowConfig gWindowConfig_81E6C3C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6C58 = @@ -513,8 +515,8 @@ const struct WindowConfig gWindowConfig_81E6C58 = 0, // tilemap top coordinate 26, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E6C74 = @@ -555,8 +557,8 @@ const struct WindowConfig gWindowConfig_81E6C90 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6CAC = @@ -597,8 +599,8 @@ const struct WindowConfig gWindowConfig_81E6CC8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E6CE4 = @@ -618,8 +620,8 @@ const struct WindowConfig gWindowConfig_81E6CE4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6D00 = @@ -639,8 +641,8 @@ const struct WindowConfig gWindowConfig_81E6D00 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6D1C = @@ -660,8 +662,8 @@ const struct WindowConfig gWindowConfig_81E6D1C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6D38 = @@ -702,8 +704,8 @@ const struct WindowConfig gWindowConfig_81E6D54 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(3), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(3), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E6D70 = @@ -723,8 +725,8 @@ const struct WindowConfig gWindowConfig_81E6D70 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(3), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(3), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E6D8C = @@ -744,8 +746,8 @@ const struct WindowConfig gWindowConfig_81E6D8C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(14), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(14), // tilemap }; const struct WindowConfig gWindowConfig_81E6DA8 = @@ -765,8 +767,8 @@ const struct WindowConfig gWindowConfig_81E6DA8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(11), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(11), // tilemap }; const struct WindowConfig WindowConfig_TrainerCard_Back_Values = @@ -786,8 +788,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Values = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig WindowConfig_TrainerCard_Back_Labels = @@ -807,8 +809,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Labels = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6DFC = @@ -828,8 +830,8 @@ const struct WindowConfig gWindowConfig_81E6DFC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6E18 = @@ -849,8 +851,8 @@ const struct WindowConfig gWindowConfig_81E6E18 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6E34 = @@ -870,8 +872,8 @@ const struct WindowConfig gWindowConfig_81E6E34 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6E50 = @@ -891,8 +893,8 @@ const struct WindowConfig gWindowConfig_81E6E50 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6E6C = @@ -912,8 +914,8 @@ const struct WindowConfig gWindowConfig_81E6E6C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6E88 = @@ -933,8 +935,8 @@ const struct WindowConfig gWindowConfig_81E6E88 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6EA4 = @@ -954,8 +956,8 @@ const struct WindowConfig gWindowConfig_81E6EA4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6EC0 = @@ -975,8 +977,8 @@ const struct WindowConfig gWindowConfig_81E6EC0 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(29), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(29), // tilemap }; const struct WindowConfig gWindowConfig_81E6EDC = @@ -996,8 +998,8 @@ const struct WindowConfig gWindowConfig_81E6EDC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6EF8 = @@ -1017,8 +1019,8 @@ const struct WindowConfig gWindowConfig_81E6EF8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(29), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(29), // tilemap }; const struct WindowConfig gWindowConfig_81E6F14 = @@ -1038,8 +1040,8 @@ const struct WindowConfig gWindowConfig_81E6F14 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E6F30 = @@ -1059,8 +1061,8 @@ const struct WindowConfig gWindowConfig_81E6F30 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(29), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(29), // tilemap }; const struct WindowConfig gWindowConfig_81E6F4C = @@ -1080,8 +1082,8 @@ const struct WindowConfig gWindowConfig_81E6F4C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6F68 = @@ -1101,8 +1103,8 @@ const struct WindowConfig gWindowConfig_81E6F68 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(13), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(13), // tilemap }; const struct WindowConfig gWindowConfig_81E6F84 = @@ -1122,8 +1124,8 @@ const struct WindowConfig gWindowConfig_81E6F84 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E6FA0 = @@ -1143,8 +1145,8 @@ const struct WindowConfig gWindowConfig_81E6FA0 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E6FBC = @@ -1164,8 +1166,8 @@ const struct WindowConfig gWindowConfig_81E6FBC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E6FD8 = @@ -1185,8 +1187,8 @@ const struct WindowConfig gWindowConfig_81E6FD8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E6FF4 = @@ -1206,8 +1208,8 @@ const struct WindowConfig gWindowConfig_81E6FF4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(24), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(24), // tilemap }; const struct WindowConfig gWindowConfig_81E7010 = @@ -1227,8 +1229,8 @@ const struct WindowConfig gWindowConfig_81E7010 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E702C = @@ -1248,8 +1250,8 @@ const struct WindowConfig gWindowConfig_81E702C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E7048 = @@ -1269,8 +1271,8 @@ const struct WindowConfig gWindowConfig_81E7048 = 0, // tilemap top coordinate 16, // width 32, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(14), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(14), // tilemap }; const struct WindowConfig gWindowConfig_81E7064 = @@ -1290,8 +1292,8 @@ const struct WindowConfig gWindowConfig_81E7064 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(14), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(14), // tilemap }; const struct WindowConfig gWindowConfig_81E7080 = @@ -1311,8 +1313,8 @@ const struct WindowConfig gWindowConfig_81E7080 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E709C = @@ -1332,8 +1334,8 @@ const struct WindowConfig gWindowConfig_81E709C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E70B8 = @@ -1353,8 +1355,8 @@ const struct WindowConfig gWindowConfig_81E70B8 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E70D4 = @@ -1374,8 +1376,8 @@ const struct WindowConfig gWindowConfig_81E70D4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E70F0 = @@ -1416,8 +1418,8 @@ const struct WindowConfig gWindowConfig_81E710C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7128 = @@ -1437,8 +1439,8 @@ const struct WindowConfig gWindowConfig_81E7128 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7144 = @@ -1458,8 +1460,8 @@ const struct WindowConfig gWindowConfig_81E7144 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7160 = @@ -1479,8 +1481,8 @@ const struct WindowConfig gWindowConfig_81E7160 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(10), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(10), // tilemap }; const struct WindowConfig gWindowConfig_81E717C = @@ -1500,8 +1502,8 @@ const struct WindowConfig gWindowConfig_81E717C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(3), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(3), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7198 = @@ -1521,8 +1523,8 @@ const struct WindowConfig gWindowConfig_81E7198 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E71B4 = @@ -1542,8 +1544,8 @@ const struct WindowConfig gWindowConfig_81E71B4 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(15), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(15), // tilemap }; const struct WindowConfig gWindowConfig_81E71D0 = @@ -1563,8 +1565,8 @@ const struct WindowConfig gWindowConfig_81E71D0 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E71EC = @@ -1584,8 +1586,8 @@ const struct WindowConfig gWindowConfig_81E71EC = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(1), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(1), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E7208 = @@ -1605,8 +1607,8 @@ const struct WindowConfig gWindowConfig_81E7208 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(28), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(28), // tilemap }; const struct WindowConfig gWindowConfig_81E7224 = @@ -1626,8 +1628,8 @@ const struct WindowConfig gWindowConfig_81E7224 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(0), // tile data - (u16 *)BG_SCREEN_ADDR(31), // tilemap + BG_CHAR_ADDR(0), // tile data + BG_SCREEN_ADDR(31), // tilemap }; const struct WindowConfig gWindowConfig_81E7240 = @@ -1647,8 +1649,8 @@ const struct WindowConfig gWindowConfig_81E7240 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)BG_CHAR_ADDR(2), // tile data - (u16 *)BG_SCREEN_ADDR(30), // tilemap + BG_CHAR_ADDR(2), // tile data + BG_SCREEN_ADDR(30), // tilemap }; const struct WindowConfig gWindowConfig_81E725C = diff --git a/src/engine/trade.c b/src/engine/trade.c index fdc764e87..8bc293b95 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -1088,7 +1088,7 @@ static void sub_8047EC0(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); - sub_804A964(&gUnknown_03004824->unk_00c8, (void *)BG_SCREEN_ADDR(5)); + sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5)); SetVBlankCallback(sub_80489F4); InitMenuWindow(&gWindowConfig_81E6CE4); SetUpWindowConfig(&gWindowConfig_81E6F84); @@ -1268,7 +1268,7 @@ static void sub_80484F4(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); - sub_804A964(&gUnknown_03004824->unk_00c8, (void *)BG_SCREEN_ADDR(5)); + sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5)); SetVBlankCallback(sub_80489F4); InitMenuWindow(&gWindowConfig_81E6CE4); SetUpWindowConfig(&gWindowConfig_81E6F84); @@ -1484,12 +1484,12 @@ static void sub_8048B0C(u8 a0) } for (i = 0; i < 0x400; i ++) gUnknown_03004824->unk_00c8.unk_12[i] = gUnknown_08EA15C8[i]; - dest = (u16 *)BG_SCREEN_ADDR(6); + dest = BG_SCREEN_ADDR(6); DmaCopy16(3, gTradeStripesBG2Tilemap, dest, 0x800); break; case 1: src = gTradeStripesBG3Tilemap; - dest = (u16 *)BG_SCREEN_ADDR(7); + dest = BG_SCREEN_ADDR(7); DmaCopy16(3, src, dest, 0x800); sub_804A6DC(0); sub_804A6DC(1); @@ -1853,7 +1853,7 @@ static void sub_8049088(void) { u8 string[28]; StringCopy(string, gTradeText_TradeOkayPrompt); - sub_804ACD8(string, (u8 *)BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20); + sub_804ACD8(string, BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20); } static void sub_80490BC(u8 mpId, u8 a1) @@ -2111,7 +2111,7 @@ static void sub_8049680(void) DrawTextWindow(&gUnknown_03004824->window, 24, 14, 29, 19); InitYesNoMenu(24, 14, 4); gUnknown_03004824->unk_007b = 4; - sub_804ACD8(gUnknown_0820C14C[4], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20); + sub_804ACD8(gUnknown_0820C14C[4], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); } } if (gMain.newKeys & R_BUTTON) @@ -2130,7 +2130,7 @@ static void sub_8049804(void) sub_804A80C(); gUnknown_03004824->unk_007b = 0; gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = FALSE; - sub_804ACD8(gUnknown_0820C14C[1], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20); + sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); } static void sub_8049860(void) @@ -2498,7 +2498,7 @@ static void sub_8049ED4(u8 a0) gUnknown_03004824->unk_0080[a0] ++; break; case 4: - sub_804ACD8(gUnknown_0820C14C[5], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20); + sub_804ACD8(gUnknown_0820C14C[5], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); sub_804A51C(a0, whichPokemon, gUnknown_0820C3D1[a0][0] + 4, gUnknown_0820C3D1[a0][1] + 1, gUnknown_0820C3D1[a0][0], gUnknown_0820C3D1[a0][1]); gUnknown_03004824->unk_0080[a0] ++; break; @@ -3362,7 +3362,7 @@ static void sub_804A840(u8 whichParty) sub_804A740(1); sub_804A938(&gUnknown_03004824->unk_00c8); } - sub_804ACD8(gUnknown_0820C14C[1], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20); + sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20); gUnknown_03004824->unk_0080[whichParty] = 0; } @@ -4037,7 +4037,7 @@ static void sub_804B41C(void) gMain.state ++; LZDecompressVram(gUnknown_08D00000, (void *)VRAM); CpuCopy16(gUnknown_08D00524, ewram, 0x1000); - DmaCopy16Defvars(3, ewram, (void *)BG_SCREEN_ADDR(5), 0x500); + DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500); LoadCompressedPalette(gUnknown_08D004E0, 0, 32); gUnknown_03004828->unk_00b6 = 0; gUnknown_03004828->unk_00c4 = 0; @@ -4678,8 +4678,8 @@ static void sub_804BBE8(u8 a0) { case 0: LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0); - DmaCopyLarge16(3, gUnknown_0820CA98, (void *)BG_CHAR_ADDR(1), 0x1300, 0x1000); - DmaCopy16Defvars(3, gUnknown_0820F798, (void *)BG_SCREEN_ADDR(18), 0x1000); + DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000); + DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000); gUnknown_03004828->bg2vofs = 0; gUnknown_03004828->bg2hofs = 0xb4; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; @@ -4691,15 +4691,15 @@ static void sub_804BBE8(u8 a0) REG_BG1VOFS = 0x15c; REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5) | BGCNT_TXT256x512; - DmaCopy16Defvars(3, gUnknown_08210798, (void *)BG_SCREEN_ADDR(5), 0x1000); - DmaCopyLarge16(3, gUnknown_0820CA98, (void *)BG_CHAR_ADDR(0), 0x1300, 0x1000); + DmaCopy16Defvars(3, gUnknown_08210798, BG_SCREEN_ADDR(5), 0x1000); + DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(0), 0x1300, 0x1000); REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; break; case 2: gUnknown_03004828->bg1vofs = 0; gUnknown_03004828->bg1hofs = 0; REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; - DmaCopy16Defvars(3, gUnknown_08211798, (void *)BG_SCREEN_ADDR(5), 0x800); + DmaCopy16Defvars(3, gUnknown_08211798, BG_SCREEN_ADDR(5), 0x800); break; case 3: REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON; @@ -4708,8 +4708,8 @@ static void sub_804BBE8(u8 a0) gUnknown_03004828->unk_010c = 0x78; gUnknown_03004828->unk_010e = -0x46; gUnknown_03004828->unk_011c = 0; - DmaCopyLarge16(3, gUnknown_0820DD98, (void *)BG_CHAR_ADDR(1), 0x1a00, 0x1000); - DmaCopy16Defvars(3, gUnknown_08211F98, (void *)BG_SCREEN_ADDR(18), 0x100); + DmaCopyLarge16(3, gUnknown_0820DD98, BG_CHAR_ADDR(1), 0x1a00, 0x1000); + DmaCopy16Defvars(3, gUnknown_08211F98, BG_SCREEN_ADDR(18), 0x100); break; case 4: REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; @@ -4719,20 +4719,20 @@ static void sub_804BBE8(u8 a0) gUnknown_03004828->unk_0118 = 0x20; gUnknown_03004828->unk_011a = 0x400; gUnknown_03004828->unk_011c = 0; - DmaCopyLarge16(3, gUnknown_08213738, (void *)BG_CHAR_ADDR(1), 0x2040, 0x1000); - DmaCopy16Defvars(3, gUnknown_08215778, (void *)BG_SCREEN_ADDR(18), 0x100); + DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000); + DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100); break; case 5: gUnknown_03004828->bg1vofs = 0; gUnknown_03004828->bg1hofs = 0; REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5); - LZDecompressVram(gUnknown_08D00000, (void *)BG_CHAR_ADDR(0)); + LZDecompressVram(gUnknown_08D00000, BG_CHAR_ADDR(0)); CpuCopy16(gUnknown_08D00524, buffer = (u16 *)ewram, 0x1000); LoadCompressedPalette(gUnknown_08D004E0, 0x70, 0x20); FillPalette(0, 0, 2); for (i = 0; i < 0x280; i ++) buffer[i] |= 0x7000; - DmaCopy16Defvars(3, ewram, (void *)BG_SCREEN_ADDR(5), 0x500); + DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500); MenuZeroFillWindowRect(2, 15, 27, 18); break; case 6: @@ -4745,16 +4745,16 @@ static void sub_804BBE8(u8 a0) gUnknown_03004828->unk_010c = 0x78; gUnknown_03004828->unk_010e = 0x50; gUnknown_03004828->unk_011c = 0; - DmaCopyLarge16(3, gUnknown_08213738, (void *)BG_CHAR_ADDR(1), 0x2040, 0x1000); - DmaCopy16Defvars(3, gUnknown_08215778, (void *)BG_SCREEN_ADDR(18), 0x100); + DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000); + DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100); break; case 7: gUnknown_03004828->bg2vofs = 0; gUnknown_03004828->bg2hofs = 0; REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256; LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0); - DmaCopyLarge16(3, gUnknown_0820CA98, (void *)BG_CHAR_ADDR(1), 0x1300, 0x1000); - DmaCopy16Defvars(3, gUnknown_0820F798, (void *)BG_SCREEN_ADDR(18), 0x1000); + DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000); + DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000); break; } } @@ -5708,7 +5708,7 @@ void sub_804E22C(void) LZDecompressVram(gUnknown_08D00000, (u8 *)VRAM); CpuCopy16(gUnknown_08D00524, ewram, 0x1000); src = (const u16 *)ewram; - dest = (u16 *)(BG_SCREEN_ADDR(5)); + dest = BG_SCREEN_ADDR(5); DmaCopy16(3, src, dest, 0x500) LoadCompressedPalette(gUnknown_08D004E0, 0, 32); REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5); diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index 34f4ffa35..2ee1a23ae 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -374,7 +374,7 @@ static bool8 sub_810B998(void) switch (ewram[0x1ffff]) { case 0: - LZDecompressVram(gMenuPokeblock_Gfx, (u8 *)BG_CHAR_ADDR(2)); + LZDecompressVram(gMenuPokeblock_Gfx, BG_CHAR_ADDR(2)); ewram[0x1ffff]++; break; case 1: diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index e8e4f271b..153970337 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -94,7 +94,7 @@ void sub_8106448(void) { } void sub_81064B8(void) { - CpuCopy16(gUnknown_08E95AB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2); + CpuCopy16(gUnknown_08E95AB8, BG_SCREEN_ADDR(29), 20 * 32 * 2); LoadSlotMachineWheelOverlay(); } @@ -102,7 +102,7 @@ static void LoadSlotMachineWheelOverlay(void) { s16 x, y, dx; u16 *screen; - screen = (u16 *) BG_SCREEN_ADDR(30); + screen = BG_SCREEN_ADDR(30); for (x = 4; x < 18; x += 5) { @@ -125,7 +125,7 @@ static void LoadSlotMachineWheelOverlay(void) { } void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) { - u16 *vram = (u16 *) BG_SCREEN_ADDR(29); + u16 *vram = BG_SCREEN_ADDR(29); vram[15 * 32 + arg0] = arg1; vram[15 * 32 + 1 + arg0] = arg2; @@ -137,9 +137,9 @@ void sub_81065DC(void) { s16 y, x; u16 *screen; - CpuCopy16(gUnknown_08E95FB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2); + CpuCopy16(gUnknown_08E95FB8, BG_SCREEN_ADDR(29), 20 * 32 * 2); - screen = (u16 *) BG_SCREEN_ADDR(30); + screen = BG_SCREEN_ADDR(30); for (y = 0; y < 20; y++) { for (x = 0; x < 30; x++) diff --git a/src/pokemon/pokedex_cry_screen.c b/src/pokemon/pokedex_cry_screen.c index 92fd832fc..ad7029f59 100644 --- a/src/pokemon/pokedex_cry_screen.c +++ b/src/pokemon/pokedex_cry_screen.c @@ -49,7 +49,7 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { u32 r12; int x, y; - vram = (void *) BG_SCREEN_ADDR(cry->unk2); + vram = BG_SCREEN_ADDR(cry->unk2); r12 = (u32) (cry->unk0 << 18) >> 23; diff --git a/src/rom3.c b/src/rom3.c index 3f4860ecc..a3afcd6b7 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -1097,7 +1097,7 @@ void EmitTrainerBallThrow(u8 a) PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4); } -void Emitcmd48(u8 a, u8 *b, u8 c) +void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c) { int i; @@ -1106,7 +1106,7 @@ void Emitcmd48(u8 a, u8 *b, u8 c) gBattleBuffersTransferData[2] = (c & 0x80) >> 7; gBattleBuffersTransferData[3] = 48; for (i = 0; i < 48; i++) - gBattleBuffersTransferData[4 + i] = b[i]; + gBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus)); PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 52); } -- cgit v1.2.3 From 581bab1360d5544101b52c0b7616e7fb16ed8a5d Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 4 Nov 2017 20:24:50 -0400 Subject: more fixes --- src/battle/battle_interface.c | 38 +++++++++++++++++----------------- src/debug/matsuda_debug_menu.c | 8 +++---- src/engine/save.c | 6 +++--- src/engine/save_failed_screen.c | 4 ++-- src/engine/sprite.c | 11 +++++----- src/engine/string_util.c | 34 +++++++++++++++--------------- src/engine/text.c | 4 ++-- src/engine/tileset_anim.c | 46 ++++++++++++++++++++--------------------- src/engine/trade.c | 34 +++++++++++++++--------------- src/field/party_menu.c | 10 ++++----- src/field/use_pokeblock.c | 6 +++--- src/libs/agb_flash.c | 12 +++++------ src/libs/agb_flash_mx.c | 2 +- src/pokemon/pokemon_icon.c | 7 +++++-- src/rom3.c | 10 ++++----- 15 files changed, 118 insertions(+), 114 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 8bfeedd4d..10962c025 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -482,7 +482,7 @@ u8 battle_make_oam_normal_battle(u8 a) SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; - CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + sprite->oam.tileNum * 32), 64); + CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); gSprites[spriteId1].data5 = spriteId3; gSprites[spriteId1].data6 = a; @@ -940,7 +940,7 @@ static void sub_8044210(u8 a, s16 b, u8 c) sub_8003504(ptr, b, 0xF, 1); if (GetBankSide(r4) == 0) { - CpuCopy32(sub_8043CDC(0x74), (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32), 32); + CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); } } r4 = gSprites[a].data5; @@ -1309,7 +1309,7 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data5; - CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); + CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } @@ -1317,7 +1317,7 @@ void sub_804454C(void) { draw_status_ailment_maybe(gHealthboxIDs[i]); sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); - CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32), 32); + CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); } } else @@ -1332,7 +1332,7 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data5; - CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); + CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } @@ -2505,9 +2505,9 @@ static void sub_8045458(u8 a, u8 b) { r4 = gSprites[a].data5; if (b != 0) - CpuCopy32(sub_8043CDC(0x46), (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32); + CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); else - CpuFill32(0, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32); + CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); } } } @@ -2568,10 +2568,10 @@ static void draw_status_ailment_maybe(u8 a) r6 = sub_8043CDC(0x27); for (i = 0; i < 3; i++) - CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32), 32); + CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32); if (!ewram17800[r7].unk0_4) - CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 64); + CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64); sub_8045458(a, 1); return; @@ -2582,13 +2582,13 @@ static void draw_status_ailment_maybe(u8 a) // I don't like writing the array index like this, but I can't get it to match otherwise. FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); - CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32), 96); + CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { - CpuCopy32(sub_8043CDC(0), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 32); - CpuCopy32(sub_8043CDC(0x41), (void *)(OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32), 32); + CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32); + CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32); } } sub_8045458(a, 0); @@ -2669,11 +2669,11 @@ static void sub_80458B0(u8 a) CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32); for (r7 = 3; r7 < 3 + r8; r7++) { - addr = (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32); + addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32; CpuCopy32(r6, addr, 32); r6 += 32; - addr = (void *)(OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32); + addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32; CpuCopy32(r6, addr, 32); r6 += 32; } @@ -2697,7 +2697,7 @@ static void sub_8045998(u8 a) r7 = (u8 *)0x02000520 + status * 0x180 + 32; for (i = 6; i < 6 + r6; i++) { - CpuCopy32(r7, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32), 32); + CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); r7 += 64; } } @@ -2821,9 +2821,9 @@ static void sub_8045D58(u8 a, u8 b) { u8 r4 = gSprites[ewram17850[a].unk0].data5; if (i < 2) - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32), 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32); else - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32), 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32); } break; case 1: @@ -2837,9 +2837,9 @@ static void sub_8045D58(u8 a, u8 b) for (i = 0; i < 8; i++) { if (i < 4) - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32), 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32); else - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32), 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32); } break; } diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index c7d81f502..d0c0f95f7 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -516,10 +516,10 @@ void SetDebugMonForContest(void) SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart); SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough); SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &gContestMons[gContestPlayerMonIndex].moves[0]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &gContestMons[gContestPlayerMonIndex].moves[1]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &gContestMons[gContestPlayerMonIndex].moves[2]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &gContestMons[gContestPlayerMonIndex].moves[3]); } void sub_80AA754(struct Sprite *sprite) diff --git a/src/engine/save.c b/src/engine/save.c index eae3f4470..5ea949cae 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -282,7 +282,7 @@ u8 sub_81255B8(u16 a1, const struct SaveSectionLocation *location) for (i = 0; i < sizeof(struct UnkSaveSection); i++) { - if (ProgramFlashByte(sector, i, ((u8 *)gFastSaveSection)[i])) + if (ProgramFlashByte(sector, i, gFastSaveSection->data[i])) { status = 0xFF; break; @@ -402,7 +402,7 @@ u8 sub_81258BC(u16 a1, const struct SaveSectionLocation *location) { u16 j; for (j = 0; j < location[id].size; j++) - ((u8 *)location[id].data)[j] = gFastSaveSection->data[j]; + location[id].data[j] = gFastSaveSection->data[j]; } } @@ -774,7 +774,7 @@ u8 unref_sub_8125FF0(u8 *data, u16 size) for (i = 0; i < size; i++) section->data[i] = data[i]; - gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], (u8 *)section, sizeof(struct SaveSection)); + gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], section, sizeof(struct SaveSection)); if (gLastSaveSectorStatus) return 0xFF; diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index b91e8b5bf..17bda237e 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -267,10 +267,10 @@ static void VBlankCB_UpdateClockGraphics(void) static bool8 VerifySectorWipe(u16 sector) { - u32 *ptr = (u32 *)unk_2000000; + u32 *ptr = (u32 *)&unk_2000000; u16 i; - ReadFlash(sector, 0, (u8 *)ptr, 4096); + ReadFlash(sector, 0, ptr, 4096); for (i = 0; i < 0x400; i++, ptr++) if (*ptr) diff --git a/src/engine/sprite.c b/src/engine/sprite.c index 5d394502a..34ca3802d 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -833,13 +833,13 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data; - gSpriteCopyRequests[gSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; + gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } } -void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size) +void RequestSpriteCopy(const void *src, u8 *dest, u16 size) { if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { @@ -850,6 +850,7 @@ void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size) } } +// these two functions are unused. void CopyFromSprites(u8 *dest) { u32 i; @@ -1479,7 +1480,7 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet) else { AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP); - CpuCopy16(sheet->data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); return (u16)tileStart; } } @@ -1517,7 +1518,7 @@ void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - CpuCopy16(data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); } void LoadTilesForSpriteSheets(struct SpriteSheet *sheets) @@ -1603,7 +1604,7 @@ void RequestSpriteSheetCopy(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - RequestSpriteCopy(data, (u8 *)OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); + RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); } u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet) diff --git a/src/engine/string_util.c b/src/engine/string_util.c index 9686256a1..7316f533a 100644 --- a/src/engine/string_util.c +++ b/src/engine/string_util.c @@ -376,7 +376,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src) { u8 c = *src++; u8 placeholderId; - u8 *expandedString; + const u8 *expandedString; u8 length; switch (c) @@ -432,45 +432,45 @@ u8 *StringBraille(u8 *dest, const u8 *src) } } -static u8 *ExpandPlaceholder_UnknownStringVar(void) +static const u8 *ExpandPlaceholder_UnknownStringVar(void) { return gUnknownStringVar; } -static u8 *ExpandPlaceholder_PlayerName(void) +static const u8 *ExpandPlaceholder_PlayerName(void) { return gSaveBlock2.playerName; } -static u8 *ExpandPlaceholder_StringVar1(void) +static const u8 *ExpandPlaceholder_StringVar1(void) { return gStringVar1; } -static u8 *ExpandPlaceholder_StringVar2(void) +static const u8 *ExpandPlaceholder_StringVar2(void) { return gStringVar2; } -static u8 *ExpandPlaceholder_StringVar3(void) +static const u8 *ExpandPlaceholder_StringVar3(void) { return gStringVar3; } -static u8 *ExpandPlaceholder_KunChan(void) +static const u8 *ExpandPlaceholder_KunChan(void) { if (gSaveBlock2.playerGender == MALE) - return (u8 *) gExpandedPlaceholder_Kun; + return gExpandedPlaceholder_Kun; else - return (u8 *) gExpandedPlaceholder_Chan; + return gExpandedPlaceholder_Chan; } -static u8 *ExpandPlaceholder_RivalName(void) +static const u8 *ExpandPlaceholder_RivalName(void) { if (gSaveBlock2.playerGender == MALE) - return (u8 *) gExpandedPlaceholder_May; + return gExpandedPlaceholder_May; else - return (u8 *) gExpandedPlaceholder_Brendan; + return gExpandedPlaceholder_Brendan; } #define VERSION_DEPENDENT_PLACEHOLDER_LIST \ @@ -484,19 +484,19 @@ static u8 *ExpandPlaceholder_RivalName(void) #ifdef SAPPHIRE #define X(ph, r, s) \ -static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##s; } +static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##s; } VERSION_DEPENDENT_PLACEHOLDER_LIST #else #define X(ph, r, s) \ -static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##r; } +static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##r; } VERSION_DEPENDENT_PLACEHOLDER_LIST #endif #undef X -u8 *GetExpandedPlaceholder(u32 id) +const u8 *GetExpandedPlaceholder(u32 id) { - typedef u8 *(*ExpandPlaceholderFunc)(void); + typedef const u8 *(*ExpandPlaceholderFunc)(void); static const ExpandPlaceholderFunc funcs[] = { @@ -517,7 +517,7 @@ u8 *GetExpandedPlaceholder(u32 id) }; if (id >= ARRAY_COUNT(funcs)) - return (u8 *) gExpandedPlaceholder_Empty; + return gExpandedPlaceholder_Empty; else return funcs[id](); } diff --git a/src/engine/text.c b/src/engine/text.c index 9bb33f3c2..1d1d31383 100644 --- a/src/engine/text.c +++ b/src/engine/text.c @@ -536,7 +536,7 @@ const struct WindowConfig gWindowConfig_81E6C74 = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)OBJ_VRAM0, // tile data + OBJ_VRAM0, // tile data NULL, // tilemap }; @@ -1670,7 +1670,7 @@ const struct WindowConfig gWindowConfig_81E725C = 0, // tilemap top coordinate 30, // width 20, // height - (u8 *)OBJ_VRAM0, // tile data + OBJ_VRAM0, // tile data NULL, // tilemap }; diff --git a/src/engine/tileset_anim.c b/src/engine/tileset_anim.c index 34685381d..f892e5e9a 100644 --- a/src/engine/tileset_anim.c +++ b/src/engine/tileset_anim.c @@ -32,8 +32,8 @@ extern u8 *gTilesetAnimTable_BikeShop[]; struct Dma { - u8 *src; - u8 *dest; + void *src; + void *dest; u16 size; }; @@ -95,7 +95,7 @@ static void ClearTilesetAnimDmas(void) CpuFill32(0, &gTilesetAnimDmas, sizeof(gTilesetAnimDmas)); } -static void QueueTilesetAnimDma(u8 *src, u8 *dest, u16 size) +static void QueueTilesetAnimDma(void *src, void *dest, u16 size) { if (gNumTilesetAnimDmas < 20) { @@ -217,28 +217,28 @@ static void sub_8073070(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], (u8 *)(BG_VRAM + 0x3f80), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], BG_TILE_ADDR(127), 0x80); } static void sub_8073098(u16 a1) { u8 v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], (u8 *)(BG_VRAM + 0x3600), 0x3c0); + QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], BG_TILE_ADDR(108), 0x3c0); } static void sub_80730C0(u16 a1) { int v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], (u8 *)(BG_VRAM + 0x3a00), 0x140); + QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], BG_TILE_ADDR(116), 0x140); } static void sub_80730E8(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], (u8 *)(BG_VRAM + 0x3e00), 0xc0); + QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], BG_TILE_ADDR(124), 0xc0); } void TilesetCB_Petalburg(void) @@ -454,37 +454,37 @@ static void sub_807361C(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], (u8 *)(BG_VRAM + 0x3c00), 0x140); + QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], BG_TILE_ADDR(120), 0x140); } static void sub_8073644(u8 a1) { u8 v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6400), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(200), 0x80); v1 = (a1 + 2) % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6480), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(201), 0x80); } static void sub_807368C(u8 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], (u8 *)(BG_VRAM + 0x7a00), 0x3c0); + QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], BG_TILE_ADDR(244), 0x3c0); } static void sub_80736B4(u8 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], (u8 *)(BG_VRAM + 0x7e00), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], BG_TILE_ADDR(252), 0x80); } static void sub_80736DC(u8 a1) { int v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], (u8 *)(BG_VRAM + 0x7e00), 0x100); + QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], BG_TILE_ADDR(252), 0x100); } static void sub_8073704(u16 a1, u8 a2) @@ -521,14 +521,14 @@ static void sub_80737E0(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], (u8 *)(BG_VRAM + 0x7800), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], BG_TILE_ADDR(240), 0x80); } static void sub_8073808(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x5400), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(168), 0x80); } static void sub_8073830(u16 a1, u8 a2) @@ -543,7 +543,7 @@ static void sub_8073868(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x7400), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(232), 0x80); } static void sub_8073890(u16 a1) @@ -590,41 +590,41 @@ static void sub_8073904(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], (u8 *)(BG_VRAM + 0x3e00), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], BG_TILE_ADDR(124), 0x80); } static void sub_807392C(u16 a1) { int v1; v1 = a1 % 3; - QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], (u8 *)(BG_VRAM + 0x7e00), 0x180); - QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], (u8 *)(BG_VRAM + 0x7a00), 0x280); + QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], BG_TILE_ADDR(252), 0x180); + QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], BG_TILE_ADDR(244), 0x280); } static void sub_8073974(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], (u8 *)(BG_VRAM + 0x7f00), 0x20); + QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], BG_TILE_ADDR(254), 0x20); } static void sub_807399C(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], (u8 *)(BG_VRAM + 0x7c00), 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], BG_TILE_ADDR(248), 0x80); } static void sub_80739C4(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], (u8 *)(BG_VRAM + 0x5200), 0x200); + QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], BG_TILE_ADDR(164), 0x200); } static void sub_80739EC(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], (u8 *)(BG_VRAM + 0x7e00), 0x120); + QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], BG_TILE_ADDR(252), 0x120); } diff --git a/src/engine/trade.c b/src/engine/trade.c index 8bc293b95..8fad94be8 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -112,7 +112,6 @@ struct TradeEwramSubstruct { /*0x0087*/ u8 unk_0087; /*0x0088*/ u8 filler_0088[2]; /*0x008a*/ u8 unk_008a; - /*0x008b*/ u8 unk_008b; /*0x008c*/ u16 linkData[20]; /*0x00b4*/ u8 unk_00b4; /*0x00b5*/ u8 unk_00b5[11]; @@ -1706,8 +1705,11 @@ static void sub_8048C70(void) static void nullsub_5(u8 a0, u8 a1) {} -static void sub_8048D24(u8 *dest, const u8 *src, u32 size) +// why not just use memcpy? +static void Trade_Memcpy(void *dataDest, void *dataSrc, u32 size) { + u8 *dest = dataDest; + u8 *src = dataSrc; int i; for (i = 0; i < size; i ++) dest[i] = src[i]; } @@ -1724,7 +1726,7 @@ static bool8 sub_8048D44(void) switch (gUnknown_03004824->unk_0075) { case 0: - sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[0], 2 * sizeof(struct Pokemon)); + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); gUnknown_03004824->unk_0075 ++; break; case 1: @@ -1751,13 +1753,13 @@ static bool8 sub_8048D44(void) case 3: if (GetBlockReceivedStatus() == 3) { - sub_8048D24((u8 *)&gEnemyParty[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); ResetBlockReceivedFlags(); gUnknown_03004824->unk_0075 ++; } break; case 4: - sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[2], 2 * sizeof(struct Pokemon)); + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); gUnknown_03004824->unk_0075 ++; break; case 5: @@ -1770,13 +1772,13 @@ static bool8 sub_8048D44(void) case 6: if (GetBlockReceivedStatus() == 3) { - sub_8048D24((u8 *)&gEnemyParty[2], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); ResetBlockReceivedFlags(); gUnknown_03004824->unk_0075 ++; } break; case 7: - sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[4], 2 * sizeof(struct Pokemon)); + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 2 * sizeof(struct Pokemon)); gUnknown_03004824->unk_0075 ++; break; case 8: @@ -1789,13 +1791,13 @@ static bool8 sub_8048D44(void) case 9: if (GetBlockReceivedStatus() == 3) { - sub_8048D24((u8 *)&gEnemyParty[4], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); + Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon)); ResetBlockReceivedFlags(); gUnknown_03004824->unk_0075 ++; } break; case 10: - sub_8048D24(gBlockSendBuffer, (const u8 *)&gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4); + Trade_Memcpy(gBlockSendBuffer, &gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4); gUnknown_03004824->unk_0075 ++; break; case 11: @@ -1808,13 +1810,13 @@ static bool8 sub_8048D44(void) case 12: if (GetBlockReceivedStatus() == 3) { - sub_8048D24((u8 *)&gUnknown_02029700[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct)); + Trade_Memcpy(&gUnknown_02029700[0], gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct)); ResetBlockReceivedFlags(); gUnknown_03004824->unk_0075 ++; } break; case 13: - sub_8048D24(gBlockSendBuffer, (const u8 *)gSaveBlock1.giftRibbons, 11); + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1.giftRibbons, 11); gUnknown_03004824->unk_0075 ++; break; case 14: @@ -1827,7 +1829,7 @@ static bool8 sub_8048D44(void) case 15: if (GetBlockReceivedStatus() == 3) { - sub_8048D24((u8 *)gUnknown_03004824->unk_00b5, (const u8 *)gBlockRecvBuffer[mpId ^ 1], 11); + Trade_Memcpy(gUnknown_03004824->unk_00b5, gBlockRecvBuffer[mpId ^ 1], 11); ResetBlockReceivedFlags(); gUnknown_03004824->unk_0075 ++; } @@ -1915,7 +1917,7 @@ static void sub_80491E4(u8 mpId, u8 status) gUnknown_03004824->unk_007b = 8; break; case 0xdddd: - gUnknown_03004824->unk_008a = ((u8 *)gBlockRecvBuffer[0])[1 * sizeof(u16)] + 6; + gUnknown_03004824->unk_008a = gBlockRecvBuffer[0][1] + 6; sub_8049E9C(gUnknown_03004824->tradeMenuCursorPosition); sub_8049E9C(gUnknown_03004824->unk_008a); gUnknown_03004824->unk_007b = 7; @@ -5416,7 +5418,6 @@ static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade) struct MailStruct mail; u8 metLocation = 0xFE; u8 isMail; - u8 *item; struct Pokemon *pokemon = &gEnemyParty[0]; CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId); @@ -5451,8 +5452,7 @@ static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade) } else { - item = (u8 *)&inGameTrade->heldItem; - SetMonData(pokemon, MON_DATA_HELD_ITEM, item); + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); } } CalculateMonStats(&gEnemyParty[0]); @@ -5705,7 +5705,7 @@ void sub_804E22C(void) { const u16 *src; u16 *dest; - LZDecompressVram(gUnknown_08D00000, (u8 *)VRAM); + LZDecompressVram(gUnknown_08D00000, (void *)VRAM); CpuCopy16(gUnknown_08D00524, ewram, 0x1000); src = (const u16 *)ewram; dest = BG_SCREEN_ADDR(5); diff --git a/src/field/party_menu.c b/src/field/party_menu.c index a8c57b86d..7a519d737 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -2855,7 +2855,7 @@ void sub_806D5B8(u8 monIndex) ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom); var1 = 0; - CpuFastSet(&var1, (void *)(OBJ_VRAM1 + monIndex * 0x400), 0x1000100); + CpuFastSet(&var1, OBJ_VRAM1 + monIndex * 0x400, 0x1000100); } void sub_806D668(u8 monIndex) @@ -2869,7 +2869,7 @@ void sub_806D668(u8 monIndex) ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom); var1 = 0; - CpuFastSet(&var1, (void *)(OBJ_VRAM1 + 0x300 + monIndex * 0x400), 0x1000040); + CpuFastSet(&var1, OBJ_VRAM1 + 0x300 + monIndex * 0x400, 0x1000040); } bool8 LoadPartyMenuGraphics(u8 a) @@ -3460,7 +3460,7 @@ void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer) u32 var1 = 0; CpuFastSet(&var1, gTileBuffer, 0x1000100); sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gTileBuffer, nameBuffer); - CpuFastSet(gTileBuffer, (void *)(OBJ_VRAM1 + (monIndex * 0x400)), 128); + CpuFastSet(gTileBuffer, OBJ_VRAM1 + (monIndex * 0x400), 128); } void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon) @@ -3570,7 +3570,7 @@ void PartyMenuDoPrintLevel(u8 monIndex, u8 menuLayout, u8 level) var1 = 0; CpuFastSet(&var1, gUnknown_02039460, 0x1000020); sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1); - CpuFastSet(gUnknown_02039460, (void *)(OBJ_VRAM1 + 0x200 + (monIndex * 0x400)), 32); + CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x200 + (monIndex * 0x400), 32); } void PartyMenuPrintLevel(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon) @@ -3664,7 +3664,7 @@ void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP) CpuFastSet(&var, gUnknown_02039460, 0x1000040); sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1); - CpuFastSet(gUnknown_02039460, (void *)(OBJ_VRAM1 + 0x300 + (monIndex * 0x400)), 64); + CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x300 + (monIndex * 0x400), 64); } void PartyMenuPrintHP(u8 monIndex, u8 b, struct Pokemon *pokemon) diff --git a/src/field/use_pokeblock.c b/src/field/use_pokeblock.c index e946a9cfc..5fbecec0d 100644 --- a/src/field/use_pokeblock.c +++ b/src/field/use_pokeblock.c @@ -22,10 +22,10 @@ #ifdef GERMAN extern const u16 ConditionUpDownPalette[16]; -extern const u32 ConditionUpDownTiles[0x80]; +extern const u8 ConditionUpDownTiles[0x200]; #else const u16 ConditionUpDownPalette[] = INCBIN_U16("graphics/misc/condition_up_down.gbapal"); -const u32 ConditionUpDownTiles[] = INCBIN_U32("graphics/misc/condition_up_down.4bpp"); +const u8 ConditionUpDownTiles[] = INCBIN_U8("graphics/misc/condition_up_down.4bpp"); #endif static const u32 sContestStatsMonData[] = { @@ -49,7 +49,7 @@ static const u8 *const sContextStatNames[] = { }; static const struct SpriteSheet gSpriteSheet_ConditionUpDown = { - (u8 *)ConditionUpDownTiles, + ConditionUpDownTiles, sizeof ConditionUpDownTiles, GFX_TAG_CONDITIONUPDOWN }; diff --git a/src/libs/agb_flash.c b/src/libs/agb_flash.c index 340d469a7..5b171abcb 100644 --- a/src/libs/agb_flash.c +++ b/src/libs/agb_flash.c @@ -9,7 +9,7 @@ static u16 sSavedIme; u8 gFlashTimeoutFlag; u8 (*PollFlashStatus)(u8 *); u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData); -u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src); +u16 (*ProgramFlashSector)(u16 sectorNum, void *src); const struct FlashType *gFlash; u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data); u16 gFlashNumRemainingBytes; @@ -135,7 +135,7 @@ void ReadFlash_Core(u8 *src, u8 *dest, u32 size) } } -void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size) +void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size) { u8 *src; u16 i; @@ -256,7 +256,7 @@ u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n) return verifyFlashSector_Core(src, tgt, n); } -u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused +u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) { u8 i; u32 result; @@ -275,18 +275,18 @@ u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused return result; // return 0 if verified and programmed. } -u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n) +u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n) { u8 i; u32 result; for (i = 0; i < 3; i++) { - result = ProgramFlashSector(sectorNum, src); + result = ProgramFlashSector(sectorNum, dataSrc); if (result != 0) continue; - result = VerifyFlashSectorNBytes(sectorNum, src, n); + result = VerifyFlashSectorNBytes(sectorNum, dataSrc, n); if (result == 0) break; } diff --git a/src/libs/agb_flash_mx.c b/src/libs/agb_flash_mx.c index 67348901f..b4f710f36 100644 --- a/src/libs/agb_flash_mx.c +++ b/src/libs/agb_flash_mx.c @@ -157,7 +157,7 @@ static u16 ProgramByte(u8 *src, u8 *dest) return WaitForFlashWrite(1, dest, *src); } -u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src) +u16 ProgramFlashSector_MX(u16 sectorNum, void *src) { u16 result; u8 *dest; diff --git a/src/pokemon/pokemon_icon.c b/src/pokemon/pokemon_icon.c index 9bb3386e1..e83f912ec 100644 --- a/src/pokemon/pokemon_icon.c +++ b/src/pokemon/pokemon_icon.c @@ -1215,8 +1215,11 @@ u8 UpdateMonIconFrame(struct Sprite *sprite) break; default: RequestSpriteCopy( - (u8 *)sprite->images + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame, - (u8 *)OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, + // pointer arithmetic is needed to get the correct pointer to perform the sprite copy on. + // because sprite->images is a struct def, it has to be casted to (u8 *) before any + // arithmetic can be performed. + (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame), + OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]); { register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration; diff --git a/src/rom3.c b/src/rom3.c index a3afcd6b7..75dfdf2a2 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -92,7 +92,7 @@ void setup_poochyena_battle(void) ZeroEnemyPartyMons(); CreateMon(&gEnemyParty[0], SPECIES_POOCHYENA, 2, 32, 0, 0, 0, 0); i = ITEM_NONE; - SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&i); + SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &i); } gUnknown_020239FC = 0; gUnknown_02024C78 = 0; @@ -489,7 +489,7 @@ void sub_800C35C(void) u8 i; //r4 s32 j; //r2 u16 r6; //r6 - u8 *recvBuffer; //r3 + u16 *recvBuffer; //r3 u8 *dest; //r5 u8 *src; //r4 @@ -500,10 +500,10 @@ void sub_800C35C(void) if (GetBlockReceivedStatus() & gBitTable[i]) { ResetBlockReceivedFlag(i); - recvBuffer = (u8 *)&gBlockRecvBuffer[i]; + recvBuffer = gBlockRecvBuffer[i]; #ifndef NONMATCHING asm(""); - recvBuffer = (u8 *)&gBlockRecvBuffer[i]; + recvBuffer = gBlockRecvBuffer[i]; #endif r6 = gBlockRecvBuffer[i][2]; if (gTasks[gUnknown_020238C5].data[14] + 9 + r6 > 0x1000) @@ -513,7 +513,7 @@ void sub_800C35C(void) } //_0800C402 dest = EWRAM_15000 + gTasks[gUnknown_020238C5].data[14]; - src = recvBuffer; + src = (u8 *)recvBuffer; for (j = 0; j < r6 + 8; j++) dest[j] = src[j]; gTasks[gUnknown_020238C5].data[14] = gTasks[gUnknown_020238C5].data[14] + r6 + 8; -- cgit v1.2.3 From 003d16e7a178e440c41f2bca365bf8f8f2a60b0e Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 4 Nov 2017 21:44:50 -0400 Subject: finish first wave of fixes --- src/field/battle_tower.c | 8 ++++---- src/field/decoration.c | 2 +- src/field/decoration_inventory.c | 2 +- src/field/easy_chat.c | 2 +- src/field/field_effect.c | 4 ++-- src/field/field_ground_effect.c | 38 +++++++------------------------------- src/field/field_map_obj.c | 18 +++++++++--------- src/field/field_map_obj_helpers.c | 2 +- src/field/player_pc.c | 8 ++++---- src/field/trainer_see.c | 2 +- src/pokemon/pokemon_3.c | 4 ++-- 11 files changed, 33 insertions(+), 57 deletions(-) (limited to 'src') diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c index 06d692eae..1b5759f49 100644 --- a/src/field/battle_tower.c +++ b/src/field/battle_tower.c @@ -1370,7 +1370,7 @@ void FillBattleTowerTrainerParty(void) } SetMonData(&gEnemyParty[partyIndex], MON_DATA_FRIENDSHIP, &friendship); - SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, (u8 *)&sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]); + SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, &sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]); // The pokemon was successfully added to the trainer's party, so it's safe to move on to // the next party slot. @@ -1589,7 +1589,7 @@ void sub_81354CC(void) for (i = 0; i < PARTY_SIZE; i++) { heldItem = GetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM); - SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (u8 *)&heldItem); + SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem); } break; case 2: @@ -1633,7 +1633,7 @@ void sub_813556C(void) for (i = 0; i < PARTY_SIZE; i++) { heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); - SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, (u8 *)&heldItem); + SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, &heldItem); } CreateTask(sub_8135534, 1); @@ -2185,7 +2185,7 @@ void AwardBattleTowerRibbons(void) if (!GetMonData(pokemon, ribbonType)) { gScriptResult = 1; - SetMonData(pokemon, ribbonType, (u8 *)&gScriptResult); + SetMonData(pokemon, ribbonType, &gScriptResult); } } } diff --git a/src/field/decoration.c b/src/field/decoration.c index e067191e9..59c19c20a 100644 --- a/src/field/decoration.c +++ b/src/field/decoration.c @@ -1494,7 +1494,7 @@ const union AnimCmd *const gSpriteAnimTable_83EC930[] = { }; const struct SpriteFrameImage gSpriteImageTable_83EC934[] = { - {.data = (u8 *)&gUnknown_02038900.image, .size = sizeof gUnknown_02038900.image} + {.data = gUnknown_02038900.image, .size = sizeof(gUnknown_02038900.image)} }; const struct SpriteTemplate gSpriteTemplate_83EC93C = { diff --git a/src/field/decoration_inventory.c b/src/field/decoration_inventory.c index 083cb260c..687589373 100644 --- a/src/field/decoration_inventory.c +++ b/src/field/decoration_inventory.c @@ -8,7 +8,7 @@ #include "decoration.h" #include "decoration_inventory.h" -#define DECOR_INV(ptr) {.items = (u8 *)&ptr, .size = sizeof ptr} +#define DECOR_INV(ptr) {.items = ptr, .size = sizeof ptr} struct DecorationInventory const gDecorationInventories[] = { DECOR_INV(gSaveBlock1.decorDesk), diff --git a/src/field/easy_chat.c b/src/field/easy_chat.c index 2668b57dd..8e7413516 100644 --- a/src/field/easy_chat.c +++ b/src/field/easy_chat.c @@ -161,7 +161,7 @@ u16 unref_sub_80EB5E0(u16 arg0) { case EC_GROUP_POKEMON: // 0 case EC_GROUP_POKEMON_2: // 21 - chars = (u8 *) gSpeciesNames[word]; + chars = gSpeciesNames[word]; break; case EC_GROUP_MOVE_1: // 18 case EC_GROUP_MOVE_2: // 19 diff --git a/src/field/field_effect.c b/src/field/field_effect.c index d86d6e5cd..bd78fb632 100644 --- a/src/field/field_effect.c +++ b/src/field/field_effect.c @@ -37,7 +37,7 @@ const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/field_effect_obj const u32 gSpriteImage_839E474[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp"); const u32 gSpriteImage_839E534[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp"); const u32 gSpriteImage_839E5F4[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp"); -const u32 gSpriteImage_839E7F4[] = INCBIN_U32("graphics/misc/small_hof_monitor.4bpp"); +const u8 gSpriteImage_839E7F4[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp"); const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/field_effect_objects/palettes/05.gbapal"); // Graphics for the lights streaking past your Pokemon when it uses a field move. @@ -110,7 +110,7 @@ const struct SpriteFrameImage gSpriteImageTable_839F170[] = { }; const struct SpriteFrameImage gSpriteImageTable_839F178[] = { - {.data = (u8 *)gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here + {.data = gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here }; const struct Subsprite Unknown_39F180[] = { diff --git a/src/field/field_ground_effect.c b/src/field/field_ground_effect.c index 5af8ea3e3..25b678ff9 100644 --- a/src/field/field_ground_effect.c +++ b/src/field/field_ground_effect.c @@ -458,76 +458,52 @@ bool8 AreZCoordsCompatible(u8 a, u8 b) void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; + gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 1; FieldEffectStart(FLDEFF_TALL_GRASS); } void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; + gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 0; FieldEffectStart(FLDEFF_TALL_GRASS); } void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; + gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 1; FieldEffectStart(FLDEFF_LONG_GRASS); } void sub_8063F2C(struct MapObject *mapObj, struct Sprite *sprite) { - u8 *ptr; - gFieldEffectArguments[0] = mapObj->coords2.x; gFieldEffectArguments[1] = mapObj->coords2.y; gFieldEffectArguments[2] = mapObj->elevation; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; - - ptr = (u8 *)&gSaveBlock1; - gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8) - | (u8)gSaveBlock1.location.mapGroup; - + gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 0; FieldEffectStart(FLDEFF_LONG_GRASS); } diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index 094e70107..74ef3b7fe 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -2775,11 +2775,11 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr gMapObjects[mapObjectId].mapobj_bit_13 = d; } -void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, u8 *localId, u8 *mapNum, u8 *mapGroup) +void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) { - *localId = mapObject->localId; - *mapNum = mapObject->mapNum; - *mapGroup = mapObject->mapGroup; + *(u8 *)localId = mapObject->localId; + *(u8 *)mapNum = mapObject->mapNum; + *(u8 *)mapGroup = mapObject->mapGroup; } void sub_805BCC0(s16 x, s16 y) @@ -5187,7 +5187,7 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite) mapObject = &gMapObjects[sprite->data0]; if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0)) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); mapObject->mapobj_unk_21 = 1; sprite->data7 ++; @@ -5207,7 +5207,7 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) mapObject = &gMapObjects[sprite->data0]; if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0)) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); mapObject->mapobj_unk_21 = 1; sprite->data7 ++; @@ -7371,7 +7371,7 @@ bool8 sub_8062644(struct MapObject *mapObject, struct Sprite *sprite) bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); sprite->data2 = 1; return TRUE; @@ -7379,7 +7379,7 @@ bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *s bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); sprite->data2 = 1; return TRUE; @@ -7387,7 +7387,7 @@ bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *s bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); sprite->data2 = 1; return TRUE; diff --git a/src/field/field_map_obj_helpers.c b/src/field/field_map_obj_helpers.c index b453d3794..59e857aae 100644 --- a/src/field/field_map_obj_helpers.c +++ b/src/field/field_map_obj_helpers.c @@ -294,7 +294,7 @@ void sub_8064990(u8 a1, u8 dir) u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) { - FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); } diff --git a/src/field/player_pc.c b/src/field/player_pc.c index 83e6dd221..d01829266 100644 --- a/src/field/player_pc.c +++ b/src/field/player_pc.c @@ -32,7 +32,7 @@ extern u8 sub_807D770(void); extern void sub_808B020(void); extern void sub_80F944C(void); -static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL; +static EWRAM_DATA const u8 *gPcItemMenuOptionOrder = NULL; static u8 gPcItemMenuOptionsNum; @@ -211,14 +211,14 @@ void NewGameInitPCItems(void) void BedroomPC(void) { - gPcItemMenuOptionOrder = (u8 *)gBedroomPC_OptionOrder; + gPcItemMenuOptionOrder = gBedroomPC_OptionOrder; gPcItemMenuOptionsNum = 4; DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); } void PlayerPC(void) { - gPcItemMenuOptionOrder = (u8 *)gPlayerPC_OptionOrder; + gPcItemMenuOptionOrder = gPlayerPC_OptionOrder; gPcItemMenuOptionsNum = 3; DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); } @@ -1064,7 +1064,7 @@ static void Mailbox_DrawMailList(u8 taskId) // taskId is unused if(i != mailbox->count) { - StringCopy(gStringVar1, (u8 *)gSaveBlock1.mail[i + 6].playerName); + StringCopy(gStringVar1, gSaveBlock1.mail[i + 6].playerName); SanitizeNameString(gStringVar1); MenuPrint(gStringVar1, 0x15, yCoord + 2); } diff --git a/src/field/trainer_see.c b/src/field/trainer_see.c index 5a8ebbafc..85bd7ad0b 100644 --- a/src/field/trainer_see.c +++ b/src/field/trainer_see.c @@ -257,7 +257,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer { u8 direction; - FieldObjectGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]); + FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); FieldObjectSetSpecialAnim(trainerObj, direction); diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c index e9fb30415..9c2cb4730 100644 --- a/src/pokemon/pokemon_3.c +++ b/src/pokemon/pokemon_3.c @@ -203,7 +203,7 @@ void sub_803F324(int stat) u8 *sub_803F378(u16 itemId) { int i; - u8 *itemEffect; + const u8 *itemEffect; if (itemId == ITEM_ENIGMA_BERRY) { @@ -218,7 +218,7 @@ u8 *sub_803F378(u16 itemId) } else { - itemEffect = (u8 *) gItemEffectTable[itemId - 13]; + itemEffect = gItemEffectTable[itemId - 13]; } gStringBank = gBankInMenu; -- cgit v1.2.3 From eb802f60a26d72e23c5e381bc06de2a7f3bfc7c0 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 4 Nov 2017 22:03:17 -0400 Subject: add semicolons to BAD_MEMSET and BAD_MEMCPY --- src/battle/battle_2.c | 14 +++++++------- src/battle/battle_ai.c | 4 ++-- src/battle/battle_controller_linkopponent.c | 6 +++--- src/battle/battle_controller_linkpartner.c | 6 +++--- src/battle/battle_controller_opponent.c | 8 ++++---- src/battle/battle_controller_player.c | 8 ++++---- src/battle/battle_controller_wally.c | 4 ++-- 7 files changed, 25 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 32ffc57d4..6404efcf1 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1568,7 +1568,7 @@ void sub_8010874(void) { gStatuses3[i] = 0; - BAD_MEMSET(&gDisableStructs[i], 0, 0x1C, j, r4) + BAD_MEMSET(&gDisableStructs[i], 0, 0x1C, j, r4); gDisableStructs[i].isFirstTurn= 2; gUnknown_02024C70[i] = 0; gLastUsedMove[i] = 0; @@ -1584,14 +1584,14 @@ void sub_8010874(void) for (i = 0; i < 2; i++) { gSideAffecting[i] = 0; - BAD_MEMSET(&gSideTimer[i], 0, 12, j, r4) + BAD_MEMSET(&gSideTimer[i], 0, 12, j, r4); } gBankAttacker = 0; gBankTarget = 0; gBattleWeather = 0; - BAD_MEMSET(&gWishFutureKnock, 0, 0x2C, i, r4) + BAD_MEMSET(&gWishFutureKnock, 0, 0x2C, i, r4); gHitMarker = 0; if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE) @@ -1714,7 +1714,7 @@ void SwitchInClearStructs(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr) + BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { @@ -1769,7 +1769,7 @@ void UndoEffectsAfterFainting(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr) + BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); gProtectStructs[gActiveBank].protected = 0; gProtectStructs[gActiveBank].endured = 0; gProtectStructs[gActiveBank].onlyStruggle = 0; @@ -1862,13 +1862,13 @@ void sub_8011384(void) if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBankSide(gActiveBank) == 0) { - BAD_MEMSET(&gBattleMons[gActiveBank], 0, 0x58, i, ptr) + BAD_MEMSET(&gBattleMons[gActiveBank], 0, 0x58, i, ptr); } else { u8 r0; - BAD_MEMSET(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr) + BAD_MEMSET(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr); gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 3a5fb3d0d..5cf0a7ca6 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -269,7 +269,7 @@ void BattleAI_HandleItemUseBeforeAISetup(void) s32 i; u8 *data; - BAD_MEMSET(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data) + BAD_MEMSET(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data); if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 0x400 @@ -295,7 +295,7 @@ void BattleAI_SetupAIData(void) u8 *data; // clear AI data and set default move score to 100. strange that they didn't use memset here. - BAD_MEMSET(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data) + BAD_MEMSET(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data); for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 70cd636bd..c51e1a7f2 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -638,7 +638,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -659,7 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -1143,7 +1143,7 @@ void LinkOpponentHandlecmd3(void) u8 i; BAD_MEMSET(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst) + gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); LinkOpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 718afa6bd..5500d5d0c 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -593,7 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -614,7 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -1100,7 +1100,7 @@ void LinkPartnerHandlecmd3(void) u8 i; BAD_MEMSET(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst) + gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); LinkPartnerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index c36f5fd82..e2eed8308 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -601,7 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -622,7 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -865,7 +865,7 @@ void OpponentHandlecmd1(void) u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; u8 *dst; - BAD_MEMSET(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst) + BAD_MEMSET(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); OpponentBufferExecCompleted(); } @@ -1114,7 +1114,7 @@ void OpponentHandlecmd3(void) u8 i; BAD_MEMSET(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], - gBattleBufferA[gActiveBank][2], i, dst) + gBattleBufferA[gActiveBank][2], i, dst); OpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 8f63cd1ee..214f15ed7 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -1773,7 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -1794,7 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -2037,7 +2037,7 @@ void PlayerHandlecmd1(void) u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; u8 *dst; - BAD_MEMSET(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst) + BAD_MEMSET(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); PlayerBufferExecCompleted(); } @@ -2288,7 +2288,7 @@ void PlayerHandlecmd3(void) u8 *dst; BAD_MEMSET(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], - gBattleBufferA[gActiveBank][2], i, dst) + gBattleBufferA[gActiveBank][2], i, dst); PlayerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index eefdc5e50..7f41d5b52 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -569,7 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src) + BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -590,7 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src) + BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: -- cgit v1.2.3 From b4c6e0560a7b1310cc08b93ea04935d4fbb7c3de Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 4 Nov 2017 22:42:28 -0400 Subject: BAD_MEM macros to MEM_ALT --- src/battle/battle_2.c | 16 ++++++++-------- src/battle/battle_4.c | 11 ++++++----- src/battle/battle_ai.c | 4 ++-- src/battle/battle_controller_linkopponent.c | 6 +++--- src/battle/battle_controller_linkpartner.c | 6 +++--- src/battle/battle_controller_opponent.c | 10 +++++----- src/battle/battle_controller_player.c | 10 +++++----- src/battle/battle_controller_wally.c | 4 ++-- 8 files changed, 34 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 6404efcf1..1aec075db 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1390,7 +1390,7 @@ void sub_8010494(struct Sprite *sprite) } else { - // this should use a BAD_MEMSET, but *(dst++) wont match with it. + // this should use a MEMSET_ALT, but *(dst++) wont match with it. dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; @@ -1568,7 +1568,7 @@ void sub_8010874(void) { gStatuses3[i] = 0; - BAD_MEMSET(&gDisableStructs[i], 0, 0x1C, j, r4); + MEMSET_ALT(&gDisableStructs[i], 0, 0x1C, j, r4); gDisableStructs[i].isFirstTurn= 2; gUnknown_02024C70[i] = 0; gLastUsedMove[i] = 0; @@ -1584,14 +1584,14 @@ void sub_8010874(void) for (i = 0; i < 2; i++) { gSideAffecting[i] = 0; - BAD_MEMSET(&gSideTimer[i], 0, 12, j, r4); + MEMSET_ALT(&gSideTimer[i], 0, 12, j, r4); } gBankAttacker = 0; gBankTarget = 0; gBattleWeather = 0; - BAD_MEMSET(&gWishFutureKnock, 0, 0x2C, i, r4); + MEMSET_ALT(&gWishFutureKnock, 0, 0x2C, i, r4); gHitMarker = 0; if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE) @@ -1714,7 +1714,7 @@ void SwitchInClearStructs(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); + MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { @@ -1769,7 +1769,7 @@ void UndoEffectsAfterFainting(void) gActionSelectionCursor[gActiveBank] = 0; gMoveSelectionCursor[gActiveBank] = 0; - BAD_MEMSET(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); + MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); gProtectStructs[gActiveBank].protected = 0; gProtectStructs[gActiveBank].endured = 0; gProtectStructs[gActiveBank].onlyStruggle = 0; @@ -1862,13 +1862,13 @@ void sub_8011384(void) if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBankSide(gActiveBank) == 0) { - BAD_MEMSET(&gBattleMons[gActiveBank], 0, 0x58, i, ptr); + MEMSET_ALT(&gBattleMons[gActiveBank], 0, 0x58, i, ptr); } else { u8 r0; - BAD_MEMSET(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr); + MEMSET_ALT(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr); gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 9a44a1242..65e0458a2 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -7056,6 +7056,7 @@ static void atk2A_jumpifhalfword(void) } } +// Strange that there's an instance of T1_READ_32 in what seems to be a T2 function. see global.h for the distinction. static void atk2B_jumpifword(void) { u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1); @@ -7308,9 +7309,9 @@ static void atk41_call(void) static void atk42_jumpiftype2(void) //u8 bank, u8 type, *ptr { - u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + u8 bank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); - if (T2_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || T2_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2) + if (T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); else gBattlescriptCurrInstr += 7; @@ -11514,7 +11515,7 @@ static void atk65_status2animation(void) if (gBattleExecBuffer == 0) { u32 possible_to_anim; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { @@ -11530,11 +11531,11 @@ static void atk66_chosenstatusanimation(void) if (gBattleExecBuffer == 0) { u32 status; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); status = T1_READ_32(gBattlescriptCurrInstr + 3); if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, T2_READ_8(gBattlescriptCurrInstr + 2), status); + EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status); MarkBufferBankForExecution(gActiveBank); } gBattlescriptCurrInstr += 7; diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 5cf0a7ca6..9c6d2bec4 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -269,7 +269,7 @@ void BattleAI_HandleItemUseBeforeAISetup(void) s32 i; u8 *data; - BAD_MEMSET(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data); + MEMSET_ALT(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data); if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 0x400 @@ -295,7 +295,7 @@ void BattleAI_SetupAIData(void) u8 *data; // clear AI data and set default move score to 100. strange that they didn't use memset here. - BAD_MEMSET(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data); + MEMSET_ALT(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data); for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index c51e1a7f2..ff4df81e4 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -638,7 +638,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -659,7 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -1142,7 +1142,7 @@ void LinkOpponentHandlecmd3(void) u8 *dst; u8 i; - BAD_MEMSET(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], + MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); LinkOpponentBufferExecCompleted(); diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 5500d5d0c..a874190aa 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -593,7 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -614,7 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -1099,7 +1099,7 @@ void LinkPartnerHandlecmd3(void) u8 *dst; u8 i; - BAD_MEMSET(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], + MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); LinkPartnerBufferExecCompleted(); diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index e2eed8308..392e80f08 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -601,7 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer) GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -622,7 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -861,11 +861,11 @@ void OpponentHandlecmd1(void) { struct BattlePokemon buffer; u8 i; - // TODO: Maybe fix this. Integrating this into BAD_MEMSET is too hard. + // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; u8 *dst; - BAD_MEMSET(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); OpponentBufferExecCompleted(); } @@ -1113,7 +1113,7 @@ void OpponentHandlecmd3(void) u8 *dst; u8 i; - BAD_MEMSET(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], + MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); OpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 214f15ed7..136c31841 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -1773,7 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -1794,7 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: @@ -2033,11 +2033,11 @@ void PlayerHandlecmd1(void) { struct BattlePokemon battleMon; u8 i; - // TODO: Maybe fix this. Integrating this into BAD_MEMSET is too hard. + // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; u8 *dst; - BAD_MEMSET(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); PlayerBufferExecCompleted(); } @@ -2287,7 +2287,7 @@ void PlayerHandlecmd3(void) u8 i; u8 *dst; - BAD_MEMSET(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], + MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); PlayerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 7f41d5b52..9d70ca557 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -569,7 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname); StringCopy10(battlePokemon.nickname, nickname); GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName); - BAD_MEMCPY(&battlePokemon, buffer, sizeof(battlePokemon), size, src); + MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src); break; case 1: data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -590,7 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size); } moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES); - BAD_MEMCPY(&moveData, buffer, sizeof(moveData), size, src); + MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src); break; case 4: case 5: -- cgit v1.2.3 From 4cf701c5871a17f0bc580019e8d294bc1c84ebf3 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sun, 5 Nov 2017 01:34:52 -0400 Subject: move ewram defines to ewram.h. --- src/battle/battle_2.c | 43 +------ src/battle/battle_3.c | 9 +- src/battle/battle_4.c | 15 +-- src/battle/battle_7.c | 3 +- src/battle/battle_anim.c | 1 - src/battle/battle_interface.c | 7 +- src/battle/battle_party_menu.c | 4 +- src/battle/battle_transition.c | 3 +- src/battle/reshow_battle_screen.c | 4 +- src/debug/matsuda_debug_menu.c | 2 +- src/engine/link.c | 3 +- src/engine/naming_screen.c | 5 +- src/engine/record_mixing.c | 5 +- src/engine/trade.c | 3 - src/engine/trainer_card.c | 230 +++++++++++++++++------------------ src/field/battle_tower.c | 4 +- src/field/dewford_trend.c | 2 +- src/field/field_region_map.c | 4 +- src/field/field_tasks.c | 4 - src/field/fldeff_softboiled.c | 7 +- src/field/item_menu.c | 8 +- src/field/party_menu.c | 6 +- src/field/pokeblock.c | 4 +- src/field/region_map.c | 51 ++++---- src/field/shop.c | 7 +- src/field/tv.c | 4 +- src/pokemon/mail.c | 112 +++++++++-------- src/pokemon/pokeblock_feed.c | 15 +-- src/pokemon/pokemon_storage_system.c | 8 +- src/rom3.c | 50 ++++---- src/scene/credits.c | 9 +- src/scene/evolution_scene.c | 3 +- src/script_pokemon_util_80F99CC.c | 2 +- 33 files changed, 255 insertions(+), 382 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 1aec075db..5a37a6169 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -29,6 +29,7 @@ #include "items.h" #include "hold_effects.h" #include "battle_move_effects.h" +#include "ewram.h" struct UnknownStruct6 { @@ -62,48 +63,6 @@ struct UnknownStruct12 extern const u16 gUnknown_08D004E0[]; extern const struct MonCoords gCastformFrontSpriteCoords[]; -extern u8 ewram[]; -#define ewram0 (*(struct UnknownStruct7 *)(ewram + 0x0)) -#define ewram4 (*(struct UnknownStruct8 *)(ewram + 0x4)) -#define ewram16000 (ewram[0x16000]) -#define ewram16001 (ewram[0x16001]) -#define ewram16002 (ewram[0x16002]) -#define ewram16003 (ewram[0x16003]) -#define ewram1600C (ewram[0x1600C]) -#define ewram1600E (ewram[0x1600E]) -#define ewram1601B (ewram[0x1601B]) -#define ewram16020 ((u8 *)(ewram + 0x16020)) -#define ewram16056 (ewram[0x16056]) -#define ewram16058 (ewram[0x16058]) -#define ewram16059 (ewram[0x16059]) -#define ewram16078 (ewram[0x16078]) -#define ewram16084 (ewram[0x16084]) -#define ewram16086 (ewram[0x16086]) -#define ewram16087 (ewram[0x16087]) -#define ewram16088 (ewram[0x16088]) -#define ewram16089 (ewram[0x16089]) -#define ewram160A1 (ewram[0x160A1]) -#define ewram160A6 (ewram[0x160A6]) -#define ewram160AC ((u8 *)(ewram + 0x160AC)) -#define ewram160BC ((u16 *)(ewram + 0x160BC)) // hp -#define ewram160C8 (ewram[0x160C8]) -#define ewram160C9 (ewram[0x160C9]) -#define ewram160CB (ewram[0x160CB]) -#define ewram160CC ((u8 *)(ewram + 0x160CC)) -#define ewram160E6 (ewram[0x160E6]) -#define ewram160E8 ((u8 *)(ewram + 0x160E8)) -#define ewram160F0 ((u8 *)(ewram + 0x160F0)) -#define ewram160F9 (ewram[0x160F9]) -#define ewram16100 ((u8 *)(ewram + 0x16100)) -#define ewram16108 ((u8 *)(ewram + 0x16108)) -#define ewram16110 (ewram[0x16110]) -#define ewram16111 (ewram[0x16111]) -#define ewram16113 (ewram[0x16113]) -#define ewram17100 ((u32 *)(ewram + 0x17100)) -#define ewram17130 (ewram[0x17130]) -#define ewram17160 (ewram[0x17160]) -#define ewram1D000 ((struct Pokemon *)(ewram + 0x1D000)) - extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBank; diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c index 346ca6d79..e8819781d 100644 --- a/src/battle/battle_3.c +++ b/src/battle/battle_3.c @@ -13,6 +13,7 @@ #include "battle_move_effects.h" #include "string_util.h" #include "flags.h" +#include "ewram.h" extern u8* gBattlescriptCurrInstr; extern u8 gActiveBank; @@ -198,8 +199,6 @@ extern u8 gUnknown_081D996F[]; //disobedient, uses a random move extern u8 gUnknown_081D9989[]; //disobedient, went to sleep extern u8 gUnknown_081D99A0[]; //disobedient, hits itself -#define CHOICED_MOVE(bank)(((u16*)(&ewram[bank * 2 + 0x160e8]))) - //array entries for battle communication #define MOVE_EFFECT_BYTE 0x3 #define MULTISTRING_CHOOSER 0x5 @@ -1439,8 +1438,6 @@ struct Struct2017100 u32 arr[4]; }; -#define ewram17100 (*(struct Struct2017100 *)(ewram + 0x17100)) - u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { u8 effect = 0; @@ -1726,14 +1723,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS_FREEZE)) { - if (!(ewram17100.arr[bank] & 1)) + if (!(ewram17100_2.arr[bank] & 1)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBankAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - ewram17100.arr[bank] |= 1; + ewram17100_2.arr[bank] |= 1; effect = 2; } else diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 65e0458a2..3fee71a5f 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -259,8 +259,6 @@ extern u8 gUnknown_081D9468[]; #define sBYTE2_32(value)(( (u8) (((s32)(value) & (0x00FF0000)) >> 0x10))) #define sBYTE3_32(value)(( (u8) (((s32)(value) & (0xFF000000)) >> 0x18))) -#define USED_HELD_ITEM(bank)((((u16*)(&unk_2000000[bank * 2 + 0x160cc])))) - #define RecordAbilitySetField6(ability, fieldValue) \ (gLastUsedAbility = ability, gBattleCommunication[6] = fieldValue, RecordAbilityBattle(gBankTarget, ability)) @@ -2640,7 +2638,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) {gBattlescriptCurrInstr++; return;} gLastUsedItem = gBattleMons[gBankTarget].item; - unk_2000000[gBankAttacker * 2 + 0x160cc] = gLastUsedItem; + ewram[gBankAttacker * 2 + 0x160cc] = gLastUsedItem; gBattleMons[gBankTarget].item = 0; gActiveBank = gBankAttacker; @@ -5123,7 +5121,7 @@ static void atk1E_jumpifability(void) gLastUsedAbility = ability; gBattlescriptCurrInstr = jump_loc; RecordAbilityBattle(bank -1, gLastUsedAbility); - unk_2000000[0x160f8] = bank - 1; + ewram[0x160f8] = bank - 1; } else gBattlescriptCurrInstr += 7; @@ -5136,7 +5134,7 @@ static void atk1E_jumpifability(void) gLastUsedAbility = ability; gBattlescriptCurrInstr = jump_loc; RecordAbilityBattle(bank - 1, gLastUsedAbility); - unk_2000000[0x160f8] = bank - 1; + ewram[0x160f8] = bank - 1; } else gBattlescriptCurrInstr += 7; @@ -5149,7 +5147,7 @@ static void atk1E_jumpifability(void) gLastUsedAbility = ability; gBattlescriptCurrInstr = jump_loc; RecordAbilityBattle(bank, gLastUsedAbility); - unk_2000000[0x160f8] = bank; + ewram[0x160f8] = bank; } else gBattlescriptCurrInstr += 7; @@ -7327,7 +7325,7 @@ static void atk43_jumpifabilitypresent(void) static void atk44(void) { - unk_2000000[gBankAttacker + 0x16060] = 1; + ewram[gBankAttacker + 0x16060] = 1; } #ifdef NONMATCHING @@ -9522,7 +9520,7 @@ static void atk4C_copy_poke_data(void) gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattlePartyID[gActiveBank] = unk_2000000[0x16068 + gActiveBank]; + gBattlePartyID[gActiveBank] = ewram[0x16068 + gActiveBank]; EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBank]]); MarkBufferBankForExecution(gActiveBank); @@ -11640,7 +11638,6 @@ static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except there void atk6A_removeitem(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - #define USED_HELD_ITEMS(bank) (*(u16 *)&ewram[0x160CC + 2 * (bank)]) USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item; gBattleMons[gActiveBank].item = 0; diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 1d68386aa..6c0a4489c 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -18,6 +18,7 @@ #include "task.h" #include "text.h" #include "gba/m4a_internal.h" +#include "ewram.h" struct Struct2019348 { @@ -71,8 +72,6 @@ extern const struct CompressedSpriteSheet gUnknown_0820A4B4[]; extern const struct SpritePalette gUnknown_0820A4D4[]; extern const u8 gUnknown_08D09C48[]; -#define ewram19348 (*(struct Struct2019348 *)(ewram + 0x19348)) - extern void c3_0802FDF4(u8); extern void sub_80440EC(); extern void sub_804777C(); diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index eac16ee18..0c04ff9b8 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -16,7 +16,6 @@ // sprites start at 10000 and thus must be subtracted of 10000 to account for the true index. #define GET_TRUE_SPRITE_INDEX(i) (i - 10000) -extern u8 unk_2000000[]; extern u16 gBattlePartyID[4]; extern u8 gObjectBankIDs[]; extern u8 gBankAttacker; diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 10962c025..831839d9b 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -13,6 +13,7 @@ #include "string_util.h" #include "task.h" #include "text.h" +#include "ewram.h" struct UnknownStruct5 { @@ -28,12 +29,6 @@ struct UnknownStruct7 u8 filler0[0x180]; }; -extern u8 ewram[]; -#define ewram520 ((struct UnknownStruct7 *)(ewram + 0x00520)) -#define ewram16088 (*(u8 *) (ewram + 0x16088)) -#define ewram16089 (*(u8 *) (ewram + 0x16089)) -#define ewram17850 ((struct UnknownStruct5 *)(ewram + 0x17850)) - extern u8 gDisplayedStringBattle[]; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index 2f6dc6816..ab8b7a694 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -18,9 +18,7 @@ #include "strings.h" #include "task.h" #include "text.h" - -extern u8 ewram[]; -#define UNK_201606C_ARRAY (ewram + 0x1606C) // lazy define but whatever. +#include "ewram.h" extern u8 sub_806BD58(u8, u8); extern void PartyMenuPrintMonsLevelOrStatus(void); diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c index 53d32d03a..5562da462 100644 --- a/src/battle/battle_transition.c +++ b/src/battle/battle_transition.c @@ -12,11 +12,11 @@ #include "songs.h" #include "trainer.h" #include "field_camera.h" +#include "ewram.h" void sub_807DE10(void); void dp12_8087EA4(void); -extern u8 ewram[]; extern u16 gUnknown_03005560[]; extern u16 gUnknown_03004DE0[][0x3C0]; @@ -45,7 +45,6 @@ struct TransitionData s16 data[11]; }; -#define TRANSITION_STRUCT (*(struct TransitionData *) (ewram + 0xC000)) typedef bool8 (*TransitionState)(struct Task* task); typedef bool8 (*TransitionSpriteCallback)(struct Sprite* sprite); diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index 343c8f183..396c4435e 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -7,6 +7,7 @@ #include "text.h" #include "rom_8077ABC.h" #include "data2.h" +#include "ewram.h" extern struct SpriteTemplate gUnknown_02024E8C; extern struct Window gUnknown_03004210; @@ -55,9 +56,6 @@ static void sub_807B184(u8 bank); static void sub_807B508(u8 bank); static void sub_807B06C(void); -#define gReshowState ewram[0x1FFFF] -#define gHelperState ewram[0x1FFFE] - void nullsub_14(void) { diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index d0c0f95f7..0a495c37a 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -45,7 +45,7 @@ extern u8 gUnknown_083C9282[]; extern const u8 gUnknown_083C928E[][2]; extern u8 gUnknown_083C9296[]; extern u8 gUnknown_083C92A8[]; -extern u8 unk_2000000[]; +extern u8 unk_2000000[]; // TODO: use ewram extern u8 gMatsudaDebugMenu_GoBackText[]; extern u8 gMatsudaDebugMenu_BattlePointsText[]; extern u8 gMatsudaDebugMenu_StartText[]; diff --git a/src/engine/link.c b/src/engine/link.c index 7f7e48083..86413cfbf 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -35,7 +35,6 @@ struct LinkTestBGInfo u32 dummy_C; }; -extern u8 unk_2000000[]; extern u8 unk_2004000[]; extern u16 gBattleTypeFlags; @@ -507,7 +506,7 @@ static void ProcessRecvCmds(u8 unusedParam) case 0x8888: if (sBlockRecv[i].size > BLOCK_BUFFER_SIZE) { - u16 *buffer = (u16 *)unk_2000000; + u16 *buffer = (u16 *)ewram; u16 j; for (j = 0; j < CMD_LENGTH - 1; j++) buffer[(sBlockRecv[i].pos / 2) + j] = gRecvCmds[j + 1][i]; diff --git a/src/engine/naming_screen.c b/src/engine/naming_screen.c index a20a15569..92a61eb8f 100644 --- a/src/engine/naming_screen.c +++ b/src/engine/naming_screen.c @@ -17,6 +17,7 @@ #include "text.h" #include "trig.h" #include "util.h" +#include "ewram.h" #ifdef ENGLISH #define COLUMN_COUNT 9 @@ -26,10 +27,6 @@ extern u16 gKeyRepeatStartDelay; -extern u8 unk_2000000[]; - -#define namingScreenData (*(struct NamingScreenData *)(unk_2000000)) - extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); const u32 gSpriteImage_83CE094[] = INCBIN_U32("graphics/naming_screen/pc_icon/0.4bpp"); diff --git a/src/engine/record_mixing.c b/src/engine/record_mixing.c index 87fc6a81d..27992bf1f 100644 --- a/src/engine/record_mixing.c +++ b/src/engine/record_mixing.c @@ -24,10 +24,7 @@ #include "strings2.h" #include "task.h" #include "tv.h" - -extern u8 ewram[]; -#define unk_2018000 (*(struct PlayerRecords *)(ewram + 0x18000)) -#define unk_2008000 (*(struct PlayerRecords *)(ewram + 0x08000)) +#include "ewram.h" extern struct RecordMixingDayCareMail gUnknown_02038738; extern u16 gSpecialVar_0x8005; diff --git a/src/engine/trade.c b/src/engine/trade.c index 8fad94be8..b11b7e448 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -217,9 +217,6 @@ extern u8 *gUnknown_020296CC[13]; extern struct TradeEwramSubstruct *gUnknown_03004824; extern struct MailStruct gUnknown_02029700[16]; -#define ewram_2010000 (*(struct TradeEwramStruct *)(ewram + 0x10000)) - - const u32 unref_data_820ABD4[] = { 0x00000890, 0x00003AC0, diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index 3e9dadbda..ef960c162 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -20,6 +20,7 @@ #include "task.h" #include "unknown_task.h" #include "util.h" +#include "ewram.h" typedef void (*Callback)(void); @@ -47,9 +48,6 @@ struct Struct2000000 /*0x9C*/ u8 language; // 0x9C }; -extern u8 ewram[]; -#define ewram0 (*(struct Struct2000000 *)(ewram)) - extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; @@ -189,14 +187,14 @@ void sub_8093110(Callback arg1) { sub_80932AC(arg1); SetMainCallback2(sub_8093174); - ewram0.language = GAME_LANGUAGE; + ewram0_2.language = GAME_LANGUAGE; } void sub_8093130(u8 playerIndex, Callback arg2) { sub_80932E4(playerIndex, arg2); SetMainCallback2(sub_8093174); - ewram0.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; + ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; } static void sub_8093174(void) @@ -258,13 +256,13 @@ static void sub_8093254(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - ewram0.var_6++; - if (ewram0.var_6 >= 60) + ewram0_2.var_6++; + if (ewram0_2.var_6 >= 60) { - ewram0.var_6 = 0; - ewram0.var_5 ^= 1; + ewram0_2.var_6 = 0; + ewram0_2.var_5 ^= 1; } - if (ewram0.var_4) + if (ewram0_2.var_4) DmaCopy16(3, gUnknown_03004DE0.filler0, gUnknown_03004DE0.unk780, sizeof(gUnknown_03004DE0.unk780)); } @@ -290,20 +288,20 @@ void sub_8093324(void) { u8 taskId = FindTaskIdByFunc(nullsub_60); struct Task *task = &gTasks[taskId]; - ewram0.var_1 = task->data[TD_0]; + ewram0_2.var_1 = task->data[TD_0]; - LoadWordFromTwoHalfwords((u16 *)&task->data[TD_CALLBACK], (u32 *)&ewram0.var_60); + LoadWordFromTwoHalfwords((u16 *)&task->data[TD_CALLBACK], (u32 *)&ewram0_2.var_60); - if (ewram0.var_1) + if (ewram0_2.var_1) { struct TrainerCard(*trainerCards)[4] = &gTrainerCards; s16 var = task->data[TD_1]; struct TrainerCard *dest = &(*trainerCards)[var]; - memcpy(&ewram0.var_64, dest, sizeof(struct TrainerCard)); + memcpy(&ewram0_2.var_64, dest, sizeof(struct TrainerCard)); } else { - sub_8093390(&ewram0.var_64); + sub_8093390(&ewram0_2.var_64); } } @@ -502,52 +500,52 @@ static void sub_8093688(void) u8 i; sub_8093324(); - ewram0.var_0 = 0; - ewram0.var_3 = 0; - ewram0.var_4 = FALSE; - ewram0.var_2 = ewram0.var_64.stars; - ewram0.var_5 = 0; - ewram0.var_6 = 0; + ewram0_2.var_0 = 0; + ewram0_2.var_3 = 0; + ewram0_2.var_4 = FALSE; + ewram0_2.var_2 = ewram0_2.var_64.stars; + ewram0_2.var_5 = 0; + ewram0_2.var_6 = 0; for (i = 0; i < 4; i++) - EasyChat_GetWordText(ewram0.var_20[i], ewram0.var_64.var_28[i]); + EasyChat_GetWordText(ewram0_2.var_20[i], ewram0_2.var_64.var_28[i]); sub_80936D4(); } void sub_80936D4(void) { - ewram0.var_7 = 0; - ewram0.var_8 = 0; - ewram0.var_9 = 0; - ewram0.var_a = 0; - ewram0.var_b = 0; - ewram0.var_c = 0; - ewram0.var_d = 0; - memset(ewram0.var_e, 0, sizeof(ewram0.var_e)); + ewram0_2.var_7 = 0; + ewram0_2.var_8 = 0; + ewram0_2.var_9 = 0; + ewram0_2.var_a = 0; + ewram0_2.var_b = 0; + ewram0_2.var_c = 0; + ewram0_2.var_d = 0; + memset(ewram0_2.var_e, 0, sizeof(ewram0_2.var_e)); - if (ewram0.var_64.hasPokedex) - ewram0.var_7++; + if (ewram0_2.var_64.hasPokedex) + ewram0_2.var_7++; - if (ewram0.var_64.firstHallOfFameA != 0 - || ewram0.var_64.firstHallOfFameB != 0 - || ewram0.var_64.firstHallOfFameC != 0) - ewram0.var_8++; + if (ewram0_2.var_64.firstHallOfFameA != 0 + || ewram0_2.var_64.firstHallOfFameB != 0 + || ewram0_2.var_64.firstHallOfFameC != 0) + ewram0_2.var_8++; - if (ewram0.var_64.linkBattleWins != 0 || ewram0.var_64.linkBattleLosses != 0) - ewram0.var_9++; + if (ewram0_2.var_64.linkBattleWins != 0 || ewram0_2.var_64.linkBattleLosses != 0) + ewram0_2.var_9++; - if (ewram0.var_64.battleTowerWins != 0 || ewram0.var_64.battleTowerLosses != 0) - ewram0.var_a++; + if (ewram0_2.var_64.battleTowerWins != 0 || ewram0_2.var_64.battleTowerLosses != 0) + ewram0_2.var_a++; - if (ewram0.var_64.contestsWithFriends != 0) - ewram0.var_b++; + if (ewram0_2.var_64.contestsWithFriends != 0) + ewram0_2.var_b++; - if (ewram0.var_64.pokeblocksWithFriends != 0) - ewram0.var_c++; + if (ewram0_2.var_64.pokeblocksWithFriends != 0) + ewram0_2.var_c++; - if (ewram0.var_64.pokemonTrades != 0) - ewram0.var_d++; + if (ewram0_2.var_64.pokemonTrades != 0) + ewram0_2.var_d++; - if (!ewram0.var_1) + if (!ewram0_2.var_1) { u32 badgeFlag; int i = 0; @@ -556,7 +554,7 @@ void sub_80936D4(void) while (1) { if (FlagGet(badgeFlag)) - ewram0.var_e[i]++; + ewram0_2.var_e[i]++; badgeFlag++; i++; if (badgeFlag > BADGE08_GET) @@ -613,24 +611,24 @@ static void sub_809380C() static void sub_809382C(u8 taskId) { - while (gUnknown_083B5EBC[ewram0.var_0](&gTasks[taskId]) != 0) + while (gUnknown_083B5EBC[ewram0_2.var_0](&gTasks[taskId]) != 0) ; } bool8 sub_8093864(struct Task *task) { - ewram0.var_5 = gSaveBlock2.playTimeSeconds & 1; - ewram0.var_6 = gSaveBlock2.playTimeVBlanks; + ewram0_2.var_5 = gSaveBlock2.playTimeSeconds & 1; + ewram0_2.var_6 = gSaveBlock2.playTimeVBlanks; sub_80939A4(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - ewram0.var_0++; + ewram0_2.var_0++; return FALSE; } bool8 sub_80938A8(struct Task *task) { if (!gPaletteFade.active) - ewram0.var_0++; + ewram0_2.var_0++; return FALSE; } @@ -638,19 +636,19 @@ bool8 sub_80938CC(struct Task *task) { if (gMain.newKeys & B_BUTTON) { - ewram0.var_0 = 5; + ewram0_2.var_0 = 5; return TRUE; } else if (gMain.newKeys & A_BUTTON) { - if (ewram0.var_3 != 0) + if (ewram0_2.var_3 != 0) { - ewram0.var_0 = 5; + ewram0_2.var_0 = 5; } else { - ewram0.var_3 ^= 1; - ewram0.var_0 = 3; + ewram0_2.var_3 ^= 1; + ewram0_2.var_0 = 3; } return TRUE; } @@ -661,14 +659,14 @@ bool8 sub_8093918(struct Task *task) { sub_8093A28(); PlaySE(SE_CARD); - ewram0.var_0++; + ewram0_2.var_0++; return FALSE; } bool8 sub_8093938(struct Task *task) { if (sub_8093A48()) - ewram0.var_0 = 2; + ewram0_2.var_0 = 2; return FALSE; } @@ -676,14 +674,14 @@ bool8 sub_8093954(struct Task *task) { sub_80939C0(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - ewram0.var_0++; + ewram0_2.var_0++; return FALSE; } bool8 sub_8093980(struct Task *task) { if (!gPaletteFade.active) - SetMainCallback2((MainCallback)ewram0.var_60); + SetMainCallback2((MainCallback)ewram0_2.var_60); return FALSE; } @@ -706,9 +704,9 @@ static void sub_80939DC(u8 taskId) u8 buffer[32]; struct Task *task = &gTasks[taskId]; - if (ewram0.var_5 != task->data[TD_1]) + if (ewram0_2.var_5 != task->data[TD_1]) { - task->data[TD_1] = ewram0.var_5; + task->data[TD_1] = ewram0_2.var_5; task->data[TD_0] ^= TRUE; } TrainerCard_Front_PrintPlayTime(buffer, task->data[TD_0]); @@ -741,12 +739,12 @@ bool8 sub_8093AA0(struct Task *task) { s32 i; - ewram0.var_4 = FALSE; + ewram0_2.var_4 = FALSE; dp12_8087EA4(); for (i = 0; i < ARRAY_COUNT(gUnknown_03004DE0.unk780); i++) gUnknown_03004DE0.unk780[i] = -4; SetHBlankCallback(sub_8093D7C); - ewram0.var_4 = TRUE; + ewram0_2.var_4 = TRUE; task->data[0]++; return FALSE; } @@ -763,7 +761,7 @@ bool8 sub_8093AF0(struct Task *task) u32 sp0; s16 i; - ewram0.var_4 = 0; + ewram0_2.var_4 = 0; task->data[1] += 3; if (task->data[1] > 79) task->data[1] = 79; @@ -792,7 +790,7 @@ bool8 sub_8093AF0(struct Task *task) } for (; i < 160; i++) gUnknown_03004DE0.filler0[i] = -4 + (u16)(r10 >> 16); - ewram0.var_4 = 1; + ewram0_2.var_4 = 1; if (task->data[1] > 0x4A) task->data[0]++; return FALSE; @@ -955,7 +953,7 @@ bool8 sub_8093C0C(struct Task *task) { sub_80939C0(); sub_8093DAC(); - if (!ewram0.var_3) + if (!ewram0_2.var_3) sub_80939A4(); task->data[0]++; return TRUE; @@ -1115,7 +1113,7 @@ bool8 sub_8093D50(struct Task *task) { u8 taskId; - ewram0.var_4 = FALSE; + ewram0_2.var_4 = FALSE; SetHBlankCallback(NULL); sub_8093E04(); taskId = FindTaskIdByFunc(sub_8093A68); @@ -1134,7 +1132,7 @@ void sub_8093D7C(void) static void sub_8093DAC(void) { - if (ewram0.var_3) + if (ewram0_2.var_3) sub_8093DEC(); else sub_8093DC8(); @@ -1203,23 +1201,23 @@ extern const u16 *const gUnknown_083B5EF8[]; void sub_8093EA0(void) { - LoadPalette(gUnknown_083B5EF8[ewram0.var_2], 0, 48 * 2); + LoadPalette(gUnknown_083B5EF8[ewram0_2.var_2], 0, 48 * 2); LoadPalette(gBadgesPalette, 48, 16 * 2); LoadPalette(gUnknown_083B5F4C, 64, 16 * 2); - if (ewram0.var_64.gender != MALE) + if (ewram0_2.var_64.gender != MALE) LoadPalette(gUnknown_083B5F0C, 16, 16 * 2); } static void sub_8093EF8(void) { - LoadTrainerGfx_TrainerCard(ewram0.var_64.gender, 80, (void *)(VRAM + 0x1880)); + LoadTrainerGfx_TrainerCard(ewram0_2.var_64.gender, 80, (void *)(VRAM + 0x1880)); } static void sub_8093F14(void) { const void *arr[] = {gUnknown_08E8CAC0, gUnknown_08E8D4C0}; - CpuFastSet(arr[ewram0.var_1], (void *)(VRAM + 0x4800), 0x140); + CpuFastSet(arr[ewram0_2.var_1], (void *)(VRAM + 0x4800), 0x140); } // I don't really know where to put the data. It's in such a weird order. @@ -1269,7 +1267,7 @@ static void sub_8093FD0(void) { u16 *ptr = (u16 *)(VRAM + 0x4000); s16 i = 15; - s16 var = 15 + ewram0.var_2; + s16 var = 15 + ewram0_2.var_2; while (i < var) { @@ -1285,7 +1283,7 @@ static void sub_8093FD0(void) static void sub_8094038(void) { - if (ewram0.var_1 == 0) + if (ewram0_2.var_1 == 0) { u16 *ptr = (u16 *)(VRAM + 0x4000); s16 i; @@ -1293,7 +1291,7 @@ static void sub_8094038(void) for (i = 0, r2 = 4; i < 8; i++, r2 += 3) { - if (ewram0.var_e[i] != 0) + if (ewram0_2.var_e[i] != 0) { ptr[15 * 32 + r2 + 0] = gUnknown_083B5F8C[i][0] | 0x3000; ptr[15 * 32 + r2 + 1] = gUnknown_083B5F8C[i][1] | 0x3000; @@ -1332,8 +1330,8 @@ static void sub_8094140(void) BasicInitMenuWindow(&WindowConfig_TrainerCard_Back_Values); buffer = gStringVar1; - StringCopy(buffer, ewram0.var_64.playerName); - ConvertInternationalString(buffer, ewram0.language); + StringCopy(buffer, ewram0_2.var_64.playerName); + ConvertInternationalString(buffer, ewram0_2.language); MenuPrint(buffer, 7, 5); TrainerCard_Front_PrintTrainerID(); @@ -1366,26 +1364,26 @@ static void TrainerCard_Front_PrintTrainerID(void) { u8 buffer[8]; - ConvertIntToDecimalStringN(buffer, ewram0.var_64.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); + ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5); MenuPrint(buffer, 20, 2); } static void TrainerCard_Front_PrintMoney(void) { - sub_80B7AEC(ewram0.var_64.money, 16, 8); + sub_80B7AEC(ewram0_2.var_64.money, 16, 8); } static void TrainerCard_Front_PrintPokedexCount(void) { u8 buffer[16]; - if (ewram0.var_7 == FALSE) + if (ewram0_2.var_7 == FALSE) { sub_8094110(); } else { - ConvertIntToDecimalStringN(buffer, ewram0.var_64.pokedexSeen, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.pokedexSeen, STR_CONV_MODE_LEFT_ALIGN, 3); MenuPrint_RightAligned(buffer, 16, 10); } } @@ -1398,10 +1396,10 @@ static void TrainerCard_Front_PrintPlayTime(u8 *arg1, s16 colon) playTimeHours = gSaveBlock2.playTimeHours; playTimeMinutes = gSaveBlock2.playTimeMinutes; - if (ewram0.var_1 != 0) + if (ewram0_2.var_1 != 0) { - playTimeHours = ewram0.var_64.playTimeHours; - playTimeMinutes = ewram0.var_64.playTimeMinutes; + playTimeHours = ewram0_2.var_64.playTimeHours; + playTimeMinutes = ewram0_2.var_64.playTimeMinutes; } FormatPlayTime(buffer, playTimeHours, playTimeMinutes, colon); sub_8072C74(arg1, buffer, 48, 1); @@ -1411,20 +1409,20 @@ static void sub_809429C(void) { u8 *str; - if (ewram0.var_1 != 0) + if (ewram0_2.var_1 != 0) { str = gStringVar1; - str = StringCopy(str, ewram0.var_20[0]); + str = StringCopy(str, ewram0_2.var_20[0]); str[0] = 00; str++; - str = StringCopy(str, ewram0.var_20[1]); + str = StringCopy(str, ewram0_2.var_20[1]); MenuPrint(gStringVar1, 2, 14); str = gStringVar1; - str = StringCopy(str, ewram0.var_20[2]); + str = StringCopy(str, ewram0_2.var_20[2]); str[0] = 00; str++; - str = StringCopy(str, ewram0.var_20[3]); + str = StringCopy(str, ewram0_2.var_20[3]); MenuPrint(gStringVar1, 2, 16); } } @@ -1434,8 +1432,8 @@ static void TrainerCard_Back_PrintName(void) u8 *str; str = gStringVar1; - StringCopy(str, ewram0.var_64.playerName); - ConvertInternationalString(str, ewram0.language); + StringCopy(str, ewram0_2.var_64.playerName); + ConvertInternationalString(str, ewram0_2.language); #if ENGLISH StringAppend(str, gOtherText_TrainersTrainerCard); @@ -1448,7 +1446,7 @@ static void TrainerCard_Back_PrintName(void) static void TrainerCard_Back_PrintHallOfFameTime_Label(void) { - if (ewram0.var_8 != 0) + if (ewram0_2.var_8 != 0) MenuPrint(gOtherText_FirstHOF, 3, 5); } @@ -1456,21 +1454,21 @@ static void TrainerCard_Back_PrintHallOfFameTime(void) { u8 *str; - if (ewram0.var_8 != 0) + if (ewram0_2.var_8 != 0) { str = gStringVar1; - str = ConvertIntToDecimalStringN(str, ewram0.var_64.firstHallOfFameA, STR_CONV_MODE_RIGHT_ALIGN, 3); + str = ConvertIntToDecimalStringN(str, ewram0_2.var_64.firstHallOfFameA, STR_CONV_MODE_RIGHT_ALIGN, 3); str = StringCopy(str, gUnknown_083B5EF4); - str = ConvertIntToDecimalStringN(str, ewram0.var_64.firstHallOfFameB, STR_CONV_MODE_LEADING_ZEROS, 2); + str = ConvertIntToDecimalStringN(str, ewram0_2.var_64.firstHallOfFameB, STR_CONV_MODE_LEADING_ZEROS, 2); str = StringCopy(str, gUnknown_083B5EF4); - str = ConvertIntToDecimalStringN(str, ewram0.var_64.firstHallOfFameC, STR_CONV_MODE_LEADING_ZEROS, 2); + str = ConvertIntToDecimalStringN(str, ewram0_2.var_64.firstHallOfFameC, STR_CONV_MODE_LEADING_ZEROS, 2); MenuPrint_RightAligned(gStringVar1, 28, 5); } } static void TrainerCard_Back_PrintLinkBattlesLabel(void) { - if (ewram0.var_9 != 0) + if (ewram0_2.var_9 != 0) MenuPrint(gOtherText_LinkCableBattles, 3, 7); } @@ -1478,19 +1476,19 @@ static void TrainerCard_Back_PrintLinkBattles(void) { u8 buffer[16]; - if (ewram0.var_9 != 0) + if (ewram0_2.var_9 != 0) { - ConvertIntToDecimalString(buffer, ewram0.var_64.linkBattleWins); + ConvertIntToDecimalString(buffer, ewram0_2.var_64.linkBattleWins); MenuPrint_RightAligned(buffer, 22, 7); - ConvertIntToDecimalString(buffer, ewram0.var_64.linkBattleLosses); + ConvertIntToDecimalString(buffer, ewram0_2.var_64.linkBattleLosses); MenuPrint_RightAligned(buffer, 28, 7); } } static void TrainerCard_Back_PrintBattleTower_Label(void) { - if (ewram0.var_a != 0) + if (ewram0_2.var_a != 0) MenuPrint(gOtherText_BattleTowerWinRecord, 3, 15); } @@ -1498,19 +1496,19 @@ static void TrainerCard_Back_PrintBattleTower(void) { u8 buffer[16]; - if (ewram0.var_a != 0) + if (ewram0_2.var_a != 0) { - sub_8072C44(buffer, ewram0.var_64.battleTowerWins, 24, 1); + sub_8072C44(buffer, ewram0_2.var_64.battleTowerWins, 24, 1); MenuPrint_PixelCoords(buffer, 112, 120, 0); - sub_8072C44(buffer, ewram0.var_64.battleTowerLosses, 24, 1); + sub_8072C44(buffer, ewram0_2.var_64.battleTowerLosses, 24, 1); MenuPrint_PixelCoords(buffer, 149, 120, 0); } } static void TrainerCard_Back_PrintLinkContests_Label(void) { - if (ewram0.var_b != 0) + if (ewram0_2.var_b != 0) MenuPrint(gOtherText_ContestRecord, 3, 13); } @@ -1518,16 +1516,16 @@ static void TrainerCard_Back_PrintLinkContests(void) { u8 buffer[8]; - if (ewram0.var_b != 0) + if (ewram0_2.var_b != 0) { - ConvertIntToDecimalStringN(buffer, ewram0.var_64.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.contestsWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 3); MenuPrint_RightAligned(buffer, 28, 13); } } static void TrainerCard_Back_PrintLinkPokeblocks_Label(void) { - if (ewram0.var_c != 0) + if (ewram0_2.var_c != 0) MenuPrint(gOtherText_MixingRecord, 3, 11); } @@ -1535,16 +1533,16 @@ static void TrainerCard_Back_PrintLinkPokeblocks(void) { u8 buffer[8]; - if (ewram0.var_c != 0) + if (ewram0_2.var_c != 0) { - ConvertIntToDecimalStringN(buffer, ewram0.var_64.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.pokeblocksWithFriends, STR_CONV_MODE_RIGHT_ALIGN, 5); MenuPrint_RightAligned(buffer, 28, 11); } } static void TrainerCard_Back_PrintPokemonTrades_Label(void) { - if (ewram0.var_d != 0) + if (ewram0_2.var_d != 0) MenuPrint(gOtherText_TradeRecord, 3, 9); } @@ -1552,9 +1550,9 @@ static void TrainerCard_Back_PrintPokemonTrades(void) { u8 buffer[8]; - if (ewram0.var_d != 0) + if (ewram0_2.var_d != 0) { - ConvertIntToDecimalStringN(buffer, ewram0.var_64.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(buffer, ewram0_2.var_64.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5); MenuPrint_RightAligned(buffer, 28, 9); } } diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c index 1b5759f49..3e60d3a9a 100644 --- a/src/field/battle_tower.c +++ b/src/field/battle_tower.c @@ -24,6 +24,7 @@ #include "trainer.h" #include "tv.h" #include "vars.h" +#include "ewram.h" #if ENGLISH #include "../data/battle_tower/trainers.h" @@ -278,9 +279,6 @@ extern u8 gBattleOutcome; extern struct Pokemon gUnknown_030042FC[]; extern struct BattlePokemon gBattleMons[]; -#define ewram160FB (ewram[0x160FB]) - - void sub_8134548(void) { u8 var1 = 0; diff --git a/src/field/dewford_trend.c b/src/field/dewford_trend.c index aaf4dd66a..f47dbba08 100644 --- a/src/field/dewford_trend.c +++ b/src/field/dewford_trend.c @@ -6,7 +6,7 @@ #include "rng.h" #include "text.h" -extern u8 unk_2000000[]; +extern u8 ewram[]; extern u16 gScriptResult; extern u16 gSpecialVar_0x8004; diff --git a/src/field/field_region_map.c b/src/field/field_region_map.c index 7cb22e5df..e189fcf2c 100644 --- a/src/field/field_region_map.c +++ b/src/field/field_region_map.c @@ -7,6 +7,7 @@ #include "sprite.h" #include "strings2.h" #include "text.h" +#include "ewram.h" struct RegionMapStruct { @@ -24,9 +25,6 @@ struct UnkStruct u16 unk888; }; -extern u8 ewram[]; -#define unk_2000000 (*(struct UnkStruct *)(ewram)) - void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); diff --git a/src/field/field_tasks.c b/src/field/field_tasks.c index da6f162c2..767753da2 100644 --- a/src/field/field_tasks.c +++ b/src/field/field_tasks.c @@ -1,7 +1,3 @@ -// - -// - #include "global.h" #include "task.h" #include "main.h" diff --git a/src/field/fldeff_softboiled.c b/src/field/fldeff_softboiled.c index 22f9c13f5..b2c3d9bd1 100644 --- a/src/field/fldeff_softboiled.c +++ b/src/field/fldeff_softboiled.c @@ -9,6 +9,7 @@ #include "sprite.h" #include "strings.h" #include "task.h" +#include "ewram.h" struct Struct2001000 { u8 unk0; @@ -38,15 +39,9 @@ struct Struct201C000 { #define WINDOW_RIGHT 29 #endif -#define EWRAM_1000 (*(struct Struct2001000 *)(unk_2000000 + 0x1000)) -#define EWRAM_1B000_2 (*(struct Struct201B000 *)(unk_2000000 + 0x1B000)) -#define EWRAM_1C000 (*(struct Struct201C000 *)(unk_2000000 + 0x1C000)) - // extern extern u8 gUnknown_0202E8F6; extern u8 gLastFieldPokeMenuOpened; - -extern u8 unk_2000000[]; extern u8 gUnknown_0202E8F4; // Static diff --git a/src/field/item_menu.c b/src/field/item_menu.c index c508bcacf..09542cc6d 100644 --- a/src/field/item_menu.c +++ b/src/field/item_menu.c @@ -34,9 +34,9 @@ #include "task.h" #include "text.h" #include "unknown_task.h" +#include "ewram.h" // External stuff -extern u8 ewram[]; extern void gpu_pal_allocator_reset__manage_upper_four(void); extern void sub_80F9020(void); extern void sub_80F9988(); @@ -158,12 +158,6 @@ extern struct PocketScrollState gBagPocketScrollStates[]; extern struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots extern const u8 Event_NoRegisteredItem[]; -#define ewramBerryPic (ewram + 0) -#define ewramBerryPicTemp (ewram + 0x1000) -#define ewramSavedItemsPocket ((struct ItemSlot *)(ewram + 0x1E000)) // saved items pocket (for Wally battle) -#define ewramSavedPokeballsPocket ((struct ItemSlot *)(ewram + 0x1F000)) // saved Pokeballs pocket (for Wally battle) -#define ewramBagSetupStep (ewram[0x1FFFF]) - extern const struct CompressedSpriteSheet sMaleBagSpriteSheet; extern const struct CompressedSpriteSheet sFemaleBagSpriteSheet; extern const struct CompressedSpritePalette sBagSpritePalette; diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 7a519d737..25fd63463 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -25,7 +25,6 @@ #include "pokemon_summary_screen.h" #include "rom_8077ABC.h" #include "rom_8094928.h" -#include "script_pokemon_80F9.h" #include "songs.h" #include "sound.h" #include "species.h" @@ -35,6 +34,8 @@ #include "task.h" #include "unknown_task.h" #include "util.h" +#include "script_pokemon_80F9.h" +#include "ewram.h" struct Coords8 { @@ -483,9 +484,6 @@ struct Unk201FE00 u8 unkE02; }; -#define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000)) -#define ewram1FE00 (*(struct Unk201FE00 *)(ewram + 0x1FE00)) - extern u16 gBattleTypeFlags; extern u8 gTileBuffer[]; extern u8 gUnknown_0202E8F4; diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index 2ee1a23ae..e5084da18 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -27,6 +27,7 @@ #include "safari_zone.h" #include "event_data.h" #include "pokeblock.h" +#include "ewram.h" struct UnkPokeblockStruct { @@ -36,9 +37,6 @@ struct UnkPokeblockStruct u8 unk3; }; -extern u8 ewram[]; - - static EWRAM_DATA u8 gUnknown_02039244 = 0; static EWRAM_DATA struct UnkPokeblockStruct gUnknown_02039248 = {0}; static EWRAM_DATA u8 gUnknown_0203924C = 0; diff --git a/src/field/region_map.c b/src/field/region_map.c index bfd2729c2..b5a3de563 100644 --- a/src/field/region_map.c +++ b/src/field/region_map.c @@ -17,6 +17,7 @@ #include "string_util.h" #include "text.h" #include "trig.h" +#include "ewram.h" // Map Section IDs #define MAPSEC_LITTLEROOT_TOWN 0 @@ -1350,12 +1351,6 @@ struct UnknownStruct3 struct RegionMap regionMap; }; -extern u8 ewram[]; -#define ewram0 (*(struct UnknownStruct3 *)(ewram + 0)) -#define ewram888 (ewram + 0x888) -#define ewramA6E (ewram[0xA6E]) -#define ewramBlankMapName (ewram + 0xA48) - static const u16 sFlyRegionMapFrame_Pal[] = INCBIN_U16("graphics/pokenav/map_frame.gbapal"); static const u8 sFlyRegionMapFrame_ImageLZ[] = INCBIN_U8("graphics/pokenav/map_frame.4bpp.lz"); static const u8 sFlyRegionMapFrame_TilemapLZ[] = INCBIN_U8("graphics/pokenav/map_frame.bin.lz"); @@ -1552,10 +1547,10 @@ void CB2_InitFlyRegionMap(void) MenuZeroFillScreen(); break; case 3: - InitRegionMap(&ewram0.regionMap, 0); + InitRegionMap(&ewram0_3.regionMap, 0); CreateRegionMapCursor(0, 0); CreateRegionMapPlayerIcon(1, 1); - ewram0.unk6 = ewram0.regionMap.mapSecId; + ewram0_3.unk6 = ewram0_3.regionMap.mapSecId; StringFill(ewramBlankMapName, CHAR_SPACE, 12); PrintFlyTargetName(); break; @@ -1598,20 +1593,20 @@ static void VBlankCB_FlyRegionMap(void) static void CB2_FlyRegionMap(void) { - ewram0.unk0(); + ewram0_3.unk0(); AnimateSprites(); BuildOamBuffer(); } static void sub_80FC244(void (*func)(void)) { - ewram0.unk0 = func; - ewram0.unk4 = 0; + ewram0_3.unk0 = func; + ewram0_3.unk4 = 0; } static void PrintFlyTargetName(void) { - if (ewram0.regionMap.unk16 == 2 || ewram0.regionMap.unk16 == 4) + if (ewram0_3.regionMap.unk16 == 2 || ewram0_3.regionMap.unk16 == 4) { u16 i = 0; int zero; @@ -1620,13 +1615,13 @@ static void PrintFlyTargetName(void) { const struct UnknownStruct4 *r4 = &sUnknown_083E79C0[i]; - if (ewram0.regionMap.mapSecId == r4->mapSecId) + if (ewram0_3.regionMap.mapSecId == r4->mapSecId) { if (FlagGet(r4->flag)) { MenuDrawTextWindow(16, 14, 29, 19); - MenuPrint(ewram0.regionMap.mapSecName, 17, 15); - MenuPrint_RightAligned(r4->unk0[ewram0.regionMap.everGrandeCityArea], 29, 17); + MenuPrint(ewram0_3.regionMap.mapSecName, 17, 15); + MenuPrint_RightAligned(r4->unk0[ewram0_3.regionMap.everGrandeCityArea], 29, 17); return; } break; @@ -1637,7 +1632,7 @@ static void PrintFlyTargetName(void) if (zero == 0) { MenuDrawTextWindow(16, 16, 29, 19); - MenuPrint(ewram0.regionMap.mapSecName, 17, 17); + MenuPrint(ewram0_3.regionMap.mapSecName, 17, 17); MenuZeroFillWindowRect(16, 14, 29, 15); } } @@ -1738,7 +1733,7 @@ static void CreateSpecialAreaFlyTargetIcons(void) static void SpriteCB_FlyTargetIcons(struct Sprite *sprite) { // Blink if our mapSecId is the one selected on the map - if (ewram0.regionMap.mapSecId == sprite->data0) + if (ewram0_3.regionMap.mapSecId == sprite->data0) { // Toggle visibility every 16 frames sprite->data1++; @@ -1757,11 +1752,11 @@ static void SpriteCB_FlyTargetIcons(struct Sprite *sprite) static void sub_80FC5B4(void) { - switch (ewram0.unk4) + switch (ewram0_3.unk4) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - ewram0.unk4++; + ewram0_3.unk4++; break; case 1: if (UpdatePaletteFade() != 0) @@ -1773,7 +1768,7 @@ static void sub_80FC5B4(void) static void sub_80FC600(void) { - if (ewram0.unk4 == 0) + if (ewram0_3.unk4 == 0) { switch (sub_80FAB60()) { @@ -1785,7 +1780,7 @@ static void sub_80FC600(void) PrintFlyTargetName(); break; case INPUT_EVENT_A_BUTTON: - if (ewram0.regionMap.unk16 == 2 || ewram0.regionMap.unk16 == 4) + if (ewram0_3.regionMap.unk16 == 2 || ewram0_3.regionMap.unk16 == 4) { m4aSongNumStart(SE_SELECT); ewramA6E = 1; @@ -1803,11 +1798,11 @@ static void sub_80FC600(void) static void sub_80FC69C(void) { - switch (ewram0.unk4) + switch (ewram0_3.unk4) { case 0: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - ewram0.unk4++; + ewram0_3.unk4++; break; case 1: if (UpdatePaletteFade() != 0) @@ -1815,7 +1810,7 @@ static void sub_80FC69C(void) FreeRegionMapIconResources(); if (ewramA6E != 0) { - switch (ewram0.regionMap.mapSecId) + switch (ewram0_3.regionMap.mapSecId) { case MAPSEC_SOUTHERN_ISLAND: sub_8053538(22); @@ -1827,13 +1822,13 @@ static void sub_80FC69C(void) sub_8053538((gSaveBlock2.playerGender == MALE) ? 12 : 13); break; case MAPSEC_EVER_GRANDE_CITY: - sub_8053538((FlagGet(0x854) && ewram0.regionMap.everGrandeCityArea == 0) ? 20 : 11); + sub_8053538((FlagGet(0x854) && ewram0_3.regionMap.everGrandeCityArea == 0) ? 20 : 11); break; default: - if (sUnknown_083E7920[ewram0.regionMap.mapSecId][2] != 0) - sub_8053538(sUnknown_083E7920[ewram0.regionMap.mapSecId][2]); + if (sUnknown_083E7920[ewram0_3.regionMap.mapSecId][2] != 0) + sub_8053538(sUnknown_083E7920[ewram0_3.regionMap.mapSecId][2]); else - warp1_set_2(sUnknown_083E7920[ewram0.regionMap.mapSecId][0], sUnknown_083E7920[ewram0.regionMap.mapSecId][1], -1); + warp1_set_2(sUnknown_083E7920[ewram0_3.regionMap.mapSecId][0], sUnknown_083E7920[ewram0_3.regionMap.mapSecId][1], -1); break; } sub_80865BC(); diff --git a/src/field/shop.c b/src/field/shop.c index 375205935..67e9b006e 100644 --- a/src/field/shop.c +++ b/src/field/shop.c @@ -26,13 +26,10 @@ #include "overworld.h" #include "decoration_inventory.h" #include "field_camera.h" - -#define ewram18000 ((u16 *)(ewram + 0x18000)) -#define ewram18300 ((u16 *)(ewram + 0x18300)) +#include "ewram.h" extern bool8 sub_80A52C4(u8, u8); -extern u8 ewram[]; extern u8 gBuyMenuFrame_Gfx[]; extern u16 gBuyMenuFrame_Tilemap[]; extern u16 gMenuMoneyPal[16]; @@ -54,7 +51,7 @@ static struct MartInfo gMartInfo; // ewram EWRAM_DATA u32 gMartTotalCost = 0; -EWRAM_DATA s16 gUnknown_020386A4[16][4] = {0}; // game freak barely uses 2d arrays wtf? +EWRAM_DATA s16 gUnknown_020386A4[16][4] = {0}; EWRAM_DATA struct ItemSlot gUnknown_02038724[3] = {0}; // tv.c uses this, so it cant be static EWRAM_DATA u8 gUnknown_02038730 = 0; EWRAM_DATA u8 gUnknown_02038731 = 0; diff --git a/src/field/tv.c b/src/field/tv.c index 87fc03065..a0287e7df 100644 --- a/src/field/tv.c +++ b/src/field/tv.c @@ -38,6 +38,7 @@ #include "string_util.h" #include "strings.h" #include "text.h" +#include "ewram.h" struct UnkTvStruct { @@ -95,9 +96,6 @@ extern u8 gBattleOutcome; extern u16 gLastUsedItem; -extern u8 ewram[]; -#define gUnknown_02007000 (*(ewramStruct_02007000 *)(ewram + 0x7000)) - static EWRAM_DATA u16 gUnknown_020387E0 = 0; static EWRAM_DATA u16 gUnknown_020387E2 = 0; static EWRAM_DATA u8 gUnknown_020387E4 = 0; diff --git a/src/pokemon/mail.c b/src/pokemon/mail.c index c5dd119e3..13129bf7f 100644 --- a/src/pokemon/mail.c +++ b/src/pokemon/mail.c @@ -15,6 +15,7 @@ #include "task.h" #include "text.h" #include "unknown_task.h" +#include "ewram.h" struct UnkMailStruct { @@ -66,9 +67,6 @@ struct MailGraphics u16 color12; }; -extern u8 ewram[]; -#define ewram0 (*(struct Unk2000000 *)(ewram)) - extern struct MailGraphics gMailGraphicsTable[]; extern u16 gUnknown_083E562C[][2]; @@ -90,61 +88,61 @@ void HandleReadMail(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) u16 mailDesign; u16 buffer[2]; - ewram0.varFF = GAME_LANGUAGE; - ewram0.var100 = 1; - ewram0.var104 = (MainCallback)EasyChat_GetWordText; - ewram0.var108 = (MainCallback)ConvertEasyChatWordsToString; + ewram0_4.varFF = GAME_LANGUAGE; + ewram0_4.var100 = 1; + ewram0_4.var104 = (MainCallback)EasyChat_GetWordText; + ewram0_4.var108 = (MainCallback)ConvertEasyChatWordsToString; mailDesign = arg0->itemId - ITEM_ORANGE_MAIL; if (mailDesign <= 11) { - ewram0.varFA = arg0->itemId - ITEM_ORANGE_MAIL; + ewram0_4.varFA = arg0->itemId - ITEM_ORANGE_MAIL; } else { - ewram0.varFA = 0; + ewram0_4.varFA = 0; arg2 = FALSE; } - switch (ewram0.var100) + switch (ewram0_4.var100) { case 0: default: - ewram0.var10C = &gUnknown_083E5730[ewram0.varFA]; + ewram0_4.var10C = &gUnknown_083E5730[ewram0_4.varFA]; break; case 1: - ewram0.var10C = &gUnknown_083E57A4[ewram0.varFA]; + ewram0_4.var10C = &gUnknown_083E57A4[ewram0_4.varFA]; break; } if (((MailSpeciesToSpecies(arg0->species, buffer) << 16) + 0xFFFF0000) <= (410 << 16)) { - switch (ewram0.varFA) + switch (ewram0_4.varFA) { case 6: - ewram0.varFB = 1; + ewram0_4.varFB = 1; break; case 9: - ewram0.varFB = 2; + ewram0_4.varFB = 2; break; default: - ewram0.varFB = 0; + ewram0_4.varFB = 0; break; } } else { - ewram0.varFB = 0; + ewram0_4.varFB = 0; } - ewram0.varF4 = arg0; - ewram0.varEC = arg1; - ewram0.varF8 = arg2; + ewram0_4.varF4 = arg0; + ewram0_4.varEC = arg1; + ewram0_4.varF8 = arg2; SetMainCallback2(sub_80F8D50); } @@ -214,31 +212,31 @@ static u8 sub_80F8A28(void) RETURN_UP_STATE; case 11: - LoadPalette(gMailGraphicsTable[ewram0.varFA].palette, 0, 16 * 2); + LoadPalette(gMailGraphicsTable[ewram0_4.varFA].palette, 0, 16 * 2); RETURN_UP_STATE; case 12: - LZ77UnCompVram(gMailGraphicsTable[ewram0.varFA].tileMap, (void *)(VRAM + 0x4000)); + LZ77UnCompVram(gMailGraphicsTable[ewram0_4.varFA].tileMap, (void *)(VRAM + 0x4000)); RETURN_UP_STATE; case 13: - LZ77UnCompVram(gMailGraphicsTable[ewram0.varFA].tiles, (void *)(VRAM)); + LZ77UnCompVram(gMailGraphicsTable[ewram0_4.varFA].tiles, (void *)(VRAM)); - gPlttBufferUnfaded[241] = gMailGraphicsTable[ewram0.varFA].color10; - gPlttBufferUnfaded[248] = gMailGraphicsTable[ewram0.varFA].color12; + gPlttBufferUnfaded[241] = gMailGraphicsTable[ewram0_4.varFA].color10; + gPlttBufferUnfaded[248] = gMailGraphicsTable[ewram0_4.varFA].color12; gPlttBufferUnfaded[10] = gUnknown_083E562C[gSaveBlock2.playerGender][0]; gPlttBufferUnfaded[11] = gUnknown_083E562C[gSaveBlock2.playerGender][1]; RETURN_UP_STATE; case 14: - if (ewram0.varF8 != 0) + if (ewram0_4.varF8 != 0) { sub_80F8DA0(); } RETURN_UP_STATE; case 15: - if (ewram0.varF8 != 0) + if (ewram0_4.varF8 != 0) { sub_80F8E80(); } @@ -251,18 +249,18 @@ static u8 sub_80F8A28(void) { u16 local1; - local1 = sub_809D4A8(ewram0.varF4->species); + local1 = sub_809D4A8(ewram0_4.varF4->species); - switch (ewram0.varFB) + switch (ewram0_4.varFB) { case 1: sub_809D580(local1); - ewram0.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 96, 128, 0); + ewram0_4.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 96, 128, 0); break; case 2: sub_809D580(local1); - ewram0.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 40, 128, 0); + ewram0_4.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 40, 128, 0); break; } RETURN_UP_STATE; @@ -283,7 +281,7 @@ static u8 sub_80F8A28(void) REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; BeginNormalPaletteFade(-1, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = 0; - ewram0.varF0 = sub_80F8F58; + ewram0_4.varF0 = sub_80F8F58; return TRUE; default: @@ -325,24 +323,24 @@ static void sub_80F8DA0(void) u8 *ptr; r6 = 0; - for (i = 0; i < ewram0.var10C->var0; i++) + for (i = 0; i < ewram0_4.var10C->var0; i++) { - ConvertEasyChatWordsToString(ewram0.words[i], &ewram0.varF4->words[r6], ewram0.var10C->var4[i].unk_0_2, 1); - r6 += ewram0.var10C->var4[i].unk_0_2; + ConvertEasyChatWordsToString(ewram0_4.words[i], &ewram0_4.varF4->words[r6], ewram0_4.var10C->var4[i].unk_0_2, 1); + r6 += ewram0_4.var10C->var4[i].unk_0_2; } - ptr = ewram0.varD8; - if (ewram0.var100 == 0) + ptr = ewram0_4.varD8; + if (ewram0_4.var100 == 0) { - ptr = sub_80F8D7C(ptr, ewram0.varF4->playerName); + ptr = sub_80F8D7C(ptr, ewram0_4.varF4->playerName); StringCopy(ptr, gOtherText_From); - ewram0.varF9 = ewram0.var10C->var2 - StringLength(ewram0.varD8); + ewram0_4.varF9 = ewram0_4.var10C->var2 - StringLength(ewram0_4.varD8); } else { ptr = StringCopy(ptr, gOtherText_From); - sub_80F8D7C(ptr, ewram0.varF4->playerName); - ewram0.varF9 = ewram0.var10C->var2; + sub_80F8D7C(ptr, ewram0_4.varF4->playerName); + ewram0_4.varF9 = ewram0_4.var10C->var2; } } @@ -352,25 +350,25 @@ static void sub_80F8E80(void) u8 x; u8 y = 0; - for (pos = 0; pos < ewram0.var10C->var0; pos++) + for (pos = 0; pos < ewram0_4.var10C->var0; pos++) { - if (ewram0.words[pos][0] == 0xFF) + if (ewram0_4.words[pos][0] == 0xFF) { continue; } - if (ewram0.words[pos][0] == 0x00) + if (ewram0_4.words[pos][0] == 0x00) { continue; } - x = ewram0.var10C->var4[pos].unk_0_4; - y += ewram0.var10C->var4[pos].unk_0_0; - MenuPrint(ewram0.words[pos], ewram0.var10C->var3_4 + x, ewram0.var10C->var3_0 + y); + x = ewram0_4.var10C->var4[pos].unk_0_4; + y += ewram0_4.var10C->var4[pos].unk_0_0; + MenuPrint(ewram0_4.words[pos], ewram0_4.var10C->var3_4 + x, ewram0_4.var10C->var3_0 + y); y += 2; } - MenuPrint(ewram0.varD8, ewram0.varF9, ewram0.var10C->var1); + MenuPrint(ewram0_4.varD8, ewram0_4.varF9, ewram0_4.var10C->var1); } static void sub_80F8F18(void) @@ -382,13 +380,13 @@ static void sub_80F8F18(void) static void sub_80F8F2C(void) { - if (ewram0.varFB != 0) + if (ewram0_4.varFB != 0) { AnimateSprites(); BuildOamBuffer(); } - ewram0.varF0(); + ewram0_4.varF0(); } static void sub_80F8F58(void) @@ -398,7 +396,7 @@ static void sub_80F8F58(void) local0 = UpdatePaletteFade(); if (local0 == 0) { - ewram0.varF0 = sub_80F8F78; + ewram0_4.varF0 = sub_80F8F78; } } @@ -407,7 +405,7 @@ static void sub_80F8F78(void) if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { BeginNormalPaletteFade(-1, 0, 0, 16, 0); - ewram0.varF0 = sub_80F8FB4; + ewram0_4.varF0 = sub_80F8FB4; } } @@ -420,18 +418,18 @@ static void sub_80F8FB4(void) return; } - SetMainCallback2(ewram0.varEC); - switch (ewram0.varFB) + SetMainCallback2(ewram0_4.varEC); + switch (ewram0_4.varFB) { case 2: case 1: - local1 = sub_809D4A8(ewram0.varF4->species); + local1 = sub_809D4A8(ewram0_4.varF4->species); sub_809D608(local1); - sub_809D510(&gSprites[ewram0.varFC]); + sub_809D510(&gSprites[ewram0_4.varFC]); break; } - memset(&ewram0, 0, 0x110); + memset(&ewram0_4, 0, 0x110); ResetPaletteFade(); } diff --git a/src/pokemon/pokeblock_feed.c b/src/pokemon/pokeblock_feed.c index 5d6b215cd..b0b710803 100644 --- a/src/pokemon/pokeblock_feed.c +++ b/src/pokemon/pokeblock_feed.c @@ -19,8 +19,8 @@ #include "field_effect.h" #include "sound.h" #include "trig.h" +#include "ewram.h" -extern u8 ewram[]; extern struct MusicPlayerInfo gMPlay_BGM; extern u8 gPokeblockMonID; extern s16 gPokeblockGain; @@ -928,14 +928,11 @@ static bool8 sub_8148540(void) } } -#define ewram1D000 ((u16 *)(ewram + 0x1D000)) -#define ewram1D400 ((u16 *)(ewram + 0x1D400)) - static bool8 sub_81485CC(void) { u16 var = gUnknown_03005FA0[12] - gUnknown_03005FA0[4]; - gPokeblockFeedPokeSprite->pos2.x = ewram1D000[var]; + gPokeblockFeedPokeSprite->pos2.x = ewram1D000_2[var]; gPokeblockFeedPokeSprite->pos2.y = ewram1D400[var]; if (--gUnknown_03005FA0[4] == 0) @@ -960,7 +957,7 @@ static void sub_814862C(void) for (i = 0; i < r7 - 1; i++) { - s16* r3 = &ewram1D000[r8 + i]; + s16* r3 = &ewram1D000_2[r8 + i]; s16 r1 = *r3 - (var3); s16* r5 = &ewram1D400[r8 + i]; @@ -970,7 +967,7 @@ static void sub_814862C(void) *r5 -= r4 * (i + 1) / r7; } - ewram1D000[(r8 + r7) - 1] = var3; + ewram1D000_2[(r8 + r7) - 1] = var3; ewram1D400[(r8 + r7) - 1] = r9; } @@ -999,12 +996,12 @@ void sub_8148710(void) if (!var_24) { - ewram1D000[r4] = Sin(gUnknown_03005FA0[0], gUnknown_03005FA0[2] + r5 / 256) + r8; + ewram1D000_2[r4] = Sin(gUnknown_03005FA0[0], gUnknown_03005FA0[2] + r5 / 256) + r8; ewram1D400[r4] = Cos(gUnknown_03005FA0[0], gUnknown_03005FA0[3] + r5 / 256) + r7; } else { - ewram1D000[r4] = Sin(gUnknown_03005FA0[0], gUnknown_03005FA0[2] - r5 / 256) + r8; + ewram1D000_2[r4] = Sin(gUnknown_03005FA0[0], gUnknown_03005FA0[2] - r5 / 256) + r8; ewram1D400[r4] = Cos(gUnknown_03005FA0[0], gUnknown_03005FA0[3] - r5 / 256) + r7; } diff --git a/src/pokemon/pokemon_storage_system.c b/src/pokemon/pokemon_storage_system.c index 5e97523e2..4a68b846a 100644 --- a/src/pokemon/pokemon_storage_system.c +++ b/src/pokemon/pokemon_storage_system.c @@ -2,6 +2,7 @@ #include "pokemon_storage_system.h" #include "menu.h" #include "string_util.h" +#include "ewram.h" struct StorageAction { u8 *text; @@ -10,15 +11,8 @@ struct StorageAction { extern const struct StorageAction gUnknown_083B6DF4[]; -extern const u8 unk_2000000[]; - EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; -#define gUnk2002694 (u8 *)(&unk_2000000[0x2694]) -#define gUnk20026A6 (u8 *)(&unk_2000000[0x26a6]) -#define gUnk20011fa (u8 *)(&unk_2000000[0x11fa]) -#define gUnk20026e4 (u8 *)(&unk_2000000[0x26e4]) - void sub_8098898(u8 index) { u8 *ptr; diff --git a/src/rom3.c b/src/rom3.c index 75dfdf2a2..0cd73c44a 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -16,11 +16,7 @@ #include "util.h" #include "battle_message.h" #include "data2.h" - -extern u8 unk_2000000[]; - -#define EWRAM_14000 ((u8 *)(unk_2000000 + 0x14000)) -#define EWRAM_15000 ((u8 *)(unk_2000000 + 0x15000)) +#include "ewram.h" extern u16 gBattleTypeFlags; extern u16 gBattleWeather; @@ -403,16 +399,16 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) gTasks[gUnknown_020238C4].data[12] = gTasks[gUnknown_020238C4].data[14]; gTasks[gUnknown_020238C4].data[14] = 0; } - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14000] = a; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gActiveBank; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gBankAttacker; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gBankTarget; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14004] = r9; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14005] = (r9 & 0x0000FF00) >> 8; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gAbsentBankFlags; - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14007] = gEffectBank; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14000] = a; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gActiveBank; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gBankAttacker; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gBankTarget; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14004] = r9; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14005] = (r9 & 0x0000FF00) >> 8; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gAbsentBankFlags; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14007] = gEffectBank; for (i = 0; i < size; i++) - unk_2000000[gTasks[gUnknown_020238C4].data[14] + 0x14008 + i] = data[i]; + ewram[gTasks[gUnknown_020238C4].data[14] + 0x14008 + i] = data[i]; gTasks[gUnknown_020238C4].data[14] = gTasks[gUnknown_020238C4].data[14] + r9 + 8; } @@ -452,8 +448,8 @@ void sub_800C1A8(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - var = (unk_2000000[gTasks[taskId].data[15] + 0x14004] | (unk_2000000[gTasks[taskId].data[15] + 0x14005] << 8)) + 8; - SendBlock(bitmask_all_link_players_but_self(), &unk_2000000[gTasks[taskId].data[15] + 0x14000], var); + var = (ewram[gTasks[taskId].data[15] + 0x14004] | (ewram[gTasks[taskId].data[15] + 0x14005] << 8)) + 8; + SendBlock(bitmask_all_link_players_but_self(), &ewram[gTasks[taskId].data[15] + 0x14000], var); gTasks[taskId].data[11]++; } else @@ -466,7 +462,7 @@ void sub_800C1A8(u8 taskId) case 4: if (sub_8007ECC()) { - var = unk_2000000[gTasks[taskId].data[15] + 0x14004] | (unk_2000000[gTasks[taskId].data[15] + 0x14005] << 8); + var = ewram[gTasks[taskId].data[15] + 0x14004] | (ewram[gTasks[taskId].data[15] + 0x14005] << 8); gTasks[taskId].data[13] = 1; gTasks[taskId].data[15] = gTasks[taskId].data[15] + var + 8; gTasks[taskId].data[11] = 3; @@ -537,28 +533,28 @@ void sub_800C47C(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - r4 = unk_2000000[0x15000 + gTasks[taskId].data[15] + 1]; - r7 = unk_2000000[0x15000 + gTasks[taskId].data[15] + 4] | (unk_2000000[0x15000 + gTasks[taskId].data[15] + 5] << 8); - switch (unk_2000000[0x15000 + gTasks[taskId].data[15] + 0]) + r4 = ewram[0x15000 + gTasks[taskId].data[15] + 1]; + r7 = ewram[0x15000 + gTasks[taskId].data[15] + 4] | (ewram[0x15000 + gTasks[taskId].data[15] + 5] << 8); + switch (ewram[0x15000 + gTasks[taskId].data[15] + 0]) { case 0: if (gBattleExecBuffer & gBitTable[r4]) return; - memcpy(gBattleBufferA[r4], &unk_2000000[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferA[r4], &ewram[0x15000 + gTasks[taskId].data[15] + 8], r7); sub_80155A4(r4); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gBankAttacker = unk_2000000[0x15000 + gTasks[taskId].data[15] + 2]; - gBankTarget = unk_2000000[0x15000 + gTasks[taskId].data[15] + 3]; - gAbsentBankFlags = unk_2000000[0x15000 + gTasks[taskId].data[15] + 6]; - gEffectBank = unk_2000000[0x15000 + gTasks[taskId].data[15] + 7]; + gBankAttacker = ewram[0x15000 + gTasks[taskId].data[15] + 2]; + gBankTarget = ewram[0x15000 + gTasks[taskId].data[15] + 3]; + gAbsentBankFlags = ewram[0x15000 + gTasks[taskId].data[15] + 6]; + gEffectBank = ewram[0x15000 + gTasks[taskId].data[15] + 7]; } break; case 1: - memcpy(gBattleBufferB[r4], &unk_2000000[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferB[r4], &ewram[0x15000 + gTasks[taskId].data[15] + 8], r7); break; case 2: - r2 = unk_2000000[0x15000 + gTasks[taskId].data[15] + 8]; + r2 = ewram[0x15000 + gTasks[taskId].data[15] + 8]; gBattleExecBuffer &= ~(gBitTable[r4] << (r2 * 4)); break; } diff --git a/src/scene/credits.c b/src/scene/credits.c index cf10137c1..882dc557f 100644 --- a/src/scene/credits.c +++ b/src/scene/credits.c @@ -16,6 +16,7 @@ #include "starter_choose.h" #include "task.h" #include "trig.h" +#include "ewram.h" asm(".set REG_BASE, 0x4000000"); asm(".set OFFSET_REG_BLDCNT, 0x50"); @@ -162,14 +163,6 @@ struct CreditsEntry u8 *text; }; -extern u8 ewram[]; - -#define EWRAM_1F800 ((u16 *)(ewram + 0x1F800)) -#define HALL_OF_FAME_SHEET_0 ((u8 *)(ewram + 0x1E000)) -#define HALL_OF_FAME_SHEET_1 ((u8 *)(ewram + 0x1E800)) -#define HALL_OF_FAME_SHEET_2 ((u8 *)(ewram + 0x1F000)) -#define ewram1c000 (*(struct Unk201C000 *)(ewram + 0x1C000)) - extern struct HallOfFame gHallOfFame; extern u8 unk_201e800[0x800]; extern u8 unk_201f000[0x800]; diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c index 24168dc56..73cb7e5e7 100644 --- a/src/scene/evolution_scene.c +++ b/src/scene/evolution_scene.c @@ -24,6 +24,7 @@ #include "pokemon_summary_screen.h" #include "menu_cursor.h" #include "strings2.h" +#include "ewram.h" struct EvoInfo { @@ -55,8 +56,6 @@ struct EvoInfo u8 unkA0C4; // 0x201E8C4 }; -#define sEvoInfo ((*(struct EvoInfo*)(ewram + 0x14800))) - void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); void sub_8024CEC(void); void sub_8023A80(void); diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c index e303d5173..b9c84b9e7 100644 --- a/src/script_pokemon_util_80F99CC.c +++ b/src/script_pokemon_util_80F99CC.c @@ -272,7 +272,7 @@ void HandleMoveTutorPartyMenu(u8 var) void sub_80F9EEC(void) { sub_809D9F0(&gPlayerParty[0], gSpecialVar_0x8004, gPlayerPartyCount - 1, c2_exit_to_overworld_2_switch, 0); - unk_2018000.unk8 = 3; + UNK_2018000_STRUCT.unk8 = 3; gFieldCallback = sub_8080990; } -- cgit v1.2.3 From 5fc9a151463ade7d260ce5f105674908d6e4449d Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sun, 5 Nov 2017 12:55:45 -0500 Subject: move ewram.h includes in include/ to src files. --- src/battle/battle_2.c | 22 ++++++++++------------ src/battle/battle_3.c | 9 ++------- src/battle/battle_4.c | 1 + src/battle/battle_ai.c | 1 + src/battle/battle_anim.c | 1 + src/battle/battle_anim_807B69C.c | 1 + src/battle/battle_controller_linkopponent.c | 1 + src/battle/battle_controller_linkpartner.c | 1 + src/battle/battle_controller_opponent.c | 1 + src/battle/battle_controller_player.c | 1 + src/battle/battle_controller_safari.c | 1 + src/battle/battle_controller_wally.c | 1 + src/battle/battle_message.c | 1 + src/battle/pokeball.c | 1 + src/engine/link.c | 1 + src/engine/trade.c | 1 + src/field/choose_party.c | 3 ++- src/field/decoration.c | 1 + src/field/dewford_trend.c | 1 + src/field/field_region_map.c | 22 +++++++++++----------- src/pokemon/pokemon_3.c | 1 + src/pokemon/pokemon_menu.c | 1 + src/rom_800D42C.c | 1 + src/script_pokemon_util_80C4BF0.c | 1 + src/script_pokemon_util_80F99CC.c | 1 + 25 files changed, 46 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 5a37a6169..26433b055 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -253,8 +253,8 @@ void sub_800E9EC(void) if (species != SPECIES_EGG && hp == 0) r6 |= 3 << i * 2; } - ewram0.unk2 = r6; - ewram0.unk3 = r6 >> 8; + BATTLE_STRUCT->unk2 = r6; + BATTLE_STRUCT->unk3 = r6 >> 8; } void sub_800EAAC(void) @@ -350,11 +350,11 @@ void sub_800EC9C(void) { if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) { - ewram0.unk0 = 1; - ewram0.unk1 = 1; + BATTLE_STRUCT->unk0 = 1; + BATTLE_STRUCT->unk1 = 1; sub_800E9EC(); sub_800EAAC(); - SendBlock(bitmask_all_link_players_but_self(), &ewram0, 32); + SendBlock(bitmask_all_link_players_but_self(), BATTLE_STRUCT, 32); gBattleCommunication[0] = 1; } } @@ -410,7 +410,7 @@ void sub_800EC9C(void) gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[5] = 0; - gTasks[taskId].data[3] = ewram0.unk2 | (ewram0.unk3 << 8); + gTasks[taskId].data[3] = BATTLE_STRUCT->unk2 | (BATTLE_STRUCT->unk3 << 8); gTasks[taskId].data[4] = gBlockRecvBuffer[enemyId][1]; gBattleCommunication[0]++; } @@ -593,8 +593,8 @@ void sub_800F298(void) case 0: if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) { - ewram0.unk0 = 1; - ewram0.unk1 = 1; + BATTLE_STRUCT->unk0 = 1; + BATTLE_STRUCT->unk1 = 1; sub_800E9EC(); sub_800EAAC(); SendBlock(bitmask_all_link_players_but_self(), ewram, 0x20); @@ -1537,7 +1537,7 @@ void sub_8010874(void) gUnknown_02024C5C[i] = 0xFF; gLockedMove[i] = 0; gUnknown_02024C2C[i] = 0; - ewram17100[i] = 0; + ewram17100.arr[i] = 0; } for (i = 0; i < 2; i++) @@ -1621,7 +1621,6 @@ void SwitchInClearStructs(void) struct DisableStruct sp0 = gDisableStructs[gActiveBank]; s32 i; u8 *ptr; - u32 *ptr2; if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS) { @@ -1700,8 +1699,7 @@ void SwitchInClearStructs(void) ewram[0x160E8 + gActiveBank * 2 + 0] = 0; ewram[0x160E8 + gActiveBank * 2 + 1] = 0; - ptr2 = (u32 *)(ewram + 0x17100); - ptr2[gActiveBank] = 0; + ewram17100.arr[gActiveBank] = 0; gCurrentMove = 0; } diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c index e8819781d..3f2b8d9e5 100644 --- a/src/battle/battle_3.c +++ b/src/battle/battle_3.c @@ -1433,11 +1433,6 @@ u8 CastformDataTypeChange(u8 bank) return formChange; } -struct Struct2017100 -{ - u32 arr[4]; -}; - u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) { u8 effect = 0; @@ -1723,14 +1718,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS_FREEZE)) { - if (!(ewram17100_2.arr[bank] & 1)) + if (!(ewram17100.arr[bank] & 1)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBankAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - ewram17100_2.arr[bank] |= 1; + ewram17100.arr[bank] |= 1; effect = 2; } else diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 3fee71a5f..5daadd4b5 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -19,6 +19,7 @@ #include "task.h" #include "decompress.h" #include "naming_screen.h" +#include "ewram.h" //extern needed variables extern u8 gCritMultiplier; diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 9c6d2bec4..aeac41750 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -11,6 +11,7 @@ #include "rom_8077ABC.h" #include "species.h" #include "util.h" +#include "ewram.h" extern u16 gBattleTypeFlags; extern u16 gBattleWeather; diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 0c04ff9b8..408a21f86 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -12,6 +12,7 @@ #include "sound.h" #include "sprite.h" #include "task.h" +#include "ewram.h" // sprites start at 10000 and thus must be subtracted of 10000 to account for the true index. #define GET_TRUE_SPRITE_INDEX(i) (i - 10000) diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c index 9acc7bd46..7fcd1e23f 100644 --- a/src/battle/battle_anim_807B69C.c +++ b/src/battle/battle_anim_807B69C.c @@ -7,6 +7,7 @@ #include "sprite.h" #include "task.h" #include "trig.h" +#include "ewram.h" extern u8 gBattleAnimBankAttacker; extern u8 gBattleAnimBankTarget; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index ff4df81e4..107c374a0 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -15,6 +15,7 @@ #include "task.h" #include "text.h" #include "util.h" +#include "ewram.h" struct UnknownStruct3 { diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index a874190aa..25deebf78 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -19,6 +19,7 @@ #include "task.h" #include "text.h" #include "util.h" +#include "ewram.h" struct UnknownStruct1 { diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 392e80f08..94ae43461 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -20,6 +20,7 @@ #include "task.h" #include "text.h" #include "util.h" +#include "ewram.h" struct UnknownStruct3 { diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 136c31841..f2fa16593 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -19,6 +19,7 @@ #include "task.h" #include "text.h" #include "util.h" +#include "ewram.h" //Possibly PokemonSubstruct1 struct UnknownStruct3 diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 2fcdf7548..5b89cf9ba 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -12,6 +12,7 @@ #include "sound.h" #include "text.h" #include "util.h" +#include "ewram.h" extern struct Window gUnknown_03004210; extern u8 gDisplayedStringBattle[]; diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 9d70ca557..be065e071 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -17,6 +17,7 @@ #include "task.h" #include "text.h" #include "util.h" +#include "ewram.h" //Possibly PokemonSubstruct1 struct UnknownStruct3 diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c index 79855a614..f98c065b0 100644 --- a/src/battle/battle_message.c +++ b/src/battle/battle_message.c @@ -12,6 +12,7 @@ #include "battle_setup.h" #include "battle_tower.h" #include "flags.h" +#include "ewram.h" #define BATTLESTRING_TO_SUB 12 #define BATTLESTRINGS_NO 351 diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index ee3b95678..afdf47979 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -14,6 +14,7 @@ #include "task.h" #include "trig.h" #include "util.h" +#include "ewram.h" extern struct MusicPlayerInfo gMPlay_BGM; extern u16 gBattleTypeFlags; diff --git a/src/engine/link.c b/src/engine/link.c index 86413cfbf..504b828a1 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -15,6 +15,7 @@ #include "strings2.h" #include "task.h" #include "text.h" +#include "ewram.h" #define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT) diff --git a/src/engine/trade.c b/src/engine/trade.c index b11b7e448..63571ecac 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -39,6 +39,7 @@ #include "util.h" #include "battle_interface.h" #include "trade.h" +#include "ewram.h" #ifdef ENGLISH #define sub_804A96C_alt sub_804A96C diff --git a/src/field/choose_party.c b/src/field/choose_party.c index adb210e7b..891ee48b8 100644 --- a/src/field/choose_party.c +++ b/src/field/choose_party.c @@ -17,6 +17,7 @@ #include "string_util.h" #include "task.h" #include "text.h" +#include "ewram.h" extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; @@ -34,7 +35,7 @@ extern void sub_806BC3C(u8, u8); extern void ShowPokemonSummaryScreen(struct Pokemon *, u8, u8, void (*)(void), int); extern u8 GetMonStatusAndPokerus(); extern void PartyMenuPrintHP(); -extern bool8 sub_80F9344(void); +extern bool8 sub_80F9344(void); static void ClearPartySelection(void); static bool8 IsMonAllowedInBattleTower(struct Pokemon *); diff --git a/src/field/decoration.c b/src/field/decoration.c index 59c19c20a..924c94b59 100644 --- a/src/field/decoration.c +++ b/src/field/decoration.c @@ -18,6 +18,7 @@ #include "event_data.h" #include "field_weather.h" #include "decoration.h" +#include "ewram.h" EWRAM_DATA u8 *gUnknown_020388D0 = NULL; EWRAM_DATA u8 gUnknown_020388D4 = 0; diff --git a/src/field/dewford_trend.c b/src/field/dewford_trend.c index f47dbba08..5f4d5abfe 100644 --- a/src/field/dewford_trend.c +++ b/src/field/dewford_trend.c @@ -5,6 +5,7 @@ #include "link.h" #include "rng.h" #include "text.h" +#include "ewram.h" extern u8 ewram[]; diff --git a/src/field/field_region_map.c b/src/field/field_region_map.c index e189fcf2c..73e101d8f 100644 --- a/src/field/field_region_map.c +++ b/src/field/field_region_map.c @@ -28,8 +28,8 @@ struct UnkStruct void FieldInitRegionMap(MainCallback callback) { SetVBlankCallback(NULL); - unk_2000000.unk888 = 0; - unk_2000000.callback = callback; + ewram0_5.unk888 = 0; + ewram0_5.callback = callback; SetMainCallback2(CB2_FieldInitRegionMap); } @@ -47,7 +47,7 @@ void CB2_FieldInitRegionMap(void) ResetSpriteData(); FreeAllSpritePalettes(); // TODO: remove this cast - InitRegionMap((void *)&unk_2000000.unk8, 0); + InitRegionMap((void *)&ewram0_5.unk8, 0); CreateRegionMapPlayerIcon(0, 0); CreateRegionMapCursor(1, 1); SetUpWindowConfig(&gWindowConfig_81E709C); @@ -80,15 +80,15 @@ void CB2_FieldRegionMap(void) void sub_813EFDC(void) { - switch (unk_2000000.unk888) + switch (ewram0_5.unk888) { case 0: REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; - unk_2000000.unk888++; + ewram0_5.unk888++; break; case 1: if (!gPaletteFade.active) - unk_2000000.unk888++; + ewram0_5.unk888++; break; case 2: switch (sub_80FAB60()) @@ -98,18 +98,18 @@ void sub_813EFDC(void) break; case 4: case 5: - unk_2000000.unk888++; + ewram0_5.unk888++; } break; case 3: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); - unk_2000000.unk888++; + ewram0_5.unk888++; break; case 4: if (!gPaletteFade.active) { FreeRegionMapIconResources(); - SetMainCallback2(unk_2000000.callback); + SetMainCallback2(ewram0_5.callback); } break; } @@ -118,6 +118,6 @@ void sub_813EFDC(void) void sub_813F0C8(void) { MenuFillWindowRectWithBlankTile(17, 17, 28, 18); - if (unk_2000000.unk8.unk16) - MenuPrint(unk_2000000.unk8.str, 17, 17); + if (ewram0_5.unk8.unk16) + MenuPrint(ewram0_5.unk8.str, 17, 17); } diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c index 9c2cb4730..19786e506 100644 --- a/src/pokemon/pokemon_3.c +++ b/src/pokemon/pokemon_3.c @@ -22,6 +22,7 @@ #include "string_util.h" #include "text.h" #include "util.h" +#include "ewram.h" extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index 7d70e7708..93a3dd797 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -29,6 +29,7 @@ #include "fieldmap.h" #include "item_menu.h" #include "player_pc.h" +#include "ewram.h" /* Pokemon menu: diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index f51779e65..bf6d03fb7 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -2,6 +2,7 @@ #include "battle.h" #include "link.h" #include "text.h" +#include "ewram.h" extern u16 gBattleTypeFlags; extern u8 gBattleOutcome; diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c index f98293a90..011978a0c 100644 --- a/src/script_pokemon_util_80C4BF0.c +++ b/src/script_pokemon_util_80C4BF0.c @@ -22,6 +22,7 @@ #include "script_pokemon_80C4.h" #include "species.h" #include "task.h" +#include "ewram.h" #define CONTEST_ENTRY_PIC_LEFT 10 #define CONTEST_ENTRY_PIC_TOP 3 diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c index b9c84b9e7..21ff220d2 100644 --- a/src/script_pokemon_util_80F99CC.c +++ b/src/script_pokemon_util_80F99CC.c @@ -17,6 +17,7 @@ #include "string_util.h" #include "task.h" #include "text.h" +#include "ewram.h" extern u8 gPlayerPartyCount; extern u16 gSpecialVar_0x8004; -- cgit v1.2.3 From 618240c62639bc4da73d400965b6df67b2c3619e Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sun, 5 Nov 2017 23:07:39 -0500 Subject: move src/engine/ direct ewram calls to ewram.h. --- src/battle/battle_2.c | 72 ++++++++++++------------- src/battle/battle_3.c | 16 +++--- src/battle/battle_4.c | 96 ++++++++++++++++----------------- src/battle/battle_ai.c | 7 ++- src/battle/battle_controller_opponent.c | 10 ++-- src/battle/battle_controller_player.c | 6 +-- src/battle/battle_controller_wally.c | 56 +++++++++---------- src/battle/battle_interface.c | 4 +- src/battle/battle_message.c | 2 +- src/battle/battle_transition.c | 4 +- src/debug/matsuda_debug_menu.c | 40 +++++++------- src/engine/main_menu.c | 6 +-- src/engine/mystery_event_menu.c | 6 +-- src/engine/save.c | 16 +++--- src/engine/save_failed_screen.c | 4 +- src/field/berry_tag_screen.c | 22 ++++---- src/field/slot_machine.c | 4 +- src/pokemon/pokemon_1.c | 8 +-- src/scene/contest_painting.c | 8 +-- src/scene/intro.c | 10 ++-- 20 files changed, 194 insertions(+), 203 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 26433b055..38c60dee1 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -522,8 +522,8 @@ void sub_800F104(void) playerId = GetMultiplayerId(); ewram160CB = playerId; // Seriously, Game Freak? - pSavedCallback = (MainCallback *)(ewram + 0x160C4); - pSavedBattleTypeFlags = (u16 *)(ewram + 0x160C2); + pSavedCallback = ewram160C4_Callback; + pSavedBattleTypeFlags = ewram160C2_Flags; RunTasks(); AnimateSprites(); BuildOamBuffer(); @@ -1581,12 +1581,12 @@ void sub_8010874(void) for (i = 0; i < 8; i++) { - ewram[i + 0x160AC] = 0; - ewram[i + 0x160CC] = 0; - ewram[i + 0x160E8] = 0; - ewram[i + 0x160F0] = 0; - ewram[i + 0x16100] = 0; - ewram[i + 0x16108] = 0; + ewram160ACarr(i) = 0; + ewram160CCarr(i) = 0; + ewram160E8arr(i) = 0; + ewram160F0arr(i) = 0; + ewram16100arr(i) = 0; + ewram16108arr(i) = 0; } ewram160C8 = 6; @@ -1665,7 +1665,7 @@ void SwitchInClearStructs(void) { if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBank] << 16)) gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBank] << 16); - if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram[0x16020 + i] == gActiveBank) + if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram16020arr(i) == gActiveBank) gUnknown_02024AD0[i].unk0 &= ~0xE000; } @@ -1690,14 +1690,14 @@ void SwitchInClearStructs(void) gUnknown_02024C2C[gActiveBank] = 0; gUnknown_02024C5C[gActiveBank] = 0xFF; - ewram[0x160AC + gActiveBank * 2 + 0] = 0; - ewram[0x160AC + gActiveBank * 2 + 1] = 0; - ewram[0x16100 + gActiveBank * 4 + 0] = 0; - ewram[0x16100 + gActiveBank * 4 + 1] = 0; - ewram[0x16100 + gActiveBank * 4 + 2] = 0; - ewram[0x16100 + gActiveBank * 4 + 3] = 0; - ewram[0x160E8 + gActiveBank * 2 + 0] = 0; - ewram[0x160E8 + gActiveBank * 2 + 1] = 0; + ewram160ACarr2(0, gActiveBank) = 0; + ewram160ACarr2(1, gActiveBank) = 0; + ewram16100arr2(0, gActiveBank) = 0; + ewram16100arr2(1, gActiveBank) = 0; + ewram16100arr2(2, gActiveBank) = 0; + ewram16100arr2(3, gActiveBank) = 0; + ewram160E8arr2(0, gActiveBank) = 0; + ewram160E8arr2(1, gActiveBank) = 0; ewram17100.arr[gActiveBank] = 0; @@ -1708,7 +1708,6 @@ void UndoEffectsAfterFainting(void) { s32 i; u8 *ptr; - u32 *ptr2; for (i = 0; i < 8; i++) gBattleMons[gActiveBank].statStages[i] = 6; @@ -1720,7 +1719,7 @@ void UndoEffectsAfterFainting(void) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; if (gBattleMons[i].status2 & (gBitTable[gActiveBank] << 16)) gBattleMons[i].status2 &= ~(gBitTable[gActiveBank] << 16); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram[0x16020 + i] == gActiveBank) + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram16020arr(i) == gActiveBank) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; } gActionSelectionCursor[gActiveBank] = 0; @@ -1755,17 +1754,16 @@ void UndoEffectsAfterFainting(void) gUnknown_02024C2C[gActiveBank] = 0; gUnknown_02024C5C[gActiveBank] = 0xFF; - ewram[0x160E8 + gActiveBank * 2 + 0] = 0; - ewram[0x160E8 + gActiveBank * 2 + 1] = 0; - ewram[0x160AC + gActiveBank * 2 + 0] = 0; - ewram[0x160AC + gActiveBank * 2 + 1] = 0; - ewram[0x16100 + gActiveBank * 4 + 0] = 0; - ewram[0x16100 + gActiveBank * 4 + 1] = 0; - ewram[0x16100 + gActiveBank * 4 + 2] = 0; - ewram[0x16100 + gActiveBank * 4 + 3] = 0; + ewram160E8arr2(0, gActiveBank) = 0; + ewram160E8arr2(1, gActiveBank) = 0; + ewram160ACarr2(0, gActiveBank) = 0; + ewram160ACarr2(1, gActiveBank) = 0; + ewram16100arr2(0, gActiveBank) = 0; + ewram16100arr2(1, gActiveBank) = 0; + ewram16100arr2(2, gActiveBank) = 0; + ewram16100arr2(3, gActiveBank) = 0; - ptr2 = (u32 *)(ewram + 0x17100); - ptr2[gActiveBank] = 0; + ewram17100.arr[gActiveBank] = 0; gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; @@ -2126,7 +2124,7 @@ void BattleBeginFirstTurn(void) ; for (i = 0; i < 4; i++) { - ewram[0x16068 + i] = 6; + ewram16068arr(i) = 6; gActionForBanks[i] = 0xFF; gChosenMovesByBanks[i] = 0; } @@ -2218,7 +2216,7 @@ void BattleTurnPassed(void) gChosenMovesByBanks[i] = 0; } for (i = 0; i < 4; i++) - ewram[0x16068 + i] = 6; + ewram16068arr(i) = 6; ewram160A6 = gAbsentBankFlags; gBattleMainFunc = sub_8012324; gRandomTurnNumber = Random(); @@ -2292,23 +2290,23 @@ void sub_8012258(u8 a) u8 r1; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = ewram[0x1606C + i + a * 3]; + gUnknown_02038470[i] = ewram1606Carr(i, a, 3); r4 = pokemon_order_func(gBattlePartyID[a]); - r1 = pokemon_order_func(ewram[0x16068 + a]); + r1 = pokemon_order_func(ewram16068arr(a)); sub_8094C98(r4, r1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { for (i = 0; i < 3; i++) { - ewram[0x1606C + i + a * 3] = gUnknown_02038470[i]; - ewram[0x1606C + i + (a ^ 2) * 3] = gUnknown_02038470[i]; + ewram1606Carr(i, a, 3) = gUnknown_02038470[i]; + ewram1606Carr(i, (a ^ 2), 3) = gUnknown_02038470[i]; } } else { for (i = 0; i < 3; i++) { - ewram[0x1606C + i + a * 3] = gUnknown_02038470[i]; + ewram1606Carr(i, a, 3) = gUnknown_02038470[i]; } } } @@ -2327,7 +2325,7 @@ void sub_8012324(void) switch (gBattleCommunication[gActiveBank]) { case 0: - ewram[0x016068 + gActiveBank] = 6; + ewram16068arr(gActiveBank) = 6; if (!(gBattleTypeFlags & 0x40) && (r5 & 2) && !(ewram160A6 & gBitTable[GetBankByPlayerAI(r5 ^ 2)]) diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c index 3f2b8d9e5..1d6784297 100644 --- a/src/battle/battle_3.c +++ b/src/battle/battle_3.c @@ -721,12 +721,12 @@ u8 TurnBasedEffects(void) gBattleMons[gActiveBank].status2 -= 0x2000; if (gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) // damaged by wrap { - BATTLE_STRUCT->animArg1 = ewram[gActiveBank * 2 + 0x16004]; - BATTLE_STRUCT->animArg2 = ewram[gActiveBank * 2 + 0x16005]; + BATTLE_STRUCT->animArg1 = ewram16004arr(0, gActiveBank); + BATTLE_STRUCT->animArg2 = ewram16004arr(1, gActiveBank); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram[gActiveBank * 2 + 0x16004]; - gBattleTextBuff1[3] = ewram[gActiveBank * 2 + 0x16005]; + gBattleTextBuff1[2] = ewram16004arr(0, gActiveBank); + gBattleTextBuff1[3] = ewram16004arr(1, gActiveBank); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; @@ -737,8 +737,8 @@ u8 TurnBasedEffects(void) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram[gActiveBank * 2 + 0x16004]; - gBattleTextBuff1[3] = ewram[gActiveBank * 2 + 0x16005]; + gBattleTextBuff1[2] = ewram16004arr(0, gActiveBank); + gBattleTextBuff1[3] = ewram16004arr(1, gActiveBank); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapEnds; } @@ -1377,7 +1377,7 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2) r2 = gBattlePartyID[r6]; for (i = 0; i < 6; i++) { - if (GetMonData(&party[i], MON_DATA_HP) && GetMonData(&party[i], MON_DATA_SPECIES2) && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG && i != r1 && i != r2 && i != ewram[r7 + 0x16068] && i != ewram[r6 + 0x16068]) + if (GetMonData(&party[i], MON_DATA_HP) && GetMonData(&party[i], MON_DATA_SPECIES2) && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG && i != r1 && i != r2 && i != ewram16068arr(r7) && i != ewram16068arr(r6)) break; } return (i == 6); @@ -3123,7 +3123,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target targetBank = gBankAttacker; break; } - ewram[gBankAttacker + 0x16010] = targetBank; + ewram16010arr(gBankAttacker) = targetBank; return targetBank; } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 5daadd4b5..5c028d86b 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -2639,7 +2639,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) {gBattlescriptCurrInstr++; return;} gLastUsedItem = gBattleMons[gBankTarget].item; - ewram[gBankAttacker * 2 + 0x160cc] = gLastUsedItem; + USED_HELD_ITEM(bank) = gLastUsedItem; gBattleMons[gBankTarget].item = 0; gActiveBank = gBankAttacker; @@ -2653,8 +2653,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) b_movescr_stack_push(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_ItemSteal; - ewram[gBankTarget * 2 + 0x160e8] = 0; - //STORE_CHOICEMOVE(gBankTarget, 0); + CHOICED_MOVE(gBankTarget) = 0; } break; case 32: //escape prevention @@ -2729,8 +2728,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) b_movescr_stack_push(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_KnockedOff; - ewram[gEffectBank * 2 + 0x160e8] = 0; - //STORE_CHOICEMOVE(gEffectBank, 0); + CHOICED_MOVE(gEffectBank) = 0; } break; case 59: //overheat @@ -4998,12 +4996,12 @@ static void atk19_faint_pokemon(void) if (!(gAbsentBankFlags & gBitTable[gActiveBank]) && gBattleMons[gActiveBank].hp == 0) { - ewram[0x160AC + bank * 2 + 0] = 0; - ewram[0x160AC + bank * 2 + 1] = 0; - ewram[0x16100 + bank * 4 + 0] = 0; - ewram[0x16100 + bank * 4 + 1] = 0; - ewram[0x16100 + bank * 4 + 2] = 0; - ewram[0x16100 + bank * 4 + 3] = 0; + ewram160ACarr2(0, bank) = 0; + ewram160ACarr2(1, bank) = 0; + ewram16100arr2(0, bank) = 0; + ewram16100arr2(1, bank) = 0; + ewram16100arr2(2, bank) = 0; + ewram16100arr2(3, bank) = 0; gHitMarker |= HITMARKER_FAINTED(gActiveBank); b_movescr_stack_push(gBattlescriptCurrInstr + 7); @@ -5039,7 +5037,7 @@ static void atk19_faint_pokemon(void) && gBattleMons[gBankAttacker].hp != 0 && gCurrentMove != MOVE_STRUGGLE) { - u8 moveIndex = ewram[0x1608C + gBankAttacker]; + u8 moveIndex = ewram1608Carr(gBankAttacker); gBattleMons[gBankAttacker].pp[moveIndex] = 0; b_movescr_stack_push(gBattlescriptCurrInstr); @@ -5122,7 +5120,7 @@ static void atk1E_jumpifability(void) gLastUsedAbility = ability; gBattlescriptCurrInstr = jump_loc; RecordAbilityBattle(bank -1, gLastUsedAbility); - ewram[0x160f8] = bank - 1; + ewram160F8 = bank - 1; } else gBattlescriptCurrInstr += 7; @@ -5135,7 +5133,7 @@ static void atk1E_jumpifability(void) gLastUsedAbility = ability; gBattlescriptCurrInstr = jump_loc; RecordAbilityBattle(bank - 1, gLastUsedAbility); - ewram[0x160f8] = bank - 1; + ewram160F8 = bank - 1; } else gBattlescriptCurrInstr += 7; @@ -5148,7 +5146,7 @@ static void atk1E_jumpifability(void) gLastUsedAbility = ability; gBattlescriptCurrInstr = jump_loc; RecordAbilityBattle(bank, gLastUsedAbility); - ewram[0x160f8] = bank; + ewram160F8 = bank; } else gBattlescriptCurrInstr += 7; @@ -7326,11 +7324,10 @@ static void atk43_jumpifabilitypresent(void) static void atk44(void) { - ewram[gBankAttacker + 0x16060] = 1; + ewram16060(gBankAttacker) = 1; } #ifdef NONMATCHING - static void atk45_playanimation(void) { #define ANIMATION_ID T2_READ_8(gBattlescriptCurrInstr + 2) @@ -9521,7 +9518,7 @@ static void atk4C_copy_poke_data(void) gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattlePartyID[gActiveBank] = ewram[0x16068 + gActiveBank]; + gBattlePartyID[gActiveBank] = ewram16068arr(gActiveBank); EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBank]]); MarkBufferBankForExecution(gActiveBank); @@ -9671,8 +9668,7 @@ static void atk4F_jump_if_cannot_switch(void) void sub_8022A3C(u8 unkown) { - //BATTLE_STRUCT->unk16064[gActiveBank] = gBattlePartyID[gActiveBank]; - ewram[gActiveBank + 0x16064] = gBattlePartyID[gActiveBank]; + BATTLE_PARTY_ID(gActiveBank) = gBattlePartyID[gActiveBank]; EmitChoosePokemon(0, 1, unkown, 0, BATTLE_STRUCT->unk1606C[gActiveBank]); MarkBufferBankForExecution(gActiveBank); } @@ -10760,7 +10756,7 @@ static void atk51_switch_handle_order(void) for (i = 0; i < gNoOfAllBanks; i++) { if (gBattleBufferB[i][0] == 0x22) - ewram[i + 0x16068] = gBattleBufferB[i][1]; + ewram16068arr(i) = gBattleBufferB[i][1]; } break; case 1: @@ -10769,17 +10765,15 @@ static void atk51_switch_handle_order(void) break; case 2: gBattleCommunication[0] = gBattleBufferB[gActiveBank][1]; - ewram[gActiveBank + 0x16068] = gBattleBufferB[gActiveBank][1]; + ewram16068arr(gActiveBank) = gBattleBufferB[gActiveBank][1]; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - - ewram[(gActiveBank) * 3 + (0x1606C + 0)] &= 0xF; - ewram[(gActiveBank) * 3 + (0x1606C + 0)] |= (gBattleBufferB[gActiveBank][2] & 0xF0); - ewram[(gActiveBank) * 3 + (0x1606C + 1)] = gBattleBufferB[gActiveBank][3]; - - ewram[(gActiveBank ^ 2) * 3 + (0x1606C + 0)] &= (0xF0); - ewram[(gActiveBank ^ 2) * 3 + (0x1606C + 0)] |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - ewram[(gActiveBank ^ 2) * 3 + (0x1606C + 2)] = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, gActiveBank, 3) &= 0xF; + ewram1606Carr(0, gActiveBank, 3) |= (gBattleBufferB[gActiveBank][2] & 0xF0); + ewram1606Carr(1, gActiveBank, 3) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, (gActiveBank ^ 2), 3) &= (0xF0); + ewram1606Carr(0, (gActiveBank ^ 2), 3) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; + ewram1606Carr(2, (gActiveBank ^ 2), 3) = gBattleBufferB[gActiveBank][3]; } else sub_8012258(gActiveBank); @@ -12168,7 +12162,7 @@ static void atk74_hp_thresholds2(void) { gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); opposing_bank = gActiveBank ^ 1; - hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)]; + hp_switchout = ewram160BCarr(GetBankSide(opposing_bank)); //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)]; result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout; if (gBattleMons[opposing_bank].hp >= hp_switchout) @@ -12242,7 +12236,7 @@ static void atk76_various(void) else gActiveBank = 2; - choiced_move = (u16*)(&ewram[gActiveBank * 2 + 0x160e8]); + choiced_move = CHOICED_MOVE(gActiveBank); for (i = 0; i < 4; i++) { if (gBattleMons[gActiveBank].moves[i] == *choiced_move) @@ -12382,11 +12376,11 @@ static void atk7B_healhalfHP_if_possible(void) static void atk7C_8025508(void) { - u16 r7 = ewram[gBankAttacker * 2 + 0x160ac] | (ewram[gBankAttacker * 2 + 0x160ad] << 8); - u16 r6 = ewram[gBankAttacker * 4 + 0x16100] | (ewram[gBankAttacker * 4 + 0x16101] << 8); - u16 r5 = ewram[gBankAttacker * 4 + 0x16102] | (ewram[gBankAttacker * 4 + 0x16103] << 8); + u16 r7 = ewram160ACarr2(0, gBankAttacker) | (ewram160ACarr2(1, gBankAttacker) << 8); + u16 r6 = ewram16100arr2(0, gBankAttacker) | (ewram16100arr2(1, gBankAttacker) << 8); + u16 r5 = ewram16100arr2(2, gBankAttacker) | (ewram16100arr2(3, gBankAttacker) << 8); - if (r7 !=0 && r7 != 0xFFFF) + if (r7 != 0 && r7 != 0xFFFF) { gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED); gCurrentMove = r7; @@ -13465,12 +13459,12 @@ static void atk8D_setmultihit_counter(void) static void atk8E_prepare_multihit(void) { - ewram[0x160e0] = 0xFD; - ewram[0x160e1] = 1; - ewram[0x160e2] = 1; - ewram[0x160e3] = 1; - ewram[0x160e4] = 0; - ewram[0x160e5] = 0xFF; + ewram160E0(0) = 0xFD; + ewram160E0(1) = 1; + ewram160E0(2) = 1; + ewram160E0(3) = 1; + ewram160E0(4) = 0; + ewram160E0(5) = 0xFF; gBattlescriptCurrInstr++; } @@ -13478,7 +13472,7 @@ static bool8 sub_80264C0(void) { if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) { - ewram[gBankTarget + 0x16064] = gBattlePartyID[gBankTarget]; + ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget]; } else { @@ -13488,7 +13482,7 @@ static bool8 sub_80264C0(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); return 0; } - ewram[gBankTarget + 0x16064] = gBattlePartyID[gBankTarget]; + ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget]; } gBattlescriptCurrInstr = gUnknown_081D90FC; return 1; @@ -13569,7 +13563,7 @@ static void atk8F_forcerandomswitch(void) } while (i == gBattlePartyID[gBankTarget] || !MON_CAN_BATTLE(&party[i])); } } - ewram[gBankTarget + 0x16068] = i; + ewram16068arr(gBankTarget) = i; if (!IsLinkDoubleBattle()) sub_8012258(gBankTarget); sub_8094B6C(gBankTarget, i, 0); @@ -15430,7 +15424,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void) gBankTarget = GetBankByPlayerAI(2); } - if (gActionForBanks[gBankTarget] == 0 && gBankAttacker == ewram[gBankTarget + 0x16010] && !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) + if (gActionForBanks[gBankTarget] == 0 && gBankAttacker == ewram16010arr(gBankTarget) && !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) && gBattleMons[gBankAttacker].hp && !gDisableStructs[gBankTarget].truantCounter && gChosenMovesByBanks[gBankTarget] == MOVE_PURSUIT) { int i; @@ -15499,11 +15493,11 @@ static void atkBE_breakfree(void) //rapid spin if (gBattleMons[gBankAttacker].status2 & STATUS2_WRAPPED) { gBattleMons[gBankAttacker].status2 &= ~(STATUS2_WRAPPED); - gBankTarget = ewram[gBankAttacker + 0x16020]; + gBankTarget = ewram16020arr(gBankAttacker); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram[gBankAttacker * 2 + 0x16004]; - gBattleTextBuff1[3] = ewram[gBankAttacker * 2 + 0x16005]; + gBattleTextBuff1[2] = ewram16004arr(0, gBankAttacker); + gBattleTextBuff1[3] = ewram16004arr(1, gBankAttacker); gBattleTextBuff1[4] = 0xFF; b_movescr_stack_push_cursor(); gBattlescriptCurrInstr = BattleScript_WrapFree; @@ -16983,7 +16977,7 @@ static void atkE1_intimidate_string_loader(void) { u8 side; - BATTLE_STRUCT->scriptingActive = ewram[0x160dd]; + BATTLE_STRUCT->scriptingActive = ewram160DD; side = GetBankSide(BATTLE_STRUCT->scriptingActive); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 9; @@ -17011,7 +17005,7 @@ static void atkE2_switchout_abilities(void) { case ABILITY_NATURAL_CURE: gBattleMons[gActiveBank].status1 = 0; - EmitSetAttributes(0, REQUEST_STATUS_BATTLE, gBitTable[ewram[gActiveBank + 0x16064]], 4, &gBattleMons[gActiveBank].status1); + EmitSetAttributes(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBank)], 4, &gBattleMons[gActiveBank].status1); MarkBufferBankForExecution(gActiveBank); break; } diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index aeac41750..5145d4980 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -953,8 +953,8 @@ static void BattleAICmd_is_most_powerful_move(void) && sDiscouragedPowerfulMoveEffects[i] == 0xFFFF) { gDynamicBasePower = 0; - ewram[0x1601C] = 0; // why is this a manual array? - ewram[0x1601F] = 1; + eDynamicMoveType = 0; + eDmgMultiplier = 1; gBattleMoveFlags = 0; gCritMultiplier = 1; @@ -1999,8 +1999,7 @@ static void BattleAICmd_get_used_item(void) else index = gBankTarget; - // this hack and a half matches. whatever. i dont care. someone else fix this mess later. PS: still cant fix this. - AI_THINKING_STRUCT->funcResult = ewram[MULTI_DIM_ARR(index, B_16, 0x160CC)]; + AI_THINKING_STRUCT->funcResult = AI_ARRAY_160CC(index); gAIScriptPtr += 2; } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 94ae43461..823d6702a 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1674,7 +1674,7 @@ _0803558A:\n\ void OpponentHandleOpenBag(void) { // What is this? - Emitcmd35(1, ewram[0x160D4 + gActiveBank / 2 * 2]); + Emitcmd35(1, ewram160D4(gActiveBank)); OpponentBufferExecCompleted(); } @@ -1682,7 +1682,7 @@ void OpponentHandlecmd22(void) { s32 r4; - if (ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2] == 6) + if (ewram160C8arr(GetBankIdentity(gActiveBank)) == 6) { u8 r6; u8 r5; @@ -1711,10 +1711,10 @@ void OpponentHandlecmd22(void) } else { - r4 = ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2]; - ewram[0x160C8 + GetBankIdentity(gActiveBank) / 2] = 6; + r4 = ewram160C8arr(GetBankIdentity(gActiveBank)); + ewram160C8arr(GetBankIdentity(gActiveBank)) = 6; } - ewram[0x16068 + gActiveBank] = r4; + ewram16068arr(gActiveBank) = r4; Emitcmd34(1, r4, 0); OpponentBufferExecCompleted(); } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index f2fa16593..1aa73e90c 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -2645,9 +2645,9 @@ void PlayerHandlecmd22(void) gUnknown_0300434C[gActiveBank] = CreateTask(TaskDummy, 0xFF); gTasks[gUnknown_0300434C[gActiveBank]].data[0] = gBattleBufferA[gActiveBank][1] & 0xF; - ewram[0x16054] = gBattleBufferA[gActiveBank][1] >> 4; - ewram[0x1609D] = gBattleBufferA[gActiveBank][2]; - ewram[0x160C0] = gBattleBufferA[gActiveBank][3]; + ewram16054 = gBattleBufferA[gActiveBank][1] >> 4; + EWRAM_1609D = gBattleBufferA[gActiveBank][2]; + ewram160C0 = gBattleBufferA[gActiveBank][3]; for (i = 0; i < 3; i++) gUnknown_02038470[i] = gBattleBufferA[gActiveBank][4 + i]; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index be065e071..9392832d7 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -240,10 +240,10 @@ void unref_sub_8137220(void) void SetBankFuncToWallyBufferRunCommand(void) { gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; - ewram[0x160A8] = 0; - ewram[0x160A9] = 0; - ewram[0x160AA] = 0; - ewram[0x160AB] = 0; + ewram160A8 = 0; + ewram160A9 = 0; + ewram160AA = 0; + ewram160AB = 0; } void WallyBufferRunCommand(void) @@ -261,59 +261,59 @@ void sub_81372BC(void) { u8 r4; - switch (ewram[0x160A8]) + switch (ewram160A8) { case 0: - ewram[0x160AA] = 64; - ewram[0x160A8]++; + ewram160AA = 64; + ewram160A8++; // fall through case 1: - r4 = --ewram[0x160AA]; + r4 = --ewram160AA; if (r4 == 0) { PlaySE(SE_SELECT); Emitcmd33(1, 0, 0); WallyBufferExecCompleted(); - ewram[0x160A8]++; - ewram[0x160A9] = r4; - ewram[0x160AA] = 64; + ewram160A8++; + ewram160A9 = r4; + ewram160AA = 64; } break; case 2: - r4 = --ewram[0x160AA]; + r4 = --ewram160AA; if (r4 == 0) { PlaySE(SE_SELECT); Emitcmd33(1, 0, 0); WallyBufferExecCompleted(); - ewram[0x160A8]++; - ewram[0x160A9] = r4; - ewram[0x160AA] = 64; + ewram160A8++; + ewram160A9 = r4; + ewram160AA = 64; } break; case 3: - r4 = --ewram[0x160AA]; + r4 = --ewram160AA; if (r4 == 0) { Emitcmd33(1, 9, 0); WallyBufferExecCompleted(); - ewram[0x160A8]++; - ewram[0x160A9] = r4; - ewram[0x160AA] = 64; + ewram160A8++; + ewram160A9 = r4; + ewram160AA = 64; } break; case 4: - if (--ewram[0x160AA] == 0) + if (--ewram160AA == 0) { PlaySE(SE_SELECT); nullsub_8(0); sub_802E3E4(1, 0); - ewram[0x160AA] = 64; - ewram[0x160A8]++; + ewram160AA = 64; + ewram160A8++; } break; case 5: - if (--ewram[0x160AA] == 0) + if (--ewram160AA == 0) { PlaySE(SE_SELECT); DestroyMenuCursor(); @@ -1291,16 +1291,16 @@ void WallyHandlecmd19(void) void WallyHandlecmd20(void) { - switch (ewram[0x160A9]) + switch (ewram160A9) { case 0: sub_80304A8(); - ewram[0x160A9]++; - ewram[0x160AB] = 80; + ewram160A9++; + ewram160AB = 80; // fall through case 1: - ewram[0x160AB]--; - if (ewram[0x160AB] == 0) + ewram160AB--; + if (ewram160AB == 0) { DestroyMenuCursor(); PlaySE(SE_SELECT); diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 831839d9b..09837bfee 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -995,8 +995,8 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) } //_08044486 r5 = gSprites[a].data5; - ConvertIntToDecimalStringN(str + 6, ewram[0x16089], 1, 2); - ConvertIntToDecimalStringN(str + 9, ewram[0x16088], 1, 2); + ConvertIntToDecimalStringN(str + 6, ewram16089, 1, 2); + ConvertIntToDecimalStringN(str + 9, ewram16088, 1, 2); str[5] = 0; str[8] = 0xBA; sub_80034D4((u8 *)0x02000000, str); diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c index f98c065b0..4e8067a49 100644 --- a/src/battle/battle_message.c +++ b/src/battle/battle_message.c @@ -652,7 +652,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) if (gTrainerBattleOpponent == 0x400) { memset(text, 0xFF, 8); - memcpy(text, &ewram[0x17002], 7); + memcpy(text, ewram17002, 7); toCpy = text; } else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c index 5562da462..d0a9bfb92 100644 --- a/src/battle/battle_transition.c +++ b/src/battle/battle_transition.c @@ -1733,8 +1733,8 @@ static void Mugshots_CreateOpponentPlayerSprites(struct Task* task) task->tMugshotOpponentID = CreateTrainerSprite(sMugshotsTrainerPicIDsTable[mugshotID], sMugshotsOpponentCoords[mugshotID][0] - 32, sMugshotsOpponentCoords[mugshotID][1] + 42, - 0, &ewram[0xC03C]); - task->tMugshotPlayerID = CreateTrainerSprite(gSaveBlock2.playerGender, 272, 106, 0, &ewram[0xC03C]); + 0, ewramC03C); + task->tMugshotPlayerID = CreateTrainerSprite(gSaveBlock2.playerGender, 272, 106, 0, ewramC03C); opponentSprite = &gSprites[task->tMugshotOpponentID]; playerSprite = &gSprites[task->tMugshotPlayerID]; diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index 0a495c37a..765ec1f26 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -45,7 +45,7 @@ extern u8 gUnknown_083C9282[]; extern const u8 gUnknown_083C928E[][2]; extern u8 gUnknown_083C9296[]; extern u8 gUnknown_083C92A8[]; -extern u8 unk_2000000[]; // TODO: use ewram +extern u8 ewram[]; extern u8 gMatsudaDebugMenu_GoBackText[]; extern u8 gMatsudaDebugMenu_BattlePointsText[]; extern u8 gMatsudaDebugMenu_StartText[]; @@ -414,14 +414,14 @@ void sub_80AA280(u8 var) // no? u8 i; FillWindowRect_DefaultPalette(&gMenuWindow, 0, 0, 0, 0x1E, 3); - StringCopy(unk_2000000, gMatsudaDebugMenu_StartText); - StringAppend(unk_2000000, &gUnknown_0203857D[var][0]); + StringCopy(ewram, gMatsudaDebugMenu_StartText); + StringAppend(ewram, &gUnknown_0203857D[var][0]); for (i = 0; i < 4; i++) { if (var == i) { - sub_8003460(&gMenuWindow, unk_2000000, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); + sub_8003460(&gMenuWindow, ewram, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); } else { @@ -433,38 +433,38 @@ void sub_80AA280(u8 var) // no? static void sub_80AA340(u8 var) { - ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].cool, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]); + ConvertIntToDecimalStringN(ewram, gContestMons[var].cool, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]); } static void sub_80AA388(u8 var) { - ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].cute, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]); + ConvertIntToDecimalStringN(ewram, gContestMons[var].cute, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]); } static void sub_80AA3D0(u8 var) { - ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].beauty, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]); + ConvertIntToDecimalStringN(ewram, gContestMons[var].beauty, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]); } static void sub_80AA418(u8 var) { - ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].smart, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]); + ConvertIntToDecimalStringN(ewram, gContestMons[var].smart, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]); } static void sub_80AA460(u8 var) { - ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].tough, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]); + ConvertIntToDecimalStringN(ewram, gContestMons[var].tough, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]); } static void sub_80AA4A8(u8 var) { - ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].sheen, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]); + ConvertIntToDecimalStringN(ewram, gContestMons[var].sheen, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]); } static void sub_80AA4F0(u8 var1, u8 var2) @@ -489,8 +489,8 @@ static void sub_80AA614(u8 var1, u8 var2) { u16 var = sub_80AE770(var1, var2); - ConvertIntToDecimalStringN(unk_2000000, var, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0xE2, 3, 0xC); + ConvertIntToDecimalStringN(ewram, var, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, ewram, 0xE2, 3, 0xC); } void sub_80AA658(u8 var) @@ -739,7 +739,7 @@ void sub_80AACC4(void) { SetDebugMonForContest(); if (!(gIsLinkContest & 1)) - sub_80AE82C(unk_2000000[0]); + sub_80AE82C(ewram[0]); SetMainCallback2(sub_80AB47C); } } @@ -748,7 +748,7 @@ void sub_80AAD08(struct Sprite *sprite, s8 var2) { if (var2 == 1) { - unk_2000000[0] = sprite->data3; + ewram[0] = sprite->data3; SetMainCallback2(sub_80AACC4); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } diff --git a/src/engine/main_menu.c b/src/engine/main_menu.c index e0af86f3d..3a343a0de 100644 --- a/src/engine/main_menu.c +++ b/src/engine/main_menu.c @@ -54,7 +54,7 @@ extern const u8 gUnknown_081E796C[]; extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E79AC[]; -extern u8 unk_2000000[]; +extern u8 ewram[]; //Menu layouts enum @@ -1419,14 +1419,14 @@ void AddBirchSpeechObjects(u8 taskId) gTasks[taskId].tAzurillSpriteId = spriteId; //Create Brendan sprite - spriteId = CreateTrainerSprite(0, 120, 60, 0, unk_2000000); + spriteId = CreateTrainerSprite(0, 120, 60, 0, ewram); gSprites[spriteId].callback = nullsub_34; gSprites[spriteId].invisible = 1; gSprites[spriteId].oam.priority = 0; gTasks[taskId].tBrendanSpriteId = spriteId; //Create May sprite - spriteId = CreateTrainerSprite(1, 120, 60, 0, unk_2000000 + 0x800); + spriteId = CreateTrainerSprite(1, 120, 60, 0, ewram + 0x800); gSprites[spriteId].callback = nullsub_34; gSprites[spriteId].invisible = 1; gSprites[spriteId].oam.priority = 0; diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 0e48dc177..d70414da4 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -14,7 +14,7 @@ #include "task.h" #include "text.h" -extern u8 unk_2000000[]; +extern u8 ewram[]; static EWRAM_DATA u8 gUnknown_02039338 = 0; @@ -287,8 +287,8 @@ static void CB2_MysteryEventMenu(void) case 11: if (gReceivedRemoteLinkPlayers) break; - unkVal = RunMysteryEventScript(unk_2000000); - CpuFill32(0, unk_2000000, 0x7D4); + unkVal = RunMysteryEventScript(ewram); + CpuFill32(0, ewram, 0x7D4); if (!GetEventLoadMessage(gStringVar4, unkVal)) TrySavingData(NORMAL_SAVE); gMain.state++; diff --git a/src/engine/save.c b/src/engine/save.c index 5ea949cae..57678dd8f 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -11,7 +11,7 @@ #define GETBLOCKOFFSET(n) (0xF80 * (n - 1)) #define TOTALNUMSECTORS ((ARRAY_COUNT(gSaveSectionLocations) * 2) + (ARRAY_COUNT(gHallOfFameSaveSectionLocations) * 2)) // there are 2 slots, so double each array count and get the sum. -extern struct SaveSection unk_2000000; // slow save RAM +extern struct SaveSection ewram; // slow save RAM u16 gLastWrittenSector; u32 gLastSaveCounter; @@ -95,7 +95,7 @@ u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location) u32 retVal; u16 i; - gFastSaveSection = &unk_2000000; + gFastSaveSection = &ewram; if (a1 != 0xFFFF) // for link { @@ -156,7 +156,7 @@ u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location) u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size) { u16 i; - struct SaveSection *section = &unk_2000000; + struct SaveSection *section = &ewram; for (i = 0; i < sizeof(struct SaveSection); i++) ((char *)section)[i] = 0; @@ -186,7 +186,7 @@ u8 TryWriteSector(u8 sector, u8 *data) u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location) // location is unused { - gFastSaveSection = &unk_2000000; + gFastSaveSection = &ewram; gLastKnownGoodSector = gLastWrittenSector; gLastSaveCounter = gSaveCounter; gLastWrittenSector++; @@ -199,7 +199,7 @@ u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) // only ever called once, and gSaveBlock2 is passed to this function. location is unused { - gFastSaveSection = &unk_2000000; + gFastSaveSection = &ewram; gLastKnownGoodSector = gLastWrittenSector; gLastSaveCounter = gSaveCounter; gUnknown_03005EB4 = 0; @@ -369,7 +369,7 @@ u8 sub_81257F0(u16 a1, const struct SaveSectionLocation *location) u8 sub_812587C(u16 a1, const struct SaveSectionLocation *location) { u8 retVal; - gFastSaveSection = &unk_2000000; + gFastSaveSection = &ewram; if (a1 != 0xFFFF) { retVal = 0xFF; @@ -537,7 +537,7 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location) u8 sub_8125B88(u8 a1, u8 *data, u16 size) { u16 i; - struct SaveSection *section = &unk_2000000; + struct SaveSection *section = &ewram; DoReadFlashWholeSection(a1, section); if (section->security == UNKNOWN_CHECK_VALUE) { @@ -764,7 +764,7 @@ u8 unref_sub_8125FA0(void) u8 unref_sub_8125FF0(u8 *data, u16 size) { u16 i; - struct UnkSaveSection *section = (struct UnkSaveSection *)&unk_2000000; + struct UnkSaveSection *section = (struct UnkSaveSection *)&ewram; for (i = 0; i < sizeof(struct SaveSection); i++) ((char *)section)[i] = 0; diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 17bda237e..d194c1625 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -22,7 +22,7 @@ #define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) -extern u8 unk_2000000[]; +extern u8 ewram[]; static EWRAM_DATA u16 gSaveFailedType = 0; static EWRAM_DATA u16 gSaveFailedClockInfo[9] = {0}; @@ -267,7 +267,7 @@ static void VBlankCB_UpdateClockGraphics(void) static bool8 VerifySectorWipe(u16 sector) { - u32 *ptr = (u32 *)&unk_2000000; + u32 *ptr = (u32 *)&ewram; u16 i; ReadFlash(sector, 0, ptr, 4096); diff --git a/src/field/berry_tag_screen.c b/src/field/berry_tag_screen.c index 1413a02ca..8241fe657 100644 --- a/src/field/berry_tag_screen.c +++ b/src/field/berry_tag_screen.c @@ -28,7 +28,7 @@ struct Struct2000000 /*0x1FFFF*/ u8 var_1FFFF; }; -extern struct Struct2000000 unk_2000000; +extern struct Struct2000000 ewram; extern u16 gUnknown_030041B4; static EWRAM_DATA u8 gUnknown_0203932C = 0; @@ -119,13 +119,13 @@ static bool8 sub_8146058(void) case 5: if (!MultistepInitMenuWindowContinue()) break; - unk_2000000.var_1FFFF = 0; + ewram.var_1FFFF = 0; gMain.state += 1; break; case 6: if (!sub_81462B8()) break; - unk_2000000.var_1FFFF = 0; + ewram.var_1FFFF = 0; gMain.state += 1; break; case 7: @@ -191,19 +191,19 @@ bool8 sub_81462B8(void) u16 i; void *addr; - switch (unk_2000000.var_1FFFF) + switch (ewram.var_1FFFF) { case 0: LZDecompressVram(gBerryCheck_Gfx, (void *)VRAM); - unk_2000000.var_1FFFF += 1; + ewram.var_1FFFF += 1; break; case 1: LZDecompressVram(gUnknown_08E788E4, (void *)VRAM + 0x2800); - unk_2000000.var_1FFFF += 1; + ewram.var_1FFFF += 1; break; case 2: LZDecompressVram(gUnknown_08E78A84, (void *)VRAM + 0x3000); - unk_2000000.var_1FFFF += 1; + ewram.var_1FFFF += 1; break; case 3: for (i = 0; i < 0x400; i++) @@ -215,19 +215,19 @@ bool8 sub_81462B8(void) } addr = (void *)(VRAM + 0x3800); DmaCopy16(3, gBGTilemapBuffers[2], addr, 0x800); - unk_2000000.var_1FFFF += 1; + ewram.var_1FFFF += 1; break; case 4: LoadCompressedPalette(gBerryCheck_Pal, 0, 96 * 2); - unk_2000000.var_1FFFF += 1; + ewram.var_1FFFF += 1; break; case 5: LoadCompressedObjectPic(&gUnknown_083C1F74); - unk_2000000.var_1FFFF += 1; + ewram.var_1FFFF += 1; break; case 6: LoadCompressedObjectPalette(&gUnknown_083C1F7C); - unk_2000000.var_1FFFF = 0; + ewram.var_1FFFF = 0; return TRUE; } diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 153970337..4d97ccb51 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -15,7 +15,7 @@ struct UnkStruct1 { /*0x02*/ s16 unk02; }; -extern struct UnkStruct2000000 unk_2000000; +extern struct UnkStruct2000000 ewram; extern struct UnkStruct1 *gUnknown_083ED048[]; extern const u16 gPalette_83EDE24[]; @@ -40,7 +40,7 @@ void sub_8104CAC(u8 arg0) { sub_8104DA4(); - task = &gTasks[unk_2000000.unk3D]; + task = &gTasks[ewram.unk3D]; task->data[1] = arg0; i = 0; diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 0c0d14d7a..9a92f379d 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -16,7 +16,7 @@ //Extracts the lower 16 bits of a 32-bit number #define LOHALF(n) ((n) & 0xFFFF) -extern u8 unk_2000000[]; +extern u8 ewram[]; extern u16 gMoveToLearn; static EWRAM_DATA u8 sLearningMoveTableID = 0; @@ -436,9 +436,9 @@ void CalculateMonStats(struct Pokemon *mon) newMaxHP = (((n + hpEV / 4) * level) / 100) + level + 10; } - unk_2000000[0x160FA] = newMaxHP - oldMaxHP; - if (unk_2000000[0x160FA] == 0) - unk_2000000[0x160FA] = 1; + ewram[0x160FA] = newMaxHP - oldMaxHP; + if (ewram[0x160FA] == 0) + ewram[0x160FA] = 1; SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index 3662efdec..928b59760 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -13,7 +13,7 @@ #include "text.h" #include "unknown_task.h" -extern u8 unk_2000000[]; +extern u8 ewram[]; static u8 gUnknown_03000750; static u16 gUnknown_03000752; @@ -184,15 +184,15 @@ static void ShowContestPainting(void) case 2: SeedRng(gMain.vblankCounter1); InitKeys(); - ContestPaintingInitWindow(unk_2000000[0x15DDF]); + ContestPaintingInitWindow(ewram[0x15DDF]); gMain.state++; break; case 3: - sub_8107090(unk_2000000[0x15DDE], unk_2000000[0x15DDF]); + sub_8107090(ewram[0x15DDE], ewram[0x15DDF]); gMain.state++; break; case 4: - ContestPaintingPrintCaption(unk_2000000[0x15DDE], unk_2000000[0x15DDF]); + ContestPaintingPrintCaption(ewram[0x15DDE], ewram[0x15DDF]); LoadPalette(gUnknown_083F6140, 0, 1 * 2); DmaClear32(3, PLTT, 0x400); BeginFastPaletteFade(2); diff --git a/src/scene/intro.c b/src/scene/intro.c index a6dd23c92..af9b565a3 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -1207,7 +1207,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId) gTasks[taskId].func = Task_IntroLoadPart3Streaks; } -extern u8 unk_2000000[][32]; +extern u8 ewram[][32]; static void Task_IntroLoadPart3Streaks(u8 taskId) { @@ -1217,12 +1217,12 @@ static void Task_IntroLoadPart3Streaks(u8 taskId) intro_reset_and_hide_bgs(); for (i = 0; i < 32; i++) { - unk_2000000[0][i] = 0; - unk_2000000[1][i] = 17; - unk_2000000[2][i] = 34; + ewram[0][i] = 0; + ewram[1][i] = 17; + ewram[2][i] = 34; } vram = (void *)VRAM; - DmaCopy16(3, unk_2000000, vram, 0x60); + DmaCopy16(3, ewram, vram, 0x60); for (i = 0; i < 0x280; i++) ((u16 *)(VRAM + 0x3000))[i] = 0xF001; for (i = 0; i < 0x80; i++) -- cgit v1.2.3 From 5711615c6067e49c3254f9568be55dc6ed3d5c2f Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Mon, 6 Nov 2017 03:46:09 -0500 Subject: finish refactoring ewram defines into ewram.h. --- src/battle/battle_2.c | 8 ++-- src/battle/battle_4.c | 12 ++--- src/battle/battle_7.c | 12 ++--- src/battle/battle_party_menu.c | 2 +- src/debug/matsuda_debug_menu.c | 6 +-- src/engine/main_menu.c | 7 ++- src/engine/mystery_event_menu.c | 3 +- src/engine/save_failed_screen.c | 3 +- src/field/dewford_trend.c | 2 - src/field/pokeblock.c | 18 +++---- src/pokemon/learn_move.c | 6 +-- src/pokemon/pokeblock_feed.c | 32 ++++++------- src/pokemon/pokemon_1.c | 8 ++-- src/pokemon/pokemon_menu.c | 1 - src/rom3.c | 46 +++++++++--------- src/scene/berry_blender.c | 22 ++++----- src/scene/contest_painting.c | 9 ++-- src/scene/egg_hatch.c | 10 ++-- src/scene/hall_of_fame.c | 102 ++++++++++++++++++++-------------------- src/scene/intro.c | 1 + 20 files changed, 153 insertions(+), 157 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 38c60dee1..8d27750bd 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -2290,7 +2290,7 @@ void sub_8012258(u8 a) u8 r1; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = ewram1606Carr(i, a, 3); + gUnknown_02038470[i] = ewram1606Carr(i, a); r4 = pokemon_order_func(gBattlePartyID[a]); r1 = pokemon_order_func(ewram16068arr(a)); sub_8094C98(r4, r1); @@ -2298,15 +2298,15 @@ void sub_8012258(u8 a) { for (i = 0; i < 3; i++) { - ewram1606Carr(i, a, 3) = gUnknown_02038470[i]; - ewram1606Carr(i, (a ^ 2), 3) = gUnknown_02038470[i]; + ewram1606Carr(i, a) = gUnknown_02038470[i]; + ewram1606Carr(i, (a ^ 2)) = gUnknown_02038470[i]; } } else { for (i = 0; i < 3; i++) { - ewram1606Carr(i, a, 3) = gUnknown_02038470[i]; + ewram1606Carr(i, a) = gUnknown_02038470[i]; } } } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 5c028d86b..d7ca298c3 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -10768,12 +10768,12 @@ static void atk51_switch_handle_order(void) ewram16068arr(gActiveBank) = gBattleBufferB[gActiveBank][1]; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - ewram1606Carr(0, gActiveBank, 3) &= 0xF; - ewram1606Carr(0, gActiveBank, 3) |= (gBattleBufferB[gActiveBank][2] & 0xF0); - ewram1606Carr(1, gActiveBank, 3) = gBattleBufferB[gActiveBank][3]; - ewram1606Carr(0, (gActiveBank ^ 2), 3) &= (0xF0); - ewram1606Carr(0, (gActiveBank ^ 2), 3) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - ewram1606Carr(2, (gActiveBank ^ 2), 3) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, gActiveBank) &= 0xF; + ewram1606Carr(0, gActiveBank) |= (gBattleBufferB[gActiveBank][2] & 0xF0); + ewram1606Carr(1, gActiveBank) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, (gActiveBank ^ 2)) &= (0xF0); + ewram1606Carr(0, (gActiveBank ^ 2)) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; + ewram1606Carr(2, (gActiveBank ^ 2)) = gBattleBufferB[gActiveBank][3]; } else sub_8012258(gActiveBank); diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 6c0a4489c..4ca1baa53 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -309,8 +309,8 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; - LZDecompressWram(lzPaletteData, ewram + 0x16400); - LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); + LZDecompressWram(lzPaletteData, ewram16400); + LoadPalette(ewram16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); } if (ewram17800[b].transformedSpecies != 0) { @@ -361,8 +361,8 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; - LZDecompressWram(lzPaletteData, ewram + 0x16400); - LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); + LZDecompressWram(lzPaletteData, ewram16400); + LoadPalette(ewram16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); } if (ewram17800[b].transformedSpecies != 0) { @@ -622,7 +622,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) { StartSpriteAnim(&gSprites[gObjectBankIDs[a]], ewram17840.unk0); paletteOffset = 0x100 + a * 16; - LoadPalette(ewram + 0x16400 + ewram17840.unk0 * 32, paletteOffset, 32); + LoadPalette(ewram16400 + ewram17840.unk0 * 32, paletteOffset, 32); gBattleMonForms[a] = ewram17840.unk0; if (ewram17800[a].transformedSpecies != 0) { @@ -694,7 +694,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) LoadPalette(ewram, paletteOffset, 32); if (species == SPECIES_CASTFORM) { - u16 *paletteSrc = (u16 *)(ewram + 0x16400); + u16 *paletteSrc = (u16 *)ewram16400; // TODO: avoid casting? LZDecompressWram(lzPaletteData, paletteSrc); LoadPalette(paletteSrc + gBattleMonForms[b] * 16, paletteOffset, 32); diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index ab8b7a694..97e9dc0fc 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -204,7 +204,7 @@ void sub_8094B6C(u8 a, u8 b, u8 c) if (IsLinkDoubleBattle()) { - u8 *arr = ewram + 0x1606C + a * 3; + u8 *arr = &ewram1606Carr(0, a); for (i = 0, j = 0; i < 3; i++) { diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index 765ec1f26..ab96ada23 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -15,6 +15,7 @@ #include "task.h" #include "text.h" #include "unknown_task.h" +#include "ewram.h" extern u8 gUnknown_0203856C; extern u8 gUnknown_0203857D[][64]; @@ -45,7 +46,6 @@ extern u8 gUnknown_083C9282[]; extern const u8 gUnknown_083C928E[][2]; extern u8 gUnknown_083C9296[]; extern u8 gUnknown_083C92A8[]; -extern u8 ewram[]; extern u8 gMatsudaDebugMenu_GoBackText[]; extern u8 gMatsudaDebugMenu_BattlePointsText[]; extern u8 gMatsudaDebugMenu_StartText[]; @@ -739,7 +739,7 @@ void sub_80AACC4(void) { SetDebugMonForContest(); if (!(gIsLinkContest & 1)) - sub_80AE82C(ewram[0]); + sub_80AE82C(eMatsudaDebugVar); SetMainCallback2(sub_80AB47C); } } @@ -748,7 +748,7 @@ void sub_80AAD08(struct Sprite *sprite, s8 var2) { if (var2 == 1) { - ewram[0] = sprite->data3; + eMatsudaDebugVar = sprite->data3; SetMainCallback2(sub_80AACC4); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } diff --git a/src/engine/main_menu.c b/src/engine/main_menu.c index 3a343a0de..bfbf0dcd6 100644 --- a/src/engine/main_menu.c +++ b/src/engine/main_menu.c @@ -22,6 +22,7 @@ #include "text.h" #include "title_screen.h" #include "unknown_task.h" +#include "ewram.h" #define BirchSpeechUpdateWindowText() ((u8)MenuUpdateWindowText_OverrideLineLength(24)) @@ -54,8 +55,6 @@ extern const u8 gUnknown_081E796C[]; extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E79AC[]; -extern u8 ewram[]; - //Menu layouts enum { @@ -1419,14 +1418,14 @@ void AddBirchSpeechObjects(u8 taskId) gTasks[taskId].tAzurillSpriteId = spriteId; //Create Brendan sprite - spriteId = CreateTrainerSprite(0, 120, 60, 0, ewram); + spriteId = CreateTrainerSprite(0, 120, 60, 0, eBrendanSprite); gSprites[spriteId].callback = nullsub_34; gSprites[spriteId].invisible = 1; gSprites[spriteId].oam.priority = 0; gTasks[taskId].tBrendanSpriteId = spriteId; //Create May sprite - spriteId = CreateTrainerSprite(1, 120, 60, 0, ewram + 0x800); + spriteId = CreateTrainerSprite(1, 120, 60, 0, eMaySprite); gSprites[spriteId].callback = nullsub_34; gSprites[spriteId].invisible = 1; gSprites[spriteId].oam.priority = 0; diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index d70414da4..38912be86 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -13,8 +13,7 @@ #include "strings2.h" #include "task.h" #include "text.h" - -extern u8 ewram[]; +#include "ewram.h" static EWRAM_DATA u8 gUnknown_02039338 = 0; diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index d194c1625..06505c0c2 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -11,6 +11,7 @@ #include "strings.h" #include "task.h" #include "text.h" +#include "ewram.h" // In English 1.0, the text window is too small, causing text to overflow. @@ -22,8 +23,6 @@ #define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) -extern u8 ewram[]; - static EWRAM_DATA u16 gSaveFailedType = 0; static EWRAM_DATA u16 gSaveFailedClockInfo[9] = {0}; diff --git a/src/field/dewford_trend.c b/src/field/dewford_trend.c index 5f4d5abfe..102784066 100644 --- a/src/field/dewford_trend.c +++ b/src/field/dewford_trend.c @@ -7,8 +7,6 @@ #include "text.h" #include "ewram.h" -extern u8 ewram[]; - extern u16 gScriptResult; extern u16 gSpecialVar_0x8004; diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index e5084da18..a4497295f 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -299,7 +299,7 @@ static bool8 sub_810B6C0(void) case 10: if (MultistepInitMenuWindowContinue()) { - ewram[0x1ffff] = 0; + ewram1FFFF = 0; gMain.state++; } break; @@ -317,7 +317,7 @@ static bool8 sub_810B6C0(void) gMain.state++; break; case 13: - ewram[0x1fffe] = sub_810BA50(0x38, 0x40, 0); + ewram1FFFE = sub_810BA50(0x38, 0x40, 0); gMain.state++; break; case 14: @@ -369,27 +369,27 @@ void sub_810B96C(void) static bool8 sub_810B998(void) { - switch (ewram[0x1ffff]) + switch (ewram1FFFF) { case 0: LZDecompressVram(gMenuPokeblock_Gfx, BG_CHAR_ADDR(2)); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 1: LZDecompressWram(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 2: LoadCompressedPalette(gMenuPokeblock_Pal, 0, 0xc0); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 3: LoadCompressedObjectPic(&gUnknown_083F7F74); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 4: LoadCompressedObjectPalette(&gUnknown_083F7F7C); - ewram[0x1ffff] = 0; + ewram1FFFF = 0; return TRUE; } return FALSE; @@ -611,7 +611,7 @@ static void sub_810BDAC(bool8 flag) static void sub_810BF38(bool8 flag) { PlaySE(SE_SELECT); - gSprites[ewram[0x1fffe]].callback = sub_810C8D4; + gSprites[ewram1FFFE].callback = sub_810C8D4; sub_810BDAC(flag); } diff --git a/src/pokemon/learn_move.c b/src/pokemon/learn_move.c index 33252c66b..a47896ea5 100644 --- a/src/pokemon/learn_move.c +++ b/src/pokemon/learn_move.c @@ -16,8 +16,8 @@ #include "strings2.h" #include "task.h" #include "trig.h" +#include "ewram.h" -extern u8 ewram[]; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; extern u8 gTileBuffer[]; @@ -277,7 +277,7 @@ void CB2_InitLearnMove(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); - sLearnMoveStruct = (struct LearnMoveStruct *)(ewram + 0x17000); + sLearnMoveStruct = eLearnMoveStruct; ClearLearnMoveVars(); sLearnMoveStruct->partyMon = gSpecialVar_0x8004; sub_8133558(); @@ -312,7 +312,7 @@ void sub_81327A4(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); - sLearnMoveStruct = (struct LearnMoveStruct *)(ewram + 0x17000); + sLearnMoveStruct = eLearnMoveStruct; sub_8133558(); sLearnMoveStruct->unk2C6 = gSpecialVar_0x8005; SetVBlankCallback(VBlankCB_LearnMove); diff --git a/src/pokemon/pokeblock_feed.c b/src/pokemon/pokeblock_feed.c index b0b710803..5f218a6f6 100644 --- a/src/pokemon/pokeblock_feed.c +++ b/src/pokemon/pokeblock_feed.c @@ -540,7 +540,7 @@ static bool8 TransitionToPokeblockFeedScene(void) case 6: if (MultistepInitMenuWindowContinue()) { - ewram[0x1FFFF] = 0; + ewram1FFFF = 0; gMain.state++; } break; @@ -551,11 +551,11 @@ static bool8 TransitionToPokeblockFeedScene(void) } break; case 8: - ewram[0x1FFFD] = sub_81480B4(); + ewram1FFFD = sub_81480B4(); gMain.state++; break; case 9: - ewram[0x1FFFE] = PokeblockFeed_CreatePokeSprite(&gPlayerParty[gPokeblockMonID]); + ewram1FFFE = PokeblockFeed_CreatePokeSprite(&gPlayerParty[gPokeblockMonID]); gMain.state++; break; case 10: @@ -611,13 +611,13 @@ static bool8 sub_8147B20(struct Pokemon* mon) { u16 species; u32 PiD, TiD; - switch (ewram[0x1FFFF]) + switch (ewram1FFFF) { case 0: species = GetMonData(mon, MON_DATA_SPECIES2); PiD = GetMonData(mon, MON_DATA_PERSONALITY); HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, 0x2000000, gUnknown_081FAF4C[1], species, PiD); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 1: { @@ -629,37 +629,37 @@ static bool8 sub_8147B20(struct Pokemon* mon) palette = GetMonSpritePalStructFromOtIdPersonality(species, TiD, PiD); LoadCompressedObjectPalette(palette); GetMonSpriteTemplate_803C56C(palette->tag, 1); - ewram[0x1FFFF]++; + ewram1FFFF++; } break; case 2: LoadCompressedObjectPic(&gUnknown_083F7F74); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 3: LoadCompressedObjectPalette(&gUnknown_083F7F7C); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 4: LoadCompressedObjectPic(&sUnknown_084121DC); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 5: SetPokeblockFeedSpritePal(gScriptItemId); LoadCompressedObjectPalette(&sPokeblockFeedSpritePal); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 6: LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM)); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 7: LZDecompressVram(gUnknown_08E782FC, (void*)(VRAM + 0xE800)); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 8: LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - ewram[0x1FFFF] = 0; + ewram1FFFF = 0; return TRUE; } return FALSE; @@ -684,13 +684,13 @@ static void sub_8147CC8(u8 taskID) sub_81481DC(); break; case 255: - sub_8148108(ewram[0x1FFFD], gTasks[taskID].data[1]); + sub_8148108(ewram1FFFD, gTasks[taskID].data[1]); break; case 269: - ewram[0x1FFFC] = CreatePokeblockSprite(); + ewram1FFFC = CreatePokeblockSprite(); break; case 281: - sub_8148044(ewram[0x1FFFE]); + sub_8148044(ewram1FFFE); break; case 297: gTasks[taskID].func = Task_PrintAtePokeblockText; diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 9a92f379d..750a9892a 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -9,6 +9,7 @@ #include "sprite.h" #include "string_util.h" #include "text.h" +#include "ewram.h" //Extracts the upper 16 bits of a 32-bit number #define HIHALF(n) (((n) & 0xFFFF0000) >> 16) @@ -16,7 +17,6 @@ //Extracts the lower 16 bits of a 32-bit number #define LOHALF(n) ((n) & 0xFFFF) -extern u8 ewram[]; extern u16 gMoveToLearn; static EWRAM_DATA u8 sLearningMoveTableID = 0; @@ -436,9 +436,9 @@ void CalculateMonStats(struct Pokemon *mon) newMaxHP = (((n + hpEV / 4) * level) / 100) + level + 10; } - ewram[0x160FA] = newMaxHP - oldMaxHP; - if (ewram[0x160FA] == 0) - ewram[0x160FA] = 1; + eStatHp = newMaxHP - oldMaxHP; + if (eStatHp == 0) + eStatHp = 1; SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index 93a3dd797..3a2c12db5 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -50,7 +50,6 @@ extern u8 gUnknown_0202E8F5; extern u8 gUnknown_0202E8F6; extern u8 gUnknown_02038561; extern u16 gUnknown_0202E8F8; -extern u8 ewram[]; extern void (*gUnknown_03004AE4)(u8 taskID, u16 itemID, TaskFunc func); extern TaskFunc gUnknown_03005CF0; diff --git a/src/rom3.c b/src/rom3.c index 0cd73c44a..ceb7785ac 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -399,16 +399,18 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) gTasks[gUnknown_020238C4].data[12] = gTasks[gUnknown_020238C4].data[14]; gTasks[gUnknown_020238C4].data[14] = 0; } - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14000] = a; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gActiveBank; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gBankAttacker; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gBankTarget; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14004] = r9; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14005] = (r9 & 0x0000FF00) >> 8; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gAbsentBankFlags; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14007] = gEffectBank; + + ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; + ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBank; + ewram14000arr(2, gTasks[gUnknown_020238C4].data[14]) = gBankAttacker; + ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget; + ewram14000arr(4, gTasks[gUnknown_020238C4].data[14]) = r9; + ewram14000arr(5, gTasks[gUnknown_020238C4].data[14]) = (r9 & 0x0000FF00) >> 8; + ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBankFlags; + ewram14000arr(7, gTasks[gUnknown_020238C4].data[14]) = gEffectBank; + for (i = 0; i < size; i++) - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14008 + i] = data[i]; + ewram14008arr(i, gTasks[gUnknown_020238C4].data[14]) = data[i]; gTasks[gUnknown_020238C4].data[14] = gTasks[gUnknown_020238C4].data[14] + r9 + 8; } @@ -448,8 +450,8 @@ void sub_800C1A8(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - var = (ewram[gTasks[taskId].data[15] + 0x14004] | (ewram[gTasks[taskId].data[15] + 0x14005] << 8)) + 8; - SendBlock(bitmask_all_link_players_but_self(), &ewram[gTasks[taskId].data[15] + 0x14000], var); + var = (ewram14004arr(0, gTasks[taskId].data[15]) | (ewram14004arr(1, gTasks[taskId].data[15]) << 8)) + 8; + SendBlock(bitmask_all_link_players_but_self(), &ewram14000arr(0, gTasks[taskId].data[15]), var); gTasks[taskId].data[11]++; } else @@ -462,7 +464,7 @@ void sub_800C1A8(u8 taskId) case 4: if (sub_8007ECC()) { - var = ewram[gTasks[taskId].data[15] + 0x14004] | (ewram[gTasks[taskId].data[15] + 0x14005] << 8); + var = (ewram14004arr(0, gTasks[taskId].data[15]) | (ewram14004arr(1, gTasks[taskId].data[15]) << 8)); gTasks[taskId].data[13] = 1; gTasks[taskId].data[15] = gTasks[taskId].data[15] + var + 8; gTasks[taskId].data[11] = 3; @@ -533,28 +535,28 @@ void sub_800C47C(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - r4 = ewram[0x15000 + gTasks[taskId].data[15] + 1]; - r7 = ewram[0x15000 + gTasks[taskId].data[15] + 4] | (ewram[0x15000 + gTasks[taskId].data[15] + 5] << 8); - switch (ewram[0x15000 + gTasks[taskId].data[15] + 0]) + r4 = ewram15000arr(1, gTasks[taskId].data[15]); + r7 = ewram15000arr(4, gTasks[taskId].data[15]) | (ewram15000arr(5, gTasks[taskId].data[15]) << 8); + switch (ewram15000arr(0, gTasks[taskId].data[15])) { case 0: if (gBattleExecBuffer & gBitTable[r4]) return; - memcpy(gBattleBufferA[r4], &ewram[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferA[r4], &ewram15000arr(8, gTasks[taskId].data[15]), r7); sub_80155A4(r4); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gBankAttacker = ewram[0x15000 + gTasks[taskId].data[15] + 2]; - gBankTarget = ewram[0x15000 + gTasks[taskId].data[15] + 3]; - gAbsentBankFlags = ewram[0x15000 + gTasks[taskId].data[15] + 6]; - gEffectBank = ewram[0x15000 + gTasks[taskId].data[15] + 7]; + gBankAttacker = ewram15000arr(2, gTasks[taskId].data[15]); + gBankTarget = ewram15000arr(3, gTasks[taskId].data[15]); + gAbsentBankFlags = ewram15000arr(6, gTasks[taskId].data[15]); + gEffectBank = ewram15000arr(7, gTasks[taskId].data[15]); } break; case 1: - memcpy(gBattleBufferB[r4], &ewram[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferB[r4], &ewram15000arr(8, gTasks[taskId].data[15]), r7); break; case 2: - r2 = ewram[0x15000 + gTasks[taskId].data[15] + 8]; + r2 = ewram15000arr(8, gTasks[taskId].data[15]); gBattleExecBuffer &= ~(gBitTable[r4] << (r2 * 4)); break; } diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 7ffcc5185..b5d36ad1e 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -20,6 +20,7 @@ #include "menu_cursor.h" #include "trig.h" #include "pokeblock.h" +#include "ewram.h" //needed to match Blender_ControlHitPitch struct MusicPlayerInfo @@ -207,7 +208,6 @@ extern void de_sub_8073110(); extern struct MusicPlayerInfo gMPlay_SE2; extern struct MusicPlayerInfo gMPlay_BGM; -extern u8 ewram[]; extern u16 gScriptItemId; extern u8 gUnknown_020297ED; extern u8 byte_3002A68; @@ -828,7 +828,7 @@ static bool8 sub_804E2EC(void) switch (gBerryBlenderData->field_1) { case 0: - LZDecompressWram(gUnknown_08E6C100, &ewram[0x10000]); + LZDecompressWram(gUnknown_08E6C100, ewram10000); gBerryBlenderData->field_1++; break; case 1: @@ -843,7 +843,7 @@ static bool8 sub_804E2EC(void) break; case 2: { - void* offsetRead = &ewram[0x10000]; + void* offsetRead = ewram10000; void* offsetWrite = (void*)(VRAM); u32 size = 0x2000; while (TRUE) @@ -862,16 +862,16 @@ static bool8 sub_804E2EC(void) } break; case 3: - LZDecompressWram(gUnknown_08E6C920, &ewram[0x10000]); + LZDecompressWram(gUnknown_08E6C920, ewram10000); gBerryBlenderData->field_1++; break; case 4: - LZDecompressWram(gUnknown_08E6D354, &ewram[0x13000]); + LZDecompressWram(gUnknown_08E6D354, ewram13000); gBerryBlenderData->field_1++; break; case 5: { - void* offsetRead = &ewram[0x10000]; + void* offsetRead = ewram10000; void* offsetWrite = (void*)(VRAM + 0xE000); DmaCopy16(3, offsetRead, offsetWrite, 0x1000); @@ -880,7 +880,7 @@ static bool8 sub_804E2EC(void) break; case 6: { - void* offsetRead = &ewram[0x11000]; + void* offsetRead = ewram11000; void* offsetWrite = (void*)(VRAM + 0xF000); DmaCopy16(3, offsetRead, offsetWrite, 0x1000); @@ -890,7 +890,7 @@ static bool8 sub_804E2EC(void) case 7: { u16 i; - u16* palStore = (u16*)(&ewram[0x13000]); + u16* palStore = (u16*)(ewram13000); void* offsetRead; void* offsetWrite; @@ -898,7 +898,7 @@ static bool8 sub_804E2EC(void) { *(palStore + i) |= 0x100; } - offsetRead = &ewram[0x13000]; + offsetRead = ewram13000; offsetWrite = (void*)(VRAM + 0x6000); DmaCopy16(3, offsetRead, offsetWrite, 0x500); LoadPalette(sBlenderOuterPal, 0x80, 0x20); @@ -937,7 +937,7 @@ void sub_804E538(void) { u8* field6F; //this temp value is needed to match - gBerryBlenderData = (struct BerryBlenderData*)(&ewram[0x18000]); + gBerryBlenderData = eBerryBlenderData; field6F = &gBerryBlenderData->field_6F; gBerryBlenderData->field_0 = 0; @@ -1111,7 +1111,7 @@ void sub_804E990(void) s32 i; REG_DISPCNT = 0; - gBerryBlenderData = (struct BerryBlenderData*)(&ewram[0x18000]); + gBerryBlenderData = eBerryBlenderData; gBerryBlenderData->field_0 = 0; gBerryBlenderData->field_134 = 0; for (i = 0; i < BLENDER_MAX_PLAYERS; i++) diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index 928b59760..9df2d56da 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -12,8 +12,7 @@ #include "strings.h" #include "text.h" #include "unknown_task.h" - -extern u8 ewram[]; +#include "ewram.h" static u8 gUnknown_03000750; static u16 gUnknown_03000752; @@ -184,15 +183,15 @@ static void ShowContestPainting(void) case 2: SeedRng(gMain.vblankCounter1); InitKeys(); - ContestPaintingInitWindow(ewram[0x15DDF]); + ContestPaintingInitWindow(ewram15DDF); gMain.state++; break; case 3: - sub_8107090(ewram[0x15DDE], ewram[0x15DDF]); + sub_8107090(ewram15DDE, ewram15DDF); gMain.state++; break; case 4: - ContestPaintingPrintCaption(ewram[0x15DDE], ewram[0x15DDF]); + ContestPaintingPrintCaption(ewram15DDE, ewram15DDF); LoadPalette(gUnknown_083F6140, 0, 1 * 2); DmaClear32(3, PLTT, 0x400); BeginFastPaletteFade(2); diff --git a/src/scene/egg_hatch.c b/src/scene/egg_hatch.c index 032dcd284..d363e4bcd 100644 --- a/src/scene/egg_hatch.c +++ b/src/scene/egg_hatch.c @@ -20,8 +20,8 @@ #include "trig.h" #include "rng.h" #include "trade.h" +#include "ewram.h" -extern u8 ewram[]; extern struct SpriteTemplate gUnknown_02024E8C; struct EggHatchData @@ -416,7 +416,7 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID) { u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 pid = GetMonData(mon, MON_DATA_PERSONALITY); - HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset,(u32)(&ewram[0]), gUnknown_081FAF4C[2 * a0 + 1], species, pid); + HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, ewram0_6, gUnknown_081FAF4C[2 * a0 + 1], species, pid); LoadCompressedObjectPalette(GetMonSpritePalStruct(mon)); } break; @@ -460,7 +460,7 @@ static void CB2_EggHatch_0(void) { case 0: REG_DISPCNT = 0; - gEggHatchData = (struct EggHatchData*)(&ewram[0x18000]); + gEggHatchData = eEggHatchData; gEggHatchData->eggPartyID = gSpecialVar_0x8004; gEggHatchData->eggShardVelocityID = 0; ResetTasks(); @@ -479,8 +479,8 @@ static void CB2_EggHatch_0(void) break; case 2: LZDecompressVram(&gUnknown_08D00000, (void*)(VRAM)); - CpuSet(&gUnknown_08D00524, &ewram[0], 0x800); - DmaCopy16(3, &ewram[0], (void*)(VRAM + 0x2800), 0x500); + CpuSet(&gUnknown_08D00524, ewram0_7, 0x800); + DmaCopy16(3, ewram0_7, (void*)(VRAM + 0x2800), 0x500); LoadCompressedPalette(&gUnknown_08D004E0, 0, 0x20); gMain.state++; break; diff --git a/src/scene/hall_of_fame.c b/src/scene/hall_of_fame.c index 6f7df576b..72bd051da 100644 --- a/src/scene/hall_of_fame.c +++ b/src/scene/hall_of_fame.c @@ -17,10 +17,10 @@ #include "decompress.h" #include "rng.h" #include "trig.h" +#include "ewram.h" static EWRAM_DATA u32 sUnknown_0203931C = 0; -extern u8 ewram[]; extern bool8 gUnknown_02039324; // has hall of fame records extern void (*gGameContinueCallback)(void); extern struct MusicPlayerInfo gMPlay_BGM; @@ -156,69 +156,69 @@ static const struct OamData sOamData_840B598 = void* const gUnknown_0840B5A0[] = { - &ewram[0x08000], - &ewram[0x0A000], - &ewram[0x0C000], - &ewram[0x0E000], - &ewram[0x10000], - &ewram[0x14000], - &ewram[0x18000] + ewram8000, + ewramA000, + ewramC000, + ewramE000, + ewram10000, + ewram14000, + ewram18000_2 }; static const struct SpriteFrameImage sSpriteImageTable_840B5BC[] = { - {&ewram[0x8000], 0x800}, - {&ewram[0x8800], 0x800}, - {&ewram[0x9000], 0x800}, - {&ewram[0x9800], 0x800} + {ewram8000, 0x800}, + {ewram8800, 0x800}, + {ewram9000, 0x800}, + {ewram9800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B5DC[] = { - {&ewram[0xA000], 0x800}, - {&ewram[0xA800], 0x800}, - {&ewram[0xB000], 0x800}, - {&ewram[0xB800], 0x800} + {ewramA000, 0x800}, + {ewramA800, 0x800}, + {ewramB000, 0x800}, + {ewramB800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B5FC[] = { - {&ewram[0xC000], 0x800}, - {&ewram[0xC800], 0x800}, - {&ewram[0xD000], 0x800}, - {&ewram[0xD800], 0x800} + {ewramC000, 0x800}, + {ewramC800, 0x800}, + {ewramD000, 0x800}, + {ewramD800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B61C[] = { - {&ewram[0xE000], 0x800}, - {&ewram[0xE800], 0x800}, - {&ewram[0xF000], 0x800}, - {&ewram[0xF800], 0x800} + {ewramE000, 0x800}, + {ewramE800, 0x800}, + {ewramF000, 0x800}, + {ewramF800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B63C[] = { - {&ewram[0x10000], 0x800}, - {&ewram[0x10800], 0x800}, - {&ewram[0x11000], 0x800}, - {&ewram[0x11800], 0x800} + {ewram10000, 0x800}, + {ewram10800, 0x800}, + {ewram11000, 0x800}, + {ewram11800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B65C[] = { - {&ewram[0x14000], 0x800}, - {&ewram[0x14800], 0x800}, - {&ewram[0x15000], 0x800}, - {&ewram[0x15800], 0x800} + {ewram14000, 0x800}, + {ewram14800, 0x800}, + {ewram15000, 0x800}, + {ewram15800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B67C[] = { - {&ewram[0x18000], 0x800}, - {&ewram[0x18800], 0x800}, - {&ewram[0x19000], 0x800}, - {&ewram[0x19800], 0x800} + {ewram18000_2, 0x800}, + {ewram18800, 0x800}, + {ewram19000, 0x800}, + {ewram19800, 0x800} }; static const struct SpriteFrameImage* const sUnknown_0840B69C[7] = @@ -486,7 +486,7 @@ static void sub_8141FC4(void) static void sub_8141FF8(u8 taskID) { u16 i, j; - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; gTasks[taskID].tPokesNumber = 0; // valid pokes for (i = 0; i < 6; i++) @@ -530,13 +530,13 @@ static void sub_8141FF8(u8 taskID) static void sub_814217C(u8 taskID) { u16 i; - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); - struct HallofFameMons* lastSavedTeam = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; + struct HallofFameMons* lastSavedTeam = eHallOfFameMons2; if (gUnknown_02039324 == FALSE) { for (i = 0; i < 0x2000; i++) - ewram[i + 0x1E000] = 0; + ewram1E000(i) = 0; } else sub_8125EC8(3); @@ -548,8 +548,8 @@ static void sub_814217C(u8 taskID) } if (i >= HALL_OF_FAME_MAX_TEAMS) { - struct HallofFameMons* r5 = (struct HallofFameMons*)(&ewram[0x1E000]); - struct HallofFameMons* r6 = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* r5 = eHallOfFameMons2; + struct HallofFameMons* r6 = eHallOfFameMons2; r5++; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS - 1; i++, r6++, r5++) { @@ -592,7 +592,7 @@ static void sub_8142320(u8 taskID) u8 spriteID; s16 xPos, yPos, field4, field6; - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; u16 currPokeID = gTasks[taskID].tDisplayedPoke; struct HallofFameMon* currMon = &fameMons->mons[currPokeID]; @@ -623,7 +623,7 @@ static void sub_8142320(u8 taskID) static void sub_8142404(u8 taskID) { - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; u16 currPokeID = gTasks[taskID].tDisplayedPoke; struct HallofFameMon* currMon = &fameMons->mons[currPokeID]; @@ -639,7 +639,7 @@ static void sub_8142404(u8 taskID) static void sub_8142484(u8 taskID) { - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; u16 currPokeID = gTasks[taskID].tDisplayedPoke; struct HallofFameMon* currMon = &fameMons->mons[currPokeID]; @@ -808,7 +808,7 @@ void sub_81428CC(void) REG_BLDY = 0; sub_81435B8(); - fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + fameMons = eHallOfFameMons1; fameMons->mons[0] = sDummyFameMon; sub_80C5CD4(fameMons); @@ -847,7 +847,7 @@ static void sub_8142A28(u8 taskID) u16 *vram1, *vram2; u16 i; - struct HallofFameMons* savedTeams = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* savedTeams = eHallOfFameMons2; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, savedTeams++) { if (savedTeams->mons[0].species == 0) @@ -872,7 +872,7 @@ static void sub_8142A28(u8 taskID) static void sub_8142B04(u8 taskID) { - struct HallofFameMons* savedTeams = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* savedTeams = eHallOfFameMons2; struct HallofFameMon* currMon; u16 i; u8* stringPtr; @@ -937,7 +937,7 @@ static void sub_8142B04(u8 taskID) static void sub_8142CC8(u8 taskID) { - struct HallofFameMons* savedTeams = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* savedTeams = eHallOfFameMons2; struct HallofFameMon* currMon; u16 i; u16 currMonID; @@ -1025,7 +1025,7 @@ static void sub_8142F78(u8 taskID) struct HallofFameMons* fameMons; CpuSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x200); - fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + fameMons = eHallOfFameMons1; fameMons->mons[0] = sDummyFameMon; sub_80C5E38(fameMons); gTasks[taskID].func = sub_8142FCC; @@ -1258,7 +1258,7 @@ static void sub_81433E0(void) *((u16*)(VRAM + 0x3000) + i) = 2; } - offsetWrite4 = (u32)(&ewram[0]); + offsetWrite4 = ewram0_6; size4 = 0x4000; while (TRUE) { diff --git a/src/scene/intro.c b/src/scene/intro.c index af9b565a3..04173b86a 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -1207,6 +1207,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId) gTasks[taskId].func = Task_IntroLoadPart3Streaks; } +// TODO: use ewram define instead extern u8 ewram[][32]; static void Task_IntroLoadPart3Streaks(u8 taskId) -- cgit v1.2.3 From 5dd8964999ef207e84c41c834b596dbc31e10474 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Mon, 6 Nov 2017 03:47:53 -0500 Subject: formatting --- src/rom3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/rom3.c b/src/rom3.c index ceb7785ac..16e605390 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -400,7 +400,7 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) gTasks[gUnknown_020238C4].data[14] = 0; } - ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; + ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBank; ewram14000arr(2, gTasks[gUnknown_020238C4].data[14]) = gBankAttacker; ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget; -- cgit v1.2.3 From eecafbaec17ba0721d091d1a12ac20fa71da352a Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Thu, 9 Nov 2017 03:13:09 -0500 Subject: depreciate use of shared_syms --- src/battle/battle_2.c | 6 ++-- src/battle/battle_3.c | 4 +-- src/battle/battle_7.c | 10 ------ src/battle/calculate_base_damage.c | 4 +-- src/de_rom_8040FE0.c | 5 ++- src/engine/link.c | 3 +- src/engine/record_mixing.c | 36 ++++++++++---------- src/engine/save.c | 22 ++++++------ src/field/fldeff_cut.c | 11 +++--- src/field/player_pc.c | 65 ++++++++++++++++++------------------ src/pokemon/pokedex_cry_screen.c | 5 +-- src/pokemon/pokemon_2.c | 28 ++++++++-------- src/pokemon/pokemon_summary_screen.c | 5 ++- src/rom_8077ABC.c | 59 ++++++++++++++++---------------- src/scene/contest_painting.c | 9 ++--- src/scene/credits.c | 2 -- src/scene/evolution_scene.c | 11 +++--- 17 files changed, 130 insertions(+), 155 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 8d27750bd..4b75818b6 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1537,7 +1537,7 @@ void sub_8010874(void) gUnknown_02024C5C[i] = 0xFF; gLockedMove[i] = 0; gUnknown_02024C2C[i] = 0; - ewram17100.arr[i] = 0; + eFlashFireArr.arr[i] = 0; } for (i = 0; i < 2; i++) @@ -1699,7 +1699,7 @@ void SwitchInClearStructs(void) ewram160E8arr2(0, gActiveBank) = 0; ewram160E8arr2(1, gActiveBank) = 0; - ewram17100.arr[gActiveBank] = 0; + eFlashFireArr.arr[gActiveBank] = 0; gCurrentMove = 0; } @@ -1763,7 +1763,7 @@ void UndoEffectsAfterFainting(void) ewram16100arr2(2, gActiveBank) = 0; ewram16100arr2(3, gActiveBank) = 0; - ewram17100.arr[gActiveBank] = 0; + eFlashFireArr.arr[gActiveBank] = 0; gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c index 1d6784297..f37111af5 100644 --- a/src/battle/battle_3.c +++ b/src/battle/battle_3.c @@ -1718,14 +1718,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && !(gBattleMons[bank].status1 & STATUS_FREEZE)) { - if (!(ewram17100.arr[bank] & 1)) + if (!(eFlashFireArr.arr[bank] & 1)) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; if (gProtectStructs[gBankAttacker].notFirstStrike) gBattlescriptCurrInstr = BattleScript_FlashFireBoost; else gBattlescriptCurrInstr = BattleScript_FlashFireBoost_PPLoss; - ewram17100.arr[bank] |= 1; + eFlashFireArr.arr[bank] |= 1; effect = 2; } else diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 4ca1baa53..2a335ea63 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -20,16 +20,6 @@ #include "gba/m4a_internal.h" #include "ewram.h" -struct Struct2019348 -{ - u8 filler0[2]; - u16 unk2; - u8 filler4[4]; - u32 unk8; - u32 unkC; - u32 unk10; -}; - extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBank; extern u8 gNoOfAllBanks; diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c index f5c679876..42c26dee0 100644 --- a/src/battle/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c @@ -11,8 +11,8 @@ #include "species.h" #include "moves.h" #include "battle_move_effects.h" +#include "ewram.h" -extern u32 dword_2017100[]; extern u16 gBattleTypeFlags; extern struct BattlePokemon gBattleMons[4]; extern u16 gCurrentMove; @@ -301,7 +301,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de } // flash fire triggered - if ((dword_2017100[bankAtk] & 1) && type == TYPE_FIRE) + if ((eFlashFireArr.arr[bankAtk] & 1) && type == TYPE_FIRE) damage = (15 * damage) / 10; } diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c index 8cf510d6f..8adad3245 100644 --- a/src/de_rom_8040FE0.c +++ b/src/de_rom_8040FE0.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle.h" #include "battle_tower.h" +#include "ewram.h" #if GERMAN @@ -21,8 +22,6 @@ enum { TRAINER_CLASS_MAY_3 = 63, }; -extern struct SecretBaseRecord gSecretBaseRecord; - extern u8 gTrainerClassNames[][13]; extern struct Trainer gTrainers[]; @@ -70,7 +69,7 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) { { case 0x400: nameIndex = GetSecretBaseTrainerNameIndex(); - gender = gSecretBaseRecord.gender; + gender = eSecretBaseRecord.gender; if (nameIndex == TRAINER_CLASS_NAME_SCHOOL_KID) { return de_sub_8040FE0(gender); diff --git a/src/engine/link.c b/src/engine/link.c index 504b828a1..c526baec7 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -36,7 +36,6 @@ struct LinkTestBGInfo u32 dummy_C; }; -extern u8 unk_2004000[]; extern u16 gBattleTypeFlags; extern u16 word_3004858; @@ -404,7 +403,7 @@ static void LinkTestProcessKeyInput(void) if (gMain.newKeys & A_BUTTON) gShouldAdvanceLinkState = 1; if (gMain.heldKeys & B_BUTTON) - InitBlockSend(unk_2004000, 0x2004); + InitBlockSend(ewram4000, 0x2004); if (gMain.newKeys & L_BUTTON) BeginNormalPaletteFade(-1, 0, 0x10, 0, 2); if (gMain.newKeys & START_BUTTON) diff --git a/src/engine/record_mixing.c b/src/engine/record_mixing.c index 27992bf1f..3ae0c4ea3 100644 --- a/src/engine/record_mixing.c +++ b/src/engine/record_mixing.c @@ -66,31 +66,31 @@ void RecordMixing_PrepareExchangePacket(void) sub_80BC300(); sub_80C045C(); - memcpy(unk_2018000.secretBases, recordMixingSecretBases, sizeof(unk_2018000.secretBases)); - memcpy(unk_2018000.tvShows, recordMixingTvShows, sizeof(unk_2018000.tvShows)); - memcpy(unk_2018000.filler1004, gUnknown_083D0274, sizeof(unk_2008000.filler1004)); - memcpy(unk_2018000.filler1044, gUnknown_083D0278, sizeof(unk_2008000.filler1044)); - memcpy(unk_2018000.easyChatPairs, recordMixingEasyChatPairs, sizeof(unk_2018000.easyChatPairs)); + memcpy(ewram_2018000.secretBases, recordMixingSecretBases, sizeof(ewram_2018000.secretBases)); + memcpy(ewram_2018000.tvShows, recordMixingTvShows, sizeof(ewram_2018000.tvShows)); + memcpy(ewram_2018000.filler1004, gUnknown_083D0274, sizeof(ewram_2008000.filler1004)); + memcpy(ewram_2018000.filler1044, gUnknown_083D0278, sizeof(ewram_2008000.filler1044)); + memcpy(ewram_2018000.easyChatPairs, recordMixingEasyChatPairs, sizeof(ewram_2018000.easyChatPairs)); gUnknown_02038738.mail[0] = gSaveBlock1.daycareData.misc.mail[0]; gUnknown_02038738.mail[1] = gSaveBlock1.daycareData.misc.mail[1]; sub_8041324(gSaveBlock1.daycareData.mons, &gUnknown_02038738); - memcpy(&unk_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixingDayCareMail)); - memcpy(&unk_2018000.battleTowerRecord, gBattleTowerPlayerRecord, sizeof(struct BattleTowerRecord)); + memcpy(&ewram_2018000.filler10AC, gUnknown_083D0280, sizeof(struct RecordMixingDayCareMail)); + memcpy(&ewram_2018000.battleTowerRecord, gBattleTowerPlayerRecord, sizeof(struct BattleTowerRecord)); if (GetMultiplayerId() == 0) - unk_2018000.filler11C8[0] = GetRecordMixingGift(); + ewram_2018000.filler11C8[0] = GetRecordMixingGift(); } void RecordMixing_ReceiveExchangePacket(u32 a) { - sub_80BD674(unk_2008000.secretBases, sizeof(struct PlayerRecords), a); - sub_80BFD44((u8 *)unk_2008000.tvShows, sizeof(struct PlayerRecords), a); - sub_80C0514(unk_2008000.filler1004, sizeof(struct PlayerRecords), a); - sub_80B9B1C(unk_2008000.filler1044, sizeof(struct PlayerRecords), a); - sub_80FA4E4(unk_2008000.easyChatPairs, sizeof(struct PlayerRecords), a); - sub_80B9C6C((u8 *)&unk_2008000.filler10AC, sizeof(struct PlayerRecords), a, unk_2008000.tvShows); - sub_80B9B70(&unk_2008000.battleTowerRecord, sizeof(struct PlayerRecords), a); - sub_80B9F3C(unk_2008000.filler11C8, a); + sub_80BD674(ewram_2008000.secretBases, sizeof(struct PlayerRecords), a); + sub_80BFD44((u8 *)ewram_2008000.tvShows, sizeof(struct PlayerRecords), a); + sub_80C0514(ewram_2008000.filler1004, sizeof(struct PlayerRecords), a); + sub_80B9B1C(ewram_2008000.filler1044, sizeof(struct PlayerRecords), a); + sub_80FA4E4(ewram_2008000.easyChatPairs, sizeof(struct PlayerRecords), a); + sub_80B9C6C((u8 *)&ewram_2008000.filler10AC, sizeof(struct PlayerRecords), a, ewram_2008000.tvShows); + sub_80B9B70(&ewram_2008000.battleTowerRecord, sizeof(struct PlayerRecords), a); + sub_80B9F3C(ewram_2008000.filler11C8, a); } #define tCounter data[0] @@ -247,11 +247,11 @@ void sub_80B95F0(u8 taskId) task->tState = 0; task->data[5] = GetMultiplayerId_(); task->func = Task_RecordMixing_SendPacket; - StorePtrInTaskData(&unk_2018000, &task->data[2]); + StorePtrInTaskData(&ewram_2018000, &task->data[2]); subTaskId = CreateTask(Task_RecordMixing_CopyReceiveBuffer, 0x50); task->data[10] = subTaskId; gTasks[subTaskId].data[0] = taskId; - StorePtrInTaskData((u8 *)&unk_2008000, &gTasks[subTaskId].data[5]); + StorePtrInTaskData((u8 *)&ewram_2008000, &gTasks[subTaskId].data[5]); } break; case 5: // wait 60 frames diff --git a/src/engine/save.c b/src/engine/save.c index 57678dd8f..d5de2e408 100644 --- a/src/engine/save.c +++ b/src/engine/save.c @@ -5,14 +5,13 @@ #include "load_save.h" #include "overworld.h" #include "save_failed_screen.h" +#include "ewram.h" #define GETVALIDSTATUSBITFIELD ((1 << ARRAY_COUNT(gSaveSectionLocations)) - 1) #define GETCHUNKSIZE(chunk, n) ((sizeof(chunk) - (0xF80 * (n - 1))) >= 0xF80 ? 0xF80 : (sizeof(chunk) - (0xF80 * (n - 1)))) #define GETBLOCKOFFSET(n) (0xF80 * (n - 1)) #define TOTALNUMSECTORS ((ARRAY_COUNT(gSaveSectionLocations) * 2) + (ARRAY_COUNT(gHallOfFameSaveSectionLocations) * 2)) // there are 2 slots, so double each array count and get the sum. -extern struct SaveSection ewram; // slow save RAM - u16 gLastWrittenSector; u32 gLastSaveCounter; u16 gLastKnownGoodSector; @@ -24,7 +23,6 @@ u16 gSaveFileStatus; u32 gGameContinueCallback; extern struct PokemonStorage gPokemonStorage; -extern struct HallOfFame gHallOfFame; static EWRAM_DATA u32 gLastSaveSectorStatus = 0; // used but in an unferenced function, so unused @@ -48,8 +46,8 @@ const struct SaveSectionLocation gSaveSectionLocations[] = const struct SaveSectionLocation gHallOfFameSaveSectionLocations[] = { - {((u8 *) &gHallOfFame) + GETBLOCKOFFSET(1), GETCHUNKSIZE(struct HallOfFame, 1)}, // gHallOfFame is not a proper sym, so the struct must be used. - {((u8 *) &gHallOfFame) + GETBLOCKOFFSET(2), GETCHUNKSIZE(struct HallOfFame, 2)} + {((u8 *) eHallOfFame) + GETBLOCKOFFSET(1), GETCHUNKSIZE(struct HallOfFame, 1)}, // eHallOfFame is not a proper sym, so the struct must be used. + {((u8 *) eHallOfFame) + GETBLOCKOFFSET(2), GETCHUNKSIZE(struct HallOfFame, 2)} }; const u8 gFlashSectors[] = { 0x1E, 0x1F }; @@ -95,7 +93,7 @@ u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location) u32 retVal; u16 i; - gFastSaveSection = &ewram; + gFastSaveSection = eSaveSection; if (a1 != 0xFFFF) // for link { @@ -156,7 +154,7 @@ u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location) u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size) { u16 i; - struct SaveSection *section = &ewram; + struct SaveSection *section = eSaveSection; for (i = 0; i < sizeof(struct SaveSection); i++) ((char *)section)[i] = 0; @@ -186,7 +184,7 @@ u8 TryWriteSector(u8 sector, u8 *data) u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location) // location is unused { - gFastSaveSection = &ewram; + gFastSaveSection = eSaveSection; gLastKnownGoodSector = gLastWrittenSector; gLastSaveCounter = gSaveCounter; gLastWrittenSector++; @@ -199,7 +197,7 @@ u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location) // only ever called once, and gSaveBlock2 is passed to this function. location is unused { - gFastSaveSection = &ewram; + gFastSaveSection = eSaveSection; gLastKnownGoodSector = gLastWrittenSector; gLastSaveCounter = gSaveCounter; gUnknown_03005EB4 = 0; @@ -369,7 +367,7 @@ u8 sub_81257F0(u16 a1, const struct SaveSectionLocation *location) u8 sub_812587C(u16 a1, const struct SaveSectionLocation *location) { u8 retVal; - gFastSaveSection = &ewram; + gFastSaveSection = eSaveSection; if (a1 != 0xFFFF) { retVal = 0xFF; @@ -537,7 +535,7 @@ u8 GetSaveValidStatus(const struct SaveSectionLocation *location) u8 sub_8125B88(u8 a1, u8 *data, u16 size) { u16 i; - struct SaveSection *section = &ewram; + struct SaveSection *section = eSaveSection; DoReadFlashWholeSection(a1, section); if (section->security == UNKNOWN_CHECK_VALUE) { @@ -764,7 +762,7 @@ u8 unref_sub_8125FA0(void) u8 unref_sub_8125FF0(u8 *data, u16 size) { u16 i; - struct UnkSaveSection *section = (struct UnkSaveSection *)&ewram; + struct UnkSaveSection *section = (struct UnkSaveSection *)eSaveSection; for (i = 0; i < sizeof(struct SaveSection); i++) ((char *)section)[i] = 0; diff --git a/src/field/fldeff_cut.c b/src/field/fldeff_cut.c index 00643a979..00cabe5c0 100644 --- a/src/field/fldeff_cut.c +++ b/src/field/fldeff_cut.c @@ -16,8 +16,7 @@ #include "sprite.h" #include "task.h" #include "trig.h" - -extern u8 gCutGrassSpriteArray[8]; // seems to be an array of 8 sprite IDs +#include "ewram.h" extern void (*gFieldCallback)(void); extern void (*gUnknown_03005CE4)(void); @@ -135,9 +134,9 @@ bool8 FldEff_CutGrass(void) // populate sprite ID array for(i = 0; i < 8; i++) { - gCutGrassSpriteArray[i] = CreateSprite((struct SpriteTemplate *)&gSpriteTemplate_CutGrass, + eCutGrassSpriteArray[i] = CreateSprite((struct SpriteTemplate *)&gSpriteTemplate_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); - gSprites[gCutGrassSpriteArray[i]].data2 = 32 * i; + gSprites[eCutGrassSpriteArray[i]].data2 = 32 * i; } return 0; } @@ -273,8 +272,8 @@ void sub_80A2AB8(void) u8 i; for (i = 1; i < 8; i++) - DestroySprite(&gSprites[gCutGrassSpriteArray[i]]); - FieldEffectStop(&gSprites[gCutGrassSpriteArray[0]], FLDEFF_CUT_GRASS); + DestroySprite(&gSprites[eCutGrassSpriteArray[i]]); + FieldEffectStop(&gSprites[eCutGrassSpriteArray[0]], FLDEFF_CUT_GRASS); sub_8064E2C(); ScriptContext2_Disable(); } diff --git a/src/field/player_pc.c b/src/field/player_pc.c index d01829266..ce78a88d8 100644 --- a/src/field/player_pc.c +++ b/src/field/player_pc.c @@ -20,6 +20,7 @@ #include "mail.h" #include "overworld.h" #include "player_pc.h" +#include "ewram.h" extern void DisplayItemMessageOnField(u8, const u8*, TaskFunc, u16); extern void DoPlayerPCDecoration(u8); @@ -271,14 +272,14 @@ static void PlayerPC_ItemStorage(u8 taskId) static void PlayerPC_Mailbox(u8 taskId) { MenuZeroFillWindowRect(0, 0, 10, 9); - gMailboxInfo.count = GetMailboxMailCount(); + eMailboxInfo.count = GetMailboxMailCount(); - if (gMailboxInfo.count == 0) + if (eMailboxInfo.count == 0) DisplayItemMessageOnField(taskId, gOtherText_NoMailHere, ReshowPlayerPC, 0); else { - gMailboxInfo.cursorPos = 0; - gMailboxInfo.itemsAbove = 0; + eMailboxInfo.cursorPos = 0; + eMailboxInfo.itemsAbove = 0; Mailbox_UpdateMailList(); ItemStorage_SetItemAndMailCount(taskId); Mailbox_DrawMailboxMenu(taskId); @@ -442,10 +443,10 @@ static void ItemStorage_SetItemAndMailCount(u8 taskId) else NUM_PAGE_ITEMS = NUM_ITEMS + 1; // there are not enough items to fill a full page; take the # of items and add 1 for the cancel button. - if (gMailboxInfo.count > 7) - gMailboxInfo.pageItems = 8; + if (eMailboxInfo.count > 7) + eMailboxInfo.pageItems = 8; else - gMailboxInfo.pageItems = gMailboxInfo.count + 1; + eMailboxInfo.pageItems = eMailboxInfo.count + 1; } static void ItemStorage_ProcessInput(u8 taskId) @@ -1048,8 +1049,8 @@ static void Mailbox_UpdateMailList(void) static void Mailbox_DrawMailList(u8 taskId) // taskId is unused { u16 yCoord = 0; - u16 i = gMailboxInfo.itemsAbove; - register struct MailboxStruct *tempMailbox asm("r1") = &gMailboxInfo; + u16 i = eMailboxInfo.itemsAbove; + register struct MailboxStruct *tempMailbox asm("r1") = &eMailboxInfo; register struct MailboxStruct *mailbox asm("r6"); if(i < i + tempMailbox->pageItems) @@ -1076,10 +1077,10 @@ static void Mailbox_DrawMailList(u8 taskId) // taskId is unused } beforeLabel: - if(i - gMailboxInfo.itemsAbove != 8) + if(i - eMailboxInfo.itemsAbove != 8) MenuFillWindowRectWithBlankTile(0x15, yCoord + 4, 0x1C, 0x12); - switch(gMailboxInfo.itemsAbove) + switch(eMailboxInfo.itemsAbove) { default: CreateVerticalScrollIndicators(0, 0xC8, 8); @@ -1092,7 +1093,7 @@ weirdCase: break; } - if(gMailboxInfo.itemsAbove + gMailboxInfo.pageItems <= gMailboxInfo.count) + if(eMailboxInfo.itemsAbove + eMailboxInfo.pageItems <= eMailboxInfo.count) CreateVerticalScrollIndicators(1, 0xC8, 0x98); else DestroyVerticalScrollIndicator(1); @@ -1107,7 +1108,7 @@ static void Mailbox_DrawMailboxMenu(u8 taskId) MenuPrint(gPCText_Mailbox, 1, 1); MenuDrawTextWindow(0x14, 0, 0x1D, 0x13); Mailbox_DrawMailList(taskId); - InitMenu(0, 0x15, 2, gMailboxInfo.pageItems, gMailboxInfo.cursorPos, 8); + InitMenu(0, 0x15, 2, eMailboxInfo.pageItems, eMailboxInfo.cursorPos, 8); } // Mailbox_ProcessInput @@ -1117,29 +1118,29 @@ static void Mailbox_ProcessInput(u8 taskId) { if(gMain.newAndRepeatedKeys & DPAD_UP) { - if(gMailboxInfo.cursorPos != 0) + if(eMailboxInfo.cursorPos != 0) { PlaySE(SE_SELECT); - gMailboxInfo.cursorPos = MoveMenuCursor(-1); + eMailboxInfo.cursorPos = MoveMenuCursor(-1); } - else if(gMailboxInfo.itemsAbove != 0) + else if(eMailboxInfo.itemsAbove != 0) { PlaySE(SE_SELECT); - gMailboxInfo.itemsAbove--; + eMailboxInfo.itemsAbove--; Mailbox_DrawMailList(taskId); } } else if(gMain.newAndRepeatedKeys & DPAD_DOWN) { - if(gMailboxInfo.cursorPos != gMailboxInfo.pageItems - 1) + if(eMailboxInfo.cursorPos != eMailboxInfo.pageItems - 1) { PlaySE(SE_SELECT); - gMailboxInfo.cursorPos = MoveMenuCursor(1); + eMailboxInfo.cursorPos = MoveMenuCursor(1); } - else if(gMailboxInfo.itemsAbove + gMailboxInfo.cursorPos != gMailboxInfo.count) + else if(eMailboxInfo.itemsAbove + eMailboxInfo.cursorPos != eMailboxInfo.count) { PlaySE(SE_SELECT); - gMailboxInfo.itemsAbove++; + eMailboxInfo.itemsAbove++; Mailbox_DrawMailList(taskId); } } @@ -1148,7 +1149,7 @@ static void Mailbox_ProcessInput(u8 taskId) HandleDestroyMenuCursors(); PlaySE(SE_SELECT); - if(gMailboxInfo.itemsAbove + gMailboxInfo.cursorPos == gMailboxInfo.count) + if(eMailboxInfo.itemsAbove + eMailboxInfo.cursorPos == eMailboxInfo.count) { Mailbox_TurnOff(taskId); } @@ -1177,7 +1178,7 @@ static void Mailbox_CloseScrollIndicators(void) static void Mailbox_PrintWhatToDoWithPlayerMailText(u8 taskId) { MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); - StringCopy(gStringVar1, gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos].playerName); + StringCopy(gStringVar1, gSaveBlock1.mail[eMailboxInfo.itemsAbove + 6 + eMailboxInfo.cursorPos].playerName); SanitizeNameString(gStringVar1); StringExpandPlaceholders(gStringVar4, gOtherText_WhatWillYouDoMail); DisplayItemMessageOnField(taskId, gStringVar4, Mailbox_PrintMailOptions, 0); @@ -1237,7 +1238,7 @@ static void Mailbox_FadeAndReadMail(u8 taskId) { if(!gPaletteFade.active) { - HandleReadMail(&gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos], Mailbox_ReturnToFieldFromReadMail, 1); + HandleReadMail(&gSaveBlock1.mail[eMailboxInfo.itemsAbove + 6 + eMailboxInfo.cursorPos], Mailbox_ReturnToFieldFromReadMail, 1); DestroyTask(taskId); } } @@ -1276,7 +1277,7 @@ static void Mailbox_DrawYesNoBeforeMove(u8 taskId) static void Mailbox_DoMailMoveToBag(u8 taskId) { - struct MailStruct *mail = &gSaveBlock1.mail[gMailboxInfo.itemsAbove + 6 + gMailboxInfo.cursorPos]; + struct MailStruct *mail = &gSaveBlock1.mail[eMailboxInfo.itemsAbove + 6 + eMailboxInfo.cursorPos]; MenuZeroFillWindowRect(0x14, 8, 0x1A, 0xD); @@ -1290,10 +1291,10 @@ static void Mailbox_DoMailMoveToBag(u8 taskId) ClearMailStruct(mail); Mailbox_UpdateMailList(); - gMailboxInfo.count--; + eMailboxInfo.count--; - if(gMailboxInfo.count < gMailboxInfo.pageItems + gMailboxInfo.itemsAbove && gMailboxInfo.itemsAbove != 0) - gMailboxInfo.itemsAbove--; + if(eMailboxInfo.count < eMailboxInfo.pageItems + eMailboxInfo.itemsAbove && eMailboxInfo.itemsAbove != 0) + eMailboxInfo.itemsAbove--; ItemStorage_SetItemAndMailCount(taskId); } @@ -1329,13 +1330,13 @@ static void Mailbox_DoGiveMailPokeMenu(u8 taskId) // Mailbox_DoGiveMailPokeMenu static void Mailbox_UpdateMailListAfterDeposit(void) { u8 taskId = CreateTask(Mailbox_HandleReturnToProcessInput, 0); - u8 oldCount = gMailboxInfo.count; + u8 oldCount = eMailboxInfo.count; - gMailboxInfo.count = GetMailboxMailCount(); + eMailboxInfo.count = GetMailboxMailCount(); Mailbox_UpdateMailList(); - if(oldCount != gMailboxInfo.count && gMailboxInfo.count < gMailboxInfo.pageItems + gMailboxInfo.itemsAbove && gMailboxInfo.itemsAbove != 0) // did the count update? - gMailboxInfo.itemsAbove--; + if(oldCount != eMailboxInfo.count && eMailboxInfo.count < eMailboxInfo.pageItems + eMailboxInfo.itemsAbove && eMailboxInfo.itemsAbove != 0) // did the count update? + eMailboxInfo.itemsAbove--; ItemStorage_SetItemAndMailCount(taskId); Mailbox_DrawMailboxMenu(taskId); diff --git a/src/pokemon/pokedex_cry_screen.c b/src/pokemon/pokedex_cry_screen.c index ad7029f59..912b9aabd 100644 --- a/src/pokemon/pokedex_cry_screen.c +++ b/src/pokemon/pokedex_cry_screen.c @@ -2,6 +2,7 @@ #include "pokedex_cry_screen.h" #include "palette.h" #include "sprite.h" +#include "ewram.h" struct Unk201C800 { u8 unk_0; @@ -11,10 +12,6 @@ struct Unk201C800 { u16 unk_4; }; -#define EWRAM_1C800 (*(struct Unk201C800 *)(unk_201C000 + 0x800)) - -extern u8 unk_201C000[]; - extern u8 gUnknown_03005E98; // data/pokedex_cry_screen.o diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c index d3bdf3a13..68923a16e 100644 --- a/src/pokemon/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -12,13 +12,11 @@ #include "strings2.h" #include "text.h" #include "util.h" +#include "ewram.h" extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; -extern u16 unk_20160BC[]; -extern struct SecretBaseRecord gSecretBaseRecord; -extern u32 dword_2017100[]; extern u16 gBattleTypeFlags; extern u8 gActiveBank; extern struct BattlePokemon gBattleMons[4]; @@ -1062,31 +1060,31 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) s32 i, j; ZeroEnemyPartyMons(); - memcpy(&gSecretBaseRecord, secretBaseRecord, sizeof(*secretBaseRecord)); + memcpy(eSecretBaseRecord, secretBaseRecord, sizeof(*secretBaseRecord)); for (i = 0; i < 6; i++) { - if (gSecretBaseRecord.partySpecies[i]) + if (eSecretBaseRecord->partySpecies[i]) { CreateMon(&gEnemyParty[i], - gSecretBaseRecord.partySpecies[i], - gSecretBaseRecord.partyLevels[i], + eSecretBaseRecord->partySpecies[i], + eSecretBaseRecord->partyLevels[i], 15, 1, - gSecretBaseRecord.partyPersonality[i], + eSecretBaseRecord->partyPersonality[i], 2, 0); // these two SetMonData calls require the (u8 *) cast since SetMonData is declared in this function. - SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&gSecretBaseRecord.partyHeldItems[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&eSecretBaseRecord->partyHeldItems[i]); for (j = 0; j < 6; j++) - SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &gSecretBaseRecord.partyEVs[i]); + SetMonData(&gEnemyParty[i], MON_DATA_HP_EV + j, &eSecretBaseRecord->partyEVs[i]); for (j = 0; j < 4; j++) { - SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, (u8 *)&gSecretBaseRecord.partyMoves[i * 4 + j]); - SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[gSecretBaseRecord.partyMoves[i * 4 + j]].pp); + SetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j, (u8 *)&eSecretBaseRecord->partyMoves[i * 4 + j]); + SetMonData(&gEnemyParty[i], MON_DATA_PP1 + j, &gBattleMoves[eSecretBaseRecord->partyMoves[i * 4 + j]].pp); } } } @@ -1097,13 +1095,13 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) u8 GetSecretBaseTrainerPicIndex(void) { - u8 trainerClass = gSecretBaseTrainerClasses[gSecretBaseRecord.gender][gSecretBaseRecord.trainerId[0] % 5]; + u8 trainerClass = gSecretBaseTrainerClasses[eSecretBaseRecord->gender][eSecretBaseRecord->trainerId[0] % 5]; return gTrainerClassToPicIndex[trainerClass]; } u8 GetSecretBaseTrainerNameIndex(void) { - u8 trainerClass = gSecretBaseTrainerClasses[gSecretBaseRecord.gender][gSecretBaseRecord.trainerId[0] % 5]; + u8 trainerClass = gSecretBaseTrainerClasses[eSecretBaseRecord->gender][eSecretBaseRecord->trainerId[0] % 5]; return gTrainerClassToNameIndex[trainerClass]; } @@ -1208,7 +1206,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex) GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); StringCopy10(gBattleMons[battleIndex].nickname, nickname); GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battleIndex].otName); - *(unk_20160BC + GetBankSide(battleIndex)) = gBattleMons[battleIndex].hp; + ewram160BC[GetBankSide(battleIndex)] = gBattleMons[battleIndex].hp; for (i = 0; i < 8; i++) gBattleMons[battleIndex].statStages[i] = 6; diff --git a/src/pokemon/pokemon_summary_screen.c b/src/pokemon/pokemon_summary_screen.c index 00a0bea29..d1d226b80 100644 --- a/src/pokemon/pokemon_summary_screen.c +++ b/src/pokemon/pokemon_summary_screen.c @@ -7,14 +7,13 @@ #include "string_util.h" #include "strings2.h" #include "tv.h" - -extern struct Pokemon *unk_2018000; +#include "ewram.h" bool8 PokemonSummaryScreen_CheckOT(struct Pokemon *mon) { u32 trainerId; - if (unk_2018000 == gEnemyParty) + if (ewram18000_3 == gEnemyParty) { u8 enemyId = GetMultiplayerId() ^ 1; trainerId = gLinkPlayers[enemyId].trainerId & 0xFFFF; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 285c992ca..10d58dcb5 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -12,6 +12,7 @@ #include "task.h" #include "trig.h" #include "util.h" +#include "ewram.h" #define GET_UNOWN_LETTER(personality) ((\ (((personality & 0x03000000) >> 24) << 6) \ @@ -94,8 +95,6 @@ extern struct OamData gOamData_837DF9C[]; extern const union AnimCmd *const gDummySpriteAnimTable[]; extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; -extern struct Struct_unk_2019348 unk_2019348; -extern struct TransformStatus gTransformStatuses[]; extern u16 gBattleMonPartyPositions[]; extern u16 gBattleTypeFlags; extern u32 gTransformPersonalities[NUM_BATTLE_SLOTS]; @@ -204,21 +203,21 @@ u8 sub_8077ABC(u8 slot, u8 a2) { case 4: default: if (NotInBattle()) { - if (unk_2019348.field_4 & 1) { - species = unk_2019348.field_2; + if (ewram19348.unk4 & 1) { + species = ewram19348.unk2; } else { - species = unk_2019348.field_0; + species = ewram19348.unk0; } } else { if (GetBankSide(slot)) { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); } else { species = transform->species; } } else { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); } else { @@ -246,13 +245,13 @@ u8 sub_8077BFC(u8 slot, u16 species) { if (!GetBankSide(slot) || NotInBattle()) { if (species == SPECIES_UNOWN) { if (NotInBattle()) { - if (unk_2019348.field_4 & 1) { - personality = unk_2019348.field_10; + if (ewram19348.unk4 & 1) { + personality = ewram19348.unk10; } else { - personality = unk_2019348.field_8; + personality = ewram19348.unk8; } } else { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); } else { @@ -275,7 +274,7 @@ u8 sub_8077BFC(u8 slot, u16 species) { } } else { if (species == SPECIES_UNOWN) { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); } else { @@ -339,13 +338,13 @@ u8 sub_8077EE4(u8 slot, u8 a2) { struct TransformStatus *transform; if (a2 == 3 || a2 == 4) { if (NotInBattle()) { - if (unk_2019348.field_4 & 1) { - species = unk_2019348.field_2; + if (ewram19348.unk4 & 1) { + species = ewram19348.unk2; } else { - species = unk_2019348.field_0; + species = ewram19348.unk0; } } else { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = gUnknown_0202F7CA[slot]; } else { @@ -383,14 +382,14 @@ u8 sub_8077FC0(u8 slot) { r6 = sub_8077ABC(slot, 1); if (!NotInBattle()) { if (GetBankSide(slot)) { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { var = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); } else { var = transform->species; } } else { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { var = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); } else { @@ -1035,7 +1034,6 @@ bool8 sub_8078E38() { } void sub_8078E70(u8 sprite, u8 a2) { - struct Struct_2017810 *unk; u8 r7 = gSprites[sprite].data0; if (NotInBattle() || IsAnimBankSpriteVisible(r7)) { gSprites[sprite].invisible = FALSE; @@ -1043,8 +1041,7 @@ void sub_8078E70(u8 sprite, u8 a2) { gSprites[sprite].oam.objMode = a2; gSprites[sprite].affineAnimPaused = TRUE; if (!NotInBattle() && !gSprites[sprite].oam.affineMode) { - unk = &unk_2017810[r7]; - gSprites[sprite].oam.matrixNum = unk->field_6; + gSprites[sprite].oam.matrixNum = ewram17810[r7].unk6; } gSprites[sprite].oam.affineMode = 3; CalcCenterToCornerVec(&gSprites[sprite], gSprites[sprite].oam.shape, gSprites[sprite].oam.size, gSprites[sprite].oam.affineMode); @@ -1541,11 +1538,11 @@ u16 sub_8079B10(u8 sprite) { for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) { if (gBattleMonSprites[i] == sprite) { if (NotInBattle()) { - species = unk_2019348.field_0; + species = ewram19348.unk0; return gMonBackPicCoords[species].y_offset; } else { if (!GetBankSide(i)) { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES); } else { @@ -1553,7 +1550,7 @@ u16 sub_8079B10(u8 sprite) { } return gMonBackPicCoords[species].y_offset; } else { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[i]], MON_DATA_SPECIES); } else { @@ -1764,12 +1761,12 @@ int sub_807A100(u8 slot, u8 a2) { const struct MonCoords *coords; struct TransformStatus *transform; if (NotInBattle()) { - if (unk_2019348.field_4 & 1) { - species = unk_2019348.field_2; - personality = unk_2019348.field_10; + if (ewram19348.unk4 & 1) { + species = ewram19348.unk2; + personality = ewram19348.unk10; } else { - species = unk_2019348.field_0; - personality = unk_2019348.field_8; + species = ewram19348.unk0; + personality = ewram19348.unk8; } if (species == SPECIES_UNOWN) { letter = GET_UNOWN_LETTER(personality); @@ -1788,7 +1785,7 @@ int sub_807A100(u8 slot, u8 a2) { } } else { if (!GetBankSide(slot)) { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); personality = GetMonData(&gPlayerParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); @@ -1810,7 +1807,7 @@ int sub_807A100(u8 slot, u8 a2) { coords = &gMonBackPicCoords[species]; } } else { - transform = &gTransformStatuses[slot]; + transform = &eTransformStatuses[slot]; if (!transform->species) { species = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_SPECIES); personality = GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_PERSONALITY); diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index 9df2d56da..0f745b391 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -25,9 +25,6 @@ u8 gUnknown_03005E40[0x4C]; struct ContestEntry *gUnknown_03005E8C; u16 (*gUnknown_03005E90)[]; -extern struct ContestEntry unk_2015de0; -extern struct Unk2015E00 unk_2015e00; - static const u16 gPictureFramePalettes[][16] = { INCBIN_U16("graphics/picture_frame/bg0.gbapal"), @@ -152,7 +149,7 @@ static void ShowContestPainting(void) case 0: remove_some_task(); SetVBlankCallback(NULL); - gUnknown_03005E8C = &unk_2015de0; + gUnknown_03005E8C = &ewram15DE0; ContestPaintingInitVars(TRUE); ContestPaintingInitBG(); gMain.state++; @@ -752,8 +749,8 @@ static u8 sub_8106EE0(u8 arg0) static void sub_8106F4C(void) { - gUnknown_03005E90 = &unk_2015e00.unk2017e00; - gUnknown_03005E10 = &unk_2015e00.unk2015e00; + gUnknown_03005E90 = &ewram15E00.unk2017e00; + gUnknown_03005E10 = &ewram15E00.unk2015e00; } static void sub_8106F6C(u8 arg0) diff --git a/src/scene/credits.c b/src/scene/credits.c index 882dc557f..d9e97c570 100644 --- a/src/scene/credits.c +++ b/src/scene/credits.c @@ -163,10 +163,8 @@ struct CreditsEntry u8 *text; }; -extern struct HallOfFame gHallOfFame; extern u8 unk_201e800[0x800]; extern u8 unk_201f000[0x800]; -extern u16 unk_201f800[]; extern struct SpriteTemplate gUnknown_02024E8C; diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c index 73cb7e5e7..c68acafc4 100644 --- a/src/scene/evolution_scene.c +++ b/src/scene/evolution_scene.c @@ -77,7 +77,6 @@ extern u8 gBattleTerrain; extern u8 gReservedSpritePaletteCount; extern u16 gMoveToLearn; extern struct SpriteTemplate gUnknown_02024E8C; -extern u8 gUnk_2009000[]; // won't match if I 'ewram' it extern bool8 gAffineAnimsDisabled; extern u8 gDisplayedStringBattle[]; extern u8 gBattleTextBuff2[]; @@ -179,6 +178,10 @@ void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStop SetMainCallback2(CB2_BeginEvolutionScene); } +struct Struct2009000 { + u16 pal[0x30]; +}; + void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID) { u8 name[20]; @@ -275,7 +278,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, gTasks[ID].tEvoWasStopped = FALSE; gTasks[ID].tPartyID = partyID; - memcpy(gUnk_2009000, &gPlttBufferUnfaded[0x20], 0x60); + memcpy(ewram9000_hack, &gPlttBufferUnfaded[0x20], 0x60); REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP; SetHBlankCallback(EvoDummyFunc); @@ -638,7 +641,7 @@ static void Task_EvolutionScene(u8 taskID) { m4aMPlayAllStop(); PlayCry1(gTasks[taskID].tPostEvoSpecies, 0); - memcpy(&gPlttBufferUnfaded[0x20], gUnk_2009000, 0x60); + memcpy(&gPlttBufferUnfaded[0x20], ewram9000_hack, 0x60); BeginNormalPaletteFade(0x1C, 0, 0x10, 0, 0); gTasks[taskID].tState++; } @@ -980,7 +983,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (IsSEPlaying()) { PlayCry1(gTasks[taskID].tPostEvoSpecies, 0); - memcpy(&gPlttBufferUnfaded[0x20], gUnk_2009000, 0x60); + memcpy(&gPlttBufferUnfaded[0x20], ewram9000_hack, 0x60); BeginNormalPaletteFade(1, 0, 0x10, 0, 0); gTasks[taskID].tState++; } -- cgit v1.2.3 From 7ab0460e9c04100dcc0ebb824a870069348030df Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Thu, 9 Nov 2017 03:29:54 -0500 Subject: formatting --- src/scene/evolution_scene.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src') diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c index c68acafc4..742f663f6 100644 --- a/src/scene/evolution_scene.c +++ b/src/scene/evolution_scene.c @@ -178,10 +178,6 @@ void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStop SetMainCallback2(CB2_BeginEvolutionScene); } -struct Struct2009000 { - u16 pal[0x30]; -}; - void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID) { u8 name[20]; -- cgit v1.2.3 From 0343a1bcd728d813a38fc3486535e962e681c094 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Thu, 9 Nov 2017 20:54:49 -0500 Subject: remove shared_syms --- src/battle/battle_2.c | 8 ++++---- src/battle/battle_7.c | 16 ++++++++-------- src/debug/matsuda_debug_menu.c | 34 +++++++++++++++++----------------- src/engine/link.c | 2 +- src/engine/main.c | 1 + src/engine/mystery_event_menu.c | 4 ++-- src/engine/save_failed_screen.c | 2 +- src/engine/trade.c | 10 +++++----- src/engine/trainer_card.c | 2 +- src/field/berry_tag_screen.c | 22 +++++++++++----------- src/field/decoration.c | 2 +- src/field/region_map.c | 2 +- src/field/slot_machine.c | 4 ++-- src/scene/berry_blender.c | 4 ++-- src/scene/intro.c | 10 +++++----- 15 files changed, 62 insertions(+), 61 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 4b75818b6..14afc1537 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -510,7 +510,7 @@ void sub_800F02C(void) if (gUnknown_02023A00[i].language != 1) PadNameString(nickname, 0); } - memcpy(ewram, gUnknown_02023A00, 0x60); + memcpy(gSharedMem, gUnknown_02023A00, 0x60); } void sub_800F104(void) @@ -534,7 +534,7 @@ void sub_800F104(void) if (gReceivedRemoteLinkPlayers != 0 && sub_8007ECC()) { sub_800F02C(); - SendBlock(bitmask_all_link_players_but_self(), ewram, 0x60); + SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x60); gBattleCommunication[0]++; } break; @@ -597,7 +597,7 @@ void sub_800F298(void) BATTLE_STRUCT->unk1 = 1; sub_800E9EC(); sub_800EAAC(); - SendBlock(bitmask_all_link_players_but_self(), ewram, 0x20); + SendBlock(bitmask_all_link_players_but_self(), gSharedMem, 0x20); gBattleCommunication[0]++; } break; @@ -863,7 +863,7 @@ void sub_800F828(struct Sprite *sprite) void sub_800F838(struct Sprite *sprite) { - u16 *arr = (u16 *)ewram; + u16 *arr = (u16 *)gSharedMem; switch (sprite->data0) { diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 2a335ea63..ceac8ff24 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -293,9 +293,9 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) lzPaletteData = GetMonSpritePal(pkmn); else lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); - LZDecompressWram(lzPaletteData, ewram); - LoadPalette(ewram, paletteOffset, 0x20); - LoadPalette(ewram, 0x80 + b * 16, 0x20); + LZDecompressWram(lzPaletteData, gSharedMem); + LoadPalette(gSharedMem, paletteOffset, 0x20); + LoadPalette(gSharedMem, 0x80 + b * 16, 0x20); if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; @@ -345,9 +345,9 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) lzPaletteData = GetMonSpritePal(pkmn); else lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); - LZDecompressWram(lzPaletteData, ewram); - LoadPalette(ewram, paletteOffset, 0x20); - LoadPalette(ewram, 0x80 + b * 16, 0x20); + LZDecompressWram(lzPaletteData, gSharedMem); + LoadPalette(gSharedMem, paletteOffset, 0x20); + LoadPalette(gSharedMem, 0x80 + b * 16, 0x20); if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; @@ -680,8 +680,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) DmaCopy32(3, src, dst, 0x800); paletteOffset = 0x100 + a * 16; lzPaletteData = GetMonSpritePalFromOtIdPersonality(species, otId, personalityValue); - LZDecompressWram(lzPaletteData, ewram); - LoadPalette(ewram, paletteOffset, 32); + LZDecompressWram(lzPaletteData, gSharedMem); + LoadPalette(gSharedMem, paletteOffset, 32); if (species == SPECIES_CASTFORM) { u16 *paletteSrc = (u16 *)ewram16400; // TODO: avoid casting? diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index ab96ada23..3378e4e0a 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -414,14 +414,14 @@ void sub_80AA280(u8 var) // no? u8 i; FillWindowRect_DefaultPalette(&gMenuWindow, 0, 0, 0, 0x1E, 3); - StringCopy(ewram, gMatsudaDebugMenu_StartText); - StringAppend(ewram, &gUnknown_0203857D[var][0]); + StringCopy(gSharedMem, gMatsudaDebugMenu_StartText); + StringAppend(gSharedMem, &gUnknown_0203857D[var][0]); for (i = 0; i < 4; i++) { if (var == i) { - sub_8003460(&gMenuWindow, ewram, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); + sub_8003460(&gMenuWindow, gSharedMem, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); } else { @@ -433,38 +433,38 @@ void sub_80AA280(u8 var) // no? static void sub_80AA340(u8 var) { - ConvertIntToDecimalStringN(ewram, gContestMons[var].cool, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]); + ConvertIntToDecimalStringN(gSharedMem, gContestMons[var].cool, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]); } static void sub_80AA388(u8 var) { - ConvertIntToDecimalStringN(ewram, gContestMons[var].cute, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]); + ConvertIntToDecimalStringN(gSharedMem, gContestMons[var].cute, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]); } static void sub_80AA3D0(u8 var) { - ConvertIntToDecimalStringN(ewram, gContestMons[var].beauty, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]); + ConvertIntToDecimalStringN(gSharedMem, gContestMons[var].beauty, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]); } static void sub_80AA418(u8 var) { - ConvertIntToDecimalStringN(ewram, gContestMons[var].smart, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]); + ConvertIntToDecimalStringN(gSharedMem, gContestMons[var].smart, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]); } static void sub_80AA460(u8 var) { - ConvertIntToDecimalStringN(ewram, gContestMons[var].tough, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]); + ConvertIntToDecimalStringN(gSharedMem, gContestMons[var].tough, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]); } static void sub_80AA4A8(u8 var) { - ConvertIntToDecimalStringN(ewram, gContestMons[var].sheen, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]); + ConvertIntToDecimalStringN(gSharedMem, gContestMons[var].sheen, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]); } static void sub_80AA4F0(u8 var1, u8 var2) @@ -489,8 +489,8 @@ static void sub_80AA614(u8 var1, u8 var2) { u16 var = sub_80AE770(var1, var2); - ConvertIntToDecimalStringN(ewram, var, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, ewram, 0xE2, 3, 0xC); + ConvertIntToDecimalStringN(gSharedMem, var, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, gSharedMem, 0xE2, 3, 0xC); } void sub_80AA658(u8 var) diff --git a/src/engine/link.c b/src/engine/link.c index c526baec7..002d397d2 100644 --- a/src/engine/link.c +++ b/src/engine/link.c @@ -506,7 +506,7 @@ static void ProcessRecvCmds(u8 unusedParam) case 0x8888: if (sBlockRecv[i].size > BLOCK_BUFFER_SIZE) { - u16 *buffer = (u16 *)ewram; + u16 *buffer = (u16 *)gSharedMem; u16 j; for (j = 0; j < CMD_LENGTH - 1; j++) buffer[(sBlockRecv[i].pos / 2) + j] = gRecvCmds[j + 1][i]; diff --git a/src/engine/main.c b/src/engine/main.c index d7c11b6c8..ea381cb31 100644 --- a/src/engine/main.c +++ b/src/engine/main.c @@ -70,6 +70,7 @@ bool8 gLinkVSyncDisabled; u32 IntrMain_Buffer[0x200]; u8 gPcmDmaCounter; +EWRAM_DATA u8 gSharedMem[0x20000] = {0}; EWRAM_DATA void (**gFlashTimerIntrFunc)(void) = NULL; static void UpdateLinkAndCallCallbacks(void); diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index 38912be86..a472eea3b 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -286,8 +286,8 @@ static void CB2_MysteryEventMenu(void) case 11: if (gReceivedRemoteLinkPlayers) break; - unkVal = RunMysteryEventScript(ewram); - CpuFill32(0, ewram, 0x7D4); + unkVal = RunMysteryEventScript(gSharedMem); + CpuFill32(0, gSharedMem, 0x7D4); if (!GetEventLoadMessage(gStringVar4, unkVal)) TrySavingData(NORMAL_SAVE); gMain.state++; diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index 06505c0c2..ba2d46546 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -266,7 +266,7 @@ static void VBlankCB_UpdateClockGraphics(void) static bool8 VerifySectorWipe(u16 sector) { - u32 *ptr = (u32 *)&ewram; + u32 *ptr = (u32 *)&gSharedMem; u16 i; ReadFlash(sector, 0, ptr, 4096); diff --git a/src/engine/trade.c b/src/engine/trade.c index 63571ecac..7477b05ac 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -4000,7 +4000,7 @@ static void sub_804B2D0(u8 whichParty, u8 a1) case 0: species = GetMonData(pokemon, MON_DATA_SPECIES2); personality = GetMonData(pokemon, MON_DATA_PERSONALITY); - HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)ewram, gUnknown_081FAF4C[whichParty * 2 + 1], species, personality); + HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, (u32)gSharedMem, gUnknown_081FAF4C[whichParty * 2 + 1], species, personality); LoadCompressedObjectPalette(GetMonSpritePalStruct(pokemon)); gUnknown_03004828->tradeSpecies[whichParty] = species; break; @@ -4727,12 +4727,12 @@ static void sub_804BBE8(u8 a0) gUnknown_03004828->bg1hofs = 0; REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5); LZDecompressVram(gUnknown_08D00000, BG_CHAR_ADDR(0)); - CpuCopy16(gUnknown_08D00524, buffer = (u16 *)ewram, 0x1000); + CpuCopy16(gUnknown_08D00524, buffer = (u16 *)gSharedMem, 0x1000); LoadCompressedPalette(gUnknown_08D004E0, 0x70, 0x20); FillPalette(0, 0, 2); for (i = 0; i < 0x280; i ++) buffer[i] |= 0x7000; - DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500); + DmaCopy16Defvars(3, gSharedMem, BG_SCREEN_ADDR(5), 0x500); MenuZeroFillWindowRect(2, 15, 27, 18); break; case 6: @@ -5704,8 +5704,8 @@ void sub_804E22C(void) const u16 *src; u16 *dest; LZDecompressVram(gUnknown_08D00000, (void *)VRAM); - CpuCopy16(gUnknown_08D00524, ewram, 0x1000); - src = (const u16 *)ewram; + CpuCopy16(gUnknown_08D00524, gSharedMem, 0x1000); + src = (const u16 *)gSharedMem; dest = BG_SCREEN_ADDR(5); DmaCopy16(3, src, dest, 0x500) LoadCompressedPalette(gUnknown_08D004E0, 0, 32); diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index ef960c162..025d19ffc 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -68,7 +68,7 @@ extern const u16 gUnknown_083B5F8C[][4]; const u8 gBadgesTiles[] = INCBIN_U8("graphics/trainer_card/badges.4bpp"); // XXX: what is this? -u8 *const ewram_ = ewram; +u8 *const ewram_ = gSharedMem; bool8 sub_8093864(struct Task *); bool8 sub_80938A8(struct Task *); diff --git a/src/field/berry_tag_screen.c b/src/field/berry_tag_screen.c index 8241fe657..55405138d 100644 --- a/src/field/berry_tag_screen.c +++ b/src/field/berry_tag_screen.c @@ -28,7 +28,7 @@ struct Struct2000000 /*0x1FFFF*/ u8 var_1FFFF; }; -extern struct Struct2000000 ewram; +extern struct Struct2000000 gSharedMem; extern u16 gUnknown_030041B4; static EWRAM_DATA u8 gUnknown_0203932C = 0; @@ -119,13 +119,13 @@ static bool8 sub_8146058(void) case 5: if (!MultistepInitMenuWindowContinue()) break; - ewram.var_1FFFF = 0; + gSharedMem.var_1FFFF = 0; gMain.state += 1; break; case 6: if (!sub_81462B8()) break; - ewram.var_1FFFF = 0; + gSharedMem.var_1FFFF = 0; gMain.state += 1; break; case 7: @@ -191,19 +191,19 @@ bool8 sub_81462B8(void) u16 i; void *addr; - switch (ewram.var_1FFFF) + switch (gSharedMem.var_1FFFF) { case 0: LZDecompressVram(gBerryCheck_Gfx, (void *)VRAM); - ewram.var_1FFFF += 1; + gSharedMem.var_1FFFF += 1; break; case 1: LZDecompressVram(gUnknown_08E788E4, (void *)VRAM + 0x2800); - ewram.var_1FFFF += 1; + gSharedMem.var_1FFFF += 1; break; case 2: LZDecompressVram(gUnknown_08E78A84, (void *)VRAM + 0x3000); - ewram.var_1FFFF += 1; + gSharedMem.var_1FFFF += 1; break; case 3: for (i = 0; i < 0x400; i++) @@ -215,19 +215,19 @@ bool8 sub_81462B8(void) } addr = (void *)(VRAM + 0x3800); DmaCopy16(3, gBGTilemapBuffers[2], addr, 0x800); - ewram.var_1FFFF += 1; + gSharedMem.var_1FFFF += 1; break; case 4: LoadCompressedPalette(gBerryCheck_Pal, 0, 96 * 2); - ewram.var_1FFFF += 1; + gSharedMem.var_1FFFF += 1; break; case 5: LoadCompressedObjectPic(&gUnknown_083C1F74); - ewram.var_1FFFF += 1; + gSharedMem.var_1FFFF += 1; break; case 6: LoadCompressedObjectPalette(&gUnknown_083C1F7C); - ewram.var_1FFFF = 0; + gSharedMem.var_1FFFF = 0; return TRUE; } diff --git a/src/field/decoration.c b/src/field/decoration.c index 924c94b59..bdeaaf91d 100644 --- a/src/field/decoration.c +++ b/src/field/decoration.c @@ -1556,7 +1556,7 @@ const struct SpriteTemplate gSpriteTemplate_83ECA88 = { const struct YesNoFuncTable gUnknown_083ECAA0 = {.yesFunc = sub_8101848, .noFunc = sub_80FED3C}; -u8 *const unref_label_083ECAA8[] = {ewram}; +u8 *const unref_label_083ECAA8[] = {gSharedMem}; // text diff --git a/src/field/region_map.c b/src/field/region_map.c index b5a3de563..d643c373d 100644 --- a/src/field/region_map.c +++ b/src/field/region_map.c @@ -1426,7 +1426,7 @@ static const struct UnknownStruct4 sUnknown_083E79C0[1] = }; // XXX: what is this? -static u8 *const ewram_ = ewram; +static u8 *const ewram_ = gSharedMem; static const struct SpritePalette sFlyTargetIconSpritePalette = {sFlyTargetIcons_Pal, 2}; diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index 4d97ccb51..d6b20feaa 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -15,7 +15,7 @@ struct UnkStruct1 { /*0x02*/ s16 unk02; }; -extern struct UnkStruct2000000 ewram; +extern struct UnkStruct2000000 gSharedMem; extern struct UnkStruct1 *gUnknown_083ED048[]; extern const u16 gPalette_83EDE24[]; @@ -40,7 +40,7 @@ void sub_8104CAC(u8 arg0) { sub_8104DA4(); - task = &gTasks[ewram.unk3D]; + task = &gTasks[gSharedMem.unk3D]; task->data[1] = arg0; i = 0; diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index b5d36ad1e..398f62833 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -3710,7 +3710,7 @@ static void sub_80527BC(void) gUnknown_020297E0 = 0; gUnknown_020297DC = 2; for (i = 0; i < 200; i++) - ewram[i] = 0; + gSharedMem[i] = 0; gUnknown_020297E8 = 0; } for (i = 0; i < 100; i++) @@ -3719,7 +3719,7 @@ static void sub_80527BC(void) gUnknown_020297E0++; else { - u16* ewramPtr = ((u16*)(ewram)); + u16* ewramPtr = ((u16*)(gSharedMem)); ewramPtr[gUnknown_020297E4] = gUnknown_020297E0; gUnknown_020297E4++; gUnknown_020297E0 = 0; diff --git a/src/scene/intro.c b/src/scene/intro.c index 04173b86a..c4bb1f9ea 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -1208,7 +1208,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId) } // TODO: use ewram define instead -extern u8 ewram[][32]; +extern u8 gSharedMem[][32]; static void Task_IntroLoadPart3Streaks(u8 taskId) { @@ -1218,12 +1218,12 @@ static void Task_IntroLoadPart3Streaks(u8 taskId) intro_reset_and_hide_bgs(); for (i = 0; i < 32; i++) { - ewram[0][i] = 0; - ewram[1][i] = 17; - ewram[2][i] = 34; + gSharedMem[0][i] = 0; + gSharedMem[1][i] = 17; + gSharedMem[2][i] = 34; } vram = (void *)VRAM; - DmaCopy16(3, ewram, vram, 0x60); + DmaCopy16(3, gSharedMem, vram, 0x60); for (i = 0; i < 0x280; i++) ((u16 *)(VRAM + 0x3000))[i] = 0xF001; for (i = 0; i < 0x80; i++) -- cgit v1.2.3 From bd0f0777aa718d47e89bfbddb4aa53b12f508a03 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 10 Nov 2017 22:09:54 -0500 Subject: move credits data to C file (todo, german) --- src/data/credits_en.h | 654 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/scene/credits.c | 222 +++++++++++++++-- 2 files changed, 860 insertions(+), 16 deletions(-) create mode 100755 src/data/credits_en.h (limited to 'src') diff --git a/src/data/credits_en.h b/src/data/credits_en.h new file mode 100755 index 000000000..fd00dd94b --- /dev/null +++ b/src/data/credits_en.h @@ -0,0 +1,654 @@ +const u8 Category_Credits[] = _("{PALETTE 9}Credits"); +const u8 Category_ExecutiveDirector[] = _("{PALETTE 9}Executive Director"); +const u8 Category_Director[] = _("{PALETTE 9}Director"); +const u8 Category_ArtDirector[] = _("{PALETTE 9}Art Director"); +const u8 Category_BattleDirector[] = _("{PALETTE 9}Battle Director"); +const u8 Category_MainProgrammer[] = _("{PALETTE 9}Main Programmer"); +const u8 Category_BattleSystemProgrammer[] = _("{PALETTE 9}Battle System Programmer"); +const u8 Category_FieldSystemProgrammer[] = _("{PALETTE 9}Field System Programmer"); +const u8 Category_Programmers[] = _("{PALETTE 9}Programmers"); +const u8 Category_MainGraphicDesigner[] = _("{PALETTE 9}Main Graphic Designer"); +const u8 Category_POKeMONGraphicDesigners[] = _("{PALETTE 9}POKéMON & Graphic Designers"); +const u8 Category_POKeMONDesigners[] = _("{PALETTE 9}POKéMON Designers"); +const u8 Category_MusicComposition[] = _("{PALETTE 9}Music Composition"); +const u8 Category_SoundEffectsPOKeMONVoices[] = _("{PALETTE 9}Sound Effects & POKéMON Voices"); +const u8 Category_GameDesigners[] = _("{PALETTE 9}Game Designers"); +const u8 Category_PlotScenario[] = _("{PALETTE 9}Plot Scenario"); +const u8 Category_GameScenario[] = _("{PALETTE 9}Game Scenario"); +const u8 Category_ScriptDesigners[] = _("{PALETTE 9}Script Designers"); +const u8 Category_MapDesigners[] = _("{PALETTE 9}Map Designers"); +const u8 Category_MapDataDesigners[] = _("{PALETTE 9}Map Data Designers"); +const u8 Category_ParametricDesigners[] = _("{PALETTE 9}Parametric Designers"); +const u8 Category_POKeDEXText[] = _("{PALETTE 9}POKéDEX Text"); +const u8 Category_EnvironmentToolProgrammers[] = _("{PALETTE 9}Environment & Tool Programmers"); +const u8 Category_ProductTesting[] = _("{PALETTE 9}Product Testing"); +const u8 Category_SpecialThanks[] = _("{PALETTE 9}Special Thanks"); +const u8 Category_Coordinators[] = _("{PALETTE 9}Coordinators"); +const u8 Category_Producers[] = _("{PALETTE 9}Producers"); +const u8 Category_ExecutiveProducers[] = _("{PALETTE 9}Executive Producers"); +const u8 Category_InformationSupervisors[] = _("{PALETTE 9}Information Supervisors"); +const u8 Category_TaskManagers[] = _("{PALETTE 9}Task Managers"); +const u8 Category_BrailleCodeCheck[] = _("{PALETTE 9}Braille Code Check"); +const u8 Category_EnglishVersionCoordinators[] = _("{PALETTE 9}English Version Coordinators"); +const u8 Category_Translator[] = _("{PALETTE 9}Translator"); +const u8 Category_ProductSupport[] = _("{PALETTE 9}Product Support"); +const u8 Category_Artwork[] = _("{PALETTE 9}Artwork"); +const u8 Category_TextEditor[] = _("{PALETTE 9}Text Editor"); +const u8 Category_NOAProductTesting[] = _("{PALETTE 9}NOA Product Testing"); +const u8 Category_GraphicDesigners[] = _("{PALETTE 9}Graphic Designers"); +const u8 Text_SatoshiTajiri[] = _("Satoshi Tajiri"); +const u8 Text_Masuda[] = _("Junichi Masuda"); +const u8 Text_Sugimori[] = _("Ken Sugimori"); +const u8 Text_Morimoto[] = _("Shigeki Morimoto"); +const u8 Text_TetsuyaWatanabe[] = _("Tetsuya Watanabe"); +const u8 Text_Sogabe[] = _("Hisashi Sogabe"); +const u8 Text_Tamada[] = _("Sousuke Tamada"); +const u8 Text_Mori[] = _("Akito Mori"); +const u8 Text_Kagaya[] = _("Keita Kagaya"); +const u8 Text_Matsuda[] = _("Yoshinori Matsuda"); +const u8 Text_HiroyukiNakamura[] = _("Hiroyuki Nakamura"); +const u8 Text_Taya[] = _("Masao Taya"); +const u8 Text_Nohara[] = _("Satoshi Nohara"); +const u8 Text_TomomichiOhta[] = _("Tomomichi Ohta"); +const u8 Text_Iwasawa[] = _("Miyuki Iwasawa"); +const u8 Text_TakenoriOhta[] = _("Takenori Ohta"); +const u8 Text_Yoshida[] = _("Hironobu Yoshida"); +const u8 Text_Fujiwara[] = _("Motofumi Fujiwara"); +const u8 Text_SatoshiOhta[] = _("Satoshi Ohta"); +const u8 Text_Iwashita[] = _("Asuka Iwashita"); +const u8 Text_Tomita[] = _("Aimi Tomita"); +const u8 Text_Unno[] = _("Takao Unno"); +const u8 Text_Eo[] = _("Kanako Eo"); +const u8 Text_Okutani[] = _("Jun Okutani"); +const u8 Text_Nishida[] = _("Atsuko Nishida"); +const u8 Text_Saito[] = _("Muneo Saito"); +const u8 Text_Yoshikawa[] = _("Rena Yoshikawa"); +const u8 Text_Ichinose[] = _("Go Ichinose"); +const u8 Text_Aoki[] = _("Morikazu Aoki"); +const u8 Text_Nishino[] = _("Koji Nishino"); +const u8 Text_Matsushima[] = _("Kenji Matsushima"); +const u8 Text_TetsujiOhta[] = _("Tetsuji Ohta"); +const u8 Text_Sato[] = _("Hitomi Sato"); +const u8 Text_Kawachimaru[] = _("Takeshi Kawachimaru"); +const u8 Text_Shimoyamada[] = _("Teruyuki Shimoyamada"); +const u8 Text_Ohmori[] = _("Shigeru Ohmori"); +const u8 Text_Takahashi[] = _("Tadashi Takahashi"); +const u8 Text_ToshinobuMatsumiya[] = _("Toshinobu Matsumiya"); +const u8 Text_Tomisawa[] = _("Akihito Tomisawa"); +const u8 Text_Enomoto[] = _("Hiroki Enomoto"); +const u8 Text_Terada[] = _("Kazuyuki Terada"); +const u8 Text_Sakurai[] = _("Yuri Sakurai"); +const u8 Text_Sagawa[] = _("Hiromi Sagawa"); +const u8 Text_Tominaga[] = _("Kenji Tominaga"); +const u8 Text_YoshioTajiri[] = _("Yoshio Tajiri"); +const u8 Text_Sasaki[] = _("Teiko Sasaki"); +const u8 Text_Hamano[] = _("Sachiko Hamano"); +const u8 Text_ChieMatsumiya[] = _("Chie Matsumiya"); +const u8 Text_Shinozaki[] = _("Akiko Shinozaki"); +const u8 Text_Fujii[] = _("Atsuko Fujii"); +const u8 Text_SuperMarioClub[] = _("NCL Super Mario Club"); +const u8 Text_Tada[] = _("Atsushi Tada"); +const u8 Text_Ohnishi[] = _("Takahiro Ohnishi"); +const u8 Text_Okamura[] = _("Norihide Okamura"); +const u8 Text_HiroNakamura[] = _("Hiro Nakamura"); +const u8 Text_Uesugi[] = _("Hiroyuki Uesugi"); +const u8 Text_Murakawa[] = _("Teruki Murakawa"); +const u8 Text_Kinashi[] = _("Akira Kinashi"); +const u8 Text_Takizawa[] = _("Michiko Takizawa"); +const u8 Text_Takada[] = _("Makiko Takada"); +const u8 Text_Kondo[] = _("Takanao Kondo"); +const u8 Text_Mashima[] = _("Ai Mashima"); +const u8 Text_Nomoto[] = _("Gakuji Nomoto"); +const u8 Text_Izushi[] = _("Takehiro Izushi"); +const u8 Text_Yamagami[] = _("Hitoshi Yamagami"); +const u8 Text_KyokoWatanabe[] = _("Kyoko Watanabe"); +const u8 Text_Nakano[] = _("Takao Nakano"); +const u8 Text_Jinnai[] = _("Hiroyuki Jinnai"); +const u8 Text_Tsuru[] = _("Hiroaki Tsuru"); +const u8 Text_Ishihara[] = _("Tsunekaz Ishihara"); +const u8 Text_Iwata[] = _("Satoru Iwata"); +const u8 Text_Suyama[] = _("Kazuya Suyama"); +const u8 Text_Mitsuhara[] = _("Satoshi Mitsuhara"); +const u8 Text_JapanBrailleLibrary[] = _("Japan Braille Library"); +const u8 Text_Komura[] = _("Tomotaka Komura"); +const u8 Text_Ohashi[] = _("Mikiko Ohashi"); +const u8 Text_McMahill[] = _("Seth McMahill"); +const u8 Text_Ogasawara[] = _("Nob Ogasawara"); +const u8 Text_Yamamoto[] = _("Souichi Yamamoto"); +const u8 Text_Funakoshi[] = _("Masanori Funakoshi"); +const u8 Text_Fujihara[] = _("Kazuhiro Fujihara"); +const u8 Text_Nakamichi[] = _("Kimiko Nakamichi"); +const u8 Text_Hara[] = _("Daisuke Hara"); +const u8 Text_Okada[] = _("Atsushi Okada"); +const u8 Text_Lillygren[] = _("Teresa Lillygren"); +const u8 Text_Hertzog[] = _("Thomas Hertzog"); +const u8 Text_Ridgeway[] = _("Ed Ridgeway"); +const u8 Text_NFotB[] = _("National Federation of the Blind"); +const u8 Text_Maurer[] = _("Patricia A. Maurer"); +const u8 Text_Ford[] = _("Sayoko Blodgett-Ford"); +const u8 Text_Barlow[] = _("Nicola Pratt-Barlow"); +const u8 Text_Uyama[] = _("Koji Uyama"); +const u8 Text_Howitt[] = _("Anthony Howitt"); +const u8 Text_Tilden[] = _("Gail Tilden"); +const u8 Text_EBU[] = _("European Blind Union"); +const u8 Text_ABA[] = _("Australian Braille Authority"); +const u8 Text_RNZFotB[] = _("Royal New Zealand Federation for the Blind"); +const u8 Text_CreditsTerminator[] = _(""); +#ifdef SAPPHIRE +const u8 Text_Version[] = _("{PALETTE 9}POKéMON SAPPHIRE VERSION"); +#else +const u8 Text_Version[] = _("{PALETTE 9}POKéMON RUBY VERSION"); +#endif + +const struct CreditsEntry CreditsTerminator[] = {0, Text_CreditsTerminator}; +#ifdef SAPPHIRE +const struct CreditsEntry CreditsVersion[] = {7, Text_Version}; +#else +const struct CreditsEntry CreditsVersion[] = {8, Text_Version}; +#endif +const struct CreditsEntry CreditsCredits[] = {11, Category_Credits}; +const struct CreditsEntry CreditsExecutiveDirector[] = {8, Category_ExecutiveDirector}; +const struct CreditsEntry CreditsDirector[] = {12, Category_Director}; +const struct CreditsEntry CreditsArtDirector[] = {10, Category_ArtDirector}; +const struct CreditsEntry CreditsBattleDirector[] = {10, Category_BattleDirector}; +const struct CreditsEntry CreditsMainProgrammer[] = {10, Category_MainProgrammer}; +const struct CreditsEntry CreditsBattleSystemProgrammer[] = {8, Category_BattleSystemProgrammer}; +const struct CreditsEntry CreditsFieldSystemProgrammer[] = {7, Category_FieldSystemProgrammer}; +const struct CreditsEntry CreditsProgrammers[] = {12, Category_Programmers}; +const struct CreditsEntry CreditsMainGraphicDesigner[] = {7, Category_MainGraphicDesigner}; +const struct CreditsEntry CreditsPOKeMONGraphicDesigners[] = {6, Category_POKeMONGraphicDesigners}; +const struct CreditsEntry CreditsPOKeMONDesigners[] = {10, Category_POKeMONDesigners}; +const struct CreditsEntry CreditsMusicComposition[] = {13, Category_MusicComposition}; +const struct CreditsEntry CreditsSoundEffectsPOKeMONVoices[] = {4, Category_SoundEffectsPOKeMONVoices}; +const struct CreditsEntry CreditsGameDesigners[] = {11, Category_GameDesigners}; +const struct CreditsEntry CreditsPlotScenario[] = {11, Category_PlotScenario}; +const struct CreditsEntry CreditsGameScenario[] = {13, Category_GameScenario}; +const struct CreditsEntry CreditsScriptDesigners[] = {10, Category_ScriptDesigners}; +const struct CreditsEntry CreditsMapDesigners[] = {11, Category_MapDesigners}; +const struct CreditsEntry CreditsMapDataDesigners[] = {9, Category_MapDataDesigners}; +const struct CreditsEntry CreditsParametricDesigners[] = {9, Category_ParametricDesigners}; +const struct CreditsEntry CreditsPOKeDEXText[] = {11, Category_POKeDEXText}; +const struct CreditsEntry CreditsEnvironmentToolProgrammers[] = {6, Category_EnvironmentToolProgrammers}; +const struct CreditsEntry CreditsProductTesting[] = {11, Category_ProductTesting}; +const struct CreditsEntry CreditsSpecialThanks[] = {10, Category_SpecialThanks}; +const struct CreditsEntry CreditsCoordinators[] = {11, Category_Coordinators}; +const struct CreditsEntry CreditsProducers[] = {11, Category_Producers}; +const struct CreditsEntry CreditsExecutiveProducers[] = {7, Category_ExecutiveProducers}; +const struct CreditsEntry CreditsInformationSupervisors[] = {10, Category_InformationSupervisors}; +const struct CreditsEntry CreditsTaskManagers[] = {8, Category_TaskManagers}; +const struct CreditsEntry CreditsBrailleCodeCheck[] = {10, Category_BrailleCodeCheck}; +const struct CreditsEntry CreditsSatoshiTajiri[] = {11, Text_SatoshiTajiri}; +const struct CreditsEntry CreditsMasuda[] = {11, Text_Masuda}; +const struct CreditsEntry CreditsSugimori[] = {11, Text_Sugimori}; +const struct CreditsEntry CreditsMorimoto[] = {11, Text_Morimoto}; +const struct CreditsEntry CreditsTetsuyaWatanabe[] = {11, Text_TetsuyaWatanabe}; +const struct CreditsEntry CreditsSogabe[] = {11, Text_Sogabe}; +const struct CreditsEntry CreditsTamada[] = {11, Text_Tamada}; +const struct CreditsEntry CreditsMori[] = {11, Text_Mori}; +const struct CreditsEntry CreditsKagaya[] = {11, Text_Kagaya}; +const struct CreditsEntry CreditsMatsuda[] = {11, Text_Matsuda}; +const struct CreditsEntry CreditsHiroyukiNakamura[] = {11, Text_HiroyukiNakamura}; +const struct CreditsEntry CreditsTaya[] = {11, Text_Taya}; +const struct CreditsEntry CreditsNohara[] = {11, Text_Nohara}; +const struct CreditsEntry CreditsTomomichiOhta[] = {11, Text_TomomichiOhta}; +const struct CreditsEntry CreditsIwasawa[] = {11, Text_Iwasawa}; +const struct CreditsEntry CreditsTakenoriOhta[] = {11, Text_TakenoriOhta}; +const struct CreditsEntry CreditsYoshida[] = {11, Text_Yoshida}; +const struct CreditsEntry CreditsFujiwara[] = {11, Text_Fujiwara}; +const struct CreditsEntry CreditsSatoshiOhta[] = {11, Text_SatoshiOhta}; +const struct CreditsEntry CreditsIwashita[] = {11, Text_Iwashita}; +const struct CreditsEntry CreditsTomita[] = {11, Text_Tomita}; +const struct CreditsEntry CreditsUnno[] = {11, Text_Unno}; +const struct CreditsEntry CreditsEo[] = {11, Text_Eo}; +const struct CreditsEntry CreditsOkutani[] = {11, Text_Okutani}; +const struct CreditsEntry CreditsNishida[] = {11, Text_Nishida}; +const struct CreditsEntry CreditsSaito[] = {11, Text_Saito}; +const struct CreditsEntry CreditsYoshikawa[] = {11, Text_Yoshikawa}; +const struct CreditsEntry CreditsIchinose[] = {11, Text_Ichinose}; +const struct CreditsEntry CreditsAoki[] = {11, Text_Aoki}; +const struct CreditsEntry CreditsNishino[] = {11, Text_Nishino}; +const struct CreditsEntry CreditsMatsushima[] = {11, Text_Matsushima}; +const struct CreditsEntry CreditsTetsujiOhta[] = {11, Text_TetsujiOhta}; +const struct CreditsEntry CreditsSato[] = {11, Text_Sato}; +const struct CreditsEntry CreditsKawachimaru[] = {11, Text_Kawachimaru}; +const struct CreditsEntry CreditsShimoyamada[] = {11, Text_Shimoyamada}; +const struct CreditsEntry CreditsOhmori[] = {11, Text_Ohmori}; +const struct CreditsEntry CreditsTakahashi[] = {11, Text_Takahashi}; +const struct CreditsEntry CreditsToshinobuMatsumiya[] = {11, Text_ToshinobuMatsumiya}; +const struct CreditsEntry CreditsTomisawa[] = {11, Text_Tomisawa}; +const struct CreditsEntry CreditsEnomoto[] = {11, Text_Enomoto}; +const struct CreditsEntry CreditsTerada[] = {11, Text_Terada}; +const struct CreditsEntry CreditsSakurai[] = {11, Text_Sakurai}; +const struct CreditsEntry CreditsSagawa[] = {11, Text_Sagawa}; +const struct CreditsEntry CreditsTominaga[] = {11, Text_Tominaga}; +const struct CreditsEntry CreditsYoshiroTajiri[] = {11, Text_YoshioTajiri}; +const struct CreditsEntry CreditsSasaki[] = {11, Text_Sasaki}; +const struct CreditsEntry CreditsHamano[] = {11, Text_Hamano}; +const struct CreditsEntry CreditsChieMatsumiya[] = {11, Text_ChieMatsumiya}; +const struct CreditsEntry CreditsShinozaki[] = {11, Text_Shinozaki}; +const struct CreditsEntry CreditsFujii[] = {11, Text_Fujii}; +const struct CreditsEntry CreditsSuperMarioClub[] = {11, Text_SuperMarioClub}; +const struct CreditsEntry CreditsTada[] = {11, Text_Tada}; +const struct CreditsEntry CreditsOhnishi[] = {11, Text_Ohnishi}; +const struct CreditsEntry CreditsOkamura[] = {11, Text_Okamura}; +const struct CreditsEntry CreditsHiroNakamura[] = {11, Text_HiroNakamura}; +const struct CreditsEntry CreditsUesugi[] = {11, Text_Uesugi}; +const struct CreditsEntry CreditsMurakawa[] = {11, Text_Murakawa}; +const struct CreditsEntry CreditsKinashi[] = {11, Text_Kinashi}; +const struct CreditsEntry CreditsTakizawa[] = {11, Text_Takizawa}; +const struct CreditsEntry CreditsTakada[] = {11, Text_Takada}; +const struct CreditsEntry CreditsKondo[] = {11, Text_Kondo}; +const struct CreditsEntry CreditsMashima[] = {11, Text_Mashima}; +const struct CreditsEntry CreditsNomoto[] = {11, Text_Nomoto}; +const struct CreditsEntry CreditsIzushi[] = {11, Text_Izushi}; +const struct CreditsEntry CreditsYamagami[] = {11, Text_Yamagami}; +const struct CreditsEntry CreditsKyokoWatanabe[] = {11, Text_KyokoWatanabe}; +const struct CreditsEntry CreditsNakano[] = {11, Text_Nakano}; +const struct CreditsEntry CreditsJinnai[] = {11, Text_Jinnai}; +const struct CreditsEntry CreditsTsuru[] = {11, Text_Tsuru}; +const struct CreditsEntry CreditsIshihara[] = {11, Text_Ishihara}; +const struct CreditsEntry CreditsIwata[] = {11, Text_Iwata}; +const struct CreditsEntry CreditsSuyama[] = {11, Text_Suyama}; +const struct CreditsEntry CreditsMitsuhara[] = {11, Text_Mitsuhara}; +const struct CreditsEntry CreditsJapanBrailleLibrary[] = {9, Text_JapanBrailleLibrary}; +const struct CreditsEntry CreditsKomura[] = {11, Text_Komura}; +const struct CreditsEntry CreditsOhashi[] = {11, Text_Ohashi}; +const struct CreditsEntry CreditsEnglishVersionCoordinators[] = {0, Category_EnglishVersionCoordinators}; +const struct CreditsEntry CreditsTranslator[] = {0, Category_Translator}; +const struct CreditsEntry CreditsProductSupport[] = {0, Category_ProductSupport}; +const struct CreditsEntry CreditsArtwork[] = {0, Category_Artwork}; +const struct CreditsEntry CreditsTextEditor[] = {0, Category_TextEditor}; +const struct CreditsEntry CreditsNOAProductTesting[] = {0, Category_NOAProductTesting}; +const struct CreditsEntry CreditsGraphicDesigners[] = {0, Category_GraphicDesigners}; +const struct CreditsEntry CreditsMcMahill[] = {0, Text_McMahill}; +const struct CreditsEntry CreditsOgasawara[] = {0, Text_Ogasawara}; +const struct CreditsEntry CreditsYamamoto[] = {0, Text_Yamamoto}; +const struct CreditsEntry CreditsFunakoshi[] = {0, Text_Funakoshi}; +const struct CreditsEntry CreditsFujihara[] = {0, Text_Fujihara}; +const struct CreditsEntry CreditsNakamichi[] = {0, Text_Nakamichi}; +const struct CreditsEntry CreditsHara[] = {0, Text_Hara}; +const struct CreditsEntry CreditsOkada[] = {0, Text_Okada}; +const struct CreditsEntry CreditsLillygren[] = {0, Text_Lillygren}; +const struct CreditsEntry CreditsHertzog[] = {0, Text_Hertzog}; +const struct CreditsEntry CreditsRidgeway[] = {0, Text_Ridgeway}; +const struct CreditsEntry CreditsNFotB[] = {0, Text_NFotB}; +const struct CreditsEntry CreditsMaurer[] = {0, Text_Maurer}; +const struct CreditsEntry CreditsFord[] = {0, Text_Ford}; +const struct CreditsEntry CreditsBarlow[] = {0, Text_Barlow}; +const struct CreditsEntry CreditsUyama[] = {0, Text_Uyama}; +const struct CreditsEntry CreditsHowitt[] = {0, Text_Howitt}; +const struct CreditsEntry CreditsTilden[] = {0, Text_Tilden}; +const struct CreditsEntry CreditsEBU[] = {0, Text_EBU}; +const struct CreditsEntry CreditsABA[] = {0, Text_ABA}; +const struct CreditsEntry CreditsRNZFotB[] = {0, Text_RNZFotB}; + +#define LINES_PER_PAGE 5 +#define _ CreditsTerminator +const struct CreditsEntry *const gCreditsEntryPointerTable[][LINES_PER_PAGE] = +{ + { + _, + CreditsVersion, + CreditsCredits, + _, + _ + }, + { + _, + CreditsDirector, + CreditsMasuda, + _, + _, + }, + { + _, + CreditsArtDirector, + CreditsSugimori, + _, + _, + }, + { + _, + CreditsBattleDirector, + CreditsMorimoto, + _, + _, + }, + { + _, + CreditsMainProgrammer, + CreditsTetsuyaWatanabe, + _, + _, + }, + { + CreditsBattleSystemProgrammer, + CreditsSogabe, + CreditsFieldSystemProgrammer, + CreditsTamada, + _, + }, + { + CreditsProgrammers, + CreditsMori, + CreditsKagaya, + CreditsMatsuda, + _, + }, + { + CreditsProgrammers, + CreditsHiroyukiNakamura, + CreditsTaya, + CreditsNohara, + _, + }, + { + CreditsProgrammers, + CreditsTomomichiOhta, + CreditsIwasawa, + CreditsTakenoriOhta, + _, + }, + { + _, + CreditsMainGraphicDesigner, + CreditsYoshida, + _, + _, + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsSugimori, + CreditsYoshida, + _, + _, + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsFujiwara, + CreditsSatoshiOhta, + CreditsIwashita, + _, + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsTomita, + CreditsUnno, + CreditsEo, + _, + }, + { + CreditsPOKeMONDesigners, + CreditsMorimoto, + CreditsOkutani, + CreditsNishida, + _, + }, + { + CreditsPOKeMONDesigners, + CreditsSaito, + CreditsYoshikawa, + _, + _, + }, + { + CreditsMusicComposition, + CreditsIchinose, + CreditsAoki, + CreditsMasuda, + _, + }, + { + _, + CreditsSoundEffectsPOKeMONVoices, + CreditsAoki, + _, + _, + }, + { + CreditsGameDesigners, + CreditsMasuda, + CreditsMorimoto, + CreditsNishino, + _, + }, + { + CreditsGameDesigners, + CreditsMatsushima, + CreditsTetsujiOhta, + CreditsSato, + CreditsKawachimaru, + }, + { + CreditsGameDesigners, + CreditsShimoyamada, + CreditsOhmori, + CreditsTakahashi, + _, + }, + { + CreditsPlotScenario, + CreditsMasuda, + CreditsTomisawa, + CreditsNishino, + _, + }, + { + CreditsGameScenario, + CreditsToshinobuMatsumiya, + CreditsTomisawa, + _, + _, + }, + { + CreditsScriptDesigners, + CreditsNohara, + CreditsTetsujiOhta, + CreditsTomomichiOhta, + _, + }, + { + CreditsMapDesigners, + CreditsOhmori, + CreditsTetsujiOhta, + CreditsNishino, + _, + }, + { + CreditsMapDataDesigners, + CreditsTetsujiOhta, + CreditsTakahashi, + _, + _, + }, + { + CreditsParametricDesigners, + CreditsNishino, + CreditsMorimoto, + CreditsTetsujiOhta, + CreditsShimoyamada, + }, + { + _, + CreditsPOKeDEXText, + CreditsMatsushima, + _, + _, + }, + { + CreditsEnvironmentToolProgrammers, + CreditsSogabe, + CreditsTamada, + CreditsHiroyukiNakamura, + CreditsMori, + }, + { + CreditsProductTesting, + CreditsSuperMarioClub, + CreditsTada, + CreditsOhnishi, + CreditsOkamura, + }, + { + CreditsSpecialThanks, + CreditsTominaga, + CreditsYoshiroTajiri, + CreditsSasaki, + _, + }, + { + CreditsSpecialThanks, + CreditsHamano, + CreditsChieMatsumiya, + CreditsShinozaki, + CreditsFujii, + }, + { + CreditsSpecialThanks, + CreditsSuyama, + CreditsMitsuhara, + CreditsKomura, + CreditsOhashi, + }, + { + CreditsSpecialThanks, + CreditsTakizawa, + CreditsTakada, + CreditsKondo, + CreditsMashima, + }, + { + CreditsInformationSupervisors, + CreditsEnomoto, + CreditsTerada, + CreditsSakurai, + CreditsSagawa, + }, + { + CreditsCoordinators, + CreditsKyokoWatanabe, + CreditsNakano, + _, + _, + }, + { + CreditsTaskManagers, + CreditsYamagami, + CreditsNomoto, + _, + _, + }, + { + CreditsProducers, + CreditsJinnai, + CreditsIzushi, + CreditsTsuru, + _, + }, + { + _, + CreditsExecutiveDirector, + CreditsSatoshiTajiri, + _, + _, + }, + { + _, + CreditsExecutiveProducers, + CreditsIwata, + _, + _, + }, + { + _, + CreditsExecutiveProducers, + CreditsIshihara, + _, + _, + }, + { + CreditsEnglishVersionCoordinators, + CreditsHiroNakamura, + CreditsMcMahill, + _, + _, + }, + { + _, + CreditsTranslator, + CreditsOgasawara, + _, + _, + }, + { + CreditsProgrammers, + CreditsMurakawa, + CreditsYamamoto, + CreditsFunakoshi, + CreditsKinashi, + }, + { + CreditsGraphicDesigners, + CreditsYamamoto, + CreditsKinashi, + _, + _, + }, + { + CreditsProductSupport, + CreditsNakamichi, + CreditsHara, + _, + _, + }, + { + _, + CreditsArtwork, + CreditsOkada, + _, + _, + }, + { + _, + CreditsTextEditor, + CreditsLillygren, + _, + _, + }, + { + CreditsNOAProductTesting, + CreditsHertzog, + CreditsRidgeway, + _, + _, + }, + { + CreditsBrailleCodeCheck, + CreditsNFotB, + CreditsMaurer, + CreditsJapanBrailleLibrary, + CreditsEBU, + }, + { + CreditsBrailleCodeCheck, + CreditsABA, + CreditsRNZFotB, + _, + _, + }, + { + CreditsSpecialThanks, + CreditsFord, + CreditsBarlow, + CreditsUesugi, + CreditsUyama, + }, + { + CreditsSpecialThanks, + CreditsHowitt, + CreditsTilden, + CreditsFujihara, + _, + }, +}; +#undef _ diff --git a/src/scene/credits.c b/src/scene/credits.c index d9e97c570..84b3b5faa 100644 --- a/src/scene/credits.c +++ b/src/scene/credits.c @@ -160,7 +160,7 @@ struct Unk201C000 struct CreditsEntry { u8 var_0; - u8 *text; + const u8 *text; }; extern u8 unk_201e800[0x800]; @@ -185,18 +185,208 @@ extern void *gUnknown_0840B5A0[]; // data/credits const u16 gUnknown_0840B7BC[] = INCBIN_U16("graphics/credits/palette_1.gbapal"); const u8 gUnknown_0840B7FC[] = INCBIN_U8("graphics/credits/ampersand.4bpp"); -extern u8 gUnknown_0840B83C[]; -extern u8 gUnknown_0840B84B[]; -extern u8 gUnknown_0840B85A[]; -extern u8 gUnknown_0840B869[]; -extern u8 gUnknown_0840B878[]; -extern struct CreditsEntry *gCreditsEntryPointerTable[][5]; -extern u8 gUnknown_0840CA00[][2]; -extern struct SpriteSheet gUnknown_0840CAA0; -extern struct SpritePalette gUnknown_0840CAB0; -extern const union AnimCmd *const gSpriteAnimTable_0840CA54[]; -extern const union AnimCmd *const gSpriteAnimTable_0840CA94[]; -extern struct SpriteTemplate gSpriteTemplate_840CAEC; + +void spritecb_814580C(struct Sprite *sprite); + +const u8 gUnknown_0840B83C[] = +{ + 0, 1, 0, + 0xFF, 1, 0xFF, + 0xFF, 1, 0xFF, + 0xFF, 1, 0xFF, + 0xFF, 1, 0xFF, +}; + +const u8 gUnknown_0840B84B[] = +{ + 1, 0xFF, 1, + 1, 0xFF, 1, + 1, 2, 1, + 1, 0xFF, 1, + 1, 0xFF, 1, +}; + +const u8 gUnknown_0840B85A[] = +{ + 1, 0, 0, + 1, 0xFF, 0xFF, + 1, 2, 2, + 1, 0xFF, 0xFF, + 1, 0x80, 0x80, +}; + +const u8 gUnknown_0840B869[] = +{ + 1, 3, 1, + 1, 4, 1, + 1, 5, 1, + 1, 0xC4, 1, + 1, 0xC3, 1, +}; + +const u8 gUnknown_0840B878[] = +{ + 1, 6, 7, + 1, 8, 9, + 1, 0xFF, 1, + 1, 0x88, 0x89, + 1, 0x86, 0x87, +#ifdef GERMAN + 1, 0, 0, + 1, 0xFF, 0xFF, + 1, 0x80, 0x8A, + 1, 0xFF, 0xFF, + 1, 0xFF, 0xFF, + 0, 1, 0, + 0xFF, 1, 0xFF, + 0xFF, 1, 0xFF, + 0xFF, 1, 0xFF, + 0x80, 1, 0x80, +#endif +}; + +#ifdef GERMAN +#include "../data/credits_en.h" // TODO, german credits +#else +#include "../data/credits_en.h" +#endif + +const u8 gUnknown_0840CA00[][2] = +{ + {104, 36}, + {120, 36}, + {136, 36}, +}; + +static const union AnimCmd gSpriteAnim_840CA08[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(128, 8), + ANIMCMD_FRAME(192, 8), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd gSpriteAnim_840CA1C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(128, 4), + ANIMCMD_FRAME(192, 4), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd gSpriteAnim_840CA30[] = +{ + ANIMCMD_FRAME(256, 4), + ANIMCMD_FRAME(320, 4), + ANIMCMD_FRAME(384, 4), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_840CA40[] = +{ + ANIMCMD_FRAME(384, 30), + ANIMCMD_FRAME(320, 30), + ANIMCMD_FRAME(256, 30), + ANIMCMD_FRAME(256, 30), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_0840CA54[] = +{ + gSpriteAnim_840CA08, + gSpriteAnim_840CA1C, + gSpriteAnim_840CA30, + gSpriteAnim_840CA40, +}; + +static const union AnimCmd gSpriteAnim_840CA64[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(64, 8), + ANIMCMD_FRAME(128, 8), + ANIMCMD_FRAME(192, 8), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd gSpriteAnim_840CA78[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(128, 4), + ANIMCMD_FRAME(192, 4), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd gSpriteAnim_840CA8C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_0840CA94[] = +{ + gSpriteAnim_840CA64, + gSpriteAnim_840CA78, + gSpriteAnim_840CA8C, +}; + +static const struct SpriteSheet gUnknown_0840CAA0[] = {{ewram1E000_2, 6144, 1001}, {0}}; +static const struct SpritePalette gUnknown_0840CAB0[] = {{ewram_1F800_2, 1001}, {0}}; + +static const struct OamData gOamData_840CAC0 = +{ + .y = 160, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 3, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd gSpriteAnim_840CAC8[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_840CAD0[] = +{ + ANIMCMD_FRAME(64, 8), + ANIMCMD_END, +}; + +static const union AnimCmd gSpriteAnim_840CAD8[] = +{ + ANIMCMD_FRAME(128, 8), + ANIMCMD_END, +}; + +static const union AnimCmd *const gSpriteAnimTable_840CAE0[] = +{ + gSpriteAnim_840CAC8, + gSpriteAnim_840CAD0, + gSpriteAnim_840CAD8, +}; + +static const struct SpriteTemplate gSpriteTemplate_840CAEC = +{ + .tileTag = 1001, + .paletteTag = 1001, + .oam = &gOamData_840CAC0, + .anims = gSpriteAnimTable_840CAE0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = spritecb_814580C, +}; // graphics extern u8 gCreditsCopyrightEnd_Gfx[]; @@ -432,8 +622,8 @@ void task_a_8143D04(u8 taskIdA) EWRAM_1F800[2] = 0x529F; // light red EWRAM_1F800[3] = 0x7E94; // light blue - LoadSpriteSheet(&gUnknown_0840CAA0); - LoadSpritePalette(&gUnknown_0840CAB0); + LoadSpriteSheet(gUnknown_0840CAA0); + LoadSpritePalette(gUnknown_0840CAB0); gMain.state += 1; break; @@ -1151,7 +1341,7 @@ u16 sub_8145208(u8 arg0) return out; } -void sub_814524C(u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette) +void sub_814524C(const u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette) { u8 y, x; const u16 tileOffset = (palette / 16) << 12; -- cgit v1.2.3 From 608d293def9e943cef9e1ce25e014ce5306eb519 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 10 Nov 2017 22:27:32 -0500 Subject: fix german --- src/data/credits_de.h | 624 +++++++++++++++++++++++++++++++++++++++++++ src/data/credits_en.h | 726 +++++++++++++++++++++++++------------------------- src/scene/credits.c | 2 +- 3 files changed, 988 insertions(+), 364 deletions(-) create mode 100755 src/data/credits_de.h (limited to 'src') diff --git a/src/data/credits_de.h b/src/data/credits_de.h new file mode 100755 index 000000000..570c0d4c5 --- /dev/null +++ b/src/data/credits_de.h @@ -0,0 +1,624 @@ +static const u8 Text_Version_Ruby[] = _("POKéMON RUBIN-EDITION"); +static const u8 Text_Version_Sapphire[] = _("POKéMON SAPHIR-EDITION"); +static const u8 Category_Credits[] = _("{PALETTE 9}Credits"); +static const u8 Category_ExecutiveDirector[] = _("{PALETTE 9}Executive Director"); +static const u8 Category_Director[] = _("{PALETTE 9}Director"); +static const u8 Category_ArtDirector[] = _("{PALETTE 9}Art Director"); +static const u8 Category_BattleDirector[] = _("{PALETTE 9}Battle Director"); +static const u8 Category_MainProgrammer[] = _("{PALETTE 9}Main Programmer"); +static const u8 Category_BattleSystemProgrammer[] = _("{PALETTE 9}Battle System Programmer"); +static const u8 Category_FieldSystemProgrammer[] = _("{PALETTE 9}Field System Programmer"); +static const u8 Category_Programmers[] = _("{PALETTE 9}Programmers"); +static const u8 Category_MainGraphicDesigner[] = _("{PALETTE 9}Main Graphic Designer"); +static const u8 Category_POKeMONGraphicDesigners[] = _("{PALETTE 9}POKéMON & Graphic Designers"); +static const u8 Category_POKeMONDesigners[] = _("{PALETTE 9}POKéMON Designers"); +static const u8 Category_MusicComposition[] = _("{PALETTE 9}Music Composition"); +static const u8 Category_SoundEffectsPOKeMONVoices[] = _("{PALETTE 9}Sound Effects & POKéMON Voices"); +static const u8 Category_GameDesigners[] = _("{PALETTE 9}Game Designers"); +static const u8 Category_PlotScenario[] = _("{PALETTE 9}Plot Scenario"); +static const u8 Category_GameScenario[] = _("{PALETTE 9}Game Scenario"); +static const u8 Category_ScriptDesigners[] = _("{PALETTE 9}Script Designers"); +static const u8 Category_MapDesigners[] = _("{PALETTE 9}Map Designers"); +static const u8 Category_MapDataDesigners[] = _("{PALETTE 9}Map Data Designers"); +static const u8 Category_ParametricDesigners[] = _("{PALETTE 9}Parametric Designers"); +static const u8 Category_POKeDEXText[] = _("{PALETTE 9}POKéDEX Text"); +static const u8 Category_EnvironmentToolProgrammers[] = _("{PALETTE 9}Environment & Tool Programmers"); +static const u8 Category_ProductTesting[] = _("{PALETTE 9}Product Testing"); +static const u8 Category_SpecialThanks[] = _("{PALETTE 9}Special Thanks"); +static const u8 Category_Coordinators[] = _("{PALETTE 9}Coordinators"); +static const u8 Category_Producers[] = _("{PALETTE 9}Producers"); +static const u8 Category_ExecutiveProducers[] = _("{PALETTE 9}Executive Producers"); +static const u8 Category_InformationSupervisors[] = _("{PALETTE 9}Information Supervisors"); +static const u8 Category_TaskManagers[] = _("{PALETTE 9}Task Managers"); +static const u8 Category_BrailleCodeCheck[] = _("{PALETTE 9}Braille Code Check"); +static const u8 Category_GermanVersionCoordinators[] = _("{PALETTE 9}German Version Coordinators"); +static const u8 Category_Translators[] = _("{PALETTE 9}Translators"); +static const u8 Category_ProductSupport[] = _("{PALETTE 9}Product Support"); +static const u8 Category_Artwork[] = _("{PALETTE 9}Artwork"); +static const u8 Category_TextEditor[] = _("{PALETTE 9}Text Editor"); +static const u8 Category_NOEProductTesting[] = _("{PALETTE 9}NOE Product Testing"); +static const u8 Category_GraphicDesigners[] = _("{PALETTE 9}Graphic Designers"); +static const u8 Text_SatoshiTajiri[] = _("Satoshi Tajiri"); +static const u8 Text_Masuda[] = _("Junichi Masuda"); +static const u8 Text_Sugimori[] = _("Ken Sugimori"); +static const u8 Text_Morimoto[] = _("Shigeki Morimoto"); +static const u8 Text_TetsuyaWatanabe[] = _("Tetsuya Watanabe"); +static const u8 Text_Sogabe[] = _("Hisashi Sogabe"); +static const u8 Text_Tamada[] = _("Sousuke Tamada"); +static const u8 Text_Mori[] = _("Akito Mori"); +static const u8 Text_Kagaya[] = _("Keita Kagaya"); +static const u8 Text_Matsuda[] = _("Yoshinori Matsuda"); +static const u8 Text_HiroyukiNakamura[] = _("Hiroyuki Nakamura"); +static const u8 Text_Taya[] = _("Masao Taya"); +static const u8 Text_Nohara[] = _("Satoshi Nohara"); +static const u8 Text_TomomichiOhta[] = _("Tomomichi Ohta"); +static const u8 Text_Iwasawa[] = _("Miyuki Iwasawa"); +static const u8 Text_TakenoriOhta[] = _("Takenori Ohta"); +static const u8 Text_Yoshida[] = _("Hironobu Yoshida"); +static const u8 Text_Fujiwara[] = _("Motofumi Fujiwara"); +static const u8 Text_SatoshiOhta[] = _("Satoshi Ohta"); +static const u8 Text_Iwashita[] = _("Asuka Iwashita"); +static const u8 Text_Tomita[] = _("Aimi Tomita"); +static const u8 Text_Unno[] = _("Takao Unno"); +static const u8 Text_Eo[] = _("Kanako Eo"); +static const u8 Text_Okutani[] = _("Jun Okutani"); +static const u8 Text_Nishida[] = _("Atsuko Nishida"); +static const u8 Text_Saito[] = _("Muneo Saito"); +static const u8 Text_Yoshikawa[] = _("Rena Yoshikawa"); +static const u8 Text_Ichinose[] = _("Go Ichinose"); +static const u8 Text_Aoki[] = _("Morikazu Aoki"); +static const u8 Text_Nishino[] = _("Koji Nishino"); +static const u8 Text_Matsushima[] = _("Kenji Matsushima"); +static const u8 Text_TetsujiOhta[] = _("Tetsuji Ohta"); +static const u8 Text_Sato[] = _("Hitomi Sato"); +static const u8 Text_Kawachimaru[] = _("Takeshi Kawachimaru"); +static const u8 Text_Shimoyamada[] = _("Teruyuki Shimoyamada"); +static const u8 Text_Ohmori[] = _("Shigeru Ohmori"); +static const u8 Text_Takahashi[] = _("Tadashi Takahashi"); +static const u8 Text_ToshinobuMatsumiya[] = _("Toshinobu Matsumiya"); +static const u8 Text_Tomisawa[] = _("Akihito Tomisawa"); +static const u8 Text_Enomoto[] = _("Hiroki Enomoto"); +static const u8 Text_Terada[] = _("Kazuyuki Terada"); +static const u8 Text_Sakurai[] = _("Yuri Sakurai"); +static const u8 Text_Sagawa[] = _("Hiromi Sagawa"); +static const u8 Text_Tominaga[] = _("Kenji Tominaga"); +static const u8 Text_YoshioTajiri[] = _("Yoshio Tajiri"); +static const u8 Text_Sasaki[] = _("Teiko Sasaki"); +static const u8 Text_Hamano[] = _("Sachiko Hamano"); +static const u8 Text_ChieMatsumiya[] = _("Chie Matsumiya"); +static const u8 Text_Shinozaki[] = _("Akiko Shinozaki"); +static const u8 Text_Fujii[] = _("Atsuko Fujii"); +static const u8 Text_SuperMarioClub[] = _("NCL Super Mario Club"); +static const u8 Text_Tada[] = _("Atsushi Tada"); +static const u8 Text_Ohnishi[] = _("Takahiro Ohnishi"); +static const u8 Text_Okamura[] = _("Norihide Okamura"); +static const u8 Text_HiroNakamura[] = _("Hiro Nakamura"); +static const u8 Text_Uesugi[] = _("Hiroyuki Uesugi"); +static const u8 Text_Murakawa[] = _("Teruki Murakawa"); +static const u8 Text_Kinashi[] = _("Akira Kinashi"); +static const u8 Text_Takizawa[] = _("Michiko Takizawa"); +static const u8 Text_Takada[] = _("Makiko Takada"); +static const u8 Text_Kondo[] = _("Takanao Kondo"); +static const u8 Text_Mashima[] = _("Ai Mashima"); +static const u8 Text_Nomoto[] = _("Gakuji Nomoto"); +static const u8 Text_Izushi[] = _("Takehiro Izushi"); +static const u8 Text_Yamagami[] = _("Hitoshi Yamagami"); +static const u8 Text_KyokoWatanabe[] = _("Kyoko Watanabe"); +static const u8 Text_Nakano[] = _("Takao Nakano"); +static const u8 Text_Jinnai[] = _("Hiroyuki Jinnai"); +static const u8 Text_Tsuru[] = _("Hiroaki Tsuru"); +static const u8 Text_Ishihara[] = _("Tsunekaz Ishihara"); +static const u8 Text_Iwata[] = _("Satoru Iwata"); +static const u8 Text_Suyama[] = _("Kazuya Suyama"); +static const u8 Text_Mitsuhara[] = _("Satoshi Mitsuhara"); +static const u8 Text_JapanBrailleLibrary[] = _("Japan Braille Library"); +static const u8 Text_Komura[] = _("Tomotaka Komura"); +static const u8 Text_Ohashi[] = _("Mikiko Ohashi"); +static const u8 Text_Yamamoto[] = _("Souichi Yamamoto"); +static const u8 Text_Funakoshi[] = _("Masanori Funakoshi"); +static const u8 Text_Nakamichi[] = _("Kimiko Nakamichi"); +static const u8 Text_Hara[] = _("Daisuke Hara"); +static const u8 Text_Ford[] = _("Sayoko Blodgett-Ford"); +static const u8 Text_Barlow[] = _("Nicola Pratt-Barlow"); +static const u8 Text_Uyama[] = _("Koji Uyama"); +static const u8 Text_EBU[] = _("European Blind Union"); +static const u8 Text_Saeki[] = _("Naoko Saeki"); +static const u8 Text_Sadahisa[] = _("Kayo Sadahisa"); +static const u8 Text_Schafer[] = _("Daniel Schäfers"); +static const u8 Text_Deimel[] = _("Martina Deimel"); +static const u8 Text_Jahn[] = _("Andrea Jähn"); +static const u8 Text_Victoria[] = _("Ángel Victoria"); +static const u8 Text_Mawer[] = _("Matthew Mawer"); +static const u8 Text_Danieli[] = _("Alessio Danieli"); +static const u8 Text_Schnitzer[] = _("Rudi Schnitzer"); +static const u8 Text_Pujos[] = _("Gabriera Pujós"); +static const u8 Text_CreditsTerminator[] = _(""); + +static const struct CreditsEntry CreditsTerminator[] = {0, Text_CreditsTerminator}; +static const struct CreditsEntry CreditsCredits[] = {11, Category_Credits}; +static const struct CreditsEntry CreditsExecutiveDirector[] = {8, Category_ExecutiveDirector}; +static const struct CreditsEntry CreditsDirector[] = {12, Category_Director}; +static const struct CreditsEntry CreditsArtDirector[] = {10, Category_ArtDirector}; +static const struct CreditsEntry CreditsBattleDirector[] = {10, Category_BattleDirector}; +static const struct CreditsEntry CreditsMainProgrammer[] = {10, Category_MainProgrammer}; +static const struct CreditsEntry CreditsBattleSystemProgrammer[] = {8, Category_BattleSystemProgrammer}; +static const struct CreditsEntry CreditsFieldSystemProgrammer[] = {7, Category_FieldSystemProgrammer}; +static const struct CreditsEntry CreditsProgrammers[] = {12, Category_Programmers}; +static const struct CreditsEntry CreditsMainGraphicDesigner[] = {7, Category_MainGraphicDesigner}; +static const struct CreditsEntry CreditsPOKeMONGraphicDesigners[] = {6, Category_POKeMONGraphicDesigners}; +static const struct CreditsEntry CreditsPOKeMONDesigners[] = {10, Category_POKeMONDesigners}; +static const struct CreditsEntry CreditsMusicComposition[] = {13, Category_MusicComposition}; +static const struct CreditsEntry CreditsSoundEffectsPOKeMONVoices[] = {4, Category_SoundEffectsPOKeMONVoices}; +static const struct CreditsEntry CreditsGameDesigners[] = {11, Category_GameDesigners}; +static const struct CreditsEntry CreditsPlotScenario[] = {11, Category_PlotScenario}; +static const struct CreditsEntry CreditsGameScenario[] = {13, Category_GameScenario}; +static const struct CreditsEntry CreditsScriptDesigners[] = {10, Category_ScriptDesigners}; +static const struct CreditsEntry CreditsMapDesigners[] = {11, Category_MapDesigners}; +static const struct CreditsEntry CreditsMapDataDesigners[] = {9, Category_MapDataDesigners}; +static const struct CreditsEntry CreditsParametricDesigners[] = {9, Category_ParametricDesigners}; +static const struct CreditsEntry CreditsPOKeDEXText[] = {11, Category_POKeDEXText}; +static const struct CreditsEntry CreditsEnvironmentToolProgrammers[] = {6, Category_EnvironmentToolProgrammers}; +static const struct CreditsEntry CreditsProductTesting[] = {11, Category_ProductTesting}; +static const struct CreditsEntry CreditsSpecialThanks[] = {10, Category_SpecialThanks}; +static const struct CreditsEntry CreditsCoordinators[] = {11, Category_Coordinators}; +static const struct CreditsEntry CreditsProducers[] = {11, Category_Producers}; +static const struct CreditsEntry CreditsExecutiveProducers[] = {7, Category_ExecutiveProducers}; +static const struct CreditsEntry CreditsInformationSupervisors[] = {10, Category_InformationSupervisors}; +static const struct CreditsEntry CreditsTaskManagers[] = {8, Category_TaskManagers}; +static const struct CreditsEntry CreditsBrailleCodeCheck[] = {10, Category_BrailleCodeCheck}; +static const struct CreditsEntry CreditsSatoshiTajiri[] = {11, Text_SatoshiTajiri}; +static const struct CreditsEntry CreditsMasuda[] = {11, Text_Masuda}; +static const struct CreditsEntry CreditsSugimori[] = {11, Text_Sugimori}; +static const struct CreditsEntry CreditsMorimoto[] = {11, Text_Morimoto}; +static const struct CreditsEntry CreditsTetsuyaWatanabe[] = {11, Text_TetsuyaWatanabe}; +static const struct CreditsEntry CreditsSogabe[] = {11, Text_Sogabe}; +static const struct CreditsEntry CreditsTamada[] = {11, Text_Tamada}; +static const struct CreditsEntry CreditsMori[] = {11, Text_Mori}; +static const struct CreditsEntry CreditsKagaya[] = {11, Text_Kagaya}; +static const struct CreditsEntry CreditsMatsuda[] = {11, Text_Matsuda}; +static const struct CreditsEntry CreditsHiroyukiNakamura[] = {11, Text_HiroyukiNakamura}; +static const struct CreditsEntry CreditsTaya[] = {11, Text_Taya}; +static const struct CreditsEntry CreditsNohara[] = {11, Text_Nohara}; +static const struct CreditsEntry CreditsTomomichiOhta[] = {11, Text_TomomichiOhta}; +static const struct CreditsEntry CreditsIwasawa[] = {11, Text_Iwasawa}; +static const struct CreditsEntry CreditsTakenoriOhta[] = {11, Text_TakenoriOhta}; +static const struct CreditsEntry CreditsYoshida[] = {11, Text_Yoshida}; +static const struct CreditsEntry CreditsFujiwara[] = {11, Text_Fujiwara}; +static const struct CreditsEntry CreditsSatoshiOhta[] = {11, Text_SatoshiOhta}; +static const struct CreditsEntry CreditsIwashita[] = {11, Text_Iwashita}; +static const struct CreditsEntry CreditsTomita[] = {11, Text_Tomita}; +static const struct CreditsEntry CreditsUnno[] = {11, Text_Unno}; +static const struct CreditsEntry CreditsEo[] = {11, Text_Eo}; +static const struct CreditsEntry CreditsOkutani[] = {11, Text_Okutani}; +static const struct CreditsEntry CreditsNishida[] = {11, Text_Nishida}; +static const struct CreditsEntry CreditsSaito[] = {11, Text_Saito}; +static const struct CreditsEntry CreditsYoshikawa[] = {11, Text_Yoshikawa}; +static const struct CreditsEntry CreditsIchinose[] = {11, Text_Ichinose}; +static const struct CreditsEntry CreditsAoki[] = {11, Text_Aoki}; +static const struct CreditsEntry CreditsNishino[] = {11, Text_Nishino}; +static const struct CreditsEntry CreditsMatsushima[] = {11, Text_Matsushima}; +static const struct CreditsEntry CreditsTetsujiOhta[] = {11, Text_TetsujiOhta}; +static const struct CreditsEntry CreditsSato[] = {11, Text_Sato}; +static const struct CreditsEntry CreditsKawachimaru[] = {11, Text_Kawachimaru}; +static const struct CreditsEntry CreditsShimoyamada[] = {11, Text_Shimoyamada}; +static const struct CreditsEntry CreditsOhmori[] = {11, Text_Ohmori}; +static const struct CreditsEntry CreditsTakahashi[] = {11, Text_Takahashi}; +static const struct CreditsEntry CreditsToshinobuMatsumiya[] = {11, Text_ToshinobuMatsumiya}; +static const struct CreditsEntry CreditsTomisawa[] = {11, Text_Tomisawa}; +static const struct CreditsEntry CreditsEnomoto[] = {11, Text_Enomoto}; +static const struct CreditsEntry CreditsTerada[] = {11, Text_Terada}; +static const struct CreditsEntry CreditsSakurai[] = {11, Text_Sakurai}; +static const struct CreditsEntry CreditsSagawa[] = {11, Text_Sagawa}; +static const struct CreditsEntry CreditsTominaga[] = {11, Text_Tominaga}; +static const struct CreditsEntry CreditsYoshioTajiri[] = {11, Text_YoshioTajiri}; +static const struct CreditsEntry CreditsSasaki[] = {11, Text_Sasaki}; +static const struct CreditsEntry CreditsHamano[] = {11, Text_Hamano}; +static const struct CreditsEntry CreditsChieMatsumiya[] = {11, Text_ChieMatsumiya}; +static const struct CreditsEntry CreditsShinozaki[] = {11, Text_Shinozaki}; +static const struct CreditsEntry CreditsFujii[] = {11, Text_Fujii}; +static const struct CreditsEntry CreditsSuperMarioClub[] = {11, Text_SuperMarioClub}; +static const struct CreditsEntry CreditsTada[] = {11, Text_Tada}; +static const struct CreditsEntry CreditsOhnishi[] = {11, Text_Ohnishi}; +static const struct CreditsEntry CreditsOkamura[] = {11, Text_Okamura}; +static const struct CreditsEntry CreditsHiroNakamura[] = {11, Text_HiroNakamura}; +static const struct CreditsEntry CreditsUesugi[] = {11, Text_Uesugi}; +static const struct CreditsEntry CreditsMurakawa[] = {11, Text_Murakawa}; +static const struct CreditsEntry CreditsKinashi[] = {11, Text_Kinashi}; +static const struct CreditsEntry CreditsTakizawa[] = {11, Text_Takizawa}; +static const struct CreditsEntry CreditsTakada[] = {11, Text_Takada}; +static const struct CreditsEntry CreditsKondo[] = {11, Text_Kondo}; +static const struct CreditsEntry CreditsMashima[] = {11, Text_Mashima}; +static const struct CreditsEntry CreditsNomoto[] = {11, Text_Nomoto}; +static const struct CreditsEntry CreditsIzushi[] = {11, Text_Izushi}; +static const struct CreditsEntry CreditsYamagami[] = {11, Text_Yamagami}; +static const struct CreditsEntry CreditsKyokoWatanabe[] = {11, Text_KyokoWatanabe}; +static const struct CreditsEntry CreditsNakano[] = {11, Text_Nakano}; +static const struct CreditsEntry CreditsJinnai[] = {11, Text_Jinnai}; +static const struct CreditsEntry CreditsTsuru[] = {11, Text_Tsuru}; +static const struct CreditsEntry CreditsIshihara[] = {11, Text_Ishihara}; +static const struct CreditsEntry CreditsIwata[] = {11, Text_Iwata}; +static const struct CreditsEntry CreditsSuyama[] = {11, Text_Suyama}; +static const struct CreditsEntry CreditsMitsuhara[] = {11, Text_Mitsuhara}; +static const struct CreditsEntry CreditsJapanBrailleLibrary[] = {9, Text_JapanBrailleLibrary}; +static const struct CreditsEntry CreditsKomura[] = {11, Text_Komura}; +static const struct CreditsEntry CreditsOhashi[] = {11, Text_Ohashi}; +static const struct CreditsEntry CreditsTranslators[] = {0, Category_Translators}; +static const struct CreditsEntry CreditsProductSupport[] = {0, Category_ProductSupport}; +static const struct CreditsEntry CreditsArtwork[] = {0, Category_Artwork}; +static const struct CreditsEntry CreditsTextEditor[] = {0, Category_TextEditor}; +static const struct CreditsEntry CreditsGraphicDesigners[] = {0, Category_GraphicDesigners}; +static const struct CreditsEntry CreditsYamamoto[] = {0, Text_Yamamoto}; +static const struct CreditsEntry CreditsFunakoshi[] = {0, Text_Funakoshi}; +static const struct CreditsEntry CreditsNakamichi[] = {0, Text_Nakamichi}; +static const struct CreditsEntry CreditsHara[] = {0, Text_Hara}; +static const struct CreditsEntry CreditsFord[] = {0, Text_Ford}; +static const struct CreditsEntry CreditsBarlow[] = {0, Text_Barlow}; +static const struct CreditsEntry CreditsUyama[] = {0, Text_Uyama}; +static const struct CreditsEntry CreditsEBU[] = {0, Text_EBU}; +#ifdef SAPPHIRE +static const struct CreditsEntry CreditsVersion[] = {0, Text_Version_Sapphire}; +#else +static const struct CreditsEntry CreditsVersion[] = {0, Text_Version_Ruby}; +#endif +static const struct CreditsEntry CreditsNOEProductTesting[] = {0, Category_NOEProductTesting}; +static const struct CreditsEntry CreditsSaeki[] = {0, Text_Saeki}; +static const struct CreditsEntry CreditsSadahisa[] = {0, Text_Sadahisa}; +static const struct CreditsEntry CreditsGermanVersionCoordinators[] = {0, Category_GermanVersionCoordinators}; +static const struct CreditsEntry CreditsSchafer[] = {0, Text_Schafer}; +static const struct CreditsEntry CreditsDeimel[] = {0, Text_Deimel}; +static const struct CreditsEntry CreditsJahn[] = {0, Text_Jahn}; +static const struct CreditsEntry CreditsVictoria[] = {0, Text_Victoria}; +static const struct CreditsEntry CreditsMawer[] = {0, Text_Mawer}; +static const struct CreditsEntry CreditsDanieli[] = {0, Text_Danieli}; +static const struct CreditsEntry CreditsSchnitzer[] = {0, Text_Schnitzer}; +static const struct CreditsEntry CreditsPujos[] = {0, Text_Pujos}; + +#define LINES_PER_PAGE 5 +#define _ CreditsTerminator +const struct CreditsEntry *const gCreditsEntryPointerTable[][LINES_PER_PAGE] = +{ + { + _, + CreditsVersion, + CreditsCredits, + _, + _ + }, + { + _, + CreditsDirector, + CreditsMasuda, + _, + _ + }, + { + _, + CreditsArtDirector, + CreditsSugimori, + _, + _ + }, + { + _, + CreditsBattleDirector, + CreditsMorimoto, + _, + _ + }, + { + _, + CreditsMainProgrammer, + CreditsTetsuyaWatanabe, + _, + _ + }, + { + CreditsBattleSystemProgrammer, + CreditsSogabe, + CreditsFieldSystemProgrammer, + CreditsTamada, + _ + }, + { + CreditsProgrammers, + CreditsMori, + CreditsKagaya, + CreditsMatsuda, + _ + }, + { + CreditsProgrammers, + CreditsHiroyukiNakamura, + CreditsTaya, + CreditsNohara, + _ + }, + { + CreditsProgrammers, + CreditsTomomichiOhta, + CreditsIwasawa, + CreditsTakenoriOhta, + _ + }, + { + _, + CreditsMainGraphicDesigner, + CreditsYoshida, + _, + _ + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsSugimori, + CreditsYoshida, + _, + _ + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsFujiwara, + CreditsSatoshiOhta, + CreditsIwashita, + _ + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsTomita, + CreditsUnno, + CreditsEo, + _ + }, + { + CreditsPOKeMONDesigners, + CreditsMorimoto, + CreditsOkutani, + CreditsNishida, + _ + }, + { + CreditsPOKeMONDesigners, + CreditsSaito, + CreditsYoshikawa, + _, + _ + }, + { + CreditsMusicComposition, + CreditsIchinose, + CreditsAoki, + CreditsMasuda, + _ + }, + { + _, + CreditsSoundEffectsPOKeMONVoices, + CreditsAoki, + _, + _ + }, + { + CreditsGameDesigners, + CreditsMasuda, + CreditsMorimoto, + CreditsNishino, + _ + }, + { + CreditsGameDesigners, + CreditsMatsushima, + CreditsTetsujiOhta, + CreditsSato, + CreditsKawachimaru + }, + { + CreditsGameDesigners, + CreditsShimoyamada, + CreditsOhmori, + CreditsTakahashi, + _ + }, + { + CreditsPlotScenario, + CreditsMasuda, + CreditsTomisawa, + CreditsNishino, + _ + }, + { + CreditsGameScenario, + CreditsToshinobuMatsumiya, + CreditsTomisawa, + _, + _ + }, + { + CreditsScriptDesigners, + CreditsNohara, + CreditsTetsujiOhta, + CreditsTomomichiOhta, + _ + }, + { + CreditsMapDesigners, + CreditsOhmori, + CreditsTetsujiOhta, + CreditsNishino, + _ + }, + { + CreditsMapDataDesigners, + CreditsTetsujiOhta, + CreditsTakahashi, + _, + _ + }, + { + CreditsParametricDesigners, + CreditsNishino, + CreditsMorimoto, + CreditsTetsujiOhta, + CreditsShimoyamada + }, + { + _, + CreditsPOKeDEXText, + CreditsMatsushima, + _, + _ + }, + { + CreditsEnvironmentToolProgrammers, + CreditsSogabe, + CreditsTamada, + CreditsHiroyukiNakamura, + CreditsMori + }, + { + CreditsProductTesting, + CreditsSuperMarioClub, + CreditsTada, + CreditsOhnishi, + CreditsOkamura + }, + { + CreditsSpecialThanks, + CreditsTominaga, + CreditsYoshioTajiri, + CreditsSasaki, + _ + }, + { + CreditsSpecialThanks, + CreditsHamano, + CreditsChieMatsumiya, + CreditsShinozaki, + CreditsFujii + }, + { + CreditsSpecialThanks, + CreditsSuyama, + CreditsMitsuhara, + CreditsKomura, + CreditsOhashi + }, + { + CreditsSpecialThanks, + CreditsTakizawa, + CreditsTakada, + CreditsKondo, + CreditsMashima + }, + { + CreditsInformationSupervisors, + CreditsEnomoto, + CreditsTerada, + CreditsSakurai, + CreditsSagawa + }, + { + CreditsCoordinators, + CreditsKyokoWatanabe, + CreditsNakano, + _, + _ + }, + { + CreditsTaskManagers, + CreditsYamagami, + CreditsNomoto, + _, + _ + }, + { + CreditsProducers, + CreditsJinnai, + CreditsIzushi, + CreditsTsuru, + _ + }, + { + _, + CreditsExecutiveDirector, + CreditsSatoshiTajiri, + _, + _ + }, + { + _, + CreditsExecutiveProducers, + CreditsIwata, + _, + _ + }, + { + _, + CreditsExecutiveProducers, + CreditsIshihara, + _, + _ + }, + { + CreditsGermanVersionCoordinators, + CreditsUesugi, + CreditsSadahisa, + _, + _ + }, + { + CreditsTranslators, + CreditsSchafer, + CreditsDeimel, + CreditsJahn, + _ + }, + { + CreditsProgrammers, + CreditsMurakawa, + CreditsYamamoto, + CreditsKinashi, + _ + }, + { + CreditsGraphicDesigners, + CreditsYamamoto, + CreditsKinashi, + _, + _ + }, + { + CreditsProductSupport, + CreditsNakamichi, + CreditsSaeki, + CreditsHara, + _ + }, + { + CreditsNOEProductTesting, + CreditsVictoria, + CreditsMawer, + CreditsDanieli, + CreditsSchnitzer + }, + { + _, + CreditsBrailleCodeCheck, + CreditsEBU, + _, + _ + }, + { + CreditsSpecialThanks, + CreditsHiroNakamura, + CreditsFord, + CreditsBarlow, + _ + }, + { + CreditsSpecialThanks, + CreditsUyama, + CreditsPujos, + _, + _ + }, +}; +#undef _ diff --git a/src/data/credits_en.h b/src/data/credits_en.h index fd00dd94b..8ce0bad03 100755 --- a/src/data/credits_en.h +++ b/src/data/credits_en.h @@ -286,369 +286,369 @@ const struct CreditsEntry CreditsRNZFotB[] = {0, Text_RNZFotB}; #define _ CreditsTerminator const struct CreditsEntry *const gCreditsEntryPointerTable[][LINES_PER_PAGE] = { - { - _, - CreditsVersion, - CreditsCredits, - _, + { + _, + CreditsVersion, + CreditsCredits, + _, _ - }, - { - _, - CreditsDirector, - CreditsMasuda, - _, - _, - }, - { - _, - CreditsArtDirector, - CreditsSugimori, - _, - _, - }, - { - _, - CreditsBattleDirector, - CreditsMorimoto, - _, - _, - }, - { - _, - CreditsMainProgrammer, - CreditsTetsuyaWatanabe, - _, - _, - }, - { - CreditsBattleSystemProgrammer, - CreditsSogabe, - CreditsFieldSystemProgrammer, - CreditsTamada, - _, - }, - { - CreditsProgrammers, - CreditsMori, - CreditsKagaya, - CreditsMatsuda, - _, - }, - { - CreditsProgrammers, - CreditsHiroyukiNakamura, - CreditsTaya, - CreditsNohara, - _, - }, - { - CreditsProgrammers, - CreditsTomomichiOhta, - CreditsIwasawa, - CreditsTakenoriOhta, - _, - }, - { - _, - CreditsMainGraphicDesigner, - CreditsYoshida, - _, - _, - }, - { - CreditsPOKeMONGraphicDesigners, - CreditsSugimori, - CreditsYoshida, - _, - _, - }, - { - CreditsPOKeMONGraphicDesigners, - CreditsFujiwara, - CreditsSatoshiOhta, - CreditsIwashita, - _, - }, - { - CreditsPOKeMONGraphicDesigners, - CreditsTomita, - CreditsUnno, - CreditsEo, - _, - }, - { - CreditsPOKeMONDesigners, - CreditsMorimoto, - CreditsOkutani, - CreditsNishida, - _, - }, - { - CreditsPOKeMONDesigners, - CreditsSaito, - CreditsYoshikawa, - _, - _, - }, - { - CreditsMusicComposition, - CreditsIchinose, - CreditsAoki, - CreditsMasuda, - _, - }, - { - _, - CreditsSoundEffectsPOKeMONVoices, - CreditsAoki, - _, - _, - }, - { - CreditsGameDesigners, - CreditsMasuda, - CreditsMorimoto, - CreditsNishino, - _, - }, - { - CreditsGameDesigners, - CreditsMatsushima, - CreditsTetsujiOhta, - CreditsSato, - CreditsKawachimaru, - }, - { - CreditsGameDesigners, - CreditsShimoyamada, - CreditsOhmori, - CreditsTakahashi, - _, - }, - { - CreditsPlotScenario, - CreditsMasuda, - CreditsTomisawa, - CreditsNishino, - _, - }, - { - CreditsGameScenario, - CreditsToshinobuMatsumiya, - CreditsTomisawa, - _, - _, - }, - { - CreditsScriptDesigners, - CreditsNohara, - CreditsTetsujiOhta, - CreditsTomomichiOhta, - _, - }, - { - CreditsMapDesigners, - CreditsOhmori, - CreditsTetsujiOhta, - CreditsNishino, - _, - }, - { - CreditsMapDataDesigners, - CreditsTetsujiOhta, - CreditsTakahashi, - _, - _, - }, - { - CreditsParametricDesigners, - CreditsNishino, - CreditsMorimoto, - CreditsTetsujiOhta, - CreditsShimoyamada, - }, - { - _, - CreditsPOKeDEXText, - CreditsMatsushima, - _, - _, - }, - { - CreditsEnvironmentToolProgrammers, - CreditsSogabe, - CreditsTamada, - CreditsHiroyukiNakamura, - CreditsMori, - }, - { - CreditsProductTesting, - CreditsSuperMarioClub, - CreditsTada, - CreditsOhnishi, - CreditsOkamura, - }, - { - CreditsSpecialThanks, - CreditsTominaga, - CreditsYoshiroTajiri, - CreditsSasaki, - _, - }, - { - CreditsSpecialThanks, - CreditsHamano, - CreditsChieMatsumiya, - CreditsShinozaki, - CreditsFujii, - }, - { - CreditsSpecialThanks, - CreditsSuyama, - CreditsMitsuhara, - CreditsKomura, - CreditsOhashi, - }, - { - CreditsSpecialThanks, - CreditsTakizawa, - CreditsTakada, - CreditsKondo, - CreditsMashima, - }, - { - CreditsInformationSupervisors, - CreditsEnomoto, - CreditsTerada, - CreditsSakurai, - CreditsSagawa, - }, - { - CreditsCoordinators, - CreditsKyokoWatanabe, - CreditsNakano, - _, - _, - }, - { - CreditsTaskManagers, - CreditsYamagami, - CreditsNomoto, - _, - _, - }, - { - CreditsProducers, - CreditsJinnai, - CreditsIzushi, - CreditsTsuru, - _, - }, - { - _, - CreditsExecutiveDirector, - CreditsSatoshiTajiri, - _, - _, - }, - { - _, - CreditsExecutiveProducers, - CreditsIwata, - _, - _, - }, - { - _, - CreditsExecutiveProducers, - CreditsIshihara, - _, - _, - }, - { - CreditsEnglishVersionCoordinators, - CreditsHiroNakamura, - CreditsMcMahill, - _, - _, - }, - { - _, - CreditsTranslator, - CreditsOgasawara, - _, - _, - }, - { - CreditsProgrammers, - CreditsMurakawa, - CreditsYamamoto, - CreditsFunakoshi, - CreditsKinashi, - }, - { - CreditsGraphicDesigners, - CreditsYamamoto, - CreditsKinashi, - _, - _, - }, - { - CreditsProductSupport, - CreditsNakamichi, - CreditsHara, - _, - _, - }, - { - _, - CreditsArtwork, - CreditsOkada, - _, - _, - }, - { - _, - CreditsTextEditor, - CreditsLillygren, - _, - _, - }, - { - CreditsNOAProductTesting, - CreditsHertzog, - CreditsRidgeway, - _, - _, - }, - { - CreditsBrailleCodeCheck, - CreditsNFotB, - CreditsMaurer, - CreditsJapanBrailleLibrary, - CreditsEBU, - }, - { - CreditsBrailleCodeCheck, - CreditsABA, - CreditsRNZFotB, - _, - _, - }, - { - CreditsSpecialThanks, - CreditsFord, - CreditsBarlow, - CreditsUesugi, - CreditsUyama, - }, - { - CreditsSpecialThanks, - CreditsHowitt, - CreditsTilden, - CreditsFujihara, - _, - }, + }, + { + _, + CreditsDirector, + CreditsMasuda, + _, + _, + }, + { + _, + CreditsArtDirector, + CreditsSugimori, + _, + _, + }, + { + _, + CreditsBattleDirector, + CreditsMorimoto, + _, + _, + }, + { + _, + CreditsMainProgrammer, + CreditsTetsuyaWatanabe, + _, + _, + }, + { + CreditsBattleSystemProgrammer, + CreditsSogabe, + CreditsFieldSystemProgrammer, + CreditsTamada, + _, + }, + { + CreditsProgrammers, + CreditsMori, + CreditsKagaya, + CreditsMatsuda, + _, + }, + { + CreditsProgrammers, + CreditsHiroyukiNakamura, + CreditsTaya, + CreditsNohara, + _, + }, + { + CreditsProgrammers, + CreditsTomomichiOhta, + CreditsIwasawa, + CreditsTakenoriOhta, + _, + }, + { + _, + CreditsMainGraphicDesigner, + CreditsYoshida, + _, + _, + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsSugimori, + CreditsYoshida, + _, + _, + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsFujiwara, + CreditsSatoshiOhta, + CreditsIwashita, + _, + }, + { + CreditsPOKeMONGraphicDesigners, + CreditsTomita, + CreditsUnno, + CreditsEo, + _, + }, + { + CreditsPOKeMONDesigners, + CreditsMorimoto, + CreditsOkutani, + CreditsNishida, + _, + }, + { + CreditsPOKeMONDesigners, + CreditsSaito, + CreditsYoshikawa, + _, + _, + }, + { + CreditsMusicComposition, + CreditsIchinose, + CreditsAoki, + CreditsMasuda, + _, + }, + { + _, + CreditsSoundEffectsPOKeMONVoices, + CreditsAoki, + _, + _, + }, + { + CreditsGameDesigners, + CreditsMasuda, + CreditsMorimoto, + CreditsNishino, + _, + }, + { + CreditsGameDesigners, + CreditsMatsushima, + CreditsTetsujiOhta, + CreditsSato, + CreditsKawachimaru, + }, + { + CreditsGameDesigners, + CreditsShimoyamada, + CreditsOhmori, + CreditsTakahashi, + _, + }, + { + CreditsPlotScenario, + CreditsMasuda, + CreditsTomisawa, + CreditsNishino, + _, + }, + { + CreditsGameScenario, + CreditsToshinobuMatsumiya, + CreditsTomisawa, + _, + _, + }, + { + CreditsScriptDesigners, + CreditsNohara, + CreditsTetsujiOhta, + CreditsTomomichiOhta, + _, + }, + { + CreditsMapDesigners, + CreditsOhmori, + CreditsTetsujiOhta, + CreditsNishino, + _, + }, + { + CreditsMapDataDesigners, + CreditsTetsujiOhta, + CreditsTakahashi, + _, + _, + }, + { + CreditsParametricDesigners, + CreditsNishino, + CreditsMorimoto, + CreditsTetsujiOhta, + CreditsShimoyamada, + }, + { + _, + CreditsPOKeDEXText, + CreditsMatsushima, + _, + _, + }, + { + CreditsEnvironmentToolProgrammers, + CreditsSogabe, + CreditsTamada, + CreditsHiroyukiNakamura, + CreditsMori, + }, + { + CreditsProductTesting, + CreditsSuperMarioClub, + CreditsTada, + CreditsOhnishi, + CreditsOkamura, + }, + { + CreditsSpecialThanks, + CreditsTominaga, + CreditsYoshiroTajiri, + CreditsSasaki, + _, + }, + { + CreditsSpecialThanks, + CreditsHamano, + CreditsChieMatsumiya, + CreditsShinozaki, + CreditsFujii, + }, + { + CreditsSpecialThanks, + CreditsSuyama, + CreditsMitsuhara, + CreditsKomura, + CreditsOhashi, + }, + { + CreditsSpecialThanks, + CreditsTakizawa, + CreditsTakada, + CreditsKondo, + CreditsMashima, + }, + { + CreditsInformationSupervisors, + CreditsEnomoto, + CreditsTerada, + CreditsSakurai, + CreditsSagawa, + }, + { + CreditsCoordinators, + CreditsKyokoWatanabe, + CreditsNakano, + _, + _, + }, + { + CreditsTaskManagers, + CreditsYamagami, + CreditsNomoto, + _, + _, + }, + { + CreditsProducers, + CreditsJinnai, + CreditsIzushi, + CreditsTsuru, + _, + }, + { + _, + CreditsExecutiveDirector, + CreditsSatoshiTajiri, + _, + _, + }, + { + _, + CreditsExecutiveProducers, + CreditsIwata, + _, + _, + }, + { + _, + CreditsExecutiveProducers, + CreditsIshihara, + _, + _, + }, + { + CreditsEnglishVersionCoordinators, + CreditsHiroNakamura, + CreditsMcMahill, + _, + _, + }, + { + _, + CreditsTranslator, + CreditsOgasawara, + _, + _, + }, + { + CreditsProgrammers, + CreditsMurakawa, + CreditsYamamoto, + CreditsFunakoshi, + CreditsKinashi, + }, + { + CreditsGraphicDesigners, + CreditsYamamoto, + CreditsKinashi, + _, + _, + }, + { + CreditsProductSupport, + CreditsNakamichi, + CreditsHara, + _, + _, + }, + { + _, + CreditsArtwork, + CreditsOkada, + _, + _, + }, + { + _, + CreditsTextEditor, + CreditsLillygren, + _, + _, + }, + { + CreditsNOAProductTesting, + CreditsHertzog, + CreditsRidgeway, + _, + _, + }, + { + CreditsBrailleCodeCheck, + CreditsNFotB, + CreditsMaurer, + CreditsJapanBrailleLibrary, + CreditsEBU, + }, + { + CreditsBrailleCodeCheck, + CreditsABA, + CreditsRNZFotB, + _, + _, + }, + { + CreditsSpecialThanks, + CreditsFord, + CreditsBarlow, + CreditsUesugi, + CreditsUyama, + }, + { + CreditsSpecialThanks, + CreditsHowitt, + CreditsTilden, + CreditsFujihara, + _, + }, }; #undef _ diff --git a/src/scene/credits.c b/src/scene/credits.c index 84b3b5faa..3e7247d39 100644 --- a/src/scene/credits.c +++ b/src/scene/credits.c @@ -246,7 +246,7 @@ const u8 gUnknown_0840B878[] = }; #ifdef GERMAN -#include "../data/credits_en.h" // TODO, german credits +#include "../data/credits_de.h" // TODO, german credits #else #include "../data/credits_en.h" #endif -- cgit v1.2.3 From 531c8d8fd17b1927e9764d230458878b9eff3d52 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 11 Nov 2017 01:01:03 -0500 Subject: eliminate remaining RAM pointers in asm/ --- src/scene/credits.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/scene/credits.c b/src/scene/credits.c index 3e7247d39..077fc5e0d 100644 --- a/src/scene/credits.c +++ b/src/scene/credits.c @@ -246,7 +246,7 @@ const u8 gUnknown_0840B878[] = }; #ifdef GERMAN -#include "../data/credits_de.h" // TODO, german credits +#include "../data/credits_de.h" #else #include "../data/credits_en.h" #endif -- cgit v1.2.3 From 9974fd77611d0321ebe51750427e1ec273c1c7af Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 11 Nov 2017 15:32:38 -0500 Subject: eliminate remaining RAM pointers in src/ --- src/battle/battle_4.c | 282 +++++++++++++++++++++--------------------- src/battle/battle_7.c | 16 +-- src/battle/battle_ai.c | 10 +- src/battle/battle_anim.c | 8 +- src/battle/battle_interface.c | 44 +++---- src/de_rom_8040FE0.c | 4 +- src/engine/decompress.c | 3 +- src/engine/trade.c | 4 +- src/engine/trainer_card.c | 12 +- src/field/party_menu.c | 16 +-- src/field/shop.c | 2 +- src/field/slot_machine.c | 9 +- src/pokemon/pokedex.c | 159 ++++++++++++------------ src/scene/contest_painting.c | 4 +- src/scene/evolution_scene.c | 224 ++++++++++++++++----------------- src/scene/intro.c | 16 ++- 16 files changed, 409 insertions(+), 404 deletions(-) (limited to 'src') diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index d7ca298c3..6f3be7804 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -265,7 +265,7 @@ extern u8 gUnknown_081D9468[]; #define TARGET_TURN_DAMAGED (((gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_physical.moveturnLostHP_special))) -#define HP_ON_SWITCHOUT (((u16*)(0x020160bc))) +#define HP_ON_SWITCHOUT (((u16*)(ewram_addr + 0x160BC))) static void atk00_attackcanceler(void); static void atk01_accuracycheck(void); @@ -2773,21 +2773,21 @@ void SetMoveEffect(bool8 primary, u8 certainArg) ands r0, r3\n\ strb r0, [r7, 0x3]\n\ movs r6, 0x40\n\ - ldr r0, _0801E43C @ =0x02000000\n\ + ldr r0, _0801E43C @ =gSharedMem\n\ ldr r1, _0801E440 @ =gBankTarget\n\ b _0801E450\n\ .align 2, 0\n\ _0801E430: .4byte gBattleCommunication\n\ _0801E434: .4byte gEffectBank\n\ _0801E438: .4byte gBankAttacker\n\ -_0801E43C: .4byte 0x02000000\n\ +_0801E43C: .4byte gSharedMem\n\ _0801E440: .4byte gBankTarget\n\ _0801E444:\n\ ldr r2, _0801E538 @ =gEffectBank\n\ ldr r0, _0801E53C @ =gBankTarget\n\ ldrb r0, [r0]\n\ strb r0, [r2]\n\ - ldr r0, _0801E540 @ =0x02000000\n\ + ldr r0, _0801E540 @ =gSharedMem\n\ ldr r1, _0801E544 @ =gBankAttacker\n\ _0801E450:\n\ ldrb r1, [r1]\n\ @@ -2911,7 +2911,7 @@ _0801E536:\n\ .align 2, 0\n\ _0801E538: .4byte gEffectBank\n\ _0801E53C: .4byte gBankTarget\n\ -_0801E540: .4byte 0x02000000\n\ +_0801E540: .4byte gSharedMem\n\ _0801E544: .4byte gBankAttacker\n\ _0801E548: .4byte 0x00016003\n\ _0801E54C: .4byte gBattleMons\n\ @@ -3654,7 +3654,7 @@ _0801EAFA:\n\ beq _0801EB14\n\ bl _0801F5FA\n\ _0801EB14:\n\ - ldr r0, _0801EB30 @ =0x02000000\n\ + ldr r0, _0801EB30 @ =gSharedMem\n\ ldrb r1, [r7, 0x3]\n\ ldr r2, _0801EB34 @ =0x000160ca\n\ adds r0, r2\n\ @@ -3666,7 +3666,7 @@ _0801EB14:\n\ bl _0801F4F2\n\ .align 2, 0\n\ _0801EB2C: .4byte gBattleCommunication\n\ -_0801EB30: .4byte 0x02000000\n\ +_0801EB30: .4byte gSharedMem\n\ _0801EB34: .4byte 0x000160ca\n\ _0801EB38: .4byte gHitMarker\n\ _0801EB3C:\n\ @@ -4075,7 +4075,7 @@ _0801EEE8:\n\ ldr r0, [r2]\n\ orrs r0, r1\n\ str r0, [r2]\n\ - ldr r2, _0801EF80 @ =0x02000000\n\ + ldr r2, _0801EF80 @ =gSharedMem\n\ mov r3, r8\n\ ldrb r0, [r3]\n\ lsls r0, 1\n\ @@ -4140,7 +4140,7 @@ _0801EF70:\n\ bne _0801EF60\n\ b _0801F5FA\n\ .align 2, 0\n\ -_0801EF80: .4byte 0x02000000\n\ +_0801EF80: .4byte gSharedMem\n\ _0801EF84: .4byte 0x00016004\n\ _0801EF88: .4byte gCurrentMove\n\ _0801EF8C: .4byte 0x00016005\n\ @@ -4197,7 +4197,7 @@ _0801EFEC:\n\ beq _0801F008\n\ b _0801F5DC\n\ _0801F008:\n\ - ldr r2, _0801F02C @ =0x02000000\n\ + ldr r2, _0801F02C @ =gSharedMem\n\ ldrb r1, [r7, 0x3]\n\ movs r0, 0x3F\n\ ands r0, r1\n\ @@ -4214,7 +4214,7 @@ _0801F008:\n\ ldr r0, _0801F03C @ =BattleScript_StatUp\n\ b _0801F5F8\n\ .align 2, 0\n\ -_0801F02C: .4byte 0x02000000\n\ +_0801F02C: .4byte gSharedMem\n\ _0801F030: .4byte 0x000160a4\n\ _0801F034: .4byte 0x000160a5\n\ _0801F038: .4byte gBattlescriptCurrInstr\n\ @@ -4235,7 +4235,7 @@ _0801F040:\n\ beq _0801F05E\n\ b _0801F5DC\n\ _0801F05E:\n\ - ldr r2, _0801F080 @ =0x02000000\n\ + ldr r2, _0801F080 @ =gSharedMem\n\ ldrb r1, [r7, 0x3]\n\ movs r0, 0x3F\n\ ands r0, r1\n\ @@ -4252,7 +4252,7 @@ _0801F05E:\n\ ldr r0, _0801F090 @ =BattleScript_StatDown\n\ b _0801F5F8\n\ .align 2, 0\n\ -_0801F080: .4byte 0x02000000\n\ +_0801F080: .4byte gSharedMem\n\ _0801F084: .4byte 0x000160a4\n\ _0801F088: .4byte 0x000160a5\n\ _0801F08C: .4byte gBattlescriptCurrInstr\n\ @@ -4272,7 +4272,7 @@ _0801F094:\n\ beq _0801F0B0\n\ b _0801F5DC\n\ _0801F0B0:\n\ - ldr r2, _0801F0D4 @ =0x02000000\n\ + ldr r2, _0801F0D4 @ =gSharedMem\n\ ldrb r1, [r7, 0x3]\n\ movs r0, 0x3F\n\ ands r0, r1\n\ @@ -4289,7 +4289,7 @@ _0801F0B0:\n\ ldr r0, _0801F0E4 @ =BattleScript_StatUp\n\ b _0801F5F8\n\ .align 2, 0\n\ -_0801F0D4: .4byte 0x02000000\n\ +_0801F0D4: .4byte gSharedMem\n\ _0801F0D8: .4byte 0x000160a4\n\ _0801F0DC: .4byte 0x000160a5\n\ _0801F0E0: .4byte gBattlescriptCurrInstr\n\ @@ -4310,7 +4310,7 @@ _0801F0E8:\n\ beq _0801F106\n\ b _0801F5DC\n\ _0801F106:\n\ - ldr r2, _0801F128 @ =0x02000000\n\ + ldr r2, _0801F128 @ =gSharedMem\n\ ldrb r1, [r7, 0x3]\n\ movs r0, 0x3F\n\ ands r0, r1\n\ @@ -4327,7 +4327,7 @@ _0801F106:\n\ ldr r0, _0801F138 @ =BattleScript_StatDown\n\ b _0801F5F8\n\ .align 2, 0\n\ -_0801F128: .4byte 0x02000000\n\ +_0801F128: .4byte gSharedMem\n\ _0801F12C: .4byte 0x000160a4\n\ _0801F130: .4byte 0x000160a5\n\ _0801F134: .4byte gBattlescriptCurrInstr\n\ @@ -4515,7 +4515,7 @@ _0801F2B0:\n\ b _0801F5DC\n\ _0801F2B6:\n\ lsls r0, r1, 1\n\ - ldr r5, _0801F344 @ =0x020160f0\n\ + ldr r5, _0801F344 @ =gSharedMem + 0x160F0\n\ adds r0, r5\n\ ldr r1, _0801F348 @ =gLastUsedItem\n\ strh r2, [r0]\n\ @@ -4580,7 +4580,7 @@ _0801F2B6:\n\ b _0801F5FA\n\ .align 2, 0\n\ _0801F340: .4byte gBankAttacker\n\ -_0801F344: .4byte 0x020160f0\n\ +_0801F344: .4byte gSharedMem + 0x160F0\n\ _0801F348: .4byte gLastUsedItem\n\ _0801F34C: .4byte gActiveBank\n\ _0801F350: .4byte gBattlescriptCurrInstr\n\ @@ -4851,7 +4851,7 @@ _0801F540:\n\ bl b_movescr_stack_push\n\ ldr r0, _0801F5CC @ =BattleScript_KnockedOff\n\ str r0, [r4]\n\ - ldr r1, _0801F5D0 @ =0x02000000\n\ + ldr r1, _0801F5D0 @ =gSharedMem\n\ mov r2, r8\n\ ldrb r0, [r2]\n\ lsls r0, 1\n\ @@ -4873,7 +4873,7 @@ _0801F5C0: .4byte gBitTable\n\ _0801F5C4: .4byte gBattlePartyID\n\ _0801F5C8: .4byte gBattlescriptCurrInstr\n\ _0801F5CC: .4byte BattleScript_KnockedOff\n\ -_0801F5D0: .4byte 0x02000000\n\ +_0801F5D0: .4byte gSharedMem\n\ _0801F5D4: .4byte 0x000160e8\n\ _0801F5D8: .4byte 0x000160e9\n\ _0801F5DC:\n\ @@ -5540,7 +5540,7 @@ static void atk23_getexp(void) mov r5, r8\n\ push {r5-r7}\n\ movs r6, 0\n\ - ldr r0, _0802004C @ =0x0201605c\n\ + ldr r0, _0802004C @ =gSharedMem + 0x1605C\n\ mov r10, r0\n\ ldr r0, _08020050 @ =gBattlescriptCurrInstr\n\ ldr r0, [r0]\n\ @@ -5569,7 +5569,7 @@ _08020040:\n\ ldr r0, [r0]\n\ mov pc, r0\n\ .align 2, 0\n\ -_0802004C: .4byte 0x0201605c\n\ +_0802004C: .4byte gSharedMem + 0x1605C\n\ _08020050: .4byte gBattlescriptCurrInstr\n\ _08020054: .4byte gBank1\n\ _08020058: .4byte gSentPokesToOpponent\n\ @@ -5598,7 +5598,7 @@ _0802007C:\n\ cmp r0, 0\n\ beq _080200BC\n\ _08020098:\n\ - ldr r0, _080200B4 @ =0x02000000\n\ + ldr r0, _080200B4 @ =gSharedMem\n\ ldr r1, _080200B8 @ =0x0001600f\n\ adds r0, r1\n\ movs r1, 0x6\n\ @@ -5608,10 +5608,10 @@ _08020098:\n\ _080200A8: .4byte gBank1\n\ _080200AC: .4byte gBattleTypeFlags\n\ _080200B0: .4byte 0x00000982\n\ -_080200B4: .4byte 0x02000000\n\ +_080200B4: .4byte gSharedMem\n\ _080200B8: .4byte 0x0001600f\n\ _080200BC:\n\ - ldr r2, _080200E8 @ =0x02000000\n\ + ldr r2, _080200E8 @ =gSharedMem\n\ ldr r3, _080200EC @ =0x0001600f\n\ adds r1, r2, r3\n\ ldrb r0, [r1]\n\ @@ -5633,7 +5633,7 @@ _080200BC:\n\ strb r0, [r2]\n\ bl _08020996\n\ .align 2, 0\n\ -_080200E8: .4byte 0x02000000\n\ +_080200E8: .4byte gSharedMem\n\ _080200EC: .4byte 0x0001600f\n\ _080200F0: .4byte 0x00016113\n\ _080200F4: .4byte gBitTable\n\ @@ -5760,7 +5760,7 @@ _080201F6:\n\ ldr r0, _08020248 @ =gExpShareExp\n\ strh r6, [r0]\n\ _080201FA:\n\ - ldr r1, _0802024C @ =0x02000000\n\ + ldr r1, _0802024C @ =gSharedMem\n\ ldr r3, _08020250 @ =0x0001600f\n\ adds r2, r1, r3\n\ ldrb r0, [r2]\n\ @@ -5781,7 +5781,7 @@ _08020216:\n\ beq _08020220\n\ b _08020996\n\ _08020220:\n\ - ldr r0, _0802024C @ =0x02000000\n\ + ldr r0, _0802024C @ =gSharedMem\n\ ldr r1, _08020254 @ =0x00016018\n\ adds r0, r1\n\ ldrb r1, [r0]\n\ @@ -5802,7 +5802,7 @@ _08020220:\n\ b _08020274\n\ .align 2, 0\n\ _08020248: .4byte gExpShareExp\n\ -_0802024C: .4byte 0x02000000\n\ +_0802024C: .4byte gSharedMem\n\ _08020250: .4byte 0x0001600f\n\ _08020254: .4byte 0x00016018\n\ _08020258: .4byte 0x0001605f\n\ @@ -5815,7 +5815,7 @@ _0802026C:\n\ lsls r0, 24\n\ lsrs r4, r0, 24\n\ _08020274:\n\ - ldr r5, _08020294 @ =0x02000000\n\ + ldr r5, _08020294 @ =gSharedMem\n\ cmp r4, 0x19\n\ beq _080202A0\n\ ldr r3, _08020298 @ =0x0001605f\n\ @@ -5831,7 +5831,7 @@ _08020274:\n\ adds r1, r5, r0\n\ b _080202C8\n\ .align 2, 0\n\ -_08020294: .4byte 0x02000000\n\ +_08020294: .4byte gSharedMem\n\ _08020298: .4byte 0x0001605f\n\ _0802029C: .4byte 0x0001600f\n\ _080202A0:\n\ @@ -5889,7 +5889,7 @@ _080202E8:\n\ adds r0, 0x1\n\ strb r0, [r5]\n\ _08020316:\n\ - ldr r5, _0802035C @ =0x02000000\n\ + ldr r5, _0802035C @ =gSharedMem\n\ ldr r1, _08020360 @ =0x00016018\n\ adds r0, r5, r1\n\ ldrb r1, [r0]\n\ @@ -5921,7 +5921,7 @@ _0802034C: .4byte gBattleTypeFlags\n\ _08020350: .4byte gBattleMons\n\ _08020354: .4byte 0x0001601b\n\ _08020358: .4byte 0x00000161\n\ -_0802035C: .4byte 0x02000000\n\ +_0802035C: .4byte gSharedMem\n\ _08020360: .4byte 0x00016018\n\ _08020364: .4byte gPlayerParty\n\ _08020368: .4byte 0x0001605f\n\ @@ -5965,7 +5965,7 @@ _0802039C:\n\ bl __divsi3\n\ str r0, [r4]\n\ _080203B8:\n\ - ldr r0, _080203F8 @ =0x02000000\n\ + ldr r0, _080203F8 @ =gSharedMem\n\ ldr r2, _080203FC @ =0x00016018\n\ adds r0, r2\n\ ldrb r1, [r0]\n\ @@ -5992,7 +5992,7 @@ _080203B8:\n\ _080203EC: .4byte gBattleMoveDamage\n\ _080203F0: .4byte gExpShareExp\n\ _080203F4: .4byte gBattleTypeFlags\n\ -_080203F8: .4byte 0x02000000\n\ +_080203F8: .4byte gSharedMem\n\ _080203FC: .4byte 0x00016018\n\ _08020400: .4byte gPlayerParty\n\ _08020404:\n\ @@ -6007,7 +6007,7 @@ _0802040A:\n\ cmp r1, 0\n\ beq _08020488\n\ ldr r1, _08020448 @ =gBattlePartyID\n\ - ldr r0, _0802044C @ =0x02000000\n\ + ldr r0, _0802044C @ =gSharedMem\n\ ldr r3, _08020450 @ =0x00016018\n\ adds r2, r0, r3\n\ ldrh r1, [r1, 0x4]\n\ @@ -6030,7 +6030,7 @@ _0802043C: .4byte 0x00000149\n\ _08020440: .4byte gBattleMoveDamage\n\ _08020444: .4byte gBattleTypeFlags\n\ _08020448: .4byte gBattlePartyID\n\ -_0802044C: .4byte 0x02000000\n\ +_0802044C: .4byte gSharedMem\n\ _08020450: .4byte 0x00016018\n\ _08020454: .4byte gBitTable\n\ _08020458: .4byte gAbsentBankFlags\n\ @@ -6057,7 +6057,7 @@ _0802047C:\n\ .align 2, 0\n\ _08020484: .4byte 0x000160a2\n\ _08020488:\n\ - ldr r0, _08020530 @ =0x02000000\n\ + ldr r0, _08020530 @ =gSharedMem\n\ ldr r3, _08020534 @ =0x000160a2\n\ adds r0, r3\n\ strb r1, [r0]\n\ @@ -6068,7 +6068,7 @@ _08020490:\n\ strb r2, [r1]\n\ movs r5, 0x4\n\ strb r5, [r1, 0x1]\n\ - ldr r4, _08020530 @ =0x02000000\n\ + ldr r4, _08020530 @ =gSharedMem\n\ ldr r0, _08020534 @ =0x000160a2\n\ adds r6, r4, r0\n\ ldrb r0, [r6]\n\ @@ -6132,7 +6132,7 @@ _08020490:\n\ ldrh r1, [r1]\n\ bl MonGainEVs\n\ _0802051E:\n\ - ldr r1, _08020530 @ =0x02000000\n\ + ldr r1, _08020530 @ =gSharedMem\n\ ldr r3, _08020554 @ =0x0001605f\n\ adds r2, r1, r3\n\ ldrb r0, [r2]\n\ @@ -6142,7 +6142,7 @@ _0802051E:\n\ adds r1, r0\n\ b _08020618\n\ .align 2, 0\n\ -_08020530: .4byte 0x02000000\n\ +_08020530: .4byte gSharedMem\n\ _08020534: .4byte 0x000160a2\n\ _08020538: .4byte gBattleTextBuff1\n\ _0802053C: .4byte 0x00016018\n\ @@ -6161,7 +6161,7 @@ _0802055C:\n\ b _08020996\n\ _08020566:\n\ ldr r1, _08020624 @ =gBattleBufferB\n\ - ldr r4, _08020628 @ =0x02000000\n\ + ldr r4, _08020628 @ =gSharedMem\n\ ldr r3, _0802062C @ =0x000160a2\n\ adds r3, r4\n\ mov r8, r3\n\ @@ -6237,7 +6237,7 @@ _08020566:\n\ ldrb r0, [r4]\n\ bl MarkBufferBankForExecution\n\ _08020612:\n\ - ldr r1, _08020628 @ =0x02000000\n\ + ldr r1, _08020628 @ =gSharedMem\n\ ldr r3, _08020644 @ =0x0001600f\n\ adds r1, r3\n\ _08020618:\n\ @@ -6248,7 +6248,7 @@ _08020618:\n\ .align 2, 0\n\ _08020620: .4byte gBattleExecBuffer\n\ _08020624: .4byte gBattleBufferB\n\ -_08020628: .4byte 0x02000000\n\ +_08020628: .4byte gSharedMem\n\ _0802062C: .4byte 0x000160a2\n\ _08020630: .4byte 0x00016018\n\ _08020634: .4byte gPlayerParty\n\ @@ -6264,7 +6264,7 @@ _08020648:\n\ b _08020996\n\ _08020652:\n\ ldr r1, _080208B0 @ =gActiveBank\n\ - ldr r4, _080208B4 @ =0x02000000\n\ + ldr r4, _080208B4 @ =gSharedMem\n\ ldr r2, _080208B8 @ =0x000160a2\n\ adds r0, r4, r2\n\ ldrb r0, [r0]\n\ @@ -6316,7 +6316,7 @@ _080206A8:\n\ ldr r5, _080208B0 @ =gActiveBank\n\ ldrb r0, [r5]\n\ strb r0, [r1, 0x2]\n\ - ldr r0, _080208B4 @ =0x02000000\n\ + ldr r0, _080208B4 @ =gSharedMem\n\ ldr r3, _080208C8 @ =0x00016018\n\ adds r6, r0, r3\n\ ldrb r0, [r6]\n\ @@ -6460,7 +6460,7 @@ _080206A8:\n\ strh r0, [r4, 0xA]\n\ _080207EC:\n\ ldr r0, _080208C4 @ =gBattlePartyID\n\ - ldr r1, _080208B4 @ =0x02000000\n\ + ldr r1, _080208B4 @ =gSharedMem\n\ ldr r3, _080208C8 @ =0x00016018\n\ adds r7, r1, r3\n\ ldrb r2, [r7]\n\ @@ -6549,7 +6549,7 @@ _080207EC:\n\ .align 2, 0\n\ _080208AC: .4byte gBattleExecBuffer\n\ _080208B0: .4byte gActiveBank\n\ -_080208B4: .4byte 0x02000000\n\ +_080208B4: .4byte gSharedMem\n\ _080208B8: .4byte 0x000160a2\n\ _080208BC: .4byte gBattleBufferB\n\ _080208C0: .4byte gBattleTypeFlags\n\ @@ -6569,7 +6569,7 @@ _080208F0:\n\ movs r0, 0\n\ str r0, [r1]\n\ _080208F6:\n\ - ldr r0, _08020908 @ =0x02000000\n\ + ldr r0, _08020908 @ =gSharedMem\n\ ldr r1, _0802090C @ =0x0001600f\n\ adds r0, r1\n\ movs r1, 0x5\n\ @@ -6577,14 +6577,14 @@ _080208F6:\n\ b _08020996\n\ .align 2, 0\n\ _08020904: .4byte gBattleMoveDamage\n\ -_08020908: .4byte 0x02000000\n\ +_08020908: .4byte gSharedMem\n\ _0802090C: .4byte 0x0001600f\n\ _08020910:\n\ ldr r0, _08020924 @ =gBattleMoveDamage\n\ ldr r0, [r0]\n\ cmp r0, 0\n\ beq _08020930\n\ - ldr r0, _08020928 @ =0x02000000\n\ + ldr r0, _08020928 @ =gSharedMem\n\ ldr r2, _0802092C @ =0x0001600f\n\ adds r0, r2\n\ movs r1, 0x3\n\ @@ -6592,10 +6592,10 @@ _08020910:\n\ b _08020996\n\ .align 2, 0\n\ _08020924: .4byte gBattleMoveDamage\n\ -_08020928: .4byte 0x02000000\n\ +_08020928: .4byte gSharedMem\n\ _0802092C: .4byte 0x0001600f\n\ _08020930:\n\ - ldr r2, _08020950 @ =0x02000000\n\ + ldr r2, _08020950 @ =gSharedMem\n\ ldr r3, _08020954 @ =0x00016018\n\ adds r1, r2, r3\n\ ldrb r0, [r1]\n\ @@ -6611,7 +6611,7 @@ _08020930:\n\ strb r0, [r1]\n\ b _08020996\n\ .align 2, 0\n\ -_08020950: .4byte 0x02000000\n\ +_08020950: .4byte gSharedMem\n\ _08020954: .4byte 0x00016018\n\ _08020958: .4byte 0x0001600f\n\ _0802095C:\n\ @@ -7919,7 +7919,7 @@ _0802178C: .4byte gUnknown_02024A98\n\ _08021790:\n\ cmp r3, 0\n\ beq _080217E0\n\ - ldr r0, _080217D0 @ =0x02000000\n\ + ldr r0, _080217D0 @ =gSharedMem\n\ ldr r1, _080217D4 @ =0x000160dc\n\ adds r4, r0, r1\n\ ldrb r0, [r4]\n\ @@ -7949,7 +7949,7 @@ _080217CC:\n\ ldr r1, _080217DC @ =gBattlescriptCurrInstr\n\ b _080217E2\n\ .align 2, 0\n\ -_080217D0: .4byte 0x02000000\n\ +_080217D0: .4byte gSharedMem\n\ _080217D4: .4byte 0x000160dc\n\ _080217D8: .4byte gActiveBank\n\ _080217DC: .4byte gBattlescriptCurrInstr\n\ @@ -7990,7 +7990,7 @@ static void atk49_moveendturn(void) else hold_effect_atk = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item); - choiced_move_atk = (u16*)(gBankAttacker * 0x020160e8); + choiced_move_atk = (u16*)(gBankAttacker * (ewram_addr + 0x160E8)); if (BATTLE_STRUCT->dynamicMoveType) move_type = BATTLE_STRUCT->dynamicMoveType & 0x3F; else @@ -8066,7 +8066,7 @@ static void atk49_moveendturn(void) case 7: //changed held items for (i = 0; i < gNoOfAllBanks; i++) { - #define CHANGED_ITEM (((*u16)(0x020160f0))) + #define CHANGED_ITEM (((*u16)(gSharedMem + 0x160F0))) if (CHANGED_ITEM(i)) gBattleMons[i].item = CHANGED_ITEM(i); } @@ -8162,7 +8162,7 @@ _0802184E:\n\ ldr r0, _0802186C @ =gBankAttacker\n\ ldrb r1, [r0]\n\ lsls r1, 1\n\ - ldr r0, _08021870 @ =0x020160e8\n\ + ldr r0, _08021870 @ =gSharedMem + 0x160E8\n\ adds r1, r0\n\ str r1, [sp, 0xC]\n\ subs r0, 0xCC\n\ @@ -8175,13 +8175,13 @@ _0802184E:\n\ b _080218D2\n\ .align 2, 0\n\ _0802186C: .4byte gBankAttacker\n\ -_08021870: .4byte 0x020160e8\n\ +_08021870: .4byte gSharedMem + 0x160E8\n\ _08021874:\n\ strb r2, [r7]\n\ ldr r0, [r5]\n\ orrs r0, r6\n\ str r0, [r5]\n\ - ldr r0, _080218AC @ =0x02000000\n\ + ldr r0, _080218AC @ =gSharedMem\n\ ldr r3, _080218B0 @ =0x0001600c\n\ adds r0, r3\n\ strb r4, [r0]\n\ @@ -8202,7 +8202,7 @@ _08021874:\n\ ldr r0, _080218BC @ =gUnknown_081D9B2D\n\ bl _0802229C\n\ .align 2, 0\n\ -_080218AC: .4byte 0x02000000\n\ +_080218AC: .4byte gSharedMem\n\ _080218B0: .4byte 0x0001600c\n\ _080218B4: .4byte gBattleScriptsEffectsTable\n\ _080218B8: .4byte gBattlescriptCurrInstr\n\ @@ -8218,13 +8218,13 @@ _080218C0:\n\ ldrb r0, [r0, 0x2]\n\ str r0, [sp, 0x4]\n\ _080218D2:\n\ - ldr r5, _080218E0 @ =0x02000000\n\ + ldr r5, _080218E0 @ =gSharedMem\n\ mov r12, r5\n\ b _080218EE\n\ .align 2, 0\n\ _080218D8: .4byte gBattleMoves\n\ _080218DC: .4byte gCurrentMove\n\ -_080218E0: .4byte 0x02000000\n\ +_080218E0: .4byte gSharedMem\n\ _080218E4:\n\ mov r0, r10\n\ cmp r0, 0\n\ @@ -8349,7 +8349,7 @@ _080219C8:\n\ movs r5, 0x1\n\ mov r10, r5\n\ _080219FE:\n\ - ldr r2, _08021A2C @ =0x02000000\n\ + ldr r2, _08021A2C @ =gSharedMem\n\ ldr r0, _08021A30 @ =0x0001600c\n\ adds r1, r2, r0\n\ b _08021E00\n\ @@ -8363,7 +8363,7 @@ _08021A1C: .4byte gBattleMoves\n\ _08021A20: .4byte gCurrentMove\n\ _08021A24: .4byte gBattlescriptCurrInstr\n\ _08021A28: .4byte gUnknown_081D9132\n\ -_08021A2C: .4byte 0x02000000\n\ +_08021A2C: .4byte gSharedMem\n\ _08021A30: .4byte 0x0001600c\n\ _08021A34:\n\ ldr r2, _08021AD0 @ =gBattleMons\n\ @@ -8471,13 +8471,13 @@ _08021AF0:\n\ movs r4, 0x1\n\ mov r10, r4\n\ _08021B0C:\n\ - ldr r2, _08021B18 @ =0x02000000\n\ + ldr r2, _08021B18 @ =gSharedMem\n\ ldr r5, _08021B1C @ =0x0001600c\n\ adds r1, r2, r5\n\ b _08021E00\n\ .align 2, 0\n\ _08021B14: .4byte gBankTarget\n\ -_08021B18: .4byte 0x02000000\n\ +_08021B18: .4byte gSharedMem\n\ _08021B1C: .4byte 0x0001600c\n\ _08021B20:\n\ ldr r0, _08021B40 @ =gBankTarget\n\ @@ -8511,18 +8511,18 @@ _08021B44:\n\ beq _08021B68\n\ movs r4, 0x1\n\ mov r10, r4\n\ - ldr r5, _08021B64 @ =0x02000000\n\ + ldr r5, _08021B64 @ =gSharedMem\n\ mov r12, r5\n\ b _0802224E\n\ .align 2, 0\n\ -_08021B64: .4byte 0x02000000\n\ +_08021B64: .4byte gSharedMem\n\ _08021B68:\n\ - ldr r2, _08021B70 @ =0x02000000\n\ + ldr r2, _08021B70 @ =gSharedMem\n\ ldr r0, _08021B74 @ =0x0001600c\n\ adds r1, r2, r0\n\ b _08021E00\n\ .align 2, 0\n\ -_08021B70: .4byte 0x02000000\n\ +_08021B70: .4byte gSharedMem\n\ _08021B74: .4byte 0x0001600c\n\ _08021B78:\n\ ldr r0, _08021B98 @ =gBankAttacker\n\ @@ -8636,7 +8636,7 @@ _08021C40:\n\ b _08022244\n\ _08021C4C:\n\ movs r5, 0\n\ - ldr r2, _08021C70 @ =0x020160f0\n\ + ldr r2, _08021C70 @ =gSharedMem + 0x160F0\n\ ldr r3, _08021C74 @ =gBattleMons\n\ _08021C52:\n\ ldrh r1, [r2]\n\ @@ -8654,7 +8654,7 @@ _08021C5C:\n\ b _08022244\n\ .align 2, 0\n\ _08021C6C: .4byte gNoOfAllBanks\n\ -_08021C70: .4byte 0x020160f0\n\ +_08021C70: .4byte gSharedMem + 0x160F0\n\ _08021C74: .4byte gBattleMons\n\ _08021C78:\n\ movs r0, 0x3\n\ @@ -8666,18 +8666,18 @@ _08021C78:\n\ beq _08021C98\n\ movs r2, 0x1\n\ mov r10, r2\n\ - ldr r3, _08021C94 @ =0x02000000\n\ + ldr r3, _08021C94 @ =gSharedMem\n\ mov r12, r3\n\ b _0802224E\n\ .align 2, 0\n\ -_08021C94: .4byte 0x02000000\n\ +_08021C94: .4byte gSharedMem\n\ _08021C98:\n\ - ldr r2, _08021CA0 @ =0x02000000\n\ + ldr r2, _08021CA0 @ =gSharedMem\n\ ldr r4, _08021CA4 @ =0x0001600c\n\ adds r1, r2, r4\n\ b _08021E00\n\ .align 2, 0\n\ -_08021CA0: .4byte 0x02000000\n\ +_08021CA0: .4byte gSharedMem\n\ _08021CA4: .4byte 0x0001600c\n\ _08021CA8:\n\ movs r0, 0x4\n\ @@ -8690,12 +8690,12 @@ _08021CA8:\n\ movs r5, 0x1\n\ mov r10, r5\n\ _08021CBC:\n\ - ldr r2, _08021CC4 @ =0x02000000\n\ + ldr r2, _08021CC4 @ =gSharedMem\n\ ldr r0, _08021CC8 @ =0x0001600c\n\ adds r1, r2, r0\n\ b _08021E00\n\ .align 2, 0\n\ -_08021CC4: .4byte 0x02000000\n\ +_08021CC4: .4byte gSharedMem\n\ _08021CC8: .4byte 0x0001600c\n\ _08021CCC:\n\ ldr r1, _08021D04 @ =gStatuses3\n\ @@ -8783,7 +8783,7 @@ _08021D44:\n\ orrs r1, r2\n\ strb r1, [r0]\n\ _08021D7E:\n\ - ldr r2, _08021DA4 @ =0x02000000\n\ + ldr r2, _08021DA4 @ =gSharedMem\n\ ldr r4, _08021DA8 @ =0x0001600c\n\ adds r1, r2, r4\n\ b _08021E00\n\ @@ -8795,7 +8795,7 @@ _08021D94: .4byte 0x000400c0\n\ _08021D98: .4byte gActiveBank\n\ _08021D9C: .4byte 0xfffbff3f\n\ _08021DA0: .4byte gSpecialStatuses\n\ -_08021DA4: .4byte 0x02000000\n\ +_08021DA4: .4byte gSharedMem\n\ _08021DA8: .4byte 0x0001600c\n\ _08021DAC:\n\ ldr r2, _08021E0C @ =gSpecialStatuses\n\ @@ -8836,7 +8836,7 @@ _08021DAC:\n\ ands r0, r1\n\ str r0, [r2]\n\ _08021DFA:\n\ - ldr r2, _08021E28 @ =0x02000000\n\ + ldr r2, _08021E28 @ =gSharedMem\n\ ldr r3, _08021E2C @ =0x0001600c\n\ adds r1, r2, r3\n\ _08021E00:\n\ @@ -8853,7 +8853,7 @@ _08021E18: .4byte gStatuses3\n\ _08021E1C: .4byte 0x000400c0\n\ _08021E20: .4byte gActiveBank\n\ _08021E24: .4byte 0xfffbff3f\n\ -_08021E28: .4byte 0x02000000\n\ +_08021E28: .4byte gSharedMem\n\ _08021E2C: .4byte 0x0001600c\n\ _08021E30:\n\ movs r4, 0\n\ @@ -9347,7 +9347,7 @@ _0802223A:\n\ ldr r0, [r5]\n\ orrs r0, r6\n\ str r0, [r5]\n\ - ldr r2, _080222D0 @ =0x02000000\n\ + ldr r2, _080222D0 @ =gSharedMem\n\ mov r12, r2\n\ _08022244:\n\ ldr r1, _080222D4 @ =0x0001600c\n\ @@ -9417,7 +9417,7 @@ _080222C0: .4byte gBattleMoves\n\ _080222C4: .4byte gCurrentMove\n\ _080222C8: .4byte gBankTarget\n\ _080222CC: .4byte gBattleMons\n\ -_080222D0: .4byte 0x02000000\n\ +_080222D0: .4byte gSharedMem\n\ _080222D4: .4byte 0x0001600c\n\ _080222D8: .4byte gBattlescriptCurrInstr\n\ .syntax divided" @@ -9930,7 +9930,7 @@ _08022C2C:\n\ lsls r0, 25\n\ cmp r0, 0\n\ blt _08022C6C\n\ - ldr r0, _08022C64 @ =0x02000000\n\ + ldr r0, _08022C64 @ =gSharedMem\n\ ldr r1, _08022C68 @ =0x0001606a\n\ adds r0, r1\n\ ldrb r0, [r0]\n\ @@ -9947,7 +9947,7 @@ _08022C2C:\n\ b _08022C7E\n\ .align 2, 0\n\ _08022C60: .4byte gSpecialStatuses\n\ -_08022C64: .4byte 0x02000000\n\ +_08022C64: .4byte gSharedMem\n\ _08022C68: .4byte 0x0001606a\n\ _08022C6C:\n\ movs r0, 0\n\ @@ -10015,7 +10015,7 @@ _08022CE8:\n\ lsls r0, 25\n\ cmp r0, 0\n\ blt _08022D28\n\ - ldr r0, _08022D20 @ =0x02000000\n\ + ldr r0, _08022D20 @ =gSharedMem\n\ ldr r1, _08022D24 @ =0x00016068\n\ adds r0, r1\n\ ldrb r0, [r0]\n\ @@ -10032,7 +10032,7 @@ _08022CE8:\n\ b _08022D40\n\ .align 2, 0\n\ _08022D1C: .4byte gSpecialStatuses\n\ -_08022D20: .4byte 0x02000000\n\ +_08022D20: .4byte gSharedMem\n\ _08022D24: .4byte 0x00016068\n\ _08022D28:\n\ movs r0, 0x1\n\ @@ -10099,7 +10099,7 @@ _08022DA0:\n\ lsls r0, 25\n\ cmp r0, 0\n\ blt _08022DE0\n\ - ldr r0, _08022DD8 @ =0x02000000\n\ + ldr r0, _08022DD8 @ =gSharedMem\n\ ldr r1, _08022DDC @ =0x0001606b\n\ adds r0, r1\n\ ldrb r0, [r0]\n\ @@ -10116,7 +10116,7 @@ _08022DA0:\n\ b _08022DF6\n\ .align 2, 0\n\ _08022DD4: .4byte gSpecialStatuses\n\ -_08022DD8: .4byte 0x02000000\n\ +_08022DD8: .4byte gSharedMem\n\ _08022DDC: .4byte 0x0001606b\n\ _08022DE0:\n\ movs r0, 0\n\ @@ -10186,7 +10186,7 @@ _08022E60:\n\ lsls r0, 25\n\ cmp r0, 0\n\ blt _08022EA0\n\ - ldr r0, _08022E98 @ =0x02000000\n\ + ldr r0, _08022E98 @ =gSharedMem\n\ ldr r1, _08022E9C @ =0x00016069\n\ adds r0, r1\n\ ldrb r0, [r0]\n\ @@ -10203,7 +10203,7 @@ _08022E60:\n\ b _08022EB8\n\ .align 2, 0\n\ _08022E94: .4byte gSpecialStatuses\n\ -_08022E98: .4byte 0x02000000\n\ +_08022E98: .4byte gSharedMem\n\ _08022E9C: .4byte 0x00016069\n\ _08022EA0:\n\ movs r0, 0x2\n\ @@ -10386,7 +10386,7 @@ _08023008:\n\ lsls r0, 25\n\ cmp r0, 0\n\ blt _0802303A\n\ - ldr r0, _0802309C @ =0x02000000\n\ + ldr r0, _0802309C @ =gSharedMem\n\ ldr r1, _080230A0 @ =0x00016068\n\ adds r0, r1\n\ ldrb r0, [r0]\n\ @@ -10447,7 +10447,7 @@ _0802303A:\n\ b _080230EE\n\ .align 2, 0\n\ _08023098: .4byte gSpecialStatuses\n\ -_0802309C: .4byte 0x02000000\n\ +_0802309C: .4byte gSharedMem\n\ _080230A0: .4byte 0x00016068\n\ _080230A4: .4byte gBitTable\n\ _080230A8: .4byte gActiveBank\n\ @@ -10466,7 +10466,7 @@ _080230BC:\n\ lsls r0, 25\n\ cmp r0, 0\n\ blt _080230EE\n\ - ldr r0, _08023100 @ =0x02000000\n\ + ldr r0, _08023100 @ =gSharedMem\n\ ldr r1, _08023104 @ =0x00016069\n\ adds r0, r1\n\ ldrb r0, [r0]\n\ @@ -10489,7 +10489,7 @@ _080230EE:\n\ b _08023110\n\ .align 2, 0\n\ _080230FC: .4byte gSpecialStatuses\n\ -_08023100: .4byte 0x02000000\n\ +_08023100: .4byte gSharedMem\n\ _08023104: .4byte 0x00016069\n\ _08023108: .4byte gBattlescriptCurrInstr\n\ _0802310C:\n\ @@ -10610,7 +10610,7 @@ _080231F4: .4byte gHitMarker\n\ _080231F8:\n\ ldr r4, _080232A0 @ =gActiveBank\n\ strb r7, [r4]\n\ - ldr r3, _080232A4 @ =0x02000000\n\ + ldr r3, _080232A4 @ =gSharedMem\n\ ldrb r0, [r4]\n\ ldr r2, _080232A8 @ =0x00016064\n\ adds r1, r0, r2\n\ @@ -10691,7 +10691,7 @@ _0802328A:\n\ b _08023302\n\ .align 2, 0\n\ _080232A0: .4byte gActiveBank\n\ -_080232A4: .4byte 0x02000000\n\ +_080232A4: .4byte gSharedMem\n\ _080232A8: .4byte 0x00016064\n\ _080232AC: .4byte gBattlePartyID\n\ _080232B0: .4byte 0x00016068\n\ @@ -11134,7 +11134,7 @@ static void atk5C_hitanimation(void) gBattlescriptCurrInstr += 2; } -#define MONEY_UNKNOWN ((*(u8*)(0x02017000 + 0x94))) +#define MONEY_UNKNOWN ((*(u8*)(ewram_addr + 0x17000 + 0x94))) #ifdef NONMATCHING static void atk5D_getmoneyreward(void) @@ -11208,7 +11208,7 @@ static void atk5D_getmoneyreward(void) lsls r1, 3\n\ cmp r2, r1\n\ bne _08024058\n\ - ldr r0, _0802404C @ =0x02017000\n\ + ldr r0, _0802404C @ =gSharedMem + 0x17000\n\ adds r1, r0, 0\n\ adds r1, 0x94\n\ ldrb r2, [r1]\n\ @@ -11225,7 +11225,7 @@ static void atk5D_getmoneyreward(void) b _08024140\n\ .align 2, 0\n\ _08024048: .4byte gTrainerBattleOpponent\n\ -_0802404C: .4byte 0x02017000\n\ +_0802404C: .4byte gSharedMem + 0x17000\n\ _08024050: .4byte 0xfffff056\n\ _08024054: .4byte gSaveBlock1 + 0x490\n\ _08024058:\n\ @@ -11295,7 +11295,7 @@ _080240C4:\n\ ldrb r1, [r3]\n\ mov r12, r0\n\ lsls r4, r5, 2\n\ - ldr r5, _08024124 @ =0x02000000\n\ + ldr r5, _08024124 @ =gSharedMem\n\ ldr r7, _08024128 @ =gBattleTypeFlags\n\ ldr r0, _0802412C @ =gSaveBlock1 + 0x490\n\ mov r8, r0\n\ @@ -11339,7 +11339,7 @@ _080240FE:\n\ b _08024140\n\ .align 2, 0\n\ _08024120: .4byte gTrainerMoney\n\ -_08024124: .4byte 0x02000000\n\ +_08024124: .4byte gSharedMem\n\ _08024128: .4byte gBattleTypeFlags\n\ _0802412C: .4byte gSaveBlock1 + 0x490\n\ _08024130: .4byte gTrainers\n\ @@ -11678,7 +11678,7 @@ static void atk6C_lvlbox_display(void) sub sp, 0x4\n\ movs r1, 0\n\ movs r7, 0\n\ - ldr r0, _08024928 @ =0x02000000\n\ + ldr r0, _08024928 @ =gSharedMem\n\ mov r10, r0\n\ ldr r4, _0802492C @ =0x0001609c\n\ add r4, r10\n\ @@ -11693,7 +11693,7 @@ _0802491C:\n\ beq _0802493E\n\ b _08024C38\n\ .align 2, 0\n\ -_08024928: .4byte 0x02000000\n\ +_08024928: .4byte gSharedMem\n\ _0802492C: .4byte 0x0001609c\n\ _08024930:\n\ cmp r0, 0x2\n\ @@ -11729,7 +11729,7 @@ _0802495A:\n\ adds r0, r5, 0\n\ bl StringAppend\n\ adds r5, r0, 0\n\ - ldr r0, _080249A8 @ =0x02000000\n\ + ldr r0, _080249A8 @ =gSharedMem\n\ ldr r2, _080249AC @ =0x00016018\n\ adds r0, r2\n\ ldrb r1, [r0]\n\ @@ -11754,7 +11754,7 @@ _0802495A:\n\ _0802499C: .4byte gStringVar4\n\ _080249A0: .4byte gUnknown_08400D9F\n\ _080249A4: .4byte gUnknown_0840165C\n\ -_080249A8: .4byte 0x02000000\n\ +_080249A8: .4byte gSharedMem\n\ _080249AC: .4byte 0x00016018\n\ _080249B0: .4byte gPlayerParty\n\ _080249B4: .4byte gLevelUpStatBoxStats\n\ @@ -11768,37 +11768,37 @@ _080249BC:\n\ .4byte _08024A04\n\ .4byte _08024A10\n\ _080249D4:\n\ - ldr r0, _080249DC @ =0x02017180\n\ + ldr r0, _080249DC @ =gSharedMem + 0x17180\n\ ldrh r0, [r0]\n\ b _08024A14\n\ .align 2, 0\n\ -_080249DC: .4byte 0x02017180\n\ +_080249DC: .4byte gSharedMem + 0x17180\n\ _080249E0:\n\ - ldr r0, _080249E8 @ =0x02017180\n\ + ldr r0, _080249E8 @ =gSharedMem + 0x17180\n\ ldrh r0, [r0, 0x8]\n\ b _08024A14\n\ .align 2, 0\n\ -_080249E8: .4byte 0x02017180\n\ +_080249E8: .4byte gSharedMem + 0x17180\n\ _080249EC:\n\ - ldr r0, _080249F4 @ =0x02017180\n\ + ldr r0, _080249F4 @ =gSharedMem + 0x17180\n\ ldrh r0, [r0, 0x2]\n\ b _08024A14\n\ .align 2, 0\n\ -_080249F4: .4byte 0x02017180\n\ +_080249F4: .4byte gSharedMem + 0x17180\n\ _080249F8:\n\ - ldr r0, _08024A00 @ =0x02017180\n\ + ldr r0, _08024A00 @ =gSharedMem + 0x17180\n\ ldrh r0, [r0, 0xA]\n\ b _08024A14\n\ .align 2, 0\n\ -_08024A00: .4byte 0x02017180\n\ +_08024A00: .4byte gSharedMem + 0x17180\n\ _08024A04:\n\ - ldr r0, _08024A0C @ =0x02017180\n\ + ldr r0, _08024A0C @ =gSharedMem + 0x17180\n\ ldrh r0, [r0, 0x4]\n\ b _08024A14\n\ .align 2, 0\n\ -_08024A0C: .4byte 0x02017180\n\ +_08024A0C: .4byte gSharedMem + 0x17180\n\ _08024A10:\n\ - ldr r0, _08024A54 @ =0x02017180\n\ + ldr r0, _08024A54 @ =gSharedMem + 0x17180\n\ ldrh r0, [r0, 0x6]\n\ _08024A14:\n\ subs r0, r1, r0\n\ @@ -11835,7 +11835,7 @@ _08024A2C:\n\ ldr r1, _08024A58 @ =gUnknown_08400DAC\n\ b _08024A5E\n\ .align 2, 0\n\ -_08024A54: .4byte 0x02017180\n\ +_08024A54: .4byte gSharedMem + 0x17180\n\ _08024A58: .4byte gUnknown_08400DAC\n\ _08024A5C:\n\ ldr r1, _08024AA4 @ =gUnknown_08400DAA\n\ @@ -11902,14 +11902,14 @@ _08024AC4:\n\ bl InitWindow\n\ adds r0, r4, 0\n\ bl sub_8002F44\n\ - ldr r1, _08024AEC @ =0x02000000\n\ + ldr r1, _08024AEC @ =gSharedMem\n\ ldr r2, _08024AF0 @ =0x0001609c\n\ adds r1, r2\n\ b _08024BEA\n\ .align 2, 0\n\ _08024AE4: .4byte gUnknown_03004210\n\ _08024AE8: .4byte gStringVar4\n\ -_08024AEC: .4byte 0x02000000\n\ +_08024AEC: .4byte gSharedMem\n\ _08024AF0: .4byte 0x0001609c\n\ _08024AF4:\n\ ldr r0, _08024B94 @ =gMain\n\ @@ -12023,7 +12023,7 @@ _08024BC0:\n\ bl InitWindow\n\ adds r0, r4, 0\n\ bl sub_8002F44\n\ - ldr r1, _08024BFC @ =0x02000000\n\ + ldr r1, _08024BFC @ =gSharedMem\n\ ldr r0, _08024C00 @ =0x0001609c\n\ adds r1, r0\n\ _08024BEA:\n\ @@ -12034,7 +12034,7 @@ _08024BEA:\n\ .align 2, 0\n\ _08024BF4: .4byte gUnknown_03004210\n\ _08024BF8: .4byte gStringVar4\n\ -_08024BFC: .4byte 0x02000000\n\ +_08024BFC: .4byte gSharedMem\n\ _08024C00: .4byte 0x0001609c\n\ _08024C04:\n\ ldr r0, _08024C2C @ =gMain\n\ @@ -12954,7 +12954,7 @@ _08025F10: .4byte gBattlescriptCurrInstr\n\ _08025F14:\n\ mov r0, r8\n\ bl b_movescr_stack_push\n\ - ldr r0, _08025F40 @ =0x02000000\n\ + ldr r0, _08025F40 @ =gSharedMem\n\ ldr r6, _08025F44 @ =gActiveBank\n\ ldrb r1, [r6]\n\ ldr r2, _08025F48 @ =0x00016003\n\ @@ -12974,7 +12974,7 @@ _08025F14:\n\ strb r1, [r0]\n\ b _08025F74\n\ .align 2, 0\n\ -_08025F40: .4byte 0x02000000\n\ +_08025F40: .4byte gSharedMem\n\ _08025F44: .4byte gActiveBank\n\ _08025F48: .4byte 0x00016003\n\ _08025F4C: .4byte gBattlescriptCurrInstr\n\ @@ -13049,7 +13049,7 @@ _08025FDC: .4byte gBattlescriptCurrInstr\n\ _08025FE0:\n\ mov r0, r8\n\ bl b_movescr_stack_push\n\ - ldr r0, _08026028 @ =0x02000000\n\ + ldr r0, _08026028 @ =gSharedMem\n\ ldr r2, _0802602C @ =gActiveBank\n\ ldrb r1, [r2]\n\ ldr r3, _08026030 @ =0x00016003\n\ @@ -13081,7 +13081,7 @@ _08025FE0:\n\ strb r1, [r0]\n\ b _08025F74\n\ .align 2, 0\n\ -_08026028: .4byte 0x02000000\n\ +_08026028: .4byte gSharedMem\n\ _0802602C: .4byte gActiveBank\n\ _08026030: .4byte 0x00016003\n\ _08026034: .4byte gBattlescriptCurrInstr\n\ @@ -13106,7 +13106,7 @@ _08026040:\n\ bne _08025F74\n\ mov r0, r8\n\ bl b_movescr_stack_push\n\ - ldr r0, _08026094 @ =0x02000000\n\ + ldr r0, _08026094 @ =gSharedMem\n\ ldr r3, _08026090 @ =gActiveBank\n\ ldrb r1, [r3]\n\ ldr r6, _08026098 @ =0x00016003\n\ @@ -13128,7 +13128,7 @@ _08026040:\n\ b _08025F74\n\ .align 2, 0\n\ _08026090: .4byte gActiveBank\n\ -_08026094: .4byte 0x02000000\n\ +_08026094: .4byte gSharedMem\n\ _08026098: .4byte 0x00016003\n\ _0802609C: .4byte gBattlescriptCurrInstr\n\ _080260A0: .4byte BattleScript_AbilityNoSpecificStatLoss\n\ @@ -13154,7 +13154,7 @@ _080260A8:\n\ _080260CA:\n\ mov r0, r8\n\ bl b_movescr_stack_push\n\ - ldr r0, _08026100 @ =0x02000000\n\ + ldr r0, _08026100 @ =gSharedMem\n\ ldr r3, _080260FC @ =gActiveBank\n\ ldrb r1, [r3]\n\ ldr r6, _08026104 @ =0x00016003\n\ @@ -13176,7 +13176,7 @@ _080260CA:\n\ b _08025F74\n\ .align 2, 0\n\ _080260FC: .4byte gActiveBank\n\ -_08026100: .4byte 0x02000000\n\ +_08026100: .4byte gSharedMem\n\ _08026104: .4byte 0x00016003\n\ _08026108: .4byte gBattlescriptCurrInstr\n\ _0802610C: .4byte BattleScript_AbilityNoSpecificStatLoss\n\ @@ -15656,7 +15656,7 @@ push {r4-r7,lr}\n\ bl __divsi3\n\ adds r0, 0x1E\n\ strh r0, [r5]\n\ - ldr r5, _080298A0 @ =0x02000000\n\ + ldr r5, _080298A0 @ =gSharedMem\n\ lsls r0, r4, 4\n\ subs r0, r4\n\ movs r1, 0x3F\n\ @@ -15691,7 +15691,7 @@ _08029876:\n\ _08029894: .4byte gBattleMons\n\ _08029898: .4byte gBankAttacker\n\ _0802989C: .4byte gDynamicBasePower\n\ -_080298A0: .4byte 0x02000000\n\ +_080298A0: .4byte gSharedMem\n\ _080298A4: .4byte 0x0001601c\n\ _080298A8: .4byte gBattlescriptCurrInstr\n\ .syntax divided"); @@ -16372,7 +16372,7 @@ _0802A364: .4byte BattleScript_NoItemSteal\n\ _0802A368: .4byte gLastUsedAbility\n\ _0802A36C:\n\ lsls r0, r4, 1\n\ - ldr r4, _0802A458 @ =0x020160f0\n\ + ldr r4, _0802A458 @ =gSharedMem + 0x160F0\n\ adds r6, r0, r4\n\ ldrh r5, [r5, 0x2E]\n\ mov r10, r5\n\ @@ -16486,7 +16486,7 @@ _0802A36C:\n\ movs r0, 0x2\n\ b _0802A498\n\ .align 2, 0\n\ -_0802A458: .4byte 0x020160f0\n\ +_0802A458: .4byte gSharedMem + 0x160F0\n\ _0802A45C: .4byte gBankAttacker\n\ _0802A460: .4byte gActiveBank\n\ _0802A464: .4byte 0xfffe9f10\n\ @@ -16820,7 +16820,7 @@ _0802AAAE:\n\ mov r9, r6\n\ mov r1, r10\n\ lsls r0, r1, 1\n\ - ldr r1, _0802ABB0 @ =0x02016024\n\ + ldr r1, _0802ABB0 @ =gSharedMem + 0x16024\n\ adds r6, r0, r1\n\ _0802AAF8:\n\ movs r7, 0\n\ @@ -16891,7 +16891,7 @@ _0802AB54:\n\ muls r0, r1\n\ asrs r0, 8\n\ lsls r0, 1\n\ - ldr r1, _0802ABB0 @ =0x02016024\n\ + ldr r1, _0802ABB0 @ =gSharedMem + 0x16024\n\ adds r0, r1\n\ ldrh r0, [r0]\n\ strh r0, [r4]\n\ @@ -16911,7 +16911,7 @@ _0802ABA0: .4byte gPlayerParty\n\ _0802ABA4: .4byte gEnemyParty\n\ _0802ABA8: .4byte gBattlePartyID\n\ _0802ABAC: .4byte 0x0000ffff\n\ -_0802ABB0: .4byte 0x02016024\n\ +_0802ABB0: .4byte gSharedMem + 0x16024\n\ _0802ABB4: .4byte sUnknown_081FACFE\n\ _0802ABB8: .4byte gHitMarker\n\ _0802ABBC: .4byte 0xfffffbff\n\ diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index ceac8ff24..fe1d0b159 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -284,7 +284,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, - 0x02000000, + eVoidSharedArr2, gUnknown_081FAF4C[var], species, r7); @@ -336,7 +336,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) &gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, - 0x02000000, + eVoidSharedArr2, gUnknown_081FAF4C[var], species, r7); @@ -379,7 +379,7 @@ void sub_8031A6C(u16 a, u8 b) &gTrainerFrontPicTable[a], gTrainerFrontPicCoords[a].coords, gTrainerFrontPicCoords[a].y_offset, - (void *)0x02000000, + eVoidSharedArr, gUnknown_081FAF4C[status], 0); spriteSheet.data = gUnknown_081FAF4C[status]; @@ -398,7 +398,7 @@ void LoadPlayerTrainerBankSprite(u16 a, u8 b) &gTrainerBackPicTable[a], gTrainerBackPicCoords[a].coords, gTrainerBackPicCoords[a].y_offset, - (void *)0x02000000, + eVoidSharedArr, gUnknown_081FAF4C[status], 0); LoadCompressedPalette(gTrainerBackPicPaletteTable[a].data, 0x100 + b * 16, 32); @@ -495,7 +495,7 @@ bool8 sub_8031C30(u8 a) void load_gfxc_health_bar(void) { - LZDecompressWram(gUnknown_08D09C48, (void *)0x02000000); + LZDecompressWram(gUnknown_08D09C48, eVoidSharedArr); } u8 battle_load_something(u8 *pState, u8 *b) @@ -636,7 +636,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) &gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, - 0x02000000, + eVoidSharedArr2, gUnknown_081FAF4C[0], species, ewram19348.unk10); @@ -656,7 +656,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) &gMonBackPicTable[species], gMonBackPicCoords[species].coords, gMonBackPicCoords[species].y_offset, - 0x02000000, + eVoidSharedArr2, gUnknown_081FAF4C[r10], species, gPID_perBank[a]); @@ -669,7 +669,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, - 0x02000000, + eVoidSharedArr2, gUnknown_081FAF4C[r10], species, gPID_perBank[a]); diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 5145d4980..cb6c10676 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -1017,7 +1017,7 @@ static void BattleAICmd_is_most_powerful_move(void) ldrh r1, [r0]\n\ ldr r4, _0810832C @ =0x0000ffff\n\ ldr r6, _08108330 @ =gBattleMoves\n\ - ldr r5, _08108334 @ =0x02016800\n\ + ldr r5, _08108334 @ =gSharedMem + 0x16800\n\ cmp r1, r4\n\ beq _0810822E\n\ ldrh r1, [r5, 0x2]\n\ @@ -1150,7 +1150,7 @@ _081082BA:\n\ mov r4, sp\n\ add r4, r8\n\ ldr r2, _08108358 @ =gBattleMoveDamage\n\ - ldr r0, _08108334 @ =0x02016800\n\ + ldr r0, _08108334 @ =gSharedMem + 0x16800\n\ adds r0, 0x18\n\ adds r0, r6, r0\n\ ldrb r1, [r0]\n\ @@ -1168,7 +1168,7 @@ _081082BA:\n\ _08108328: .4byte sDiscouragedPowerfulMoveEffects\n\ _0810832C: .4byte 0x0000ffff\n\ _08108330: .4byte gBattleMoves\n\ -_08108334: .4byte 0x02016800\n\ +_08108334: .4byte gSharedMem + 0x16800\n\ _08108338: .4byte gDynamicBasePower\n\ _0810833C: .4byte 0xfffff81c\n\ _08108340: .4byte gBattleMoveFlags\n\ @@ -1188,7 +1188,7 @@ _08108364:\n\ cmp r6, 0x3\n\ ble _08108276\n\ movs r6, 0\n\ - ldr r1, _081083A4 @ =0x02016800\n\ + ldr r1, _081083A4 @ =gSharedMem + 0x16800\n\ ldrb r0, [r1, 0x1]\n\ lsls r0, 2\n\ add r0, sp\n\ @@ -1219,7 +1219,7 @@ _0810839A:\n\ str r0, [r5, 0x8]\n\ b _081083B8\n\ .align 2, 0\n\ -_081083A4: .4byte 0x02016800\n\ +_081083A4: .4byte gSharedMem + 0x16800\n\ _081083A8: .4byte gAIScriptPtr\n\ _081083AC:\n\ movs r0, 0x1\n\ diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 408a21f86..1a78b2863 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -801,7 +801,7 @@ _08075FDC:\n\ cmp r0, 0\n\ bne _0807601C\n\ lsls r0, r5, 2\n\ - ldr r1, _08076020 @ =0x02017800\n\ + ldr r1, _08076020 @ =gSharedMem + 0x17800\n\ adds r0, r1\n\ ldrb r1, [r0]\n\ movs r0, 0x1\n\ @@ -825,7 +825,7 @@ _0807601C:\n\ movs r0, 0x1\n\ b _0807602E\n\ .align 2, 0\n\ -_08076020: .4byte 0x02017800\n\ +_08076020: .4byte gSharedMem + 0x17800\n\ _08076024: .4byte gSprites\n\ _08076028: .4byte gObjectBankIDs\n\ _0807602C:\n\ @@ -1533,7 +1533,7 @@ s8 sub_8076F98(s8 a) lsls r0, r2, 1\n\ adds r0, r2\n\ lsls r0, 2\n\ - ldr r1, _08076FD8 @ =0x02017810\n\ + ldr r1, _08076FD8 @ =gSharedMem + 0x17810\n\ adds r0, r1\n\ ldrb r1, [r0]\n\ movs r0, 0x10\n\ @@ -1550,7 +1550,7 @@ s8 sub_8076F98(s8 a) b _0807706E\n\ .align 2, 0\n\ _08076FD4: .4byte gBattleAnimBankAttacker\n\ -_08076FD8: .4byte 0x02017810\n\ +_08076FD8: .4byte gSharedMem + 0x17810\n\ _08076FDC:\n\ bl NotInBattle\n\ lsls r0, 24\n\ diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 09837bfee..0bd2e882f 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -700,11 +700,11 @@ static void sub_8043FC0(u8 a, u8 b) *(ptr++) = 0x13; *(ptr++) = 0xF; *(ptr++) = EOS; - sub_80034D4((u8 *)0x02000000, str); + sub_80034D4(ewram0_9(0), str); two = 2; for (i = 0; i < two; i++) - CpuCopy32((void *)(0x02000020 + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32); + CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32); } #ifdef NONMATCHING @@ -738,7 +738,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) ptr = sub_8003504(ptr, b, 0x13, 1); *(ptr++) = 0xBA; *(ptr++) = 0xFF; - sub_80034D4((u8 *)0x02000000, str); + sub_80034D4(ewram0_9(0), str); } else { @@ -748,14 +748,14 @@ void sub_80440EC(u8 a, s16 b, u8 c) r4 = gUnknown_0820A85C; c = 2; sub_8003504(ptr, b, 0xF, 1); - sub_80034D4((u8 *)0x02000000, str); + sub_80034D4(ewram0_9(0), str); } //asm(""::"r"(a)); //_080441B6 for (i = 0; i < c; i++) // _080440BC { void *temp = r4[i] + gSprites[a].oam.tileNum * 32; - CpuCopy32((void *)(0x02000020 + i * 0x40), temp, 0x20); + CpuCopy32((void *)(ewram0_9(1) + i * 0x40), temp, 0x20); } } #else @@ -873,7 +873,7 @@ _080441B6:\n\ lsls r0, 2\n\ adds r6, r0, r1\n\ adds r7, r4, 0\n\ - ldr r5, _08044208 @ =0x02000020\n\ + ldr r5, _08044208 @ =gSharedMem + 0x20\n\ mov r4, r8\n\ _080441D6:\n\ ldrh r0, [r6, 0x4]\n\ @@ -899,7 +899,7 @@ _080441F0:\n\ _080441FC: .4byte gUnknown_0820A85C\n\ _08044200: .4byte gUnknown_0820A854\n\ _08044204: .4byte gSprites\n\ -_08044208: .4byte 0x02000020\n\ +_08044208: .4byte gSharedMem + 0x20\n\ _0804420C: .4byte 0x04000008\n\ .syntax divided\n"); } @@ -939,10 +939,10 @@ static void sub_8044210(u8 a, s16 b, u8 c) } } r4 = gSprites[a].data5; - sub_80034D4((u8 *)0x02000000, str); + sub_80034D4(ewram0_9(0), str); for (i = 0; i < r10; i++) { - CpuCopy32((void *)(0x02000020 + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20); + CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20); } } @@ -999,19 +999,19 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) ConvertIntToDecimalStringN(str + 9, ewram16088, 1, 2); str[5] = 0; str[8] = 0xBA; - sub_80034D4((u8 *)0x02000000, str); + sub_80034D4(ewram0_9(0), str); for (r7 = 0; r7 < 5; r7++) { if (r7 <= 1) { int foo = (gSprites[r5].oam.tileNum + 2 + r7); - CpuCopy32((u8 *)0x02000020 + r7 * 0x40, (u8 *)0x06010000 + foo * 32, 32); + CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)0x06010000 + foo * 32, 32); } else { int foo = (r7 + gSprites[r5].oam.tileNum); - CpuCopy32((u8 *)0x02000020 + r7 * 0x40, (u8 *)0x060100C0 + foo * 32, 32); + CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)0x060100C0 + foo * 32, 32); } } } @@ -1049,7 +1049,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) lsls r1, r0, 1\n\ adds r1, r0\n\ lsls r1, 7\n\ - ldr r3, _080443D4 @ =0x02000520\n\ + ldr r3, _080443D4 @ =gSharedMem + 0x520\n\ adds r6, r1, r3\n\ movs r0, 0x5\n\ mov r8, r0\n\ @@ -1094,7 +1094,7 @@ _080443C8:\n\ .align 2, 0\n\ _080443CC: .4byte gUnknown_0820A864\n\ _080443D0: .4byte gSprites\n\ -_080443D4: .4byte 0x02000520\n\ +_080443D4: .4byte gSharedMem + 0x520\n\ _080443D8: .4byte gNatureNames\n\ _080443DC:\n\ adds r0, r1, 0\n\ @@ -1193,7 +1193,7 @@ _08044486:\n\ ldrh r5, [r0, 0x38]\n\ lsls r5, 24\n\ lsrs r5, 24\n\ - ldr r4, _08044504 @ =0x02000000\n\ + ldr r4, _08044504 @ =gSharedMem\n\ ldr r2, _08044508 @ =0x00016089\n\ adds r0, r4, r2\n\ ldrb r1, [r0]\n\ @@ -1222,7 +1222,7 @@ _08044486:\n\ adds r0, r5\n\ lsls r0, 2\n\ adds r5, r0, r6\n\ - ldr r4, _08044510 @ =0x02000020\n\ + ldr r4, _08044510 @ =gSharedMem + 0x20\n\ _080444DA:\n\ cmp r7, 0x1\n\ bgt _08044514\n\ @@ -1242,10 +1242,10 @@ _080444DA:\n\ _080444F8: .4byte 0x04000008\n\ _080444FC: .4byte gSprites\n\ _08044500: .4byte 0x06010000\n\ -_08044504: .4byte 0x02000000\n\ +_08044504: .4byte gSharedMem\n\ _08044508: .4byte 0x00016089\n\ _0804450C: .4byte 0x00016088\n\ -_08044510: .4byte 0x02000020\n\ +_08044510: .4byte gSharedMem + 0x20\n\ _08044514:\n\ ldrh r1, [r5, 0x4]\n\ lsls r1, 22\n\ @@ -2409,7 +2409,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) ptr[1] = 0x13; ptr[2] = 0x37; ptr[3] = EOS; - ptr = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180; + ptr = ewram520_2 + GetBankIdentity(gSprites[a].data6) * 0x180; sub_80034D4(ptr, gDisplayedStringBattle); i = 0; @@ -2657,7 +2657,7 @@ static void sub_80458B0(u8 a) s32 r7; u8 *addr; - r6 = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180; + r6 = ewram520_2 + GetBankIdentity(gSprites[a].data6) * 0x180; r8 = 7; sub_80034D4(r6, BattleText_SafariBalls); for (i = 0; i < r8; i++) @@ -2686,10 +2686,10 @@ static void sub_8045998(u8 a) r7 = sub_8003504(r7, gNumSafariBalls, 10, 1); StringAppend(r7, BattleText_HighlightRed); status = GetBankIdentity(gSprites[a].data6); - r7 = (u8 *)0x02000520 + status * 0x180; + r7 = ewram520_2 + status * 0x180; r6 = 5; sub_80034D4(r7, gDisplayedStringBattle); - r7 = (u8 *)0x02000520 + status * 0x180 + 32; + r7 = ewram520_2 + status * 0x180 + 32; for (i = 6; i < 6 + r6; i++) { CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c index 8adad3245..53ad4a806 100644 --- a/src/de_rom_8040FE0.c +++ b/src/de_rom_8040FE0.c @@ -165,7 +165,7 @@ _0804104A:\n\ bl GetSecretBaseTrainerNameIndex\n\ lsls r0, 24\n\ lsrs r5, r0, 24\n\ - ldr r0, _08041060 @ =0x02017000\n\ + ldr r0, _08041060 @ =gSharedMem + 0x17000\n\ ldrb r0, [r0, 0x1]\n\ lsls r0, 27\n\ lsrs r2, r0, 31\n\ @@ -173,7 +173,7 @@ _0804104A:\n\ beq _080410B8\n\ b _080410F8\n\ .align 2, 0\n\ -_08041060: .4byte 0x02017000\n\ +_08041060: .4byte gSharedMem + 0x17000\n\ _08041064:\n\ bl de_sub_81364AC\n\ lsls r0, 24\n\ diff --git a/src/engine/decompress.c b/src/engine/decompress.c index 3e5993118..0893a8492 100644 --- a/src/engine/decompress.c +++ b/src/engine/decompress.c @@ -3,8 +3,9 @@ #include "data2.h" #include "species.h" #include "text.h" +#include "ewram.h" -#define WRAM 0x02000000 +#define WRAM ewram_addr // using gSharedMem doesn't match void LZDecompressWram(const void *src, void *dest) { diff --git a/src/engine/trade.c b/src/engine/trade.c index 7477b05ac..41146a22c 100644 --- a/src/engine/trade.c +++ b/src/engine/trade.c @@ -4175,7 +4175,7 @@ static __attribute__((naked)) void sub_804B41C(void) "\tbl ResetTasks\n" "\tbl CloseLink\n" "\tldr r6, _0804B570 @ =gUnknown_03004828\n" - "\tldr r5, _0804B574 @ =0x0201f000\n" + "\tldr r5, _0804B574 @ =gSharedMem + 0x1F000\n" "\tstr r5, [r6]\n" "\tbl ResetSpriteData\n" "\tbl FreeAllSpritePalettes\n" @@ -4277,7 +4277,7 @@ static __attribute__((naked)) void sub_804B41C(void) "\tb _0804B76E_break\n" "\t.align 2, 0\n" "_0804B570: .4byte gUnknown_03004828\n" - "_0804B574: .4byte 0x0201f000\n" + "_0804B574: .4byte gSharedMem + 0x1F000\n" "_0804B578: .4byte sub_804B210\n" "_0804B57C: .4byte gWindowConfig_81E6F84\n" "_0804B580: .4byte gLinkType\n" diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index 025d19ffc..6d105f512 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -808,7 +808,7 @@ bool8 sub_8093AF0(struct Task *task) push {r5-r7}\n\ sub sp, 0x4\n\ mov r8, r0\n\ - ldr r1, _08093BFC @ =0x02000000\n\ + ldr r1, _08093BFC @ =gSharedMem\n\ movs r0, 0\n\ strb r0, [r1, 0x4]\n\ mov r2, r8\n\ @@ -921,7 +921,7 @@ _08093BBE:\n\ ble _08093BBE\n\ _08093BD4:\n\ movs r0, 0x1\n\ - ldr r1, _08093BFC @ =0x02000000\n\ + ldr r1, _08093BFC @ =gSharedMem\n\ strb r0, [r1, 0x4]\n\ mov r2, r8\n\ movs r4, 0xA\n\ @@ -942,7 +942,7 @@ _08093BEA:\n\ pop {r1}\n\ bx r1\n\ .align 2, 0\n\ -_08093BFC: .4byte 0x02000000\n\ +_08093BFC: .4byte gSharedMem\n\ _08093C00: .4byte 0xffff0000\n\ _08093C04: .4byte gUnknown_03004DE0\n\ _08093C08: .4byte 0x0000fffc\n\ @@ -970,7 +970,7 @@ bool8 sub_8093C38(struct Task *task) push {r5-r7}\n\ sub sp, 0x4\n\ mov r8, r0\n\ - ldr r1, _08093D40 @ =0x02000000\n\ + ldr r1, _08093D40 @ =gSharedMem\n\ movs r2, 0\n\ strb r2, [r1, 0x4]\n\ ldrh r0, [r0, 0xA]\n\ @@ -1081,7 +1081,7 @@ _08093D02:\n\ ble _08093D02\n\ _08093D18:\n\ movs r0, 0x1\n\ - ldr r1, _08093D40 @ =0x02000000\n\ + ldr r1, _08093D40 @ =gSharedMem\n\ strb r0, [r1, 0x4]\n\ mov r2, r8\n\ movs r3, 0xA\n\ @@ -1102,7 +1102,7 @@ _08093D2E:\n\ pop {r1}\n\ bx r1\n\ .align 2, 0\n\ -_08093D40: .4byte 0x02000000\n\ +_08093D40: .4byte gSharedMem\n\ _08093D44: .4byte 0xffff0000\n\ _08093D48: .4byte gUnknown_03004DE0\n\ _08093D4C: .4byte 0x0000fffc\n\ diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 25fd63463..42bb66f6f 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -1109,7 +1109,7 @@ _0806B980:\n\ movs r3, 0x3\n\ bl sub_806BA94\n\ _0806B98C:\n\ - ldr r0, _0806B99C @ =0x0201b000\n\ + ldr r0, _0806B99C @ =gSharedMem + 0x1B000\n\ ldr r1, _0806B9A0 @ =0x00000261\n\ adds r0, r1\n\ movs r1, 0x2\n\ @@ -1118,7 +1118,7 @@ _0806B98C:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_0806B99C: .4byte 0x0201b000\n\ +_0806B99C: .4byte gSharedMem + 0x1B000\n\ _0806B9A0: .4byte 0x00000261\n\ .syntax divided\n"); } @@ -2548,7 +2548,7 @@ void sub_806CF04(void) { asm(".syntax unified\n\ push {r4,r5,lr}\n\ - ldr r4, _0806CF94 @ =0x02001000\n\ + ldr r4, _0806CF94 @ =gSharedMem + 0x1000\n\ ldrb r1, [r4, 0x3]\n\ lsls r0, r1, 4\n\ adds r0, r1\n\ @@ -2616,7 +2616,7 @@ void sub_806CF04(void) pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_0806CF94: .4byte 0x02001000\n\ +_0806CF94: .4byte gSharedMem + 0x1000\n\ _0806CF98: .4byte gSprites + 0x20\n\ _0806CF9C: .4byte SpriteCB_sub_806D37C\n\ .syntax divided\n"); @@ -5033,7 +5033,7 @@ void PrintStatGrowthsInLevelUpWindow(u8 taskId) { movs r2, 0x13\n\ mov r8, r2\n\ _0807086C:\n\ - ldr r1, _08070930 @ =0x0201c000\n\ + ldr r1, _08070930 @ =gSharedMem + 0x1C000\n\ ldr r0, [r1]\n\ ldr r1, _08070934 @ =StatDataTypes\n\ adds r1, r7, r1\n\ @@ -5041,7 +5041,7 @@ _0807086C:\n\ bl GetMonData\n\ adds r1, r7, 0x6\n\ lsls r1, 1\n\ - ldr r2, _08070938 @ =0x0201b264\n\ + ldr r2, _08070938 @ =gSharedMem + 0x1B264\n\ adds r1, r2, r1\n\ strh r0, [r1]\n\ lsls r6, r7, 1\n\ @@ -5123,9 +5123,9 @@ _0807086C:\n\ bx r0\n\ .align 2, 0\n\ _0807092C: .4byte gStringVar1\n\ -_08070930: .4byte 0x0201c000\n\ +_08070930: .4byte gSharedMem + 0x1C000\n\ _08070934: .4byte StatDataTypes\n\ -_08070938: .4byte 0x0201b264\n\ +_08070938: .4byte gSharedMem + 0x1B264\n\ _0807093C: .4byte StatNames\n\ _08070940: .4byte gOtherText_TallPlusAndRightArrow\n\ .syntax divided\n"); diff --git a/src/field/shop.c b/src/field/shop.c index 67e9b006e..493d8c748 100644 --- a/src/field/shop.c +++ b/src/field/shop.c @@ -279,7 +279,7 @@ void BuyMenuDrawGraphics(void) register const u32 zero asm("r6") = 0; DmaFill32(3, zero, addr, OAM_SIZE); LZDecompressVram(gBuyMenuFrame_Gfx, (void*)(VRAM + 0x7C00)); - LZDecompressWram(gBuyMenuFrame_Tilemap, (void *)0x02018000); + LZDecompressWram(gBuyMenuFrame_Tilemap, ewram18000_2); LoadCompressedPalette(gMenuMoneyPal, 0xC0, sizeof(gMenuMoneyPal)); FreeAllSpritePalettes(); ResetPaletteFade(); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index d6b20feaa..89ec68b0a 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -3,6 +3,7 @@ #include "decompress.h" #include "palette.h" #include "task.h" +#include "ewram.h" struct UnkStruct2000000 { /*0x00*/ u8 filler00[61]; @@ -15,8 +16,6 @@ struct UnkStruct1 { /*0x02*/ s16 unk02; }; -extern struct UnkStruct2000000 gSharedMem; - extern struct UnkStruct1 *gUnknown_083ED048[]; extern const u16 gPalette_83EDE24[]; @@ -40,7 +39,7 @@ void sub_8104CAC(u8 arg0) { sub_8104DA4(); - task = &gTasks[gSharedMem.unk3D]; + task = &gTasks[ewram0_8->unk3D]; task->data[1] = arg0; i = 0; @@ -71,9 +70,9 @@ void sub_8106448(void) { u32 offsetRead, offsetWrite; u32 size; - LZDecompressWram(gSlotMachine_Gfx, (void *) 0x02010000); + LZDecompressWram(gSlotMachine_Gfx, ewram10000_2); - offsetRead = 0x02010000; + offsetRead = (u32)ewram10000_2; offsetWrite = BG_VRAM; size = SLOTMACHINE_GFX_TILES * 32; while (TRUE) diff --git a/src/pokemon/pokedex.c b/src/pokemon/pokedex.c index 947dfd218..18e98ca5f 100644 --- a/src/pokemon/pokedex.c +++ b/src/pokemon/pokedex.c @@ -24,6 +24,7 @@ #include "task.h" #include "trig.h" #include "unknown_task.h" +#include "ewram.h" #define NATIONAL_DEX_COUNT 386 @@ -954,86 +955,86 @@ static const struct OamData gOamData_83B557C = }; static void *const gUnknown_083B5584[] = { - (void *)0x02008000, - (void *)0x0200C000, - (void *)0x02010000, - (void *)0x02014000, + ePokedexPalAddr1, + ePokedexPalAddr2, + ePokedexPalAddr3, + ePokedexPalAddr4, }; static const struct SpriteFrameImage gSpriteImageTable_83B5594[] = { - {(u8 *)0x02008000, 0x800}, - {(u8 *)0x02008800, 0x800}, - {(u8 *)0x02009000, 0x800}, - {(u8 *)0x02009800, 0x800}, - {(u8 *)0x0200A000, 0x800}, - {(u8 *)0x0200A800, 0x800}, - {(u8 *)0x0200B000, 0x800}, - {(u8 *)0x0200B800, 0x800}, - {(u8 *)0x0200C000, 0x800}, - {(u8 *)0x0200C800, 0x800}, - {(u8 *)0x0200D000, 0x800}, - {(u8 *)0x0200D800, 0x800}, - {(u8 *)0x0200E000, 0x800}, - {(u8 *)0x0200E800, 0x800}, - {(u8 *)0x0200F000, 0x800}, - {(u8 *)0x0200F800, 0x800}, + {ewram8000, 0x800}, + {ewram8800, 0x800}, + {ewram9000, 0x800}, + {ewram9800, 0x800}, + {ewramA000, 0x800}, + {ewramA800, 0x800}, + {ewramB000, 0x800}, + {ewramB800, 0x800}, + {ewramC000, 0x800}, + {ewramC800, 0x800}, + {ewramD000, 0x800}, + {ewramD800, 0x800}, + {ewramE000, 0x800}, + {ewramE800, 0x800}, + {ewramF000, 0x800}, + {ewramF800, 0x800}, }; static const struct SpriteFrameImage gSpriteImageTable_83B5614[] = { - {(u8 *)0x0200C000, 0x800}, - {(u8 *)0x0200C800, 0x800}, - {(u8 *)0x0200D000, 0x800}, - {(u8 *)0x0200D800, 0x800}, - {(u8 *)0x0200E000, 0x800}, - {(u8 *)0x0200E800, 0x800}, - {(u8 *)0x0200F000, 0x800}, - {(u8 *)0x0200F800, 0x800}, - {(u8 *)0x02010000, 0x800}, - {(u8 *)0x02010800, 0x800}, - {(u8 *)0x02011000, 0x800}, - {(u8 *)0x02011800, 0x800}, - {(u8 *)0x02012000, 0x800}, - {(u8 *)0x02012800, 0x800}, - {(u8 *)0x02013000, 0x800}, - {(u8 *)0x02013800, 0x800}, + {ewramC000, 0x800}, + {ewramC800, 0x800}, + {ewramD000, 0x800}, + {ewramD800, 0x800}, + {ewramE000, 0x800}, + {ewramE800, 0x800}, + {ewramF000, 0x800}, + {ewramF800, 0x800}, + {ewram10000, 0x800}, + {ewram10800, 0x800}, + {ewram11000, 0x800}, + {ewram11800, 0x800}, + {ewram12000, 0x800}, + {ewram12800, 0x800}, + {ewram13000, 0x800}, + {ewram13800, 0x800}, }; static const struct SpriteFrameImage gSpriteImageTable_83B5694[] = { - {(u8 *)0x02010000, 0x800}, - {(u8 *)0x02010800, 0x800}, - {(u8 *)0x02011000, 0x800}, - {(u8 *)0x02011800, 0x800}, - {(u8 *)0x02012000, 0x800}, - {(u8 *)0x02012800, 0x800}, - {(u8 *)0x02013000, 0x800}, - {(u8 *)0x02013800, 0x800}, - {(u8 *)0x02014000, 0x800}, - {(u8 *)0x02014800, 0x800}, - {(u8 *)0x02015000, 0x800}, - {(u8 *)0x02015800, 0x800}, - {(u8 *)0x02016000, 0x800}, - {(u8 *)0x02016800, 0x800}, - {(u8 *)0x02017000, 0x800}, - {(u8 *)0x02017800, 0x800}, + {ewram10000, 0x800}, + {ewram10800, 0x800}, + {ewram11000, 0x800}, + {ewram11800, 0x800}, + {ewram12000, 0x800}, + {ewram12800, 0x800}, + {ewram13000, 0x800}, + {ewram13800, 0x800}, + {ewram14000, 0x800}, + {ewram14800, 0x800}, + {ewram15000, 0x800}, + {ewram15800, 0x800}, + {ewram16000_2, 0x800}, + {ewram16800, 0x800}, + {ewram17000, 0x800}, + {ewram17800_2, 0x800}, }; static const struct SpriteFrameImage gSpriteImageTable_83B5714[] = { - {(u8 *)0x02014000, 0x800}, - {(u8 *)0x02014800, 0x800}, - {(u8 *)0x02015000, 0x800}, - {(u8 *)0x02015800, 0x800}, - {(u8 *)0x02016000, 0x800}, - {(u8 *)0x02016800, 0x800}, - {(u8 *)0x02017000, 0x800}, - {(u8 *)0x02017800, 0x800}, - {(u8 *)0x02018000, 0x800}, - {(u8 *)0x02018800, 0x800}, - {(u8 *)0x02019000, 0x800}, - {(u8 *)0x02019800, 0x800}, - {(u8 *)0x0201A000, 0x800}, - {(u8 *)0x0201A800, 0x800}, - {(u8 *)0x0201B000, 0x800}, - {(u8 *)0x0201B800, 0x800}, + {ewram14000, 0x800}, + {ewram14800, 0x800}, + {ewram15000, 0x800}, + {ewram15800, 0x800}, + {ewram16000_2, 0x800}, + {ewram16800, 0x800}, + {ewram17000, 0x800}, + {ewram17800_2, 0x800}, + {ewram18000_2, 0x800}, + {ewram18800, 0x800}, + {ewram19000, 0x800}, + {ewram19800, 0x800}, + {ewram1A000, 0x800}, + {ewram1A800, 0x800}, + {ewram1B000_2, 0x800}, + {ewram1B800, 0x800}, }; static const struct SpriteFrameImage *const gUnknown_083B5794[] = { @@ -1275,8 +1276,8 @@ static void sub_8091564(u16 weight, u8 i, u8 i1); static void sub_8091738(u16, u16, u16); static void sub_80917CC(u16 i, u16 i1); static u16 sub_8091818(u8, u16, u16, u16); -static u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d); -static u8 sub_8091A4C(u16 gender, s16, s16, u16); +u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d); +u8 sub_8091A4C(u16 gender, s16, s16, u16); static void sub_8091E54(u8); static void sub_809204C(u8); static void sub_809207C(u8); @@ -1433,16 +1434,16 @@ void CB2_InitPokedex(void) { case 0: default: - gPokedexView = (struct PokedexView *)0x02018000; + gPokedexView = ePokedexView1; break; case 1: - gPokedexView = (struct PokedexView *)0x02018800; + gPokedexView = ePokedexView2; break; case 2: - gPokedexView = (struct PokedexView *)0x02019000; + gPokedexView = ePokedexView3; break; case 3: - gPokedexView = (struct PokedexView *)0x02019800; + gPokedexView = ePokedexView4; break; } ClearPokedexView(gPokedexView); @@ -4557,7 +4558,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum) &gMonFrontPicTable[num], gMonFrontPicCoords[num].coords, gMonFrontPicCoords[num].y_offset, - (void *)0x02000000, + (void*)ewram_addr, gUnknown_083B5584[paletteNum], num); break; @@ -4566,7 +4567,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum) &gMonFrontPicTable[num], gMonFrontPicCoords[num].coords, gMonFrontPicCoords[num].y_offset, - 0x02000000, + ewram_addr, gUnknown_083B5584[paletteNum], num, gSaveBlock2.pokedex.spindaPersonality, @@ -4577,7 +4578,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum) &gMonFrontPicTable[num], gMonFrontPicCoords[num].coords, gMonFrontPicCoords[num].y_offset, - 0x02000000, + ewram_addr, gUnknown_083B5584[paletteNum], num, gSaveBlock2.pokedex.unownPersonality, @@ -4591,7 +4592,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum) return spriteId; } -static u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) +u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) { u8 spriteId; @@ -4599,7 +4600,7 @@ static u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) &gTrainerFrontPicTable[gender], gTrainerFrontPicCoords[gender].coords, gTrainerFrontPicCoords[gender].y_offset, - (void *)0x02000000, + (void*)ewram_addr, gUnknown_083B5584[0], gender); sub_80918B0(gender, 0); diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index 0f745b391..2600076c3 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -109,7 +109,7 @@ void sub_8106630(u32 arg0) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ - ldr r2, _0810665C @ =0x02015de0\n\ + ldr r2, _0810665C @ =gSharedMem + 0x15DE0\n\ subs r4, r2, 0x2\n\ subs r5, r2, 0x1\n\ ldr r3, _08106660 @ =gSaveBlock1\n\ @@ -131,7 +131,7 @@ void sub_8106630(u32 arg0) pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_0810665C: .4byte 0x02015de0\n\ +_0810665C: .4byte gSharedMem + 0x15DE0\n\ _08106660: .4byte gSaveBlock1\n\ _08106664: .4byte 0x00002dfc\n\ .syntax divided\n"); diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c index 742f663f6..755176c81 100644 --- a/src/scene/evolution_scene.c +++ b/src/scene/evolution_scene.c @@ -1520,7 +1520,7 @@ __attribute__((naked)) void unref_sub_8113B50() { asm(".syntax unified\n\ - push {r4-r7,lr}\n\ + push {r4-r7,lr}\n\ mov r7, r10\n\ mov r6, r9\n\ mov r5, r8\n\ @@ -1534,7 +1534,7 @@ void unref_sub_8113B50() str r1, [sp, 0x10]\n\ movs r2, 0\n\ str r2, [sp, 0x8]\n\ - ldr r3, _08113C60 @ =0x02014800\n\ + ldr r3, _08113C60 @ =gSharedMem + 0x14800\n\ mov r12, r3\n\ ldr r4, _08113C64 @ =0x000018c4\n\ add r4, r12\n\ @@ -1551,7 +1551,7 @@ _08113B7C:\n\ adds r0, r3, 0x4\n\ adds r0, r1, r0\n\ strb r2, [r0]\n\ - ldr r4, _08113C6C @ =0x02014844\n\ + ldr r4, _08113C6C @ =gSharedMem + 0x14844\n\ adds r0, r1, r4\n\ strb r2, [r0]\n\ movs r6, 0\n\ @@ -1562,7 +1562,7 @@ _08113B7C:\n\ _08113B9C:\n\ mov r0, r9\n\ adds r1, r6, r0\n\ - ldr r5, _08113C70 @ =0x020158c4\n\ + ldr r5, _08113C70 @ =gSharedMem + 0x158C4\n\ adds r0, r1, r5\n\ strb r2, [r0]\n\ mov r5, r10\n\ @@ -1571,7 +1571,7 @@ _08113B9C:\n\ mov r5, r8\n\ adds r0, r1, r5\n\ strb r2, [r0]\n\ - ldr r5, _08113C74 @ =0x020170c4\n\ + ldr r5, _08113C74 @ =gSharedMem + 0x170C4\n\ adds r0, r1, r5\n\ strb r2, [r0]\n\ adds r7, r3, 0\n\ @@ -1652,7 +1652,7 @@ _08113C4A:\n\ asrs r0, r6, 1\n\ lsls r0, 2\n\ add r0, r10\n\ - ldr r1, _08113C98 @ =0x020188c4\n\ + ldr r1, _08113C98 @ =gSharedMem + 0x188C4\n\ adds r0, r1\n\ str r2, [r0]\n\ cmp r3, 0\n\ @@ -1661,12 +1661,12 @@ _08113C4A:\n\ beq _08113CC6\n\ b _08113CF4\n\ .align 2, 0\n\ -_08113C60: .4byte 0x02014800\n\ +_08113C60: .4byte gSharedMem + 0x14800\n\ _08113C64: .4byte 0x000018c4\n\ _08113C68: .4byte 0x000020c4\n\ -_08113C6C: .4byte 0x02014844\n\ -_08113C70: .4byte 0x020158c4\n\ -_08113C74: .4byte 0x020170c4\n\ +_08113C6C: .4byte gSharedMem + 0x14844\n\ +_08113C70: .4byte gSharedMem + 0x158C4\n\ +_08113C74: .4byte gSharedMem + 0x170C4\n\ _08113C78: .4byte 0x000008c4\n\ _08113C7C: .4byte 0x000030c4\n\ _08113C80: .4byte 0x000038c4\n\ @@ -1675,7 +1675,7 @@ _08113C88: .4byte 0x000070c4\n\ _08113C8C: .4byte 0x000080c4\n\ _08113C90: .4byte 0x000090c4\n\ _08113C94: .4byte 0x0000a0c4\n\ -_08113C98: .4byte 0x020188c4\n\ +_08113C98: .4byte gSharedMem + 0x188C4\n\ _08113C9C:\n\ movs r0, 0x1\n\ ands r0, r6\n\ @@ -1782,7 +1782,7 @@ _08113D4A:\n\ mov r8, r2\n\ movs r3, 0\n\ str r3, [sp, 0x8]\n\ - ldr r0, _08113D84 @ =0x02014844\n\ + ldr r0, _08113D84 @ =gSharedMem + 0x14844\n\ movs r4, 0x82\n\ lsls r4, 6\n\ adds r4, r0\n\ @@ -1809,7 +1809,7 @@ _08113D78:\n\ beq _08113DB4\n\ b _08113DE4\n\ .align 2, 0\n\ -_08113D84: .4byte 0x02014844\n\ +_08113D84: .4byte gSharedMem + 0x14844\n\ _08113D88:\n\ adds r0, r6, 0\n\ mov r1, r9\n\ @@ -1915,9 +1915,9 @@ _08113E28:\n\ str r1, [sp, 0x8]\n\ _08113E3A:\n\ ldr r3, [sp, 0x8]\n\ - ldr r4, _08113EBC @ =0x02014804\n\ + ldr r4, _08113EBC @ =gSharedMem + 0x14804\n\ adds r2, r3, r4\n\ - ldr r5, _08113EC0 @ =0x02014844\n\ + ldr r5, _08113EC0 @ =gSharedMem + 0x14844\n\ adds r1, r3, r5\n\ ldrb r0, [r2]\n\ adds r3, 0x1\n\ @@ -1932,7 +1932,7 @@ _08113E52:\n\ ldrb r2, [r2]\n\ cmp r0, r2\n\ bge _08113F54\n\ - ldr r0, _08113EC4 @ =0x02014800\n\ + ldr r0, _08113EC4 @ =gSharedMem + 0x14800\n\ adds r0, 0x4\n\ ldr r1, [sp, 0x8]\n\ adds r0, r1, r0\n\ @@ -1943,7 +1943,7 @@ _08113E66:\n\ str r2, [sp, 0x14]\n\ movs r6, 0\n\ ldr r3, [sp, 0x8]\n\ - ldr r4, _08113EC0 @ =0x02014844\n\ + ldr r4, _08113EC0 @ =gSharedMem + 0x14844\n\ adds r0, r3, r4\n\ ldr r5, [sp, 0xC]\n\ adds r5, 0x1\n\ @@ -1951,18 +1951,18 @@ _08113E66:\n\ ldrb r0, [r0]\n\ cmp r6, r0\n\ bge _08113F3E\n\ - ldr r0, _08113EC4 @ =0x02014800\n\ + ldr r0, _08113EC4 @ =gSharedMem + 0x14800\n\ mov r10, r0\n\ lsls r0, r3, 5\n\ ldr r2, [sp, 0xC]\n\ adds r1, r2, r0\n\ mov r9, r0\n\ - ldr r0, _08113EC4 @ =0x02014800\n\ + ldr r0, _08113EC4 @ =gSharedMem + 0x14800\n\ adds r0, 0xC4\n\ mov r3, r9\n\ adds r7, r3, r0\n\ mov r5, r9\n\ - ldr r4, _08113EC4 @ =0x02014800\n\ + ldr r4, _08113EC4 @ =gSharedMem + 0x14800\n\ ldr r2, _08113EC8 @ =0x000010c4\n\ adds r0, r4, r2\n\ adds r1, r0\n\ @@ -1982,9 +1982,9 @@ _08113EA4:\n\ ldrb r0, [r0]\n\ b _08113ED6\n\ .align 2, 0\n\ -_08113EBC: .4byte 0x02014804\n\ -_08113EC0: .4byte 0x02014844\n\ -_08113EC4: .4byte 0x02014800\n\ +_08113EBC: .4byte gSharedMem + 0x14804\n\ +_08113EC0: .4byte gSharedMem + 0x14844\n\ +_08113EC4: .4byte gSharedMem + 0x14800\n\ _08113EC8: .4byte 0x000010c4\n\ _08113ECC: .4byte 0x000020c4\n\ _08113ED0:\n\ @@ -2002,7 +2002,7 @@ _08113ED6:\n\ add r0, r10\n\ adds r2, r5, r0\n\ ldrb r0, [r4]\n\ - ldr r1, _08113F04 @ =0x02014800\n\ + ldr r1, _08113F04 @ =gSharedMem + 0x14800\n\ mov r12, r1\n\ ldrb r1, [r2]\n\ cmp r0, r1\n\ @@ -2013,7 +2013,7 @@ _08113ED6:\n\ .align 2, 0\n\ _08113EFC: .4byte 0x000018c4\n\ _08113F00: .4byte 0x000028c4\n\ -_08113F04: .4byte 0x02014800\n\ +_08113F04: .4byte gSharedMem + 0x14800\n\ _08113F08:\n\ ldrb r1, [r2]\n\ ldrb r0, [r4]\n\ @@ -2039,7 +2039,7 @@ _08113F2C:\n\ adds r5, 0x1\n\ adds r6, 0x1\n\ ldr r3, [sp, 0x8]\n\ - ldr r4, _08114054 @ =0x02014844\n\ + ldr r4, _08114054 @ =gSharedMem + 0x14844\n\ adds r0, r3, r4\n\ ldrb r0, [r0]\n\ cmp r6, r0\n\ @@ -2057,9 +2057,9 @@ _08113F3E:\n\ blt _08113E66\n\ _08113F54:\n\ movs r6, 0\n\ - ldr r2, _08114058 @ =0x02014800\n\ + ldr r2, _08114058 @ =gSharedMem + 0x14800\n\ ldr r1, [sp, 0x8]\n\ - ldr r3, _08114054 @ =0x02014844\n\ + ldr r3, _08114054 @ =gSharedMem + 0x14844\n\ adds r0, r1, r3\n\ adds r4, r2, 0\n\ mov r12, r4\n\ @@ -2090,15 +2090,15 @@ _08113F6E:\n\ bl sub_811430C\n\ _08113F94:\n\ adds r6, 0x1\n\ - ldr r2, _08114058 @ =0x02014800\n\ + ldr r2, _08114058 @ =gSharedMem + 0x14800\n\ ldrb r5, [r4]\n\ cmp r6, r5\n\ blt _08113F6E\n\ _08113F9E:\n\ ldr r0, [sp, 0x8]\n\ - ldr r1, _0811405C @ =0x02014804\n\ + ldr r1, _0811405C @ =gSharedMem + 0x14804\n\ adds r2, r0, r1\n\ - ldr r3, _08114054 @ =0x02014844\n\ + ldr r3, _08114054 @ =gSharedMem + 0x14844\n\ adds r1, r0, r3\n\ ldrb r0, [r2]\n\ ldrb r1, [r1]\n\ @@ -2120,12 +2120,12 @@ _08113FBA:\n\ blt _08113FBA\n\ _08113FCC:\n\ ldr r0, [sp, 0x8]\n\ - ldr r1, _0811405C @ =0x02014804\n\ + ldr r1, _0811405C @ =gSharedMem + 0x14804\n\ adds r2, r0, r1\n\ - ldr r3, _08114054 @ =0x02014844\n\ + ldr r3, _08114054 @ =gSharedMem + 0x14844\n\ adds r1, r0, r3\n\ ldrb r0, [r2]\n\ - ldr r4, _08114058 @ =0x02014800\n\ + ldr r4, _08114058 @ =gSharedMem + 0x14800\n\ ldrb r5, [r1]\n\ cmp r0, r5\n\ bhi _08113FE2\n\ @@ -2165,16 +2165,16 @@ _08114004:\n\ ldr r2, [sp, 0x24]\n\ adds r1, r2\n\ mov r10, r1\n\ - ldr r0, _08114058 @ =0x02014800\n\ + ldr r0, _08114058 @ =gSharedMem + 0x14800\n\ adds r0, 0xC4\n\ adds r2, r0\n\ mov r8, r2\n\ ldr r7, [sp, 0x24]\n\ - ldr r3, _08114058 @ =0x02014800\n\ + ldr r3, _08114058 @ =gSharedMem + 0x14800\n\ ldr r4, _08114060 @ =0x000010c4\n\ adds r0, r3, r4\n\ adds r5, r7, r0\n\ - ldr r0, _08114064 @ =0x020168c4\n\ + ldr r0, _08114064 @ =gSharedMem + 0x168C4\n\ add r0, r10\n\ mov r12, r0\n\ ldrb r1, [r0]\n\ @@ -2190,22 +2190,22 @@ _0811403E:\n\ b _0811406E\n\ .align 2, 0\n\ _08114050: .4byte 0x000008c4\n\ -_08114054: .4byte 0x02014844\n\ -_08114058: .4byte 0x02014800\n\ -_0811405C: .4byte 0x02014804\n\ +_08114054: .4byte gSharedMem + 0x14844\n\ +_08114058: .4byte gSharedMem + 0x14800\n\ +_0811405C: .4byte gSharedMem + 0x14804\n\ _08114060: .4byte 0x000010c4\n\ -_08114064: .4byte 0x020168c4\n\ +_08114064: .4byte gSharedMem + 0x168C4\n\ _08114068:\n\ mov r4, r12\n\ ldrb r1, [r4]\n\ ldrb r0, [r5]\n\ _0811406E:\n\ subs r3, r1, r0\n\ - ldr r1, _0811408C @ =0x02014800\n\ + ldr r1, _0811408C @ =gSharedMem + 0x14800\n\ ldr r2, _08114090 @ =0x000018c4\n\ adds r0, r1, r2\n\ adds r4, r7, r0\n\ - ldr r2, _08114094 @ =0x020170c4\n\ + ldr r2, _08114094 @ =gSharedMem + 0x170C4\n\ add r2, r10\n\ ldrb r0, [r4]\n\ ldrb r1, [r2]\n\ @@ -2215,9 +2215,9 @@ _0811406E:\n\ ldrb r0, [r2]\n\ b _0811409C\n\ .align 2, 0\n\ -_0811408C: .4byte 0x02014800\n\ +_0811408C: .4byte gSharedMem + 0x14800\n\ _08114090: .4byte 0x000018c4\n\ -_08114094: .4byte 0x020170c4\n\ +_08114094: .4byte gSharedMem + 0x170C4\n\ _08114098:\n\ ldrb r1, [r2]\n\ ldrb r0, [r4]\n\ @@ -2246,25 +2246,25 @@ _081140B2:\n\ _081140C4:\n\ ldr r3, [sp, 0xC]\n\ add r3, r9\n\ - ldr r2, _08114164 @ =0x02014800\n\ + ldr r2, _08114164 @ =gSharedMem + 0x14800\n\ ldr r4, _08114168 @ =0x000030c4\n\ adds r1, r2, r4\n\ adds r1, r3, r1\n\ ldr r2, [sp, 0x10]\n\ add r2, r9\n\ - ldr r5, _0811416C @ =0x020168c4\n\ + ldr r5, _0811416C @ =gSharedMem + 0x168C4\n\ adds r0, r2, r5\n\ ldrb r0, [r0]\n\ strb r0, [r1]\n\ - ldr r0, _08114164 @ =0x02014800\n\ + ldr r0, _08114164 @ =gSharedMem + 0x14800\n\ ldr r4, _08114170 @ =0x000038c4\n\ adds r1, r0, r4\n\ adds r1, r3, r1\n\ - ldr r5, _08114174 @ =0x020170c4\n\ + ldr r5, _08114174 @ =gSharedMem + 0x170C4\n\ adds r2, r5\n\ ldrb r0, [r2]\n\ strb r0, [r1]\n\ - ldr r0, _08114164 @ =0x02014800\n\ + ldr r0, _08114164 @ =gSharedMem + 0x14800\n\ adds r0, 0xC4\n\ adds r3, r0\n\ movs r0, 0x1\n\ @@ -2278,9 +2278,9 @@ _081140C4:\n\ b _08114004\n\ _08114104:\n\ movs r6, 0\n\ - ldr r4, _08114164 @ =0x02014800\n\ + ldr r4, _08114164 @ =gSharedMem + 0x14800\n\ ldr r2, [sp, 0x8]\n\ - ldr r3, _08114178 @ =0x02014804\n\ + ldr r3, _08114178 @ =gSharedMem + 0x14804\n\ adds r0, r2, r3\n\ ldrb r0, [r0]\n\ cmp r6, r0\n\ @@ -2325,12 +2325,12 @@ _0811411E:\n\ bl sub_81141F0\n\ b _081141B4\n\ .align 2, 0\n\ -_08114164: .4byte 0x02014800\n\ +_08114164: .4byte gSharedMem + 0x14800\n\ _08114168: .4byte 0x000030c4\n\ -_0811416C: .4byte 0x020168c4\n\ +_0811416C: .4byte gSharedMem + 0x168C4\n\ _08114170: .4byte 0x000038c4\n\ -_08114174: .4byte 0x020170c4\n\ -_08114178: .4byte 0x02014804\n\ +_08114174: .4byte gSharedMem + 0x170C4\n\ +_08114178: .4byte gSharedMem + 0x14804\n\ _0811417C: .4byte 0x000020c4\n\ _08114180: .4byte 0x000028c4\n\ _08114184:\n\ @@ -2359,9 +2359,9 @@ _08114184:\n\ bl sub_81141F0\n\ _081141B4:\n\ adds r6, 0x1\n\ - ldr r4, _081141E8 @ =0x02014800\n\ + ldr r4, _081141E8 @ =gSharedMem + 0x14800\n\ ldr r1, [sp, 0x8]\n\ - ldr r2, _081141EC @ =0x02014804\n\ + ldr r2, _081141EC @ =gSharedMem + 0x14804\n\ adds r0, r1, r2\n\ ldrb r0, [r0]\n\ cmp r6, r0\n\ @@ -2384,8 +2384,8 @@ _081141CE:\n\ .align 2, 0\n\ _081141E0: .4byte 0x000010c4\n\ _081141E4: .4byte 0x000018c4\n\ -_081141E8: .4byte 0x02014800\n\ -_081141EC: .4byte 0x02014804\n\ +_081141E8: .4byte gSharedMem + 0x14800\n\ +_081141EC: .4byte gSharedMem + 0x14804\n\ .syntax divided"); } @@ -2453,7 +2453,7 @@ void unref_sub_81143CC() sub sp, 0x14\n\ movs r0, 0x1\n\ str r0, [sp, 0x4]\n\ - ldr r0, _08114408 @ =0x02014800\n\ + ldr r0, _08114408 @ =gSharedMem + 0x14800\n\ ldr r2, _0811440C @ =0x0000a0c4\n\ adds r1, r0, r2\n\ ldrb r3, [r1]\n\ @@ -2476,7 +2476,7 @@ _081143F2:\n\ str r1, [sp, 0x8]\n\ bl _08114D84\n\ .align 2, 0\n\ -_08114408: .4byte 0x02014800\n\ +_08114408: .4byte gSharedMem + 0x14800\n\ _0811440C: .4byte 0x0000a0c4\n\ _08114410:\n\ ldr r5, [sp]\n\ @@ -2583,7 +2583,7 @@ _081144EC: .4byte 0x000020c4\n\ _081144F0:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r4, _08114568 @ =0x02014800\n\ + ldr r4, _08114568 @ =gSharedMem + 0x14800\n\ lsls r0, r3, 1\n\ ldr r5, [sp]\n\ lsls r1, r5, 6\n\ @@ -2643,7 +2643,7 @@ _08114548:\n\ blt _0811453E\n\ b _081148D2\n\ .align 2, 0\n\ -_08114568: .4byte 0x02014800\n\ +_08114568: .4byte gSharedMem + 0x14800\n\ _0811456C: .4byte 0x000060c4\n\ _08114570: .4byte 0x000080c4\n\ _08114574: .4byte 0x000030c4\n\ @@ -2717,7 +2717,7 @@ _081145FC: .4byte 0x000020c4\n\ _08114600:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r4, _08114678 @ =0x02014800\n\ + ldr r4, _08114678 @ =gSharedMem + 0x14800\n\ lsls r0, r3, 1\n\ ldr r5, [sp]\n\ lsls r1, r5, 6\n\ @@ -2777,7 +2777,7 @@ _08114658:\n\ blt _0811464E\n\ b _081148D2\n\ .align 2, 0\n\ -_08114678: .4byte 0x02014800\n\ +_08114678: .4byte gSharedMem + 0x14800\n\ _0811467C: .4byte 0x000060c4\n\ _08114680: .4byte 0x000080c4\n\ _08114684: .4byte 0x000030c4\n\ @@ -2785,7 +2785,7 @@ _08114688: .4byte 0x000020c4\n\ _0811468C:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r5, _081146C0 @ =0x02014800\n\ + ldr r5, _081146C0 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _081146C4 @ =0x000030c4\n\ @@ -2810,12 +2810,12 @@ _081146B4:\n\ strb r1, [r0]\n\ b _081148D2\n\ .align 2, 0\n\ -_081146C0: .4byte 0x02014800\n\ +_081146C0: .4byte gSharedMem + 0x14800\n\ _081146C4: .4byte 0x000030c4\n\ _081146C8:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r5, _081146FC @ =0x02014800\n\ + ldr r5, _081146FC @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _08114700 @ =0x000030c4\n\ @@ -2840,12 +2840,12 @@ _081146F0:\n\ strb r1, [r0]\n\ b _081148D2\n\ .align 2, 0\n\ -_081146FC: .4byte 0x02014800\n\ +_081146FC: .4byte gSharedMem + 0x14800\n\ _08114700: .4byte 0x000030c4\n\ _08114704:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r5, _08114738 @ =0x02014800\n\ + ldr r5, _08114738 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _0811473C @ =0x000030c4\n\ @@ -2870,12 +2870,12 @@ _0811472C:\n\ strb r1, [r0]\n\ b _081148D2\n\ .align 2, 0\n\ -_08114738: .4byte 0x02014800\n\ +_08114738: .4byte gSharedMem + 0x14800\n\ _0811473C: .4byte 0x000030c4\n\ _08114740:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r5, _08114774 @ =0x02014800\n\ + ldr r5, _08114774 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _08114778 @ =0x000030c4\n\ @@ -2900,12 +2900,12 @@ _08114768:\n\ strb r1, [r0]\n\ b _081148D2\n\ .align 2, 0\n\ -_08114774: .4byte 0x02014800\n\ +_08114774: .4byte gSharedMem + 0x14800\n\ _08114778: .4byte 0x000030c4\n\ _0811477C:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r6, _081147B4 @ =0x02014800\n\ + ldr r6, _081147B4 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r5, r3, r0\n\ ldr r1, _081147B8 @ =0x000030c4\n\ @@ -2931,7 +2931,7 @@ _0811477C:\n\ strb r4, [r0]\n\ b _08114844\n\ .align 2, 0\n\ -_081147B4: .4byte 0x02014800\n\ +_081147B4: .4byte gSharedMem + 0x14800\n\ _081147B8: .4byte 0x000030c4\n\ _081147BC: .4byte 0x000020c4\n\ _081147C0:\n\ @@ -2946,7 +2946,7 @@ _081147C0:\n\ _081147D0:\n\ movs r1, 0\n\ str r1, [sp, 0x4]\n\ - ldr r6, _08114804 @ =0x02014800\n\ + ldr r6, _08114804 @ =gSharedMem + 0x14800\n\ mov r2, r8\n\ adds r5, r3, r2\n\ ldr r0, _08114808 @ =0x000030c4\n\ @@ -2970,13 +2970,13 @@ _081147D0:\n\ movs r1, 0x2\n\ b _08114842\n\ .align 2, 0\n\ -_08114804: .4byte 0x02014800\n\ +_08114804: .4byte gSharedMem + 0x14800\n\ _08114808: .4byte 0x000030c4\n\ _0811480C: .4byte 0x000020c4\n\ _08114810:\n\ movs r0, 0\n\ str r0, [sp, 0x4]\n\ - ldr r6, _0811484C @ =0x02014800\n\ + ldr r6, _0811484C @ =gSharedMem + 0x14800\n\ mov r1, r8\n\ adds r5, r3, r1\n\ ldr r2, _08114850 @ =0x000030c4\n\ @@ -3005,13 +3005,13 @@ _08114844:\n\ mov r10, r5\n\ b _081148D2\n\ .align 2, 0\n\ -_0811484C: .4byte 0x02014800\n\ +_0811484C: .4byte gSharedMem + 0x14800\n\ _08114850: .4byte 0x000030c4\n\ _08114854: .4byte 0x000020c4\n\ _08114858:\n\ movs r0, 0\n\ str r0, [sp, 0x4]\n\ - ldr r6, _08114894 @ =0x02014800\n\ + ldr r6, _08114894 @ =gSharedMem + 0x14800\n\ mov r1, r8\n\ adds r5, r3, r1\n\ ldr r2, _08114898 @ =0x000030c4\n\ @@ -3040,7 +3040,7 @@ _08114882:\n\ mov r10, r4\n\ b _081148D2\n\ .align 2, 0\n\ -_08114894: .4byte 0x02014800\n\ +_08114894: .4byte gSharedMem + 0x14800\n\ _08114898: .4byte 0x000030c4\n\ _0811489C: .4byte 0x000020c4\n\ _081148A0:\n\ @@ -3073,7 +3073,7 @@ _081148C4:\n\ adds r2, r3, 0x1\n\ mov r10, r2\n\ _081148D2:\n\ - ldr r0, _081148F4 @ =0x02014800\n\ + ldr r0, _081148F4 @ =gSharedMem + 0x14800\n\ mov r4, r8\n\ adds r1, r3, r4\n\ ldr r5, _081148F8 @ =0x000008c4\n\ @@ -3091,7 +3091,7 @@ _081148E8:\n\ ldr r0, [r0]\n\ mov pc, r0\n\ .align 2, 0\n\ -_081148F4: .4byte 0x02014800\n\ +_081148F4: .4byte gSharedMem + 0x14800\n\ _081148F8: .4byte 0x000008c4\n\ _081148FC: .4byte _08114900\n\ .align 2, 0\n\ @@ -3177,7 +3177,7 @@ _081149B4: .4byte 0x000028c4\n\ _081149B8:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r4, _08114A28 @ =0x02014800\n\ + ldr r4, _08114A28 @ =gSharedMem + 0x14800\n\ lsls r0, r3, 1\n\ ldr r5, [sp]\n\ lsls r1, r5, 6\n\ @@ -3233,7 +3233,7 @@ _08114A0C:\n\ blt _08114A02\n\ b _08114D76\n\ .align 2, 0\n\ -_08114A28: .4byte 0x02014800\n\ +_08114A28: .4byte gSharedMem + 0x14800\n\ _08114A2C: .4byte 0x000070c4\n\ _08114A30: .4byte 0x000090c4\n\ _08114A34: .4byte 0x000038c4\n\ @@ -3306,7 +3306,7 @@ _08114ABC: .4byte 0x000028c4\n\ _08114AC0:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r4, _08114B30 @ =0x02014800\n\ + ldr r4, _08114B30 @ =gSharedMem + 0x14800\n\ lsls r0, r3, 1\n\ ldr r5, [sp]\n\ lsls r1, r5, 6\n\ @@ -3362,7 +3362,7 @@ _08114B14:\n\ blt _08114B0A\n\ b _08114D76\n\ .align 2, 0\n\ -_08114B30: .4byte 0x02014800\n\ +_08114B30: .4byte gSharedMem + 0x14800\n\ _08114B34: .4byte 0x000070c4\n\ _08114B38: .4byte 0x000090c4\n\ _08114B3C: .4byte 0x000038c4\n\ @@ -3370,7 +3370,7 @@ _08114B40: .4byte 0x000028c4\n\ _08114B44:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r5, _08114B70 @ =0x02014800\n\ + ldr r5, _08114B70 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _08114B74 @ =0x000038c4\n\ @@ -3390,13 +3390,13 @@ _08114B64:\n\ movs r1, 0x9\n\ b _08114D74\n\ .align 2, 0\n\ -_08114B70: .4byte 0x02014800\n\ +_08114B70: .4byte gSharedMem + 0x14800\n\ _08114B74: .4byte 0x000038c4\n\ _08114B78: .4byte 0x000008c4\n\ _08114B7C:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r5, _08114BA8 @ =0x02014800\n\ + ldr r5, _08114BA8 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _08114BAC @ =0x000038c4\n\ @@ -3416,13 +3416,13 @@ _08114B9C:\n\ movs r1, 0xA\n\ b _08114D74\n\ .align 2, 0\n\ -_08114BA8: .4byte 0x02014800\n\ +_08114BA8: .4byte gSharedMem + 0x14800\n\ _08114BAC: .4byte 0x000038c4\n\ _08114BB0: .4byte 0x000008c4\n\ _08114BB4:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r5, _08114BE0 @ =0x02014800\n\ + ldr r5, _08114BE0 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _08114BE4 @ =0x000038c4\n\ @@ -3442,13 +3442,13 @@ _08114BD4:\n\ movs r1, 0xB\n\ b _08114D74\n\ .align 2, 0\n\ -_08114BE0: .4byte 0x02014800\n\ +_08114BE0: .4byte gSharedMem + 0x14800\n\ _08114BE4: .4byte 0x000038c4\n\ _08114BE8: .4byte 0x000008c4\n\ _08114BEC:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r5, _08114C18 @ =0x02014800\n\ + ldr r5, _08114C18 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r4, r3, r0\n\ ldr r1, _08114C1C @ =0x000038c4\n\ @@ -3468,13 +3468,13 @@ _08114C0C:\n\ movs r1, 0xC\n\ b _08114D74\n\ .align 2, 0\n\ -_08114C18: .4byte 0x02014800\n\ +_08114C18: .4byte gSharedMem + 0x14800\n\ _08114C1C: .4byte 0x000038c4\n\ _08114C20: .4byte 0x000008c4\n\ _08114C24:\n\ movs r4, 0\n\ str r4, [sp, 0x4]\n\ - ldr r6, _08114C58 @ =0x02014800\n\ + ldr r6, _08114C58 @ =gSharedMem + 0x14800\n\ mov r0, r8\n\ adds r5, r3, r0\n\ ldr r1, _08114C5C @ =0x000038c4\n\ @@ -3498,7 +3498,7 @@ _08114C24:\n\ strb r5, [r0]\n\ b _08114D76\n\ .align 2, 0\n\ -_08114C58: .4byte 0x02014800\n\ +_08114C58: .4byte gSharedMem + 0x14800\n\ _08114C5C: .4byte 0x000038c4\n\ _08114C60: .4byte 0x000028c4\n\ _08114C64: .4byte 0x000008c4\n\ @@ -3513,7 +3513,7 @@ _08114C74: .4byte 0x000008c4\n\ _08114C78:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r6, _08114CA8 @ =0x02014800\n\ + ldr r6, _08114CA8 @ =gSharedMem + 0x14800\n\ mov r4, r8\n\ adds r5, r3, r4\n\ ldr r0, _08114CAC @ =0x000038c4\n\ @@ -3535,14 +3535,14 @@ _08114C78:\n\ movs r1, 0x2\n\ b _08114D74\n\ .align 2, 0\n\ -_08114CA8: .4byte 0x02014800\n\ +_08114CA8: .4byte gSharedMem + 0x14800\n\ _08114CAC: .4byte 0x000038c4\n\ _08114CB0: .4byte 0x000028c4\n\ _08114CB4: .4byte 0x000008c4\n\ _08114CB8:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r6, _08114CE8 @ =0x02014800\n\ + ldr r6, _08114CE8 @ =gSharedMem + 0x14800\n\ mov r4, r8\n\ adds r5, r3, r4\n\ ldr r0, _08114CEC @ =0x000038c4\n\ @@ -3564,14 +3564,14 @@ _08114CB8:\n\ movs r1, 0x3\n\ b _08114D74\n\ .align 2, 0\n\ -_08114CE8: .4byte 0x02014800\n\ +_08114CE8: .4byte gSharedMem + 0x14800\n\ _08114CEC: .4byte 0x000038c4\n\ _08114CF0: .4byte 0x000028c4\n\ _08114CF4: .4byte 0x000008c4\n\ _08114CF8:\n\ movs r2, 0\n\ str r2, [sp, 0x4]\n\ - ldr r6, _08114D2C @ =0x02014800\n\ + ldr r6, _08114D2C @ =gSharedMem + 0x14800\n\ mov r4, r8\n\ adds r5, r3, r4\n\ ldr r0, _08114D30 @ =0x000038c4\n\ @@ -3596,7 +3596,7 @@ _08114D1E:\n\ strb r4, [r0]\n\ b _08114D76\n\ .align 2, 0\n\ -_08114D2C: .4byte 0x02014800\n\ +_08114D2C: .4byte gSharedMem + 0x14800\n\ _08114D30: .4byte 0x000038c4\n\ _08114D34: .4byte 0x000028c4\n\ _08114D38: .4byte 0x000008c4\n\ @@ -3633,7 +3633,7 @@ _08114D74:\n\ strb r1, [r0]\n\ _08114D76:\n\ mov r3, r10\n\ - ldr r2, _08114DB0 @ =0x02014800\n\ + ldr r2, _08114DB0 @ =gSharedMem + 0x14800\n\ adds r0, r2, 0\n\ adds r0, 0x84\n\ ldr r4, [sp]\n\ @@ -3662,7 +3662,7 @@ _08114D9A:\n\ bx r1\n\ .align 2, 0\n\ _08114DAC: .4byte 0x000008c4\n\ -_08114DB0: .4byte 0x02014800\n\ +_08114DB0: .4byte gSharedMem + 0x14800\n\ .syntax divided"); } @@ -3701,7 +3701,7 @@ void sub_8114E48() adds r4, r0, 0\n\ lsls r1, 24\n\ lsrs r6, r1, 24\n\ - ldr r1, _08114E6C @ =0x02014800\n\ + ldr r1, _08114E6C @ =gSharedMem + 0x14800\n\ ldr r2, _08114E70 @ =0x0000a0c4\n\ adds r0, r1, r2\n\ ldrb r0, [r0]\n\ @@ -3717,7 +3717,7 @@ _08114E60:\n\ movs r1, 0x1\n\ b _08114EA6\n\ .align 2, 0\n\ -_08114E6C: .4byte 0x02014800\n\ +_08114E6C: .4byte gSharedMem + 0x14800\n\ _08114E70: .4byte 0x0000a0c4\n\ _08114E74:\n\ subs r0, r4, 0x1\n\ @@ -3829,7 +3829,7 @@ _08114F26:\n\ beq _08114F7C\n\ subs r0, r4, 0x1\n\ lsls r5, r0, 7\n\ - ldr r0, _08114F68 @ =0x020188c4\n\ + ldr r0, _08114F68 @ =gSharedMem + 0x188C4\n\ mov r12, r0\n\ _08114F42:\n\ asrs r0, r3, 1\n\ @@ -3852,7 +3852,7 @@ _08114F5E:\n\ b _08114FCA\n\ .align 2, 0\n\ _08114F64: .4byte 0x000008c4\n\ -_08114F68: .4byte 0x020188c4\n\ +_08114F68: .4byte gSharedMem + 0x188C4\n\ _08114F6C:\n\ ldrb r1, [r1]\n\ movs r0, 0xF\n\ @@ -3872,7 +3872,7 @@ _08114F7C:\n\ beq _08114FC8\n\ adds r0, r4, 0x1\n\ lsls r5, r0, 7\n\ - ldr r6, _08114FB0 @ =0x020188c4\n\ + ldr r6, _08114FB0 @ =gSharedMem + 0x188C4\n\ adds r2, r1, 0\n\ _08114F90:\n\ asrs r0, r3, 1\n\ @@ -3891,7 +3891,7 @@ _08114F90:\n\ beq _08114FBE\n\ b _08114F5E\n\ .align 2, 0\n\ -_08114FB0: .4byte 0x020188c4\n\ +_08114FB0: .4byte gSharedMem + 0x188C4\n\ _08114FB4:\n\ ldrb r1, [r1]\n\ movs r0, 0xF\n\ diff --git a/src/scene/intro.c b/src/scene/intro.c index c4bb1f9ea..03a573c90 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -20,6 +20,7 @@ #include "title_screen.h" #include "trig.h" #include "unknown_task.h" +#include "ewram.h" extern struct SpriteTemplate gUnknown_02024E8C; extern u16 gUnknown_02039358; @@ -765,7 +766,11 @@ const struct SpritePalette gIntro3MiscPal_Table[] = {gIntro3Misc2Palette, 2004}, {NULL}, }; -const u32 unusedData = 0x02000000; + +// Game Freak probably used the raw address here. +// Treating this like a u8 * causes the compiler +// to remove it at link time. +const u32 unusedSharedMemPtr = (u32)gSharedMem; static void MainCB2_EndIntro(void); void Task_IntroLoadPart1Graphics(u8); @@ -1207,8 +1212,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId) gTasks[taskId].func = Task_IntroLoadPart3Streaks; } -// TODO: use ewram define instead -extern u8 gSharedMem[][32]; +//extern u8 gSharedMem[][32]; static void Task_IntroLoadPart3Streaks(u8 taskId) { @@ -1218,9 +1222,9 @@ static void Task_IntroLoadPart3Streaks(u8 taskId) intro_reset_and_hide_bgs(); for (i = 0; i < 32; i++) { - gSharedMem[0][i] = 0; - gSharedMem[1][i] = 17; - gSharedMem[2][i] = 34; + ewram0arr[0][i] = 0; + ewram0arr[1][i] = 17; + ewram0arr[2][i] = 34; } vram = (void *)VRAM; DmaCopy16(3, gSharedMem, vram, 0x60); -- cgit v1.2.3 From ed8c51dd404287c6355ba75dc4b9e2944d80e1d9 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Sat, 11 Nov 2017 14:45:05 -0600 Subject: fix build after ewram changes --- src/field/field_weather.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/field/field_weather.c b/src/field/field_weather.c index a2abf7623..042655644 100644 --- a/src/field/field_weather.c +++ b/src/field/field_weather.c @@ -10,6 +10,7 @@ #include "sprite.h" #include "task.h" #include "trig.h" +#include "ewram.h" #define MACRO1(a) ((((a) >> 1) & 0xF) | (((a) >> 2) & 0xF0) | (((a) >> 3) & 0xF00)) @@ -20,7 +21,7 @@ struct RGBColor u16 b:5; }; -struct Struct2000000 +struct WeatherPaletteData { u16 data[0][0x1000]; // unknown length }; @@ -107,10 +108,6 @@ struct Weather u8 unknown_74E; }; -extern u8 ewram[]; - -#define ewram0 (*(struct Struct2000000 *)ewram) - #define gWeather gUnknown_0202F7E8 extern struct Weather gUnknown_0202F7E8; extern u8 gUnknown_0202FF38[]; @@ -151,7 +148,7 @@ const u8 *const gUnknown_08396FA8[] = DroughtPaletteData_3, DroughtPaletteData_4, DroughtPaletteData_5, - ewram, + gSharedMem, }; void sub_807C828(void) @@ -522,7 +519,7 @@ void sub_807CEBC(u8 a, u8 b, s8 c) for (i = 0; i < 16; i++) { if (gPlttBufferUnfaded[palOffset] != 0x2D9F) - gPlttBufferFaded[palOffset] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[palOffset])]; + gPlttBufferFaded[palOffset] = eWeatherPaletteData.data[c][MACRO1(gPlttBufferUnfaded[palOffset])]; palOffset++; } } @@ -530,7 +527,7 @@ void sub_807CEBC(u8 a, u8 b, s8 c) { for (i = 0; i < 16; i++) { - gPlttBufferFaded[palOffset] = ewram0.data[c][MACRO1(gPlttBufferUnfaded[palOffset])]; + gPlttBufferFaded[palOffset] = eWeatherPaletteData.data[c][MACRO1(gPlttBufferUnfaded[palOffset])]; palOffset++; } } @@ -630,7 +627,7 @@ void sub_807D304(s8 a, u8 arg2, u16 c) b1 = color1.b; offset = ((b1 & 0x1E) << 7) | ((g1 & 0x1E) << 3) | ((r1 & 0x1E) >> 1); - color2 = *(struct RGBColor *)&ewram0.data[a][offset]; + color2 = *(struct RGBColor *)&eWeatherPaletteData.data[a][offset]; r2 = color2.r; g2 = color2.g; b2 = color2.b; @@ -873,17 +870,17 @@ void sub_807D8F0(u8 *a, u8 *b) if (r4 < 7) { r4--; - LZ77UnCompWram(gUnknown_08396FA8[r4], ewram0.data[r4]); + LZ77UnCompWram(gUnknown_08396FA8[r4], eWeatherPaletteData.data[r4]); if (r4 == 0) { - ewram0.data[r4][0] = 0x421; + eWeatherPaletteData.data[r4][0] = 0x421; for (i = 1; i < 0x1000; i++) - ewram0.data[r4][i] += ewram0.data[r4][i - 1]; + eWeatherPaletteData.data[r4][i] += eWeatherPaletteData.data[r4][i - 1]; } else { for (i = 0; i < 0x1000; i++) - ewram0.data[r4][i] += ewram0.data[r4 - 1][i]; + eWeatherPaletteData.data[r4][i] += eWeatherPaletteData.data[r4 - 1][i]; } (*a)++; if (*a == 7) -- cgit v1.2.3