From 09070e2242c46a567f0aea42bed9d96afc2d90e1 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Thu, 2 Jan 2025 22:48:00 -0500 Subject: [PATCH 01/10] Decomp `AdventureFlags::Exists` and `AdventureFlags::func_ov00_02097674` --- config/eur/arm9/overlays/ov000/symbols.txt | 2 +- config/usa/arm9/overlays/ov000/symbols.txt | 2 +- src/00_Core/Save/AdventureFlags.cpp | 13 +++++++++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 07ca6e05..7e31a949 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1323,7 +1323,7 @@ _ZN14AdventureFlags18func_ov00_020980acEv kind:function(arm,size=0x10) addr:0x20 _ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x20980bc _ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x20980d0 _ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x20980f4 -_ZN8FlagsUnk19func_ov000_020980f8Ev kind:function(arm,size=0x4) addr:0x20980f8 +_Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x20980f8 _ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x20980fc _ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x2098114 _ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x2098150 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index 84b9f721..480eb261 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -1323,7 +1323,7 @@ _ZN14AdventureFlags18func_ov00_020980acEv kind:function(arm,size=0x10) addr:0x20 _ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x209805c _ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x2098070 _ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x2098094 -_ZN8FlagsUnk19func_ov000_020980f8Ev kind:function(arm,size=0x4) addr:0x2098098 +_Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x2098098 _ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x209809c _ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x20980b4 _ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x20980f0 diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 7ba5f7c6..98d5dc96 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -1,8 +1,17 @@ #include "Save/AdventureFlags.hpp" -bool AdventureFlags::Exists() {} +extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); + +bool AdventureFlags::Exists() { + return gAdventureFlags != NULL; +} + void AdventureFlags::CopyTo(unk32 *flags) {} -void AdventureFlags::func_ov00_02097674() {} + +void AdventureFlags::func_ov00_02097674() { + func_ov000_020980f8(this->mCutsceneHandler); +} + s32 AdventureFlags::func_ov00_02097684() {} void AdventureFlags::Load() {} void AdventureFlags::func_ov00_020976c8() {} From c4d19db62a63bf9f9ec95d7fc8ee56a9d1554129 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Thu, 2 Jan 2025 22:51:19 -0500 Subject: [PATCH 02/10] Decomp `AdventureFlags::func_ov00_02097684` --- config/eur/arm9/overlays/ov000/symbols.txt | 2 +- config/usa/arm9/overlays/ov000/symbols.txt | 2 +- src/00_Core/Save/AdventureFlags.cpp | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 7e31a949..f8687c88 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1324,7 +1324,7 @@ _ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x20 _ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x20980d0 _ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x20980f4 _Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x20980f8 -_ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x20980fc +_Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x20980fc _ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x2098114 _ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x2098150 _ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x20981b8 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index 480eb261..d49f2f43 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -1324,7 +1324,7 @@ _ZN14AdventureFlags18func_ov00_020980bcEi kind:function(arm,size=0x14) addr:0x20 _ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x2098070 _ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x2098094 _Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x2098098 -_ZN15CutsceneHandler19func_ov000_020980fcEiiPPv kind:function(arm,size=0x18) addr:0x209809c +_Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x209809c _ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x20980b4 _ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x20980f0 _ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x2098158 diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 98d5dc96..ac292f9e 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -1,6 +1,7 @@ #include "Save/AdventureFlags.hpp" extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); +extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler); bool AdventureFlags::Exists() { return gAdventureFlags != NULL; @@ -12,7 +13,10 @@ void AdventureFlags::func_ov00_02097674() { func_ov000_020980f8(this->mCutsceneHandler); } -s32 AdventureFlags::func_ov00_02097684() {} +s32 AdventureFlags::func_ov00_02097684() { + return func_ov000_020980fc(this->mCutsceneHandler); +} + void AdventureFlags::Load() {} void AdventureFlags::func_ov00_020976c8() {} void AdventureFlags::func_ov00_02097700() {} From ab3d161e60b147db20329dc235a906122a5337ae Mon Sep 17 00:00:00 2001 From: mike8699 Date: Mon, 6 Jan 2025 11:37:33 -0500 Subject: [PATCH 03/10] Decomp `AdventureFlags::Get_FlagsUnk_30_Flag` --- src/00_Core/Save/AdventureFlags.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index ac292f9e..4eb679e3 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -33,7 +33,13 @@ bool AdventureFlags::func_ov00_02097bbc() {} bool AdventureFlags::func_ov00_02097bcc() {} bool AdventureFlags::func_ov00_02097bcc(s32 param2) {} s32 AdventureFlags::func_ov00_02097c08() {} -bool AdventureFlags::Get_FlagsUnk_30_Flag(int index) {} + +bool AdventureFlags::Get_FlagsUnk_30_Flag(int index) { + unk32 unk30 = this->Get_FlagsUnk_30(index); + + return this->Get(unk30); +} + unk8 AdventureFlags::Get_FlagsUnk_49(int index) {} unk8 AdventureFlags::Get_FlagsUnk_48(int index) {} unk8 AdventureFlags::Get_FlagsUnk_4a(int index) {} From a44372043a0f157195f0d3510dc70ca73f61bdcf Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 21:59:47 -0500 Subject: [PATCH 04/10] Decomp `AdventureFlags::Get_FlagsUnk_49` --- include/Save/AdventureFlags.hpp | 2 +- src/00_Core/Save/AdventureFlags.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index b076cd73..19f1d3f0 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -105,7 +105,7 @@ public: bool func_ov00_02097bcc(s32 param2); s32 func_ov00_02097c08(); bool Get_FlagsUnk_30_Flag(int index); - unk8 Get_FlagsUnk_49(int index); + u8 Get_FlagsUnk_49(s32 index); unk8 Get_FlagsUnk_48(int index); unk8 Get_FlagsUnk_4a(int index); unk16 Get_FlagsUnk_42(int index); diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 4eb679e3..932d1e40 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -2,6 +2,7 @@ extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler); +extern u8 data_ov000_020e3155[]; bool AdventureFlags::Exists() { return gAdventureFlags != NULL; @@ -40,7 +41,10 @@ bool AdventureFlags::Get_FlagsUnk_30_Flag(int index) { return this->Get(unk30); } -unk8 AdventureFlags::Get_FlagsUnk_49(int index) {} +u8 AdventureFlags::Get_FlagsUnk_49(s32 index) { + return data_ov000_020e3155[index * 0x4C]; +} + unk8 AdventureFlags::Get_FlagsUnk_48(int index) {} unk8 AdventureFlags::Get_FlagsUnk_4a(int index) {} unk16 AdventureFlags::Get_FlagsUnk_42(int index) {} From 382f48a3f359407ccbd78761027c2ad7cff05a5a Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:01:50 -0500 Subject: [PATCH 05/10] Decomp `AdventureFlags::Get_FlagsUnk_48` --- include/Save/AdventureFlags.hpp | 2 +- src/00_Core/Save/AdventureFlags.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 19f1d3f0..68b21e7a 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -106,7 +106,7 @@ public: s32 func_ov00_02097c08(); bool Get_FlagsUnk_30_Flag(int index); u8 Get_FlagsUnk_49(s32 index); - unk8 Get_FlagsUnk_48(int index); + u8 Get_FlagsUnk_48(s32 index); unk8 Get_FlagsUnk_4a(int index); unk16 Get_FlagsUnk_42(int index); unk16 Get_FlagsUnk_40(int index); diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 932d1e40..2a8900c2 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -2,6 +2,7 @@ extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler); +extern u8 data_ov000_020e3154[]; extern u8 data_ov000_020e3155[]; bool AdventureFlags::Exists() { @@ -45,7 +46,10 @@ u8 AdventureFlags::Get_FlagsUnk_49(s32 index) { return data_ov000_020e3155[index * 0x4C]; } -unk8 AdventureFlags::Get_FlagsUnk_48(int index) {} +u8 AdventureFlags::Get_FlagsUnk_48(s32 index) { + return data_ov000_020e3154[index * 0x4C]; +} + unk8 AdventureFlags::Get_FlagsUnk_4a(int index) {} unk16 AdventureFlags::Get_FlagsUnk_42(int index) {} unk16 AdventureFlags::Get_FlagsUnk_40(int index) {} From ff133277c2f72480a45700f45b214dc088d7d4d1 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:03:46 -0500 Subject: [PATCH 06/10] AdventureFlags: update all `int` to `s32` --- include/Save/AdventureFlags.hpp | 22 +++++++++++----------- src/00_Core/Save/AdventureFlags.cpp | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 68b21e7a..22399d1e 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -104,19 +104,19 @@ public: bool func_ov00_02097bcc(); bool func_ov00_02097bcc(s32 param2); s32 func_ov00_02097c08(); - bool Get_FlagsUnk_30_Flag(int index); + bool Get_FlagsUnk_30_Flag(s32 index); u8 Get_FlagsUnk_49(s32 index); u8 Get_FlagsUnk_48(s32 index); - unk8 Get_FlagsUnk_4a(int index); - unk16 Get_FlagsUnk_42(int index); - unk16 Get_FlagsUnk_40(int index); - unk32 Get_FlagsUnk_38(int index); - unk32 Get_FlagsUnk_34(int index); - unk32 Get_FlagsUnk_44(int index); - static unk32 Get_FlagsUnk_30(int index); - static bool Get_FlagsUnk_00(int index, FlagsUnk2 *result); - bool Get_FlagsUnk_18(int index, FlagsUnk2 *result); - FlagsUnk *Get_FlagsUnk(int index); + unk8 Get_FlagsUnk_4a(s32 index); + unk16 Get_FlagsUnk_42(s32 index); + unk16 Get_FlagsUnk_40(s32 index); + unk32 Get_FlagsUnk_38(s32 index); + unk32 Get_FlagsUnk_34(s32 index); + unk32 Get_FlagsUnk_44(s32 index); + static unk32 Get_FlagsUnk_30(s32 index); + static bool Get_FlagsUnk_00(s32 index, FlagsUnk2 *result); + bool Get_FlagsUnk_18(s32 index, FlagsUnk2 *result); + FlagsUnk *Get_FlagsUnk(s32 index); bool func_ov00_02097e6c(); bool func_ov00_02097e7c(); bool func_ov00_02097ea4(); diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 2a8900c2..19849bf0 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -36,7 +36,7 @@ bool AdventureFlags::func_ov00_02097bcc() {} bool AdventureFlags::func_ov00_02097bcc(s32 param2) {} s32 AdventureFlags::func_ov00_02097c08() {} -bool AdventureFlags::Get_FlagsUnk_30_Flag(int index) { +bool AdventureFlags::Get_FlagsUnk_30_Flag(s32 index) { unk32 unk30 = this->Get_FlagsUnk_30(index); return this->Get(unk30); @@ -50,16 +50,16 @@ u8 AdventureFlags::Get_FlagsUnk_48(s32 index) { return data_ov000_020e3154[index * 0x4C]; } -unk8 AdventureFlags::Get_FlagsUnk_4a(int index) {} -unk16 AdventureFlags::Get_FlagsUnk_42(int index) {} -unk16 AdventureFlags::Get_FlagsUnk_40(int index) {} -unk32 AdventureFlags::Get_FlagsUnk_38(int index) {} -unk32 AdventureFlags::Get_FlagsUnk_34(int index) {} -unk32 AdventureFlags::Get_FlagsUnk_44(int index) {} -unk32 AdventureFlags::Get_FlagsUnk_30(int index) {} -bool AdventureFlags::Get_FlagsUnk_00(int index, FlagsUnk2 *result) {} -bool AdventureFlags::Get_FlagsUnk_18(int index, FlagsUnk2 *result) {} -FlagsUnk *AdventureFlags::Get_FlagsUnk(int index) {} +unk8 AdventureFlags::Get_FlagsUnk_4a(s32 index) {} +unk16 AdventureFlags::Get_FlagsUnk_42(s32 index) {} +unk16 AdventureFlags::Get_FlagsUnk_40(s32 index) {} +unk32 AdventureFlags::Get_FlagsUnk_38(s32 index) {} +unk32 AdventureFlags::Get_FlagsUnk_34(s32 index) {} +unk32 AdventureFlags::Get_FlagsUnk_44(s32 index) {} +unk32 AdventureFlags::Get_FlagsUnk_30(s32 index) {} +bool AdventureFlags::Get_FlagsUnk_00(s32 index, FlagsUnk2 *result) {} +bool AdventureFlags::Get_FlagsUnk_18(s32 index, FlagsUnk2 *result) {} +FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) {} bool AdventureFlags::func_ov00_02097e6c() {} bool AdventureFlags::func_ov00_02097e7c() {} bool AdventureFlags::func_ov00_02097ea4() {} From cf82a39b0eb6fdfa8c113860e89dec1d2691920a Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:25:07 -0500 Subject: [PATCH 07/10] Decomp a bunch of `AdventureFlags::Get_Flags*` --- include/Save/AdventureFlags.hpp | 6 ++-- src/00_Core/Save/AdventureFlags.cpp | 49 ++++++++++++++++++++++++----- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 22399d1e..0484fba8 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -107,9 +107,9 @@ public: bool Get_FlagsUnk_30_Flag(s32 index); u8 Get_FlagsUnk_49(s32 index); u8 Get_FlagsUnk_48(s32 index); - unk8 Get_FlagsUnk_4a(s32 index); - unk16 Get_FlagsUnk_42(s32 index); - unk16 Get_FlagsUnk_40(s32 index); + u8 Get_FlagsUnk_4a(s32 index); + u16 Get_FlagsUnk_42(s32 index); + u16 Get_FlagsUnk_40(s32 index); unk32 Get_FlagsUnk_38(s32 index); unk32 Get_FlagsUnk_34(s32 index); unk32 Get_FlagsUnk_44(s32 index); diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 19849bf0..737c190c 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -2,8 +2,16 @@ extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler); +extern u8 data_ov000_020e310c[]; +extern u8 data_ov000_020e313c[]; +extern u8 data_ov000_020e3140[]; +extern u8 data_ov000_020e3144[]; +extern u8 data_ov000_020e314c[]; +extern u8 data_ov000_020e314e[]; +extern u8 data_ov000_020e3150[]; extern u8 data_ov000_020e3154[]; extern u8 data_ov000_020e3155[]; +extern u8 data_ov000_020e3156[]; bool AdventureFlags::Exists() { return gAdventureFlags != NULL; @@ -50,16 +58,41 @@ u8 AdventureFlags::Get_FlagsUnk_48(s32 index) { return data_ov000_020e3154[index * 0x4C]; } -unk8 AdventureFlags::Get_FlagsUnk_4a(s32 index) {} -unk16 AdventureFlags::Get_FlagsUnk_42(s32 index) {} -unk16 AdventureFlags::Get_FlagsUnk_40(s32 index) {} -unk32 AdventureFlags::Get_FlagsUnk_38(s32 index) {} -unk32 AdventureFlags::Get_FlagsUnk_34(s32 index) {} -unk32 AdventureFlags::Get_FlagsUnk_44(s32 index) {} -unk32 AdventureFlags::Get_FlagsUnk_30(s32 index) {} +u8 AdventureFlags::Get_FlagsUnk_4a(s32 index) { + return data_ov000_020e3156[index * 0x4C]; +} + +u16 AdventureFlags::Get_FlagsUnk_42(s32 index) { + return *(u16 *) (data_ov000_020e314e + index * 0x4C); +} + +u16 AdventureFlags::Get_FlagsUnk_40(s32 index) { + return *(unk16 *) (data_ov000_020e314c + index * 0x4C); +} + +unk32 AdventureFlags::Get_FlagsUnk_38(s32 index) { + return *(unk32 *) (data_ov000_020e3144 + index * 0x4C); +} + +unk32 AdventureFlags::Get_FlagsUnk_34(s32 index) { + return *(unk32 *) (data_ov000_020e3140 + index * 0x4C); +} + +unk32 AdventureFlags::Get_FlagsUnk_44(s32 index) { + return *(unk32 *) (data_ov000_020e3150 + index * 0x4C); +} + +unk32 AdventureFlags::Get_FlagsUnk_30(s32 index) { + return *(unk32 *) (data_ov000_020e313c + index * 0x4C); +} + bool AdventureFlags::Get_FlagsUnk_00(s32 index, FlagsUnk2 *result) {} bool AdventureFlags::Get_FlagsUnk_18(s32 index, FlagsUnk2 *result) {} -FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) {} + +FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) { + return (FlagsUnk *) (data_ov000_020e310c + index * 0x4C); +} + bool AdventureFlags::func_ov00_02097e6c() {} bool AdventureFlags::func_ov00_02097e7c() {} bool AdventureFlags::func_ov00_02097ea4() {} From e34ab528d41080a8ac7e281f2b41f844e5c80f98 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:40:27 -0500 Subject: [PATCH 08/10] Decomp `AdventureFlags::func_ov00_02097e6c` --- config/eur/arm9/overlays/ov000/symbols.txt | 2 +- config/usa/arm9/overlays/ov000/symbols.txt | 2 +- src/00_Core/Save/AdventureFlags.cpp | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index f8687c88..953088b6 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1325,7 +1325,7 @@ _ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x20980d0 _ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x20980f4 _Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x20980f8 _Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x20980fc -_ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x2098114 +_Z19func_ov000_02098114P15CutsceneHandler kind:function(arm,size=0x3c) addr:0x2098114 _ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x2098150 _ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x20981b8 _ZN15CutsceneHandler19func_ov000_020985c0Ev kind:function(arm,size=0x4) addr:0x20985c0 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index d49f2f43..c4d6977d 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -1325,7 +1325,7 @@ _ZN8FlagsUnkD1Ev kind:function(arm,size=0x24) addr:0x2098070 _ZN9FlagsUnk2D1Ev kind:function(arm,size=0x4) addr:0x2098094 _Z19func_ov000_020980f8P15CutsceneHandler kind:function(arm,size=0x4) addr:0x2098098 _Z19func_ov000_020980fcP15CutsceneHandler kind:function(arm,size=0x18) addr:0x209809c -_ZN15CutsceneHandler19func_ov000_02098114Ev kind:function(arm,size=0x3c) addr:0x20980b4 +_Z19func_ov000_02098114P15CutsceneHandler kind:function(arm,size=0x3c) addr:0x20980b4 _ZN15CutsceneHandler12SkipCutsceneEi kind:function(arm,size=0x68) addr:0x20980f0 _ZN15CutsceneHandler19func_ov000_020981b8EPi kind:function(arm,size=0x408) addr:0x2098158 _ZN15CutsceneHandler19func_ov000_020985c0Ev kind:function(arm,size=0x4) addr:0x2098560 diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index 737c190c..e4bacb50 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -2,6 +2,7 @@ extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler); +extern bool func_ov000_02098114(CutsceneHandler *cutsceneHandler); extern u8 data_ov000_020e310c[]; extern u8 data_ov000_020e313c[]; extern u8 data_ov000_020e3140[]; @@ -93,7 +94,10 @@ FlagsUnk *AdventureFlags::Get_FlagsUnk(s32 index) { return (FlagsUnk *) (data_ov000_020e310c + index * 0x4C); } -bool AdventureFlags::func_ov00_02097e6c() {} +bool AdventureFlags::func_ov00_02097e6c() { + return func_ov000_02098114(this->mCutsceneHandler); +} + bool AdventureFlags::func_ov00_02097e7c() {} bool AdventureFlags::func_ov00_02097ea4() {} unk32 AdventureFlags::func_ov00_02097ecc() {} From 30292ac3ff3b41e5473ce9305915165cba277ea5 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:51:29 -0500 Subject: [PATCH 09/10] Decomp `AdventureFlags::func_ov00_02097e7c` --- src/00_Core/Save/AdventureFlags.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index e4bacb50..a2caebbd 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -1,4 +1,5 @@ #include "Save/AdventureFlags.hpp" +#include "Cutscene/CutsceneHandler.hpp" extern void func_ov000_020980f8(CutsceneHandler *cutsceneHandler); extern unk32 func_ov000_020980fc(CutsceneHandler *cutsceneHandler); @@ -98,7 +99,18 @@ bool AdventureFlags::func_ov00_02097e6c() { return func_ov000_02098114(this->mCutsceneHandler); } -bool AdventureFlags::func_ov00_02097e7c() {} +bool AdventureFlags::func_ov00_02097e7c() { + bool bVar1; + + bVar1 = this->func_ov00_02097e6c(); + if (bVar1) { + bVar1 = this->mCutsceneHandler->SkipCutscene(0); + return bVar1; + } + + return false; +} + bool AdventureFlags::func_ov00_02097ea4() {} unk32 AdventureFlags::func_ov00_02097ecc() {} void *AdventureFlags::func_ov00_02097f8c() {} From d4a4be5dfcba3568ed18106ed02ca0c28df1e681 Mon Sep 17 00:00:00 2001 From: mike8699 Date: Wed, 8 Jan 2025 22:53:28 -0500 Subject: [PATCH 10/10] Decomp `AdventureFlags::func_ov00_02097ea4` --- src/00_Core/Save/AdventureFlags.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/00_Core/Save/AdventureFlags.cpp b/src/00_Core/Save/AdventureFlags.cpp index a2caebbd..012e9efa 100644 --- a/src/00_Core/Save/AdventureFlags.cpp +++ b/src/00_Core/Save/AdventureFlags.cpp @@ -111,7 +111,17 @@ bool AdventureFlags::func_ov00_02097e7c() { return false; } -bool AdventureFlags::func_ov00_02097ea4() {} +bool AdventureFlags::func_ov00_02097ea4() { + bool bVar1; + + bVar1 = this->func_ov00_02097e6c(); + if (bVar1) { + bVar1 = this->mCutsceneHandler->SkipCutscene(1); + return bVar1; + } + + return false; +} unk32 AdventureFlags::func_ov00_02097ecc() {} void *AdventureFlags::func_ov00_02097f8c() {} void *AdventureFlags::func_ov00_02097fac() {}