feat: updated mod dependencies to make it 1.40 compatible#7
Open
MILES-FAN wants to merge 1 commit into
Open
Conversation
|
Download link 🥺 |
|
Please release 🥺 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updated dependencies for Beat Saber 1.40.8 compatibility and migrated build scripts to the latest template.
Note: Much of the migration was assisted by Claude Code, the PR may contain some non-essential changes.
Known Issues
Result
It compiles and runs on my quest 3, only limited tests applied to it though.
Screenshot
Modifications
Rest are generated changelogs.
Dependency Upgrades (BS 1.28 → 1.40.8)
bs-cordlbeatsaber-hookscotland2custom-typesrapidjson-macrospaper→paper2_scotland2bsmlbsq-ports/Quest-BSMLlapizraineaeternal/Lapizchatplex-sdk-bshardcpp/QuestChatPlexSDK-BSfmtsombrerogif-libmod.template.json1.28.0_...→1.40.8_7379packageVersionTechnical Details
1.
rapidjson-macrosv1 → v3 API ChangesAffected Files:
include/config/mini-config-utils.hpp,include/config/config.hppDECLARE_JSON_CLASS(name, body)toDECLARE_JSON_STRUCT(name) { body };.DISCARD_EXTRA_FIELDS.VALUE()andNAMED_VALUE_DEFAULTno longer include trailing semicolons in their expansion.2.
custom-typesv0.17 → v0.18 API ChangesAffected Files: Various headers including
ShaderSO.hpp,MenuInstaller.hpp,VRMSpringBone.hpp, andAvatarsFlowCoordinator.hpp.DECLARE_CLASS_CODEGEN(ns, name, base, body)to the new syntax:DECLARE_CLASS_CODEGEN(ns, name, base) { body };.3. Beat Saber 1.40.8 API Adjustments
MirrorManager.cpp: RemovedVisualEffectsControlleras this class was removed in BS 1.40.BlendShapeController.cpp: Switched fromUnityEngine::Random::get_insideUnitSphere()toget_onUnitSphere().AvatarsFlowCoordinator.cpp:il2cpp_utils::newcsstr(...)toStringW(...).System::IntPtrboolean ambiguity in bs-hook v6 by changing!ptr->m_CachedPtrto!ptr->m_CachedPtr.m_value.OVRLipSync.cpp: UpdatedgcHandle.AddrOfPinnedObject()to...ToPointer()to resolve similar ambiguity.4.
paper→paper2_scotland2MigrationUpdated all include path prefixes to
paper2_scotland2/shared/...in:src/AssetLib/modelImporter.cppsrc/UI/AvatarSettingsViewController.cppsrc/UI/modals/AvatarSelectionModal.cpp5.
bs-cordl4008 Circular Dependency FixesAffected Files:
include/AssetLib/generators/avatarGenerator.hpp,include/TPoseHelper.hppzzzz__HumanBone_impl.hppandzzzz__SkeletonBone_impl.hppbeforeUnityEngine/Avatar.hpp.avatarGenerator.hpp,System/String.hppis now included before theHumanBoneimplementation to break a circular reference chain:IEquatable_1_def.hpp→typedefs.h→String.hpp→ (Back-reference)IEquatable_1.no template named 'IEquatable_1' in namespace 'System'.Avatar.hpporHumanBonemust follow this include order to prevent build failure.6.
A64HookFunctionLinking (bs-hook v6 Change)File:
CMakeLists.txtAnd64InlineHook.cpp,inlineHook.c, andrelocate.c(fromextern/includes/beatsaber-hook/shared/inline-hook/) directly to the compilation target.A64HookFunctionwas exported bylibbeatsaber-hook.so. In v6, consumers must compile the source themselves, as the symbols in.debug.soare now markedLOCAL HIDDENand are not exported.