summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2017-03-05 07:35:03 +0000
committerDiegoisawesome <diego@domoreaweso.me>2017-03-05 13:27:22 -0600
commitb2ec63d69e19b274fa5f8d56fb0a35cc0c9bd524 (patch)
tree9aa447ec447d4c777a5c3c0679e573ac73774ff0 /src
parentd12fd5c5ce574dd920a968794591afe7d42659fb (diff)
resolve implicit declarations and enforce warnings as errors
Diffstat (limited to 'src')
-rw-r--r--src/battle_ai.c204
-rw-r--r--src/dma3_manager.c16
-rw-r--r--src/main.c24
-rw-r--r--src/palette.c1
4 files changed, 126 insertions, 119 deletions
diff --git a/src/battle_ai.c b/src/battle_ai.c
index 8f3b7cf1e..37960f401 100644
--- a/src/battle_ai.c
+++ b/src/battle_ai.c
@@ -208,7 +208,7 @@ extern void sub_8046E7C(u8, u8);
typedef void (*BattleAICmdFunc)(void);
-extern const BattleAICmdFunc gUnknown_085B083C[];
+extern const BattleAICmdFunc sBattleAICmdTable[];
extern u8 sub_803FECC();
extern u16 Random();
@@ -810,7 +810,7 @@ void BattleAI_DoAIProcessing(void)
break;
case AIState_Processing:
if (AI_THINKING_STRUCT->moveConsidered != 0)
- gUnknown_085B083C[*gAIScriptPtr](); // run AI command.
+ sBattleAICmdTable[*gAIScriptPtr](); // run AI command.
else
{
AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0;
@@ -877,7 +877,7 @@ void sub_8131160(u8 a)
gUnknown_020244A8->unk18->unk44[a] = 0;
}
-static void BattleAICmd_if_random_less_than(void)
+void BattleAICmd_if_random_less_than(void)
{
u16 random = Random();
@@ -887,7 +887,7 @@ static void BattleAICmd_if_random_less_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_random_greater_than(void)
+void BattleAICmd_if_random_greater_than(void)
{
u16 random = Random();
@@ -897,7 +897,7 @@ static void BattleAICmd_if_random_greater_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_random_equal(void)
+void BattleAICmd_if_random_equal(void)
{
u16 random = Random();
@@ -907,7 +907,7 @@ static void BattleAICmd_if_random_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_random_not_equal(void)
+void BattleAICmd_if_random_not_equal(void)
{
u16 random = Random();
@@ -917,7 +917,7 @@ static void BattleAICmd_if_random_not_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_score(void)
+void BattleAICmd_score(void)
{
AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // add the result to the array of the move consider's score.
@@ -927,7 +927,7 @@ static void BattleAICmd_score(void)
gAIScriptPtr += 2; // AI return.
}
-static void BattleAICmd_if_hp_less_than(void)
+void BattleAICmd_if_hp_less_than(void)
{
u16 index;
@@ -942,7 +942,7 @@ static void BattleAICmd_if_hp_less_than(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_hp_more_than(void)
+void BattleAICmd_if_hp_more_than(void)
{
u16 index;
@@ -957,7 +957,7 @@ static void BattleAICmd_if_hp_more_than(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_hp_equal(void)
+void BattleAICmd_if_hp_equal(void)
{
u16 index;
@@ -972,7 +972,7 @@ static void BattleAICmd_if_hp_equal(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_hp_not_equal(void)
+void BattleAICmd_if_hp_not_equal(void)
{
u16 index;
@@ -987,7 +987,7 @@ static void BattleAICmd_if_hp_not_equal(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_status(void)
+void BattleAICmd_if_status(void)
{
u16 index;
u32 arg;
@@ -1005,7 +1005,7 @@ static void BattleAICmd_if_status(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status(void)
+void BattleAICmd_if_not_status(void)
{
u16 index;
u32 arg;
@@ -1023,7 +1023,7 @@ static void BattleAICmd_if_not_status(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status2(void)
+void BattleAICmd_if_status2(void)
{
u16 index;
u32 arg;
@@ -1041,7 +1041,7 @@ static void BattleAICmd_if_status2(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status2(void)
+void BattleAICmd_if_not_status2(void)
{
u16 index;
u32 arg;
@@ -1059,7 +1059,7 @@ static void BattleAICmd_if_not_status2(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status3(void)
+void BattleAICmd_if_status3(void)
{
u16 index;
u32 arg;
@@ -1077,7 +1077,7 @@ static void BattleAICmd_if_status3(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status3(void)
+void BattleAICmd_if_not_status3(void)
{
u16 index;
u32 arg;
@@ -1095,7 +1095,7 @@ static void BattleAICmd_if_not_status3(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status4(void)
+void BattleAICmd_if_status4(void)
{
u16 index;
u32 arg1, arg2;
@@ -1114,7 +1114,7 @@ static void BattleAICmd_if_status4(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_not_status4(void)
+void BattleAICmd_if_not_status4(void)
{
u16 index;
u32 arg1, arg2;
@@ -1133,7 +1133,7 @@ static void BattleAICmd_if_not_status4(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_less_than(void)
+void BattleAICmd_if_less_than(void)
{
if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1141,7 +1141,7 @@ static void BattleAICmd_if_less_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_more_than(void)
+void BattleAICmd_if_more_than(void)
{
if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1149,7 +1149,7 @@ static void BattleAICmd_if_more_than(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_equal(void)
+void BattleAICmd_if_equal(void)
{
if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1157,7 +1157,7 @@ static void BattleAICmd_if_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_not_equal(void)
+void BattleAICmd_if_not_equal(void)
{
if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1165,7 +1165,7 @@ static void BattleAICmd_if_not_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_less_than_32(void)
+void BattleAICmd_if_less_than_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1175,7 +1175,7 @@ static void BattleAICmd_if_less_than_32(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_more_than_32(void)
+void BattleAICmd_if_more_than_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1185,7 +1185,7 @@ static void BattleAICmd_if_more_than_32(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_equal_32(void)
+void BattleAICmd_if_equal_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1195,7 +1195,7 @@ static void BattleAICmd_if_equal_32(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_equal_32(void)
+void BattleAICmd_if_not_equal_32(void)
{
u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1205,7 +1205,7 @@ static void BattleAICmd_if_not_equal_32(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_move(void)
+void BattleAICmd_if_move(void)
{
u16 move = AIScriptRead16(gAIScriptPtr + 1);
@@ -1215,7 +1215,7 @@ static void BattleAICmd_if_move(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_not_move(void)
+void BattleAICmd_if_not_move(void)
{
u16 move = AIScriptRead16(gAIScriptPtr + 1);
@@ -1225,7 +1225,7 @@ static void BattleAICmd_if_not_move(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_in_bytes(void)
+void BattleAICmd_if_in_bytes(void)
{
u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1241,7 +1241,7 @@ static void BattleAICmd_if_in_bytes(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_in_bytes(void)
+void BattleAICmd_if_not_in_bytes(void)
{
u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1257,7 +1257,7 @@ static void BattleAICmd_if_not_in_bytes(void)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
}
-static void BattleAICmd_if_in_words(void)
+void BattleAICmd_if_in_words(void)
{
u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1273,7 +1273,7 @@ static void BattleAICmd_if_in_words(void)
gAIScriptPtr += 9;
}
-static void BattleAICmd_if_not_in_words(void)
+void BattleAICmd_if_not_in_words(void)
{
u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
@@ -1289,7 +1289,7 @@ static void BattleAICmd_if_not_in_words(void)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
}
-static void BattleAICmd_if_user_can_damage(void)
+void BattleAICmd_if_user_can_damage(void)
{
s32 i;
@@ -1305,7 +1305,7 @@ static void BattleAICmd_if_user_can_damage(void)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
}
-static void BattleAICmd_if_user_cant_damage(void)
+void BattleAICmd_if_user_cant_damage(void)
{
s32 i;
@@ -1321,13 +1321,13 @@ static void BattleAICmd_if_user_cant_damage(void)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
}
-static void BattleAICmd_get_turn_count(void)
+void BattleAICmd_get_turn_count(void)
{
AI_THINKING_STRUCT->funcResult = gUnknown_03005D10[19];
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_type(void)
+void BattleAICmd_get_type(void)
{
u8 typeVar = gAIScriptPtr[1];
@@ -1369,7 +1369,7 @@ u8 sub_8131E70(u8 index)
}
}
-static void BattleAICmd_unk_5F(void)
+void BattleAICmd_unk_5F(void)
{
u8 index = sub_8131E70(gAIScriptPtr[1]);
@@ -1385,14 +1385,14 @@ static void BattleAICmd_unk_5F(void)
gAIScriptPtr += 3;
}
-static void BattleAICmd_get_move_power(void)
+void BattleAICmd_get_move_power(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power;
gAIScriptPtr += 1;
}
__attribute__((naked)) // not even going to try. if it doesnt match in ruby, it wont match in emerald (yet).
-static void BattleAICmd_is_most_powerful_move(void)
+void BattleAICmd_is_most_powerful_move(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
@@ -1635,7 +1635,7 @@ _08132130:\n\
.syntax divided");
}
-static void BattleAICmd_get_move(void)
+void BattleAICmd_get_move(void)
{
if (gAIScriptPtr[1] == USER)
AI_THINKING_STRUCT->funcResult = gUnknown_02024248[gPlayerMonIndex];
@@ -1645,7 +1645,7 @@ static void BattleAICmd_get_move(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_if_arg_equal(void)
+void BattleAICmd_if_arg_equal(void)
{
if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1653,7 +1653,7 @@ static void BattleAICmd_if_arg_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_arg_not_equal(void)
+void BattleAICmd_if_arg_not_equal(void)
{
if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1661,7 +1661,7 @@ static void BattleAICmd_if_arg_not_equal(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_would_go_first(void)
+void BattleAICmd_if_would_go_first(void)
{
if (b_first_side(gPlayerMonIndex, gEnemyMonIndex, 1) == gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1669,7 +1669,7 @@ static void BattleAICmd_if_would_go_first(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_would_not_go_first(void)
+void BattleAICmd_if_would_not_go_first(void)
{
if (b_first_side(gPlayerMonIndex, gEnemyMonIndex, 1) != gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -1677,15 +1677,15 @@ static void BattleAICmd_if_would_not_go_first(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_nullsub_2A(void)
+void BattleAICmd_nullsub_2A(void)
{
}
-static void BattleAICmd_nullsub_2B(void)
+void BattleAICmd_nullsub_2B(void)
{
}
-static void BattleAICmd_count_alive_pokemon(void)
+void BattleAICmd_count_alive_pokemon(void)
{
u8 index;
u8 var, var2;
@@ -1731,19 +1731,19 @@ static void BattleAICmd_count_alive_pokemon(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_get_considered_move(void)
+void BattleAICmd_get_considered_move(void)
{
AI_THINKING_STRUCT->funcResult = AI_THINKING_STRUCT->moveConsidered;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_considered_move_effect(void)
+void BattleAICmd_get_considered_move_effect(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_ability(void)
+void BattleAICmd_get_ability(void)
{
u8 index;
@@ -1804,7 +1804,7 @@ static void BattleAICmd_get_ability(void)
}
#ifdef NONMATCHING
-static void tai60_unk(void)
+void tai60_unk(void)
{
u8 index = sub_8131E70(gAIScriptPtr[1]);
u8 arg2 = gAIScriptPtr[2];
@@ -1880,7 +1880,7 @@ static void tai60_unk(void)
}
#else
__attribute__((naked))
-static void tai60_unk(void)
+void tai60_unk(void)
{
asm(".syntax unified\n\
push {r4-r6,lr}\n\
@@ -2010,7 +2010,7 @@ _08132608:\n\
}
#endif
-static void BattleAICmd_get_highest_possible_damage(void)
+void BattleAICmd_get_highest_possible_damage(void)
{
s32 i;
@@ -2050,7 +2050,7 @@ static void BattleAICmd_get_highest_possible_damage(void)
gAIScriptPtr += 1;
}
-static void BattleAICmd_if_damage_bonus(void)
+void BattleAICmd_if_damage_bonus(void)
{
u8 damageVar;
@@ -2086,15 +2086,15 @@ static void BattleAICmd_if_damage_bonus(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_nullsub_32(void)
+void BattleAICmd_nullsub_32(void)
{
}
-static void BattleAICmd_nullsub_33(void)
+void BattleAICmd_nullsub_33(void)
{
}
-static void BattleAICmd_if_status_in_party(void)
+void BattleAICmd_if_status_in_party(void)
{
struct Pokemon *party;
int i;
@@ -2131,7 +2131,7 @@ static void BattleAICmd_if_status_in_party(void)
gAIScriptPtr += 10;
}
-static void BattleAICmd_if_status_not_in_party(void)
+void BattleAICmd_if_status_not_in_party(void)
{
struct Pokemon *party;
int i;
@@ -2167,7 +2167,7 @@ static void BattleAICmd_if_status_not_in_party(void)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
}
-static void BattleAICmd_get_weather(void)
+void BattleAICmd_get_weather(void)
{
if (gBattleWeather & 7)
AI_THINKING_STRUCT->funcResult = 1;
@@ -2181,7 +2181,7 @@ static void BattleAICmd_get_weather(void)
gAIScriptPtr += 1;
}
-static void BattleAICmd_if_effect(void)
+void BattleAICmd_if_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -2189,7 +2189,7 @@ static void BattleAICmd_if_effect(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_not_effect(void)
+void BattleAICmd_if_not_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1])
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
@@ -2197,7 +2197,7 @@ static void BattleAICmd_if_not_effect(void)
gAIScriptPtr += 6;
}
-static void BattleAICmd_if_stat_level_less_than(void)
+void BattleAICmd_if_stat_level_less_than(void)
{
u32 party;
@@ -2212,7 +2212,7 @@ static void BattleAICmd_if_stat_level_less_than(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_stat_level_more_than(void)
+void BattleAICmd_if_stat_level_more_than(void)
{
u32 party;
@@ -2227,7 +2227,7 @@ static void BattleAICmd_if_stat_level_more_than(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_stat_level_equal(void)
+void BattleAICmd_if_stat_level_equal(void)
{
u32 party;
@@ -2242,7 +2242,7 @@ static void BattleAICmd_if_stat_level_equal(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_stat_level_not_equal(void)
+void BattleAICmd_if_stat_level_not_equal(void)
{
u32 party;
@@ -2257,7 +2257,7 @@ static void BattleAICmd_if_stat_level_not_equal(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_if_can_faint(void)
+void BattleAICmd_if_can_faint(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2)
{
@@ -2286,7 +2286,7 @@ static void BattleAICmd_if_can_faint(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_cant_faint(void)
+void BattleAICmd_if_cant_faint(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].power < 2)
{
@@ -2313,7 +2313,7 @@ static void BattleAICmd_if_cant_faint(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_has_move(void)
+void BattleAICmd_if_has_move(void)
{
int i;
u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2);
@@ -2381,7 +2381,7 @@ static void BattleAICmd_if_has_move(void)
}
}
-static void BattleAICmd_if_dont_have_move(void)
+void BattleAICmd_if_dont_have_move(void)
{
int i;
u16 *temp_ptr = (u16 *)(gAIScriptPtr + 2);
@@ -2425,7 +2425,7 @@ static void BattleAICmd_if_dont_have_move(void)
}
}
-static void BattleAICmd_if_move_effect(void)
+void BattleAICmd_if_move_effect(void)
{
int i;
@@ -2458,7 +2458,7 @@ static void BattleAICmd_if_move_effect(void)
}
}
-static void BattleAICmd_if_not_move_effect(void)
+void BattleAICmd_if_not_move_effect(void)
{
int i;
@@ -2491,7 +2491,7 @@ static void BattleAICmd_if_not_move_effect(void)
}
}
-static void BattleAICmd_if_last_move_did_damage(void)
+void BattleAICmd_if_last_move_did_damage(void)
{
u8 index;
@@ -2523,7 +2523,7 @@ static void BattleAICmd_if_last_move_did_damage(void)
gAIScriptPtr += 7;
}
-static void BattleAICmd_if_encored(void)
+void BattleAICmd_if_encored(void)
{
switch (gAIScriptPtr[1])
{
@@ -2549,12 +2549,12 @@ static void BattleAICmd_if_encored(void)
}
}
-static void BattleAICmd_flee(void)
+void BattleAICmd_flee(void)
{
AI_THINKING_STRUCT->aiAction |= (AI_ACTION_UNK1 | AI_ACTION_UNK2 | AI_ACTION_UNK4); // what matters is UNK2 being enabled.
}
-static void BattleAICmd_if_random_100(void)
+void BattleAICmd_if_random_100(void)
{
u8 safariFleeRate = gUnknown_0202449C[0x7B] * 5; // safari flee rate, from 0-20
@@ -2564,12 +2564,12 @@ static void BattleAICmd_if_random_100(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_watch(void)
+void BattleAICmd_watch(void)
{
AI_THINKING_STRUCT->aiAction |= (AI_ACTION_UNK1 | AI_ACTION_UNK3 | AI_ACTION_UNK4); // what matters is UNK3 being enabled.
}
-static void BattleAICmd_get_hold_effect(void)
+void BattleAICmd_get_hold_effect(void)
{
u8 index;
u16 status;
@@ -2589,7 +2589,7 @@ static void BattleAICmd_get_hold_effect(void)
gAIScriptPtr += 2;
}
-static void tai62_unk(void)
+void tai62_unk(void)
{
u8 index = sub_8131E70(gAIScriptPtr[1]);
u16 item;
@@ -2610,7 +2610,7 @@ static void tai62_unk(void)
gAIScriptPtr += 8;
}
-static void BattleAICmd_get_gender(void)
+void BattleAICmd_get_gender(void)
{
u8 index;
@@ -2624,7 +2624,7 @@ static void BattleAICmd_get_gender(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_is_first_turn(void)
+void BattleAICmd_is_first_turn(void)
{
u8 index;
@@ -2638,7 +2638,7 @@ static void BattleAICmd_is_first_turn(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_get_stockpile_count(void)
+void BattleAICmd_get_stockpile_count(void)
{
u8 index;
@@ -2652,14 +2652,14 @@ static void BattleAICmd_get_stockpile_count(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_is_double_battle(void)
+void BattleAICmd_is_double_battle(void)
{
AI_THINKING_STRUCT->funcResult = gBattleTypeFlags & BATTLE_TYPE_DOUBLE;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_item(void)
+void BattleAICmd_get_item(void)
{
u8 index;
@@ -2674,28 +2674,28 @@ static void BattleAICmd_get_item(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_get_move_type_from_result(void)
+void BattleAICmd_get_move_type_from_result(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].type;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_move_power_from_result(void)
+void BattleAICmd_get_move_power_from_result(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].power;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_move_effect_from_result(void)
+void BattleAICmd_get_move_effect_from_result(void)
{
AI_THINKING_STRUCT->funcResult = gBattleMoves[AI_THINKING_STRUCT->funcResult].effect;
gAIScriptPtr += 1;
}
-static void BattleAICmd_get_protect_count(void)
+void BattleAICmd_get_protect_count(void)
{
u8 index;
@@ -2709,48 +2709,48 @@ static void BattleAICmd_get_protect_count(void)
gAIScriptPtr += 2;
}
-static void BattleAICmd_nullsub_52(void)
+void BattleAICmd_nullsub_52(void)
{
}
-static void BattleAICmd_nullsub_53(void)
+void BattleAICmd_nullsub_53(void)
{
}
-static void BattleAICmd_nullsub_54(void)
+void BattleAICmd_nullsub_54(void)
{
}
-static void BattleAICmd_nullsub_55(void)
+void BattleAICmd_nullsub_55(void)
{
}
-static void BattleAICmd_nullsub_56(void)
+void BattleAICmd_nullsub_56(void)
{
}
-static void BattleAICmd_nullsub_57(void)
+void BattleAICmd_nullsub_57(void)
{
}
-static void BattleAICmd_call(void)
+void BattleAICmd_call(void)
{
b_mc_stack_push(gAIScriptPtr + 5);
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
}
-static void BattleAICmd_jump(void)
+void BattleAICmd_jump(void)
{
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
}
-static void BattleAICmd_end(void)
+void BattleAICmd_end(void)
{
if (b_mc_stack_pop_cursor() == 0)
AI_THINKING_STRUCT->aiAction |= AI_ACTION_UNK1;
}
-static void BattleAICmd_if_level_cond(void)
+void BattleAICmd_if_level_cond(void)
{
switch (gAIScriptPtr[1])
{
@@ -2781,7 +2781,7 @@ static void BattleAICmd_if_level_cond(void)
}
}
-static void BattleAICmd_if_taunted(void)
+void BattleAICmd_if_taunted(void)
{
if (gUnknown_020242BC[gEnemyMonIndex].taunt != 0)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -2789,7 +2789,7 @@ static void BattleAICmd_if_taunted(void)
gAIScriptPtr += 5;
}
-static void BattleAICmd_if_not_taunted(void)
+void BattleAICmd_if_not_taunted(void)
{
if (gUnknown_020242BC[gEnemyMonIndex].taunt == 0)
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -2797,7 +2797,7 @@ static void BattleAICmd_if_not_taunted(void)
gAIScriptPtr += 5;
}
-static void tai5E_unk(void)
+void tai5E_unk(void)
{
if((gPlayerMonIndex & 1) == (gEnemyMonIndex & 1))
gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
@@ -2805,7 +2805,7 @@ static void tai5E_unk(void)
gAIScriptPtr += 5;
}
-static void tai61_unk(void)
+void tai61_unk(void)
{
u8 index = sub_8131E70(gAIScriptPtr[1]);
diff --git a/src/dma3_manager.c b/src/dma3_manager.c
index cd080a172..6d12dec05 100644
--- a/src/dma3_manager.c
+++ b/src/dma3_manager.c
@@ -1,19 +1,5 @@
#include "global.h"
-
-extern u8 gDma3ManagerLocked;
-extern u8 gDma3RequestCursor;
-
-// size is 0x10
-struct DmaRequestsStruct
-{
- /* 0x00 */ u8 *src;
- /* 0x04 */ u8 *dest;
- /* 0x08 */ u16 size;
- /* 0x0A */ u16 mode;
- /* 0x0C */ u32 value;
-};
-
-extern struct DmaRequestsStruct gDma3Requests[128];
+#include "dma3.h"
void ClearDma3Requests(void)
{
diff --git a/src/main.c b/src/main.c
index a88c378eb..61280f5a7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,13 +1,34 @@
#include "global.h"
#include "main.h"
+#include "m4a.h"
+#include "rtc.h"
+#include "rng.h"
+#include "dma3.h"
#include "gba/flash_internal.h"
-#include "gba/m4a_internal.h"
extern u16 GetGpuReg(u8);
extern void SetGpuReg(u8, u16);
extern void LinkVSync(void);
extern void sub_800E174(void);
extern void sub_800B9B8(void);
+extern void InitGpuRegManager(void);
+extern void sub_800E6D0(void);
+extern void CheckForFlashMemory(void);
+extern void InitMapMusic(void);
+extern void ResetBgs(void);
+extern void SetDefaultFontsPointer(void);
+extern void InitHeap(void *heapStart, u32 heapSize); // malloc.h
+extern void rfu_REQ_stopMode(void);
+extern void rfu_waitREQComplete(void);
+extern bool32 sub_8087634(void);
+extern bool32 sub_80875C8(void);
+extern void ClearObjectCopyRequests(void);
+extern void PlayTimeCounter_Update(void);
+extern void MapMusicMain(void);
+extern void EnableInterrupts(u16);
+extern void sub_8033648(void);
+extern u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
+extern void remove_some_task(void);
extern struct SoundInfo gSoundInfo;
extern u32 gFlashMemoryPresent;
@@ -79,6 +100,7 @@ static void SeedRngWithRtc(void);
static void ReadKeys(void);
void InitIntrHandlers(void);
static void WaitForVBlank(void);
+void EnableVCountIntrAtLine150(void);
#define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON)
diff --git a/src/palette.c b/src/palette.c
index 6f5dfff24..538429a69 100644
--- a/src/palette.c
+++ b/src/palette.c
@@ -1221,7 +1221,6 @@ void sub_80A2D54(u8 a1)
{
s16 *v2;
u32 v3;
- u16 v4;
u16 v5;
s32 v6;
u16 v7;