From 0e92523067b31f9f9c17c1a06c76b62a801abc51 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 11 Jun 2021 21:55:07 -0400 Subject: Decompile unk_0205EC84, 2 --- arm9/src/unk_0205EC84.c | 321 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 278 insertions(+), 43 deletions(-) (limited to 'arm9/src') diff --git a/arm9/src/unk_0205EC84.c b/arm9/src/unk_0205EC84.c index 94795ee7..a7e4531f 100644 --- a/arm9/src/unk_0205EC84.c +++ b/arm9/src/unk_0205EC84.c @@ -1,33 +1,34 @@ #include "global.h" -#include "event_data.h" +#include "proto.h" +#include "unk_0205EC84.h" -THUMB_FUNC void FUN_0205EC84(struct ScriptState * state, u16 flag_id) +static THUMB_FUNC void _flag_set(struct ScriptState * state, u16 flag_id) { SetFlagInArray(state, flag_id); } -THUMB_FUNC void FUN_0205EC8C(struct ScriptState * state, u16 flag_id) +static THUMB_FUNC void _flag_clear(struct ScriptState * state, u16 flag_id) { ClearFlagInArray(state, flag_id); } -THUMB_FUNC BOOL FUN_0205EC94(struct ScriptState * state, u16 flag_id) +static THUMB_FUNC BOOL _flag_check(struct ScriptState * state, u16 flag_id) { return CheckFlagInArray(state, flag_id); } -THUMB_FUNC BOOL FUN_0205EC9C(struct ScriptState * state, u32 op, u32 flag_id) +static THUMB_FUNC BOOL _flag_op(struct ScriptState * state, u32 op, u32 flag_id) { switch (op) { case 1: - FUN_0205EC84(state, (u16)flag_id); + _flag_set(state, (u16)flag_id); break; case 0: - FUN_0205EC8C(state, (u16)flag_id); + _flag_clear(state, (u16)flag_id); break; case 2: - return FUN_0205EC94(state, (u16)flag_id); + return _flag_check(state, (u16)flag_id); default: GF_ASSERT(0); } @@ -36,102 +37,102 @@ THUMB_FUNC BOOL FUN_0205EC9C(struct ScriptState * state, u32 op, u32 flag_id) THUMB_FUNC void FUN_0205ECD4(struct ScriptState * state) { - FUN_0205EC84(state, 0x960); + _flag_set(state, 0x960); } THUMB_FUNC BOOL FUN_0205ECE0(struct ScriptState * state) { - return FUN_0205EC94(state, 0x960); + return _flag_check(state, 0x960); } THUMB_FUNC BOOL FUN_0205ECEC(struct ScriptState * state) { - return FUN_0205EC94(state, 0x98D); + return _flag_check(state, 0x98D); } THUMB_FUNC void FUN_0205ECFC(struct ScriptState * state) { - FUN_0205EC84(state, 0x964); + _flag_set(state, 0x964); } THUMB_FUNC BOOL FUN_0205ED0C(struct ScriptState * state) { - return FUN_0205EC94(state, 0x964); + return _flag_check(state, 0x964); } THUMB_FUNC void FUN_0205ED1C(struct ScriptState * state) { - FUN_0205EC84(state, 0x961); + _flag_set(state, 0x961); } THUMB_FUNC void FUN_0205ED2C(struct ScriptState * state) { - FUN_0205EC8C(state, 0x961); + _flag_clear(state, 0x961); } THUMB_FUNC BOOL FUN_0205ED3C(struct ScriptState * state) { - return FUN_0205EC94(state, 0x961); + return _flag_check(state, 0x961); } THUMB_FUNC void FUN_0205ED4C(struct ScriptState * state) { - FUN_0205EC84(state, 0x965); + _flag_set(state, 0x965); } THUMB_FUNC void FUN_0205ED5C(struct ScriptState * state) { - FUN_0205EC8C(state, 0x965); + _flag_clear(state, 0x965); } THUMB_FUNC BOOL FUN_0205ED6C(struct ScriptState * state) { - return FUN_0205EC94(state, 0x965); + return _flag_check(state, 0x965); } THUMB_FUNC void FUN_0205ED7C(struct ScriptState * state) { - FUN_0205EC84(state, 0x96D); + _flag_set(state, 0x96D); } THUMB_FUNC void FUN_0205ED8C(struct ScriptState * state) { - FUN_0205EC8C(state, 0x96D); + _flag_clear(state, 0x96D); } THUMB_FUNC BOOL FUN_0205ED9C(struct ScriptState * state) { - return FUN_0205EC94(state, 0x96D); + return _flag_check(state, 0x96D); } THUMB_FUNC void FUN_0205EDAC(struct ScriptState * state) { - FUN_0205EC84(state, 0x96E); + _flag_set(state, 0x96E); } THUMB_FUNC void FUN_0205EDBC(struct ScriptState * state) { - FUN_0205EC84(state, 0x96F); + _flag_set(state, 0x96F); } THUMB_FUNC void FUN_0205EDCC(struct ScriptState * state) { - FUN_0205EC84(state, 0x970); + _flag_set(state, 0x970); } THUMB_FUNC void FUN_0205EDD8(struct ScriptState * state) { - FUN_0205EC84(state, 0x971); + _flag_set(state, 0x971); } THUMB_FUNC void FUN_0205EDE8(struct ScriptState * state) { - FUN_0205EC84(state, 0x972); + _flag_set(state, 0x972); } THUMB_FUNC void FUN_0205EDF8(struct ScriptState * state) { - FUN_0205EC84(state, 0x973); + _flag_set(state, 0x973); } THUMB_FUNC void FUN_0205EE08(struct ScriptState * state, u32 a1) @@ -139,19 +140,19 @@ THUMB_FUNC void FUN_0205EE08(struct ScriptState * state, u32 a1) switch (a1) { case 0: - FUN_0205EC84(state, 0x968); + _flag_set(state, 0x968); break; case 1: - FUN_0205EC84(state, 0x969); + _flag_set(state, 0x969); break; case 2: - FUN_0205EC84(state, 0x96A); + _flag_set(state, 0x96A); break; case 3: - FUN_0205EC84(state, 0x96B); + _flag_set(state, 0x96B); break; case 4: - FUN_0205EC84(state, 0x96C); + _flag_set(state, 0x96C); break; } } @@ -161,15 +162,15 @@ THUMB_FUNC BOOL FUN_0205EE60(struct ScriptState * state, u32 a1) switch (a1) { case 0: - return FUN_0205EC94(state, 0x968); + return _flag_check(state, 0x968); case 1: - return FUN_0205EC94(state, 0x969); + return _flag_check(state, 0x969); case 2: - return FUN_0205EC94(state, 0x96A); + return _flag_check(state, 0x96A); case 3: - return FUN_0205EC94(state, 0x96B); + return _flag_check(state, 0x96B); case 4: - return FUN_0205EC94(state, 0x96C); + return _flag_check(state, 0x96C); } // UB: No return value } @@ -182,20 +183,254 @@ THUMB_FUNC BOOL FUN_0205EEB8(struct ScriptState * state, u32 a1) case 0: break; case 1: - ret = FUN_0205EC94(state, 0x97F); + ret = _flag_check(state, 0x97F); break; case 2: - ret = FUN_0205EC94(state, 0x980); + ret = _flag_check(state, 0x980); break; case 3: - ret = FUN_0205EC94(state, 0x981); + ret = _flag_check(state, 0x981); break; case 4: - ret = FUN_0205EC94(state, 0x982); + ret = _flag_check(state, 0x982); break; case 5: - ret = FUN_0205EC94(state, 0x983); + ret = _flag_check(state, 0x983); break; } return ret; } + +THUMB_FUNC s32 FUN_0205EF20(struct ScriptState * state, s32 a1) +{ + s32 ret = 0; + switch (a1) + { + case 314: + if (_flag_check(state, 0x984) == TRUE) + ret = 1070; + break; + case 316: + if (_flag_check(state, 0x984) == TRUE) + ret = 1065; + break; + case 312: + if (_flag_check(state, 0x98E) == TRUE) + ret = 1070; + break; + case 318: + if (_flag_check(state, 0x98F) == TRUE) + ret = 1070; + break; + case 251: + if (_flag_check(state, 0x995) == TRUE) + ret = 1069; + break; + case 422: + if (_flag_check(state, 0x993) == TRUE) + ret = 1098; + break; + case 305: + case 306: + case 307: + case 308: + case 309: + case 310: + case 494: + case 497: + if (_flag_check(state, 0x985) == TRUE) + { + if (!IsNighttime()) + ret = 1016; + else + ret = 1045; + } + else if (a1 == 305) + { + if (_flag_check(state, 0x986) == TRUE) + ret = 1067; + } + break; + case 72: + case 73: + case 74: + case 75: + if (_flag_check(state, 0x987) == TRUE) + { + if (!IsNighttime()) + ret = 1013; + else + ret = 1042; + } + break; + case 201: + if (_flag_check(state, 0x988) == TRUE) + { + if (!IsNighttime()) + ret = 1023; + else + ret = 1052; + } + break; + case 256: + if (_flag_check(state, 0x989) == TRUE) + { + if (!IsNighttime()) + ret = 1006; + else + ret = 1035; + } + break; + case 399: + if (_flag_check(state, 0x98A) == TRUE) + { + if (!IsNighttime()) + ret = 1006; + else + ret = 1035; + } + break; + case 185: + if (_flag_check(state, 0x98B) == TRUE) + ret = 1001; + break; + } + return ret; +} + + +THUMB_FUNC void FUN_0205F154(struct ScriptState * state) +{ + _flag_set(state, 0x966); +} + +THUMB_FUNC void FUN_0205F164(struct ScriptState * state) +{ + _flag_clear(state, 0x966); +} + +THUMB_FUNC BOOL FUN_0205F174(struct ScriptState * state) +{ + return _flag_check(state, 0x966); +} + +THUMB_FUNC BOOL FUN_0205F184(struct ScriptState * state) +{ + return _flag_check(state, 0x978); +} + +THUMB_FUNC BOOL FUN_0205F194(struct ScriptState * state) +{ + return _flag_check(state, 0x992); +} + +THUMB_FUNC BOOL FUN_0205F1A4(struct ScriptState * state) +{ + return _flag_check(state, 0x97D); +} + +THUMB_FUNC BOOL FUN_0205F1B4(struct ScriptState * state) +{ + return _flag_check(state, 0x97E); +} + +THUMB_FUNC void FUN_0205F1C4(struct ScriptState * state) +{ + _flag_set(state, 0x97C); +} + +THUMB_FUNC void FUN_0205F1D4(struct ScriptState * state) +{ + _flag_clear(state, 0x97C); +} + +THUMB_FUNC BOOL FUN_0205F1E4(struct ScriptState * state) +{ + return _flag_check(state, 0x97C); +} + +THUMB_FUNC void FUN_0205F1F4(struct ScriptState * state) +{ + _flag_set(state, 0x967); +} + +THUMB_FUNC void FUN_0205F204(struct ScriptState * state) +{ + _flag_clear(state, 0x967); +} + +THUMB_FUNC BOOL FUN_0205F214(struct ScriptState * state) +{ + return _flag_check(state, 0x967); +} + +THUMB_FUNC void FUN_0205F224(struct ScriptState * state) +{ + _flag_set(state, 0x979); +} + +THUMB_FUNC void FUN_0205F234(struct ScriptState * state) +{ + _flag_clear(state, 0x979); +} + +THUMB_FUNC BOOL FUN_0205F244(struct ScriptState * state) +{ + return _flag_check(state, 0x979); +} + +THUMB_FUNC void FUN_0205F254(struct ScriptState * state) +{ + _flag_clear(state, 0x994); +} + +THUMB_FUNC BOOL FUN_0205F264(struct ScriptState * state, u32 op) +{ + return _flag_op(state, op, 0x962); +} + +THUMB_FUNC void FUN_0205F274(struct ScriptState * state) +{ + _flag_set(state, 0x97A); +} + +THUMB_FUNC void FUN_0205F284(struct ScriptState * state) +{ + _flag_clear(state, 0x97A); +} + +THUMB_FUNC BOOL FUN_0205F294(struct ScriptState * state) +{ + return _flag_check(state, 0x97A); +} + +THUMB_FUNC void FUN_0205F2A4(struct ScriptState * state) +{ + _flag_set(state, 0x97B); +} + +THUMB_FUNC void FUN_0205F2B4(struct ScriptState * state) +{ + _flag_clear(state, 0x97B); +} + +THUMB_FUNC BOOL FUN_0205F2C4(struct ScriptState * state) +{ + return _flag_check(state, 0x97B); +} + +THUMB_FUNC BOOL FUN_0205F2D4(struct ScriptState * state, u32 op) +{ + return _flag_op(state, op, 0x963); +} + +THUMB_FUNC BOOL FUN_0205F2E4(struct ScriptState * state, u32 op, u16 flag_id) +{ + GF_ASSERT(flag_id < 69); + return _flag_op(state, op, 0x9B0 + flag_id); +} + +THUMB_FUNC void FUN_0205F304(struct ScriptState * state) +{ + _flag_set(state, 0x98C); +} -- cgit v1.2.3