Skip to content

Commit 965ab62

Browse files
Merge pull request #10 from kodenamekrak/1.25.1
0.9.1 - fix crashes for 1.25.1
2 parents 5f92d4c + 2a8beef commit 965ab62

File tree

8 files changed

+120
-74
lines changed

8 files changed

+120
-74
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ Android.mk.backup
5656
*.qmod
5757
mod.json
5858
qpm.shared.json
59-
qpm_defines.cmake
6059
![Cc][Mm]ake[Ll]ists.txt
6160

6261
# CMake stuff
@@ -65,4 +64,5 @@ cmake-build-*/
6564
extern.cmake
6665

6766
# QMOD Schema
68-
mod.json.schema
67+
mod.json.schema
68+
ndkpath.txt

include/ModConfig.hpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,4 @@ DECLARE_CONFIG(ModConfig,
2121
CONFIG_VALUE(ZRot, float, "Z Rot", 0);
2222
CONFIG_VALUE(MoveMultiplier, float, "Change movement multipler", 5.0f);
2323
CONFIG_VALUE(MoveController, int, "Controls for moving the camera", 0);
24-
25-
CONFIG_INIT_FUNCTION(
26-
CONFIG_INIT_VALUE(Active);
27-
CONFIG_INIT_VALUE(Fixed);
28-
CONFIG_INIT_VALUE(LeftSaber);
29-
CONFIG_INIT_VALUE(SwapSaber);
30-
CONFIG_INIT_VALUE(ApplyOffsets);
31-
CONFIG_INIT_VALUE(OnlyPos);
32-
CONFIG_INIT_VALUE(MoveWhilePlaying);
33-
CONFIG_INIT_VALUE(DisableWhileReplay);
34-
CONFIG_INIT_VALUE(WashingMachine);
35-
CONFIG_INIT_VALUE(WashingMachineSpeed);
36-
CONFIG_INIT_VALUE(XOffset);
37-
CONFIG_INIT_VALUE(YOffset);
38-
CONFIG_INIT_VALUE(ZOffset);
39-
CONFIG_INIT_VALUE(XRot);
40-
CONFIG_INIT_VALUE(YRot);
41-
CONFIG_INIT_VALUE(ZRot);
42-
CONFIG_INIT_VALUE(MoveMultiplier);
43-
CONFIG_INIT_VALUE(MoveController);
44-
)
4524
)

mod.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "Third Person mod",
44
"id": "Play3rdPer",
55
"author": "ComputerElite",
6-
"version": "0.9.0",
6+
"version": "0.9.1",
77
"packageId": "com.beatgames.beatsaber",
88
"packageVersion": "1.25.1",
99
"coverImage": "cover.png",
@@ -19,9 +19,9 @@
1919
"downloadIfMissing": "https://github.com/sc2ad/BeatSaber-Quest-Codegen/releases/download/v0.28.0/Codegen.qmod"
2020
},
2121
{
22-
"version": "^0.17.4",
22+
"version": "^0.17.5",
2323
"id": "questui",
24-
"downloadIfMissing": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.4/QuestUI.qmod"
24+
"downloadIfMissing": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.5/QuestUI.qmod"
2525
}
2626
],
2727
"modFiles": [

mod.template.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"_QPVersion": "0.1.1",
33
"id": "Play3rdPer",
44
"name": "Third Person mod",
5-
"version": "0.9.0",
5+
"version": "0.9.1",
66
"coverImage": "cover.png",
77
"author": "ComputerElite",
88
"packageId": "com.beatgames.beatsaber",

qpm.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"info": {
55
"name": "Third Person Mod",
66
"id": "Play3rdPer",
7-
"version": "0.5.0",
7+
"version": "0.9.1",
88
"url": null,
99
"additionalData": {
1010
"overrideSoName": "libPlay3rdPer.so"
@@ -17,28 +17,28 @@
1717
"additionalData": {}
1818
},
1919
{
20-
"id": "config-utils",
21-
"versionRange": "*",
20+
"id": "beatsaber-hook",
21+
"versionRange": "^3.14.0",
2222
"additionalData": {}
2323
},
2424
{
25-
"id": "beatsaber-hook",
26-
"versionRange": "^3.14.0",
25+
"id": "codegen",
26+
"versionRange": "^0.28.0",
2727
"additionalData": {}
2828
},
2929
{
30-
"id": "custom-types",
31-
"versionRange": "^0.15.21",
30+
"id": "questui",
31+
"versionRange": "^0.17.5",
3232
"additionalData": {}
3333
},
3434
{
35-
"id": "codegen",
36-
"versionRange": "^0.28.0",
35+
"id": "custom-types",
36+
"versionRange": "^0.15.21",
3737
"additionalData": {}
3838
},
3939
{
40-
"id": "questui",
41-
"versionRange": "^0.17.4",
40+
"id": "config-utils",
41+
"versionRange": "^1.0.1",
4242
"additionalData": {}
4343
}
4444
],

qpm.shared.json

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"info": {
66
"name": "Third Person Mod",
77
"id": "Play3rdPer",
8-
"version": "0.5.0",
8+
"version": "0.9.1",
99
"url": null,
1010
"additionalData": {
1111
"overrideSoName": "libPlay3rdPer.so"
@@ -18,32 +18,31 @@
1818
"additionalData": {}
1919
},
2020
{
21-
"id": "config-utils",
22-
"versionRange": "*",
21+
"id": "beatsaber-hook",
22+
"versionRange": "^3.14.0",
2323
"additionalData": {}
2424
},
2525
{
26-
"id": "beatsaber-hook",
27-
"versionRange": "^3.14.0",
26+
"id": "codegen",
27+
"versionRange": "^0.28.0",
2828
"additionalData": {}
2929
},
3030
{
31-
"id": "custom-types",
32-
"versionRange": "^0.15.21",
31+
"id": "questui",
32+
"versionRange": "^0.17.5",
3333
"additionalData": {}
3434
},
3535
{
36-
"id": "codegen",
37-
"versionRange": "^0.28.0",
36+
"id": "custom-types",
37+
"versionRange": "^0.15.21",
3838
"additionalData": {}
3939
},
4040
{
41-
"id": "questui",
42-
"versionRange": "^0.17.4",
41+
"id": "config-utils",
42+
"versionRange": "^1.0.1",
4343
"additionalData": {}
4444
}
45-
],
46-
"additionalData": {}
45+
]
4746
},
4847
"restoredDependencies": [
4948
{
@@ -61,7 +60,7 @@
6160
{
6261
"dependency": {
6362
"id": "libil2cpp",
64-
"versionRange": "^0.2.3",
63+
"versionRange": "=0.2.3",
6564
"additionalData": {
6665
"headersOnly": true
6766
}
@@ -71,35 +70,46 @@
7170
{
7271
"dependency": {
7372
"id": "config-utils",
74-
"versionRange": "*",
73+
"versionRange": "=1.0.1",
7574
"additionalData": {
7675
"headersOnly": true,
77-
"soLink": "https://github.com/darknight1050/config-utils/releases/download/v0.8.0/libconfig-utils_test.so",
78-
"debugSoLink": "https://github.com/darknight1050/config-utils/releases/download/v0.8.0/debug_libconfig-utils_test.so",
76+
"soLink": "https://github.com/darknight1050/config-utils/releases/download/v1.0.1/libconfig-utils_test.so",
77+
"debugSoLink": "https://github.com/darknight1050/config-utils/releases/download/v1.0.1/debug_libconfig-utils_test.so",
7978
"overrideSoName": "libconfig-utils_test.so",
80-
"branchName": "version-v0.8.0"
79+
"branchName": "version-v1.0.1"
8180
}
8281
},
83-
"version": "0.8.0"
82+
"version": "1.0.1"
8483
},
8584
{
8685
"dependency": {
8786
"id": "custom-types",
88-
"versionRange": "^0.15.21",
87+
"versionRange": "=0.15.22",
8988
"additionalData": {
90-
"soLink": "https://github.com/sc2ad/Il2CppQuestTypePatching/releases/download/v0.15.21/libcustom-types.so",
91-
"debugSoLink": "https://github.com/sc2ad/Il2CppQuestTypePatching/releases/download/v0.15.21/debug_libcustom-types.so",
89+
"soLink": "https://github.com/sc2ad/Il2CppQuestTypePatching/releases/download/v0.15.22/libcustom-types.so",
90+
"debugSoLink": "https://github.com/sc2ad/Il2CppQuestTypePatching/releases/download/v0.15.22/debug_libcustom-types.so",
9291
"overrideSoName": "libcustom-types.so",
93-
"modLink": "https://github.com/sc2ad/Il2CppQuestTypePatching/releases/download/v0.15.21/CustomTypes.qmod",
94-
"branchName": "version-v0.15.21"
92+
"modLink": "https://github.com/sc2ad/Il2CppQuestTypePatching/releases/download/v0.15.22/CustomTypes.qmod",
93+
"branchName": "version-v0.15.22"
9594
}
9695
},
97-
"version": "0.15.21"
96+
"version": "0.15.22"
97+
},
98+
{
99+
"dependency": {
100+
"id": "rapidjson-macros",
101+
"versionRange": "=0.4.4",
102+
"additionalData": {
103+
"headersOnly": true,
104+
"branchName": "version-v0.4.4"
105+
}
106+
},
107+
"version": "0.4.4"
98108
},
99109
{
100110
"dependency": {
101111
"id": "beatsaber-hook",
102-
"versionRange": "^3.14.0",
112+
"versionRange": "=3.14.0",
103113
"additionalData": {
104114
"soLink": "https://github.com/sc2ad/beatsaber-hook/releases/download/v3.14.0/libbeatsaber-hook_3_14_0.so",
105115
"debugSoLink": "https://github.com/sc2ad/beatsaber-hook/releases/download/v3.14.0/debug_libbeatsaber-hook_3_14_0.so",
@@ -111,7 +121,7 @@
111121
{
112122
"dependency": {
113123
"id": "codegen",
114-
"versionRange": "^0.28.0",
124+
"versionRange": "=0.28.0",
115125
"additionalData": {
116126
"soLink": "https://github.com/sc2ad/BeatSaber-Quest-Codegen/releases/download/v0.28.0/libcodegen.so",
117127
"overrideSoName": "libcodegen.so",
@@ -124,21 +134,21 @@
124134
{
125135
"dependency": {
126136
"id": "questui",
127-
"versionRange": "^0.17.4",
137+
"versionRange": "=0.17.5",
128138
"additionalData": {
129-
"soLink": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.4/libquestui.so",
130-
"debugSoLink": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.4/debug_libquestui.so",
139+
"soLink": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.5/libquestui.so",
140+
"debugSoLink": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.5/debug_libquestui.so",
131141
"overrideSoName": "libquestui.so",
132-
"modLink": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.4/QuestUI.qmod",
133-
"branchName": "version-v0.17.4",
142+
"modLink": "https://github.com/darknight1050/QuestUI/releases/download/v0.17.5/QuestUI.qmod",
143+
"branchName": "version-v0.17.5",
134144
"compileOptions": {
135145
"systemIncludes": [
136146
"shared/cppcodec"
137147
]
138148
}
139149
}
140150
},
141-
"version": "0.17.4"
151+
"version": "0.17.5"
142152
}
143153
]
144154
}

qpm_defines.cmake

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# YOU SHOULD NOT MANUALLY EDIT THIS FILE, QPM WILL VOID ALL CHANGES
2+
# Version defines, pretty useful
3+
set(MOD_VERSION "0.9.1")
4+
# take the mod name and just remove spaces, that will be MOD_ID, if you don't like it change it after the include of this file
5+
set(MOD_ID "ThirdPersonMod")
6+
7+
# derived from override .so name or just id_version
8+
set(COMPILE_ID "Play3rdPer")
9+
# derived from whichever codegen package is installed, will default to just codegen
10+
set(CODEGEN_ID "codegen")
11+
12+
# given from qpm, automatically updated from qpm.json
13+
set(EXTERN_DIR_NAME "extern")
14+
set(SHARED_DIR_NAME "shared")
15+
16+
# if no target given, use Debug
17+
if (NOT DEFINED CMAKE_BUILD_TYPE)
18+
set(CMAKE_BUILD_TYPE "Debug")
19+
endif()
20+
21+
# defines used in ninja / cmake ndk builds
22+
if (NOT DEFINED CMAKE_ANDROID_NDK)
23+
if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/ndkpath.txt")
24+
file (STRINGS "ndkpath.txt" CMAKE_ANDROID_NDK)
25+
else()
26+
if(EXISTS $ENV{ANDROID_NDK_HOME})
27+
set(CMAKE_ANDROID_NDK $ENV{ANDROID_NDK_HOME})
28+
elseif(EXISTS $ENV{ANDROID_NDK_LATEST_HOME})
29+
set(CMAKE_ANDROID_NDK $ENV{ANDROID_NDK_LATEST_HOME})
30+
endif()
31+
endif()
32+
endif()
33+
if (NOT DEFINED CMAKE_ANDROID_NDK)
34+
message(Big time error buddy, no NDK)
35+
endif()
36+
message(Using NDK ${CMAKE_ANDROID_NDK})
37+
string(REPLACE "\\" "/" CMAKE_ANDROID_NDK ${CMAKE_ANDROID_NDK})
38+
39+
set(ANDROID_PLATFORM 24)
40+
set(ANDROID_ABI arm64-v8a)
41+
set(ANDROID_STL c++_static)
42+
set(ANDROID_USE_LEGACY_TOOLCHAIN_FILE OFF)
43+
44+
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_ANDROID_NDK}/build/cmake/android.toolchain.cmake)
45+
# define used for external data, mostly just the qpm dependencies
46+
set(EXTERN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${EXTERN_DIR_NAME})
47+
set(SHARED_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${SHARED_DIR_NAME})
48+
# get files by filter recursively
49+
MACRO(RECURSE_FILES return_list filter)
50+
FILE(GLOB_RECURSE new_list ${filter})
51+
SET(file_list "")
52+
FOREACH(file_path ${new_list})
53+
SET(file_list ${file_list} ${file_path})
54+
ENDFOREACH()
55+
LIST(REMOVE_DUPLICATES file_list)
56+
SET(${return_list} ${file_list})
57+
ENDMACRO()

src/main.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
using namespace GlobalNamespace;
3838

3939
static ModInfo modInfo;
40-
DEFINE_CONFIG(ModConfig);
4140

4241
Logger& getLogger() {
4342
static Logger* logger = new Logger(modInfo, LoggerOptions(false, true));
@@ -68,8 +67,8 @@ UnityEngine::Matrix4x4 TranslateMatrix(UnityEngine::Vector3 vector)
6867

6968
VRController* rightController = nullptr;
7069
VRController* leftController = nullptr;
71-
UnityEngine::Vector3 saberRot = UnityEngine::Vector3(getModConfig().XRot.GetValue(), getModConfig().YRot.GetValue(), getModConfig().ZRot.GetValue());
72-
UnityEngine::Vector3 saberPos = UnityEngine::Vector3(getModConfig().XOffset.GetValue(), getModConfig().YOffset.GetValue(), getModConfig().ZOffset.GetValue());
70+
UnityEngine::Vector3 saberRot;
71+
UnityEngine::Vector3 saberPos;
7372

7473
UnityEngine::Vector3 prevPos = UnityEngine::Vector3(0.0f, 0.0f, 0.0f);
7574

@@ -100,6 +99,7 @@ if(shouldGetControllers) {
10099
}
101100

102101
UnityEngine::Camera* c = UnityEngine::Camera::get_main();
102+
if(!c) return;
103103
UnityEngine::Vector3 rot = c->get_transform()->get_eulerAngles();
104104
UnityEngine::Vector3 pos = c->get_transform()->get_position();
105105

0 commit comments

Comments
 (0)