Skip to content

Commit 3b0b99f

Browse files
lib update
1 parent b0f6a94 commit 3b0b99f

2 files changed

Lines changed: 35 additions & 29 deletions

File tree

Android.mk

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,26 @@ LOCAL_MODULE := modloader
2424
LOCAL_EXPORT_C_INCLUDES := extern/modloader
2525
LOCAL_SRC_FILES := extern/libmodloader.so
2626
include $(PREBUILT_SHARED_LIBRARY)
27-
# Creating prebuilt for dependency: beatsaber-hook - version: 1.3.3
27+
# Creating prebuilt for dependency: beatsaber-hook - version: 2.0.3
2828
include $(CLEAR_VARS)
29-
LOCAL_MODULE := beatsaber-hook_1_3_3
29+
LOCAL_MODULE := beatsaber-hook_2_0_3
3030
LOCAL_EXPORT_C_INCLUDES := extern/beatsaber-hook
31-
LOCAL_SRC_FILES := extern/libbeatsaber-hook_1_3_3.so
31+
LOCAL_SRC_FILES := extern/libbeatsaber-hook_2_0_3.so
3232
LOCAL_CPP_FEATURES += exceptions
3333
include $(PREBUILT_SHARED_LIBRARY)
34-
# Creating prebuilt for dependency: codegen - version: 0.8.1
34+
# Creating prebuilt for dependency: codegen - version: 0.10.2
3535
include $(CLEAR_VARS)
36-
LOCAL_MODULE := codegen_0_8_1
36+
LOCAL_MODULE := codegen_0_10_2
3737
LOCAL_EXPORT_C_INCLUDES := extern/codegen
38-
LOCAL_SRC_FILES := extern/libcodegen_0_8_1.so
38+
LOCAL_SRC_FILES := extern/libcodegen_0_10_2.so
3939
include $(PREBUILT_SHARED_LIBRARY)
40-
# Creating prebuilt for dependency: questui - version: 0.6.9
40+
# Creating prebuilt for dependency: questui - version: 0.9.0
4141
include $(CLEAR_VARS)
4242
LOCAL_MODULE := questui
4343
LOCAL_EXPORT_C_INCLUDES := extern/questui
4444
LOCAL_SRC_FILES := extern/libquestui.so
4545
include $(PREBUILT_SHARED_LIBRARY)
46-
# Creating prebuilt for dependency: custom-types - version: 0.8.3
46+
# Creating prebuilt for dependency: custom-types - version: 0.12.3
4747
include $(CLEAR_VARS)
4848
LOCAL_MODULE := custom-types
4949
LOCAL_EXPORT_C_INCLUDES := extern/custom-types
@@ -56,8 +56,8 @@ LOCAL_SRC_FILES += $(call rwildcard,src/,*.cpp)
5656
LOCAL_SRC_FILES += $(call rwildcard,extern/beatsaber-hook/src/inline-hook,*.cpp)
5757
LOCAL_SRC_FILES += $(call rwildcard,extern/beatsaber-hook/src/inline-hook,*.c)
5858
LOCAL_SHARED_LIBRARIES += modloader
59-
LOCAL_SHARED_LIBRARIES += beatsaber-hook_1_3_3
60-
LOCAL_SHARED_LIBRARIES += codegen_0_8_1
59+
LOCAL_SHARED_LIBRARIES += beatsaber-hook_2_0_3
60+
LOCAL_SHARED_LIBRARIES += codegen_0_10_2
6161
LOCAL_SHARED_LIBRARIES += questui
6262
LOCAL_SHARED_LIBRARIES += custom-types
6363
LOCAL_LDLIBS += -llog

src/main.cpp

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,18 @@
1919
#include "GlobalNamespace/ResultsViewController.hpp"
2020
#include "GlobalNamespace/LevelCompletionResults.hpp"
2121

22-
#include "beatsaber-hook/shared/config/config-utils.hpp"
22+
#include "beatsaber-hook/shared/utils/typedefs.h"
23+
#include "beatsaber-hook/shared/utils/il2cpp-utils.hpp"
24+
#include "beatsaber-hook/shared/utils/logging.hpp"
25+
#include "beatsaber-hook/shared/utils/utils.h"
26+
#include "beatsaber-hook/shared/utils/hooking.hpp"
27+
#include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
2328

2429
#include "UnityEngine/UI/Image.hpp"
2530
#include "UnityEngine/Application.hpp"
2631
#include "UnityEngine/Resources.hpp"
2732
#include "UnityEngine/SceneManagement/Scene.hpp"
33+
#include "UnityEngine/SceneManagement/SceneManager.hpp"
2834

2935
#include "CrashModViewController.hpp"
3036

@@ -45,55 +51,55 @@ Logger& getLogger() {
4551

4652
void Crash() {
4753
getModConfig().CrashCounter.SetValue(getModConfig().CrashCounter.GetValue() + 1);
48-
getLogger().info("Crash number " + std::to_string(getModConfig().CrashCounter.GetValue()) + " by Crash mod");
54+
getLogger().info("Crash number %d by Crash mod", getModConfig().CrashCounter.GetValue());
4955
if(getModConfig().OnCrashAction.GetValue() == 0) CRASH_UNLESS(false);
5056
else if (getModConfig().OnCrashAction.GetValue() == 1) Application::Quit();
5157
else if (getModConfig().OnCrashAction.GetValue() == 2) while (true) malloc(1024);
5258
}
5359

54-
MAKE_HOOK_OFFSETLESS(ScoreController_HandleNoteWasMissed, void, ScoreController* self, NoteController* note) {
60+
MAKE_HOOK_MATCH(ScoreController_HandleNoteWasMissed, &ScoreController::HandleNoteWasMissed, void, ScoreController* self, NoteController* note) {
5561
ScoreController_HandleNoteWasMissed(self, note);
5662
if(getModConfig().Active.GetValue() && getModConfig().MissCrash.GetValue()) Crash();
5763
}
5864

59-
MAKE_HOOK_OFFSETLESS(ScoreController_HandleNoteWasCut, void, ScoreController* self, NoteController* note, NoteCutInfo* info) {
65+
MAKE_HOOK_MATCH(ScoreController_HandleNoteWasCut, &ScoreController::HandleNoteWasCut, void, ScoreController* self, NoteController* note, NoteCutInfo& info) {
6066
ScoreController_HandleNoteWasCut(self, note, info);
61-
if(getModConfig().Active.GetValue() && info->get_allIsOK() && getModConfig().CrashOnGoodCut.GetValue()) Crash();
67+
if(getModConfig().Active.GetValue() && info.get_allIsOK() && getModConfig().CrashOnGoodCut.GetValue()) Crash();
6268
}
6369

64-
MAKE_HOOK_OFFSETLESS(RelativeScoreAndImmediateRankCounter_UpdateRelativeScoreAndImmediateRank, void, RelativeScoreAndImmediateRankCounter* self, int score, int modifiedscore, int maxscore, int maxmodfifiedscore) {
70+
MAKE_HOOK_MATCH(RelativeScoreAndImmediateRankCounter_UpdateRelativeScoreAndImmediateRank, &RelativeScoreAndImmediateRankCounter::UpdateRelativeScoreAndImmediateRank, void, RelativeScoreAndImmediateRankCounter* self, int score, int modifiedscore, int maxscore, int maxmodfifiedscore) {
6571
RelativeScoreAndImmediateRankCounter_UpdateRelativeScoreAndImmediateRank(self, score, modifiedscore, maxscore, maxmodfifiedscore);
6672
if(getModConfig().Active.GetValue() && getModConfig().PercentageActive.GetValue() && self->get_relativeScore() < getModConfig().Percentage.GetValue() / 100) Crash();
6773
}
6874

69-
MAKE_HOOK_OFFSETLESS(StandardLevelScenesTransitionSetupDataSO_Init, void, StandardLevelScenesTransitionSetupDataSO* self, Il2CppString* gameMode, IDifficultyBeatmap* dbm, IPreviewBeatmapLevel previewBeatmapLevel, OverrideEnvironmentSettings* overrideEnvironmentSettings, ColorScheme* overrideColorScheme, GameplayModifiers* gameplayModifiers, PlayerSpecificSettings* playerSpecificSettings, PracticeSettings* practiceSettings, Il2CppString* backButtonText, bool useTestNoteCutSoundEffects) {
75+
MAKE_HOOK_MATCH(StandardLevelScenesTransitionSetupDataSO_Init, &StandardLevelScenesTransitionSetupDataSO::Init, void, StandardLevelScenesTransitionSetupDataSO* self, Il2CppString* gameMode, IDifficultyBeatmap* dbm, IPreviewBeatmapLevel* previewBeatmapLevel, OverrideEnvironmentSettings* overrideEnvironmentSettings, ColorScheme* overrideColorScheme, GameplayModifiers* gameplayModifiers, PlayerSpecificSettings* playerSpecificSettings, PracticeSettings* practiceSettings, Il2CppString* backButtonText, bool useTestNoteCutSoundEffects) {
7076
StandardLevelScenesTransitionSetupDataSO_Init(self, gameMode, dbm, previewBeatmapLevel, overrideEnvironmentSettings, overrideColorScheme, gameplayModifiers, playerSpecificSettings, practiceSettings, backButtonText, useTestNoteCutSoundEffects);
7177
if(getModConfig().Active.GetValue()) {
7278
if(getModConfig().CrashOnPlay.GetValue() || getModConfig().CrashOnNoFailOn.GetValue() && gameplayModifiers->noFailOn0Energy) Crash();
7379
}
7480
}
7581

76-
MAKE_HOOK_OFFSETLESS(PlayerTransforms_Update, void, PlayerTransforms* self) {
82+
MAKE_HOOK_MATCH(PlayerTransforms_Update, &PlayerTransforms::Update, void, PlayerTransforms* self) {
7783
PlayerTransforms_Update(self);
7884
if(getModConfig().Active.GetValue() && getModConfig().CrashOnTurn.GetValue() && self->headWorldRot.get_eulerAngles().y > 165 && self->headWorldRot.get_eulerAngles().y < 195) Crash();
7985
}
8086

81-
MAKE_HOOK_OFFSETLESS(PauseController_HandleMenuButtonTriggered, void, PauseController* self) {
87+
MAKE_HOOK_MATCH(PauseController_HandleMenuButtonTriggered, &PauseController::HandleMenuButtonTriggered, void, PauseController* self) {
8288
PauseController_HandleMenuButtonTriggered(self);
8389
if(getModConfig().Active.GetValue() && getModConfig().CrashOnPause.GetValue()) Crash();
8490
}
8591

86-
MAKE_HOOK_OFFSETLESS(PauseController_HandlePauseMenuManagerDidFinishResumeAnimation, void, PauseController* self) {
92+
MAKE_HOOK_MATCH(PauseController_HandlePauseMenuManagerDidFinishResumeAnimation, &PauseController::HandlePauseMenuManagerDidFinishResumeAnimation, void, PauseController* self) {
8793
PauseController_HandlePauseMenuManagerDidFinishResumeAnimation(self);
8894
if(getModConfig().Active.GetValue() && getModConfig().CrashOnUnpause.GetValue()) Crash();
8995
}
9096

91-
MAKE_HOOK_OFFSETLESS(SceneManager_ActiveSceneChanged, void, UnityEngine::SceneManagement::Scene previousActiveScene, UnityEngine::SceneManagement::Scene nextActiveScene) {
97+
MAKE_HOOK_MATCH(SceneManager_ActiveSceneChanged, &UnityEngine::SceneManagement::SceneManager::Internal_ActiveSceneChanged, void, UnityEngine::SceneManagement::Scene previousActiveScene, UnityEngine::SceneManagement::Scene nextActiveScene) {
9298
SceneManager_ActiveSceneChanged(previousActiveScene, nextActiveScene);
9399
if(getModConfig().Active.GetValue() && getModConfig().CrashOnOver5PerBattery.GetValue() && GlobalNamespace::OVRPlugin::OVRP_1_1_0::ovrp_GetSystemBatteryLevel() > getModConfig().BatteryThreshold.GetValue() / 100) Crash();
94100
}
95101

96-
MAKE_HOOK_OFFSETLESS(ResultsViewController_Init, void, ResultsViewController* self, LevelCompletionResults* result, IDifficultyBeatmap* beatmap, bool practice, bool newHighScore) {
102+
MAKE_HOOK_MATCH(ResultsViewController_Init, &ResultsViewController::Init, void, ResultsViewController* self, LevelCompletionResults* result, IDifficultyBeatmap* beatmap, bool practice, bool newHighScore) {
97103
ResultsViewController_Init(self, result, beatmap, practice, newHighScore);
98104
if(getModConfig().Active.GetValue() && ((getModConfig().CrashOnNotFullCombo.GetValue() && !result->fullCombo) || (getModConfig().CrashOnNewHighscore.GetValue() && self->newHighScore))) Crash();
99105
}
@@ -117,13 +123,13 @@ extern "C" void load() {
117123
// Register our mod settings menu
118124
QuestUI::Register::RegisterModSettingsViewController(modInfo, DidActivate);
119125
// Install our hooks
120-
INSTALL_HOOK_OFFSETLESS(logger, PlayerTransforms_Update, il2cpp_utils::FindMethodUnsafe("", "PlayerTransforms", "Update", 0));
121-
INSTALL_HOOK_OFFSETLESS(logger, ScoreController_HandleNoteWasMissed, il2cpp_utils::FindMethodUnsafe("", "ScoreController", "HandleNoteWasMissed", 1));
122-
INSTALL_HOOK_OFFSETLESS(logger, ScoreController_HandleNoteWasCut, il2cpp_utils::FindMethodUnsafe("", "ScoreController", "HandleNoteWasCut", 2));
123-
INSTALL_HOOK_OFFSETLESS(logger, RelativeScoreAndImmediateRankCounter_UpdateRelativeScoreAndImmediateRank, il2cpp_utils::FindMethodUnsafe("", "RelativeScoreAndImmediateRankCounter", "UpdateRelativeScoreAndImmediateRank", 4));
124-
INSTALL_HOOK_OFFSETLESS(logger, StandardLevelScenesTransitionSetupDataSO_Init, il2cpp_utils::FindMethodUnsafe("", "StandardLevelScenesTransitionSetupDataSO", "Init", 10));
125-
INSTALL_HOOK_OFFSETLESS(logger, SceneManager_ActiveSceneChanged, il2cpp_utils::FindMethodUnsafe("UnityEngine.SceneManagement", "SceneManager", "Internal_ActiveSceneChanged", 2));
126-
INSTALL_HOOK_OFFSETLESS(logger, ResultsViewController_Init, il2cpp_utils::FindMethodUnsafe("", "ResultsViewController", "Init", 4));
126+
INSTALL_HOOK(logger, PlayerTransforms_Update);
127+
INSTALL_HOOK(logger, ScoreController_HandleNoteWasMissed);
128+
INSTALL_HOOK(logger, ScoreController_HandleNoteWasCut);
129+
INSTALL_HOOK(logger, RelativeScoreAndImmediateRankCounter_UpdateRelativeScoreAndImmediateRank);
130+
INSTALL_HOOK(logger, StandardLevelScenesTransitionSetupDataSO_Init);
131+
INSTALL_HOOK(logger, SceneManager_ActiveSceneChanged);
132+
INSTALL_HOOK(logger, ResultsViewController_Init);
127133
//INSTALL_HOOK_OFFSETLESS(logger, PauseController_HandleMenuButtonTriggered, il2cpp_utils::FindMethodUnsafe("", "PauseController", "HandleMenuButtonTriggered", 0));
128134
//INSTALL_HOOK_OFFSETLESS(logger, PauseController_HandlePauseMenuManagerDidFinishResumeAnimation, il2cpp_utils::FindMethodUnsafe("", "PauseController", "HandlePauseMenuManagerDidFinishResumeAnimation", 0));
129135
getLogger().info("Installed all hooks!");

0 commit comments

Comments
 (0)