Skip to content

Commit 201d5c7

Browse files
Merge pull request #4 from EnderdracheLP/dev
Adding Toggle for Battery Percentage and Option to set Font Size, Tweaked Clock Position, changed MultiplayerLobby clock position
2 parents 10df1f8 + 9f2f6e0 commit 201d5c7

12 files changed

+163
-39
lines changed

.github/workflows/buildMod.yml

+28-9
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ name: NDK build
22

33
on:
44
push:
5-
branches: [ main ]
5+
branches: [ main, dev ]
66
pull_request:
7-
branches: [ main ]
7+
branches: [ main, dev ]
88

99
jobs:
1010
build:
11+
env:
12+
module_id: clockmod
1113
runs-on: ubuntu-latest
1214

1315
steps:
@@ -18,15 +20,32 @@ jobs:
1820
lfs: true
1921
- name: Install Powershell
2022
run: sudo apt-get install -y powershell
21-
22-
- name: Setup NDK
23-
id: setup-ndk
24-
uses: nttld/[email protected]
23+
24+
- name: Cache Android NDK
25+
id: cache-ndk
26+
uses: actions/cache@v2
27+
env:
28+
cache-name: cache-ndk
29+
ndkname: android-ndk-r21
2530
with:
26-
ndk-version: r21
31+
path: ndk
32+
key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.ndkname }}
33+
restore-keys: |
34+
${{ runner.os }}-${{ env.cache-name }}-${{ env.ndkname }}
35+
36+
- name: Install Android NDK
37+
if: steps.cache-ndk.outputs.cache-hit != 'true'
38+
env:
39+
ndkname: android-ndk-r21
40+
run: |
41+
wget -q -O ndk.zip https://dl.google.com/android/repository/${ndkname}-linux-x86_64.zip
42+
unzip -q ndk.zip
43+
mv ${ndkname} ndk
2744
2845
- name: Create ndkpath.txt
29-
run: echo ${{ steps.setup-ndk.outputs.ndk-path }} > ${GITHUB_WORKSPACE}/ndkpath.txt
46+
run: |
47+
cd ndk
48+
pwd > ${GITHUB_WORKSPACE}/ndkpath.txt
3049
3150
# - name: Cache QPM
3251
# id: cache-qpm
@@ -76,7 +95,7 @@ jobs:
7695
id: libname
7796
run: |
7897
cd ./libs/arm64-v8a/
79-
pattern="libclockmod.so"
98+
pattern="lib${module_id}*.so"
8099
files=( $pattern )
81100
echo ::set-output name=NAME::"${files[0]}"
82101
- name: Upload non-debug artifact

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
!.vscode/c_cpp_properties.json
3636
!.vscode/tasks.json
3737

38+
# Visual Stuido Stuff
39+
.vs/
40+
3841
# NDK stuff
3942
out/
4043
[Ll]ib/

Android.mk

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ LOCAL_MODULE := codegen_0_6_2
3535
LOCAL_EXPORT_C_INCLUDES := extern/codegen
3636
LOCAL_SRC_FILES := extern/libcodegen_0_6_2.so
3737
include $(PREBUILT_SHARED_LIBRARY)
38-
# Creating prebuilt for dependency: questui - version: 0.4.3
38+
# Creating prebuilt for dependency: questui - version: 0.4.4
3939
include $(CLEAR_VARS)
4040
LOCAL_MODULE := questui
4141
LOCAL_EXPORT_C_INCLUDES := extern/questui
@@ -65,7 +65,7 @@ LOCAL_SHARED_LIBRARIES += codegen_0_6_2
6565
LOCAL_SHARED_LIBRARIES += questui
6666
LOCAL_SHARED_LIBRARIES += custom-types
6767
LOCAL_LDLIBS += -llog
68-
LOCAL_CFLAGS += -I'extern/libil2cpp/il2cpp/libil2cpp' -DID='"clockmod"' -DVERSION='"0.1.2"' -I'./shared' -I'./extern' -isystem'extern/codegen/include'
68+
LOCAL_CFLAGS += -I'extern/libil2cpp/il2cpp/libil2cpp' -DID='"clockmod"' -DVERSION='"0.1.3"' -I'./shared' -I'./extern' -isystem'extern/codegen/include'
6969
LOCAL_CPPFLAGS += -std=c++2a
7070
LOCAL_C_INCLUDES += ./include ./src
7171
include $(BUILD_SHARED_LIBRARY)

Cover.png

148 KB
Loading

bmbfmod.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
22
"id": "clockmod",
33
"name": "Clock Mod",
4-
"version": "0.1.2",
4+
"version": "0.1.3",
55
"author": "BoopetyDoopety, EnderdracheLP",
66
"description": [
77
"Displays the time in game."
88
],
99
"coverImageFilename": "Cover.png",
1010
"icon": "Cover.png",
11-
"category": "Gameplay",
11+
"category": "Other",
1212
"gameVersion": "1.13.2",
1313
"platform": "Quest",
1414
"components": [

buildBMBF.ps1

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
# Builds a .zip file for loading with BMBF
2-
& $PSScriptRoot/build.ps1
3-
4-
if ($?) {
5-
Compress-Archive -Path "./libs/arm64-v8a/libclockmod.so", "./libs/arm64-v8a/libbeatsaber-hook_1_0_12.so", "./bmbfmod.json","./Cover.png" -DestinationPath "./Clockmod.zip" -Update
6-
}
1+
# Builds a .zip file for loading with BMBF
2+
& $PSScriptRoot/build.ps1
3+
4+
if ($?) {
5+
Compress-Archive -Path "./libs/arm64-v8a/libclockmod.so", "./libs/arm64-v8a/libbeatsaber-hook_1_0_12.so", "./bmbfmod.json","./Cover.png" -DestinationPath "./Clockmod.zip" -Update
6+
}
7+
echo "Task Completed"

buildBMBFDebug.ps1

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Builds a .zip file for loading with BMBF
2+
& $PSScriptRoot/build.ps1
3+
4+
if ($?) {
5+
Compress-Archive -Path "./obj/local/arm64-v8a/libclockmod.so", "./obj/local/arm64-v8a/libbeatsaber-hook_1_0_12.so", "./bmbfmod.json","./Cover.png" -DestinationPath "./ClockmodDebug.zip" -Update
6+
}
7+
echo "Task Completed"

include/main.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111

1212
// Define these functions here so that we can easily read configuration and log information from other files
1313
Configuration& getConfig();
14-
const Logger& getLogger();
14+
Logger& logger();

qpm.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"info": {
55
"name": "CLock Mod",
66
"id": "clockmod",
7-
"version": "0.1.2",
7+
"version": "0.1.3",
88
"url": null,
99
"additionalData": {}
1010
},

src/ClockUpdater.cpp

+25-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "UnityEngine/GameObject.hpp"
66
#include "TMPro/TextMeshProUGUI.hpp"
77
#include <ctime>
8+
#include "GlobalNamespace/OVRPlugin_OVRP_1_1_0.hpp"
89
using namespace UnityEngine;
910
using namespace TMPro;
1011

@@ -29,14 +30,35 @@ void ClockMod::ClockUpdater::Update() {
2930
strftime(timestr, 20, "%H:%M", timeinfo);
3031
}
3132
}
32-
else { // If set to show 12 Hour Format
33+
else { // If set to show 24 Hour Format
3334
if (getConfig().config["SecToggle"].GetBool() == true) { //Check if seconds should be shown
3435
strftime(timestr, 20, "%l:%M:%S %p", timeinfo);
3536
}
3637
else {
3738
strftime(timestr, 20, "%l:%M %p", timeinfo);
3839
};
3940
}
41+
// Sets the fontsize
42+
float fontsize = getConfig().config["FontSize"].GetFloat();
4043
auto text = get_gameObject()->GetComponent<TextMeshProUGUI*>();
41-
text->set_text(il2cpp_utils::createcsstr(timestr));
42-
}
44+
text->set_fontSize(fontsize);
45+
// Sets position
46+
// text->get_transform()->set_position(UnityEngine::Vector3(0, 1, 2.6));
47+
// Get current Battery Level
48+
if (getConfig().config["BattToggle"].GetBool() == true) {
49+
float batterylvl = GlobalNamespace::OVRPlugin::OVRP_1_1_0::ovrp_GetSystemBatteryLevel();
50+
batterylvl = batterylvl * 100;
51+
std::string tandb = timestr;
52+
tandb += " - ";
53+
std::string batterylevel = std::to_string(batterylvl);
54+
batterylevel.erase(batterylevel.find_last_not_of('0') + 1, std::string::npos);
55+
batterylevel.erase(batterylevel.find_last_not_of('.') + 1, std::string::npos);
56+
tandb += batterylevel;
57+
tandb += "%";
58+
59+
text->set_text(il2cpp_utils::createcsstr(tandb));
60+
}
61+
else {
62+
text->set_text(il2cpp_utils::createcsstr(timestr));
63+
}
64+
}

src/ClockViewContoller.cpp

+48-8
Original file line numberDiff line numberDiff line change
@@ -23,33 +23,73 @@ void FormatToggle(ClockMod::ClockViewController* parent, bool newValue) {
2323
void SecToggle(ClockMod::ClockViewController* parent, bool newValue) {
2424
getConfig().config["SecToggle"].SetBool(newValue);
2525
}
26-
26+
void SetFontSize(ClockMod::ClockViewController* parent, float newValue) {
27+
getConfig().config["FontSize"].SetFloat(newValue);
28+
}
29+
void BattToggle(ClockMod::ClockViewController* parent, bool newValue) {
30+
getConfig().config["BattToggle"].SetBool(newValue);
31+
}
32+
//void SetClockXOffset(ClockMod::ClockViewController* parent, float newValue) {
33+
//getConfig().config["ClockXOffset"].SetFloat(newValue);
34+
//}
35+
//void SetClockYOffset(ClockMod::ClockViewController* parent, float newValue) {
36+
//getConfig().config["ClockYOffset"].SetFloat(newValue);
37+
//}
38+
//void SetClockZOffset(ClockMod::ClockViewController* parent, float newValue) {
39+
//getConfig().config["ClockZOffset"].SetFloat(newValue);
40+
//}
2741
void ClockMod::ClockViewController::DidActivate(bool firstActivation, bool addedToHierarchy, bool screenSystemEnabling) {
2842
if (firstActivation) {
2943

3044
get_gameObject()->AddComponent<Touchable*>();
3145
GameObject* container = QuestUI::BeatSaberUI::CreateScrollableSettingsContainer(get_transform());
3246
// Show Clock during Song Play
33-
UnityEngine::Events::UnityAction_1<bool>* onInSongSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
47+
auto onInSongSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
3448
classof(UnityEngine::Events::UnityAction_1<bool>*), this, InSongToggle
3549
);
3650
UnityEngine::UI::Toggle* InsongToggleObject = QuestUI::BeatSaberUI::CreateToggle(container->get_transform(), "Show During Song", getConfig().config["insong"].GetBool(), onInSongSettingChange);
37-
QuestUI::BeatSaberUI::AddHoverHint(InsongToggleObject->get_gameObject(), "Whether or not to show the Clock while playing a Beatmap.");
51+
QuestUI::BeatSaberUI::AddHoverHint(InsongToggleObject->get_gameObject(), "If the Clock should be shown while playing a Beatmap.");
3852
// Change format 24/12
39-
UnityEngine::Events::UnityAction_1<bool>* onFormatSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
53+
auto onFormatSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
4054
classof(UnityEngine::Events::UnityAction_1<bool>*), this, FormatToggle
4155
);
4256
UnityEngine::UI::Toggle* FormatToggleObject = QuestUI::BeatSaberUI::CreateToggle(container->get_transform(), "24/12 Toggle", getConfig().config["12Toggle"].GetBool(), onFormatSettingChange);
43-
QuestUI::BeatSaberUI::AddHoverHint(FormatToggleObject->get_gameObject(), "Whether to show time in 24 Hour or 12 Hour format.");
57+
QuestUI::BeatSaberUI::AddHoverHint(FormatToggleObject->get_gameObject(), "If time should be in 12 or 24 Hour format.");
4458
// Show Seconds
45-
UnityEngine::Events::UnityAction_1<bool>* onSecSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
59+
auto onSecSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
4660
classof(UnityEngine::Events::UnityAction_1<bool>*), this, SecToggle
4761
);
4862
UnityEngine::UI::Toggle* SecToggleObject = QuestUI::BeatSaberUI::CreateToggle(container->get_transform(), "Show Seconds", getConfig().config["SecToggle"].GetBool(), onSecSettingChange);
49-
QuestUI::BeatSaberUI::AddHoverHint(SecToggleObject->get_gameObject(), "Whether or not to show seconds.");
63+
QuestUI::BeatSaberUI::AddHoverHint(SecToggleObject->get_gameObject(), "If Seconds should be displayed.");
64+
// Change Size
65+
auto onFontSizeChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<float>*>(
66+
classof(UnityEngine::Events::UnityAction_1<float>*), this, SetFontSize); // Decimal places Value Steps Min Value Max Value
67+
QuestUI::IncrementSetting* FontIncrementObject = QuestUI::BeatSaberUI::CreateIncrementSetting(container->get_transform(), "Font Size", 1, 0.1, getConfig().config["FontSize"].GetFloat(), 1.0f, 5.0f, onFontSizeChange);
68+
QuestUI::BeatSaberUI::AddHoverHint(FontIncrementObject->get_gameObject(), "Changes the Font Size of the Clock (Default: 4)");
69+
// Show Battery Percentage
70+
auto onBattSettingChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<bool>*>(
71+
classof(UnityEngine::Events::UnityAction_1<bool>*), this, BattToggle
72+
);
73+
UnityEngine::UI::Toggle* BattToggleObject = QuestUI::BeatSaberUI::CreateToggle(container->get_transform(), "Show Battery Percentage", getConfig().config["BattToggle"].GetBool(), onBattSettingChange);
74+
QuestUI::BeatSaberUI::AddHoverHint(BattToggleObject->get_gameObject(), "Displays Battery percentage next to the clock.");
75+
// Change Pos X
76+
// auto onClockXOffsetChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<float>*>(
77+
// classof(UnityEngine::Events::UnityAction_1<float>*), this, SetClockXOffset); // Decimal places Value Steps Min Value Max Value
78+
// QuestUI::IncrementSetting* ClockXIncrementObject = QuestUI::BeatSaberUI::CreateIncrementSetting(container->get_transform(), "Clock X Offset", 1, 0.1, getConfig().config["ClockXOffset"].GetFloat(), -10.0f, 10.0f, onClockXOffsetChange);
79+
// QuestUI::BeatSaberUI::AddHoverHint(ClockXIncrementObject->get_gameObject(), "Offsets the X Position of the Clock");
80+
// Change Pos Y
81+
// auto onClockYOffsetChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<float>*>(
82+
// classof(UnityEngine::Events::UnityAction_1<float>*), this, SetClockYOffset); // Decimal places Value Steps Min Value Max Value
83+
// QuestUI::IncrementSetting* ClockYIncrementObject = QuestUI::BeatSaberUI::CreateIncrementSetting(container->get_transform(), "Clock Y Offset", 1, 0.1, getConfig().config["ClockYOffset"].GetFloat(), -10.0f, 10.0f, onClockYOffsetChange);
84+
// QuestUI::BeatSaberUI::AddHoverHint(ClockYIncrementObject->get_gameObject(), "Offsets the Y Position of the Clock");
85+
// Change Pos Z
86+
// auto onClockZOffsetChange = il2cpp_utils::MakeDelegate<UnityEngine::Events::UnityAction_1<float>*>(
87+
// classof(UnityEngine::Events::UnityAction_1<float>*), this, SetClockZOffset); // Decimal places Value Steps Min Value Max Value
88+
// QuestUI::IncrementSetting* ClockZIncrementObject = QuestUI::BeatSaberUI::CreateIncrementSetting(container->get_transform(), "Clock Z Offset", 1, 0.1, getConfig().config["ClockZOffset"].GetFloat(), -10.0f, 10.0f, onClockZOffsetChange);
89+
// QuestUI::BeatSaberUI::AddHoverHint(ClockZIncrementObject->get_gameObject(), "Offsets the Z Position of the Clock");
5090
}
5191
}
5292
// Write config
5393
void ClockMod::ClockViewController::DidDeactivate(bool removedFromHierarchy, bool systemScreenDisabling) {
5494
getConfig().Write();
55-
}
95+
}

src/main.cpp

+39-7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ using namespace GlobalNamespace;
1111
#include "TMPro/TextMeshPro.hpp"
1212
#include "TMPro/TextMeshProUGUI.hpp"
1313
#include "TMPro/TextAlignmentOptions.hpp"
14+
#include "TMPro/TMP_Text.hpp"
1415
using namespace TMPro;
1516

1617
#include "UnityEngine/Canvas.hpp"
@@ -22,6 +23,7 @@ using namespace TMPro;
2223
#include "UnityEngine/RenderMode.hpp"
2324
#include "UnityEngine/UI/CanvasScaler.hpp"
2425
#include "UnityEngine/CanvasRenderer.hpp"
26+
#include "UnityEngine/MonoBehaviour.hpp"
2527
using namespace UnityEngine;
2628
using namespace UnityEngine::UI;
2729

@@ -67,7 +69,7 @@ MAKE_HOOK_OFFSETLESS(MainMenuViewController_DidActivate, void, MainMenuViewContr
6769
auto canvas_renderer = canvas_object->AddComponent<CanvasRenderer*>();
6870

6971
canvas_object->AddComponent<CurvedCanvasSettings*>();
70-
canvas_object->get_transform()->set_position(UnityEngine::Vector3(0, 0.5, 2.6));
72+
canvas_object->get_transform()->set_position(UnityEngine::Vector3(0, 0.5, 3));
7173
canvas_object->get_transform()->set_localScale(UnityEngine::Vector3(0.1, 0.1, 0.1));
7274

7375
Object::DontDestroyOnLoad(canvas_object);
@@ -79,15 +81,23 @@ MAKE_HOOK_OFFSETLESS(MainMenuViewController_DidActivate, void, MainMenuViewContr
7981

8082
layout->GetComponent<LayoutElement*>()->set_minWidth(7);
8183
layout->GetComponent<LayoutElement*>()->set_minHeight(80);
84+
// layout->set_childAlignment(TMPro::TextAlignmentOptions::Center, TMPro::TMP_Text::m_lineSpacing(0));
8285
layout->set_childAlignment(TMPro::TextAlignmentOptions::Center);
83-
layout->get_transform()->set_position(UnityEngine::Vector3(0, -2.20, 3));
84-
clock_text->set_fontSize(4);
85-
clock_text->get_transform()->set_position(UnityEngine::Vector3(0, 1, 2.6));
86+
// layout->set_(TMPro::TMP_Text::m_lineSpacing(0))
87+
layout->get_transform()->set_position(UnityEngine::Vector3(0, -1.7, 3.85));
88+
// float fontsize = getConfig().config["FontSize"].GetFloat();
89+
90+
clock_text->get_transform()->set_position(UnityEngine::Vector3(0, 0.5, 3.85));
8691
clock_text->get_gameObject()->AddComponent<ClockMod::ClockUpdater*>();
8792
}
8893
canvas->get_gameObject()->SetActive(true);
8994
}
9095

96+
//void ClockMod::ClockViewController::DidActivate(bool firstActivation, bool addedToHierarchy, bool screenSystemEnabling) {
97+
// UnityEngine::MonoBehaviour::Update();
98+
// clock_text->get_transform()->set_position(UnityEngine::Vector3(0, 1, 12.6));
99+
//}
100+
91101
MAKE_HOOK_OFFSETLESS(AudioTimeSyncController_StartSong, void, AudioTimeSyncController* self, float startTimeOffset) {
92102
AudioTimeSyncController_StartSong(self, startTimeOffset);
93103

@@ -127,13 +137,15 @@ MAKE_HOOK_OFFSETLESS(PauseMenuManager_StartResumeAnimation, void, PauseMenuManag
127137
MAKE_HOOK_OFFSETLESS(MultiplayerLobbyController_ActivateMultiplayerLobby, void, MultiplayerLobbyController* self) {
128138
MultiplayerLobbyController_ActivateMultiplayerLobby(self);
129139

130-
layout->get_transform()->set_position(UnityEngine::Vector3(0, -1.9, 3));
140+
layout->get_transform()->set_position(UnityEngine::Vector3(0, -0.45, 1.62));
141+
layout->get_transform()->set_localScale(UnityEngine::Vector3(0.35, 0.35, 0.35));
131142
}
132143

133144
MAKE_HOOK_OFFSETLESS(MultiplayerLobbyController_DeactivateMultiplayerLobby, void, MultiplayerLobbyController* self) {
134145
MultiplayerLobbyController_DeactivateMultiplayerLobby(self);
135146

136-
layout->get_transform()->set_position(UnityEngine::Vector3(0, -2.2, 3));
147+
layout->get_transform()->set_position(UnityEngine::Vector3(0, -1.7, 3.85));
148+
layout->get_transform()->set_localScale(UnityEngine::Vector3(1.0, 1.0, 1.0));
137149
}
138150

139151
// Called at the early stages of game loading
@@ -147,7 +159,7 @@ extern "C" void setup(ModInfo & info) {
147159

148160
rapidjson::Document::AllocatorType& allocator = getConfig().config.GetAllocator();
149161
if (!getConfig().config.HasMember("insong")) {
150-
getConfig().config.AddMember("insong", rapidjson::Value(0).SetBool(false), allocator);
162+
getConfig().config.AddMember("insong", rapidjson::Value(0).SetBool(true), allocator);
151163
getConfig().Write();
152164
}
153165
if (!getConfig().config.HasMember("12Toggle")) {
@@ -158,6 +170,26 @@ extern "C" void setup(ModInfo & info) {
158170
getConfig().config.AddMember("SecToggle", rapidjson::Value(0).SetBool(false), allocator);
159171
getConfig().Write();
160172
}
173+
if (!getConfig().config.HasMember("FontSize")) {
174+
getConfig().config.AddMember("FontSize", rapidjson::Value(0).SetFloat(4), allocator);
175+
getConfig().Write();
176+
}
177+
if (!getConfig().config.HasMember("BattToggle")) {
178+
getConfig().config.AddMember("BattToggle", rapidjson::Value(0).SetBool(false), allocator);
179+
getConfig().Write();
180+
}
181+
// if (!getConfig().config.HasMember("ClockXOffset")) {
182+
// getConfig().config.AddMember("ClockXOffset", rapidjson::Value(0).SetFloat(0), allocator);
183+
// getConfig().Write();
184+
// }
185+
// if (!getConfig().config.HasMember("ClockYOffset")) {
186+
// getConfig().config.AddMember("ClockYOffset", rapidjson::Value(0).SetFloat(0), allocator);
187+
// getConfig().Write();
188+
// }
189+
// if (!getConfig().config.HasMember("ClockZOffset")) {
190+
// getConfig().config.AddMember("ClockZOffset", rapidjson::Value(0).SetFloat(0), allocator);
191+
// getConfig().Write();
192+
// }
161193
}
162194

163195
// Called later on in the game loading - a good time to install function hooks

0 commit comments

Comments
 (0)