Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/buildModPR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
name: Checkout
with:
submodules: true
Expand All @@ -22,10 +22,10 @@ jobs:
- name: Get Version
shell: pwsh
run: |
$branchParts = '${{ github.ref_name }}'.Split('/'); $branchMain = $branchParts[0]; if ($branchParts[0] -match "^\d+$") { $branchMain = 'pr'; $branchSub = "$($branchParts[0])." } elseif ($branchParts.Length -eq 2) { $branchSub = "$($branchParts[1].Replace('.', '-'))." }; echo "version=$((Get-Content ./qpm.shared.json -Raw | ConvertFrom-Json).config.info.version.Split('-')[0])-$($branchMain).${{ github.run_number }}+$($branchSub)ra${{ github.run_attempt }}.$($env:GITHUB_SHA.Substring(0, 7))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
$branchParts = '${{ github.ref_name }}'.Split('/'); $branchMain = $branchParts[0]; if ($branchParts[0] -match "^\d+$") { $branchMain = 'pr'; $branchSub = "$($branchParts[0])." } elseif ($branchParts.Length -eq 2) { $branchSub = "$($branchParts[1].Replace('.', '-'))." }; echo "qmodversion=$((Get-Content ./qpm.shared.json -Raw | ConvertFrom-Json).config.info.version.Split('-')[0])+$($branchMain).$($branchSub)r${{ github.run_number }}a${{ github.run_attempt }}.$($env:GITHUB_SHA.Substring(0, 7))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
$branchParts = '${{ github.ref_name }}'.Split('/'); $branchMain = $branchParts[0]; if ($branchParts[0] -match "^\d+$") { $branchMain = 'pr'; $branchSub = "$($branchParts[0])." } elseif ($branchParts.Length -eq 2) { $branchSub = "$($branchParts[1].Replace('.', '-'))." }; echo "version=$((Get-Content ./qpm.shared.json -Raw | ConvertFrom-Json).config.info.version.Replace('+', '-').Split('-')[0])-$($branchMain).${{ github.run_number }}+$($branchSub)ra${{ github.run_attempt }}.$($env:GITHUB_SHA.Substring(0, 7))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
$branchParts = '${{ github.ref_name }}'.Split('/'); $branchMain = $branchParts[0]; if ($branchParts[0] -match "^\d+$") { $branchMain = 'pr'; $branchSub = "$($branchParts[0])." } elseif ($branchParts.Length -eq 2) { $branchSub = "$($branchParts[1].Replace('.', '-'))." }; echo "qmodversion=$((Get-Content ./qpm.shared.json -Raw | ConvertFrom-Json).config.info.version.Replace('+', '-').Split('-')[0])+$($branchMain).$($branchSub)r${{ github.run_number }}a${{ github.run_attempt }}.$($env:GITHUB_SHA.Substring(0, 7))" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- uses: seanmiddleditch/gha-setup-ninja@v3
- uses: seanmiddleditch/gha-setup-ninja@v5

- name: Get QPM
uses: Fernthedev/qpm-action@v1
Expand Down Expand Up @@ -77,15 +77,15 @@ jobs:


- name: Upload non-debug artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ steps.libname.outputs.NAME }}
path: ./build/${{ steps.libname.outputs.NAME }}
if-no-files-found: error


- name: Upload debug artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: debug_${{ steps.libname.outputs.NAME }}
path: ./build/debug/${{ steps.libname.outputs.NAME }}
Expand Down
18 changes: 11 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# include some defines automatically made by qpm
include(qpm_defines.cmake)

# Bump Android sdk version
set(ANDROID_PLATFORM 29)

# Enable link time optimization
# In my experience, this can be highly unstable but it nets a huge size optimization and likely performance
# However, the instability was seen using Android.mk/ndk-build builds. With Ninja + CMake, this problem seems to have been solved.
Expand Down Expand Up @@ -35,18 +38,12 @@ add_compile_definitions(CORDL_RUNTIME_FIELD_NULL_CHECKS)
file(GLOB_RECURSE cpp_file_list ${SOURCE_DIR}/*.cpp)
file(GLOB_RECURSE c_file_list ${SOURCE_DIR}/*.c)

file(GLOB_RECURSE inline_hook_c ${EXTERN_DIR}/includes/beatsaber-hook/shared/inline-hook/*.c)
file(GLOB_RECURSE inline_hook_cpp ${EXTERN_DIR}/includes/beatsaber-hook/shared/inline-hook/*.cpp)

# add all src files to compile
add_library(
${COMPILE_ID}
SHARED
${cpp_file_list}
${c_file_list}
${inline_hook_c}
${inline_hook_cpp}
)
${c_file_list})

target_include_directories(${COMPILE_ID} PRIVATE .)

Expand All @@ -62,6 +59,13 @@ target_link_libraries(${COMPILE_ID} PRIVATE -llog ${COMPILE_ID}-assets)
# add extern stuff like libs and other includes
include(extern.cmake)

# beatsaber hook inline hook
RECURSE_FILES(src_inline_hook_beatsaber_hook_local_extra_c ${EXTERN_DIR}/includes/beatsaber-hook/shared/inline-hook/*.c)
RECURSE_FILES(src_inline_hook_beatsaber_hook_local_extra_cpp ${EXTERN_DIR}/includes/beatsaber-hook/shared/inline-hook/*.cpp)
target_sources(${COMPILE_ID} PRIVATE ${src_inline_hook_beatsaber_hook_local_extra_c})
target_sources(${COMPILE_ID} PRIVATE ${src_inline_hook_beatsaber_hook_local_extra_cpp})


add_custom_command(TARGET ${COMPILE_ID} POST_BUILD
COMMAND ${CMAKE_STRIP} -d --strip-all
"lib${COMPILE_ID}.so" -o "stripped_lib${COMPILE_ID}.so"
Expand Down
4 changes: 2 additions & 2 deletions include/Installers/MpAppInstaller.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "custom-types/shared/macros.hpp"
#include "Zenject/Installer.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::Installers, MpAppInstaller, Zenject::Installer,
DECLARE_CLASS_CODEGEN(MultiplayerCore::Installers, MpAppInstaller, ::Zenject::Installer) {
DECLARE_OVERRIDE_METHOD_MATCH(void, InstallBindings, &::Zenject::Installer::InstallBindings);
DECLARE_DEFAULT_CTOR();
)
};
4 changes: 2 additions & 2 deletions include/Installers/MpMenuInstaller.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "custom-types/shared/macros.hpp"
#include "Zenject/Installer.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::Installers, MpMenuInstaller, Zenject::Installer,
DECLARE_CLASS_CODEGEN(MultiplayerCore::Installers, MpMenuInstaller, ::Zenject::Installer) {
DECLARE_OVERRIDE_METHOD_MATCH(void, InstallBindings, &::Zenject::Installer::InstallBindings);
DECLARE_DEFAULT_CTOR();
)
};
4 changes: 2 additions & 2 deletions include/NodePoseSyncState/MpNodePoseSyncStateManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "System/IDisposable.hpp"
#include "Zenject/IInitializable.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::NodePoseSyncState, MpNodePoseSyncStateManager, GlobalNamespace::NodePoseSyncStateManager, std::vector<Il2CppClass*>({classof(Zenject::IInitializable*), classof(System::IDisposable*)}),
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::NodePoseSyncState, MpNodePoseSyncStateManager, GlobalNamespace::NodePoseSyncStateManager, ::Zenject::IInitializable*, System::IDisposable*) {
DECLARE_INSTANCE_FIELD_PRIVATE(Networking::MpPacketSerializer*, _packetSerializer);
DECLARE_INSTANCE_FIELD_PRIVATE(long, deltaUpdateFrequencyMs);
DECLARE_INSTANCE_FIELD_PRIVATE(long, fullStateUpdateFrequencyMs);
Expand All @@ -26,4 +26,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::NodePoseSyncState, MpNodePoseS

public:
void HandleNodePoseSyncUpdateReceived(MpNodePoseSyncStatePacket* data, GlobalNamespace::IConnectedPlayer* player);
)
};
4 changes: 2 additions & 2 deletions include/NodePoseSyncState/MpNodePoseSyncStatePacket.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

#include "Networking/Abstractions/MpPacket.hpp"

DECLARE_CLASS_CUSTOM(MultiplayerCore::NodePoseSyncState, MpNodePoseSyncStatePacket, MultiplayerCore::Networking::Abstractions::MpPacket,
DECLARE_CLASS_CUSTOM(MultiplayerCore::NodePoseSyncState, MpNodePoseSyncStatePacket, MultiplayerCore::Networking::Abstractions::MpPacket) {
DECLARE_INSTANCE_FIELD(long, deltaUpdateFrequencyMs);
DECLARE_INSTANCE_FIELD(long, fullStateUpdateFrequencyMs);

DECLARE_OVERRIDE_METHOD_MATCH(void, Serialize, &LiteNetLib::Utils::INetSerializable::Serialize, LiteNetLib::Utils::NetDataWriter* writer);
DECLARE_OVERRIDE_METHOD_MATCH(void, Deserialize, &LiteNetLib::Utils::INetSerializable::Deserialize, LiteNetLib::Utils::NetDataReader* reader);

DECLARE_CTOR(ctor);
)
};
5 changes: 3 additions & 2 deletions include/Objects/BGNetDebugLogger.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
#include "custom-types/shared/macros.hpp"
#include "BGNet/Logging/Debug.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Objects, BGNetDebugLogger, System::Object, classof(BGNet::Logging::Debug::ILogger*),
// TODO: This doesn't work replace with Hooks!!!
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Objects, BGNetDebugLogger, System::Object, BGNet::Logging::Debug::ILogger*) {
DECLARE_OVERRIDE_METHOD_MATCH(void, LogInfo, &::BGNet::Logging::Debug::ILogger::LogInfo, ::StringW message);
DECLARE_OVERRIDE_METHOD_MATCH(void, LogError, &::BGNet::Logging::Debug::ILogger::LogError, ::StringW message);
DECLARE_OVERRIDE_METHOD_MATCH(void, LogException, &::BGNet::Logging::Debug::ILogger::LogException, ::System::Exception* exception, ::StringW message);
Expand All @@ -12,4 +13,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Objects, BGNetDebugLogger, Sys

public:
BGNet::Logging::Debug::ILogger* i_ILogger() { return reinterpret_cast<BGNet::Logging::Debug::ILogger*>(this); }
)
};
4 changes: 2 additions & 2 deletions include/Objects/MpPlayersDataModel.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "Beatmaps/Providers/MpBeatmapLevelProvider.hpp"
#include "Beatmaps/Packets/MpBeatmapPacket.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::Objects, MpPlayersDataModel, GlobalNamespace::LobbyPlayersDataModel,
DECLARE_CLASS_CODEGEN(MultiplayerCore::Objects, MpPlayersDataModel, GlobalNamespace::LobbyPlayersDataModel) {
DECLARE_INSTANCE_FIELD_PRIVATE(Networking::MpPacketSerializer*, _packetSerializer);
DECLARE_INSTANCE_FIELD(Beatmaps::Providers::MpBeatmapLevelProvider*, _beatmapLevelProvider);
using PacketDict = System::Collections::Generic::Dictionary_2<StringW, Beatmaps::Packets::MpBeatmapPacket*>;
Expand All @@ -35,4 +35,4 @@ DECLARE_CLASS_CODEGEN(MultiplayerCore::Objects, MpPlayersDataModel, GlobalNamesp
void SendMpBeatmapPacket(GlobalNamespace::BeatmapKey beatmapKey, GlobalNamespace::IConnectedPlayer* player = nullptr);
private:
void PutPlayerPacket(StringW playerId, Beatmaps::Packets::MpBeatmapPacket* packet);
)
};
4 changes: 2 additions & 2 deletions include/Patchers/BeatmapSelectionViewPatcher.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include "GlobalNamespace/EditableBeatmapSelectionView.hpp"
#include "Zenject/DiContainer.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, BeatmapSelectionViewPatcher, System::Object, std::vector<Il2CppClass*>({classof(Zenject::IInitializable*), classof(System::IDisposable*)}),
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, BeatmapSelectionViewPatcher, System::Object, Zenject::IInitializable*, System::IDisposable*) {
DECLARE_INSTANCE_FIELD_PRIVATE(GlobalNamespace::LobbySetupViewController*, _lobbySetupViewController);
DECLARE_INSTANCE_FIELD_PRIVATE( GlobalNamespace::CenterStageScreenController*, _centerStageScreenController);
DECLARE_INSTANCE_FIELD_PRIVATE(Zenject::DiContainer*, _container);
Expand All @@ -21,4 +21,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, BeatmapSelectionView
DECLARE_OVERRIDE_METHOD_MATCH(void, Dispose, &::System::IDisposable::Dispose);
DECLARE_OVERRIDE_METHOD_MATCH(void, Initialize, &::Zenject::IInitializable::Initialize);
DECLARE_CTOR(ctor, GlobalNamespace::LobbySetupViewController* lobbySetupViewController, GlobalNamespace::CenterStageScreenController* centerStageScreenController, Zenject::DiContainer* container);
)
};
4 changes: 2 additions & 2 deletions include/Patchers/ModeSelectionPatcher.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "GlobalNamespace/INetworkConfig.hpp"
#include "System/IDisposable.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, ModeSelectionPatcher, System::Object, classof(System::IDisposable*),
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, ModeSelectionPatcher, System::Object, System::IDisposable*) {
DECLARE_INSTANCE_FIELD_PRIVATE(GlobalNamespace::INetworkConfig*, _networkConfig);
DECLARE_INSTANCE_FIELD_PRIVATE(StringW, lastStatusUrl);

Expand All @@ -18,4 +18,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, ModeSelectionPatcher
static ModeSelectionPatcher* get_instance();
private:
static ModeSelectionPatcher* instance;
)
};
4 changes: 2 additions & 2 deletions include/Patchers/PlayerCountPatcher.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "GlobalNamespace/INetworkConfig.hpp"
#include "System/IDisposable.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, PlayerCountPatcher, System::Object, classof(System::IDisposable*),
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, PlayerCountPatcher, System::Object, System::IDisposable*) {
DECLARE_INSTANCE_FIELD_PRIVATE(GlobalNamespace::INetworkConfig*, _networkConfig);

DECLARE_OVERRIDE_METHOD_MATCH(void, Dispose, &::System::IDisposable::Dispose);
Expand All @@ -24,4 +24,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::Patchers, PlayerCountPatcher,
static PlayerCountPatcher* get_instance();
private:
static PlayerCountPatcher* instance;
)
};
4 changes: 2 additions & 2 deletions include/ScoreSyncState/MpScoreSyncStateManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "System/IDisposable.hpp"
#include "Zenject/IInitializable.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::ScoreSyncState, MpScoreSyncStateManager, GlobalNamespace::ScoreSyncStateManager, std::vector<Il2CppClass*>({classof(Zenject::IInitializable*), classof(System::IDisposable*)}),
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::ScoreSyncState, MpScoreSyncStateManager, GlobalNamespace::ScoreSyncStateManager, Zenject::IInitializable*, System::IDisposable*) {
DECLARE_INSTANCE_FIELD_PRIVATE(Networking::MpPacketSerializer*, _packetSerializer);
DECLARE_INSTANCE_FIELD_PRIVATE(long, deltaUpdateFrequencyMs);
DECLARE_INSTANCE_FIELD_PRIVATE(long, fullStateUpdateFrequencyMs);
Expand All @@ -26,4 +26,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::ScoreSyncState, MpScoreSyncSta

public:
void HandleScoreSyncUpdateReceived(MpScoreSyncStatePacket* data, GlobalNamespace::IConnectedPlayer* player);
)
};
4 changes: 2 additions & 2 deletions include/ScoreSyncState/MpScoreSyncStatePacket.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

#include "Networking/Abstractions/MpPacket.hpp"

DECLARE_CLASS_CUSTOM(MultiplayerCore::ScoreSyncState, MpScoreSyncStatePacket, MultiplayerCore::Networking::Abstractions::MpPacket,
DECLARE_CLASS_CUSTOM(MultiplayerCore::ScoreSyncState, MpScoreSyncStatePacket, MultiplayerCore::Networking::Abstractions::MpPacket) {
DECLARE_INSTANCE_FIELD(long, deltaUpdateFrequencyMs);
DECLARE_INSTANCE_FIELD(long, fullStateUpdateFrequencyMs);

DECLARE_OVERRIDE_METHOD_MATCH(void, Serialize, &LiteNetLib::Utils::INetSerializable::Serialize, LiteNetLib::Utils::NetDataWriter* writer);
DECLARE_OVERRIDE_METHOD_MATCH(void, Deserialize, &LiteNetLib::Utils::INetSerializable::Deserialize, LiteNetLib::Utils::NetDataReader* reader);

DECLARE_CTOR(ctor);
)
};
4 changes: 2 additions & 2 deletions include/UI/CustomBeatmapSelectionView.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "Beatmaps/Providers/MpBeatmapLevelProvider.hpp"
#include "GlobalNamespace/EditableBeatmapSelectionView.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, CustomBeatmapSelectionView, GlobalNamespace::BeatmapSelectionView,
DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, CustomBeatmapSelectionView, GlobalNamespace::BeatmapSelectionView) {
DECLARE_INSTANCE_FIELD_PRIVATE(Objects::MpPlayersDataModel*, _mpPlayersDataModel);
DECLARE_INSTANCE_FIELD_PRIVATE(Beatmaps::Providers::MpBeatmapLevelProvider*, _mpBeatmapLevelProvider);

Expand All @@ -19,4 +19,4 @@ DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, CustomBeatmapSelectionView, GlobalNam

public:
custom_types::Helpers::Coroutine SetBeatmapCoroutine(GlobalNamespace::BeatmapKey beatmapKey, std::string levelHash);
)
};
4 changes: 2 additions & 2 deletions include/UI/CustomEditableBeatmapSelectionView.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "Beatmaps/Providers/MpBeatmapLevelProvider.hpp"
#include "GlobalNamespace/EditableBeatmapSelectionView.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, CustomEditableBeatmapSelectionView, GlobalNamespace::EditableBeatmapSelectionView,
DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, CustomEditableBeatmapSelectionView, GlobalNamespace::EditableBeatmapSelectionView) {
DECLARE_INSTANCE_FIELD_PRIVATE(Objects::MpPlayersDataModel*, _mpPlayersDataModel);
DECLARE_INSTANCE_FIELD_PRIVATE(Beatmaps::Providers::MpBeatmapLevelProvider*, _mpBeatmapLevelProvider);

Expand All @@ -19,4 +19,4 @@ DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, CustomEditableBeatmapSelectionView, G

public:
custom_types::Helpers::Coroutine SetBeatmapCoroutine(GlobalNamespace::BeatmapKey beatmapKey, std::string levelHash);
)
};
14 changes: 7 additions & 7 deletions include/UI/GameServerPlayerTableCellCustomData.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@
#include "GlobalNamespace/IConnectedPlayer.hpp"
#include "GlobalNamespace/ILobbyPlayerData.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, GameServerPlayerTableCellCustomData, UnityEngine::MonoBehaviour,
DECLARE_INJECT_METHOD(void, Inject, MultiplayerCore::Objects::MpPlayersDataModel* mpPlayersDataModel, MultiplayerCore::Beatmaps::Providers::MpBeatmapLevelProvider* beatmapLevelProvider);
DECLARE_INSTANCE_FIELD_PRIVATE(MultiplayerCore::Objects::MpPlayersDataModel*, _mpPlayersDataModel);
DECLARE_INSTANCE_FIELD(MultiplayerCore::Beatmaps::Providers::MpBeatmapLevelProvider*, _mpBeatmapLevelProvider);
DECLARE_INSTANCE_FIELD(GlobalNamespace::GameServerPlayerTableCell*, _gameServerPlayerTableCell);
DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, GameServerPlayerTableCellCustomData, UnityEngine::MonoBehaviour) {
DECLARE_INJECT_METHOD(void, Inject, MultiplayerCore::Objects::MpPlayersDataModel* mpPlayersDataModel, MultiplayerCore::Beatmaps::Providers::MpBeatmapLevelProvider* beatmapLevelProvider);
DECLARE_INSTANCE_FIELD_PRIVATE(MultiplayerCore::Objects::MpPlayersDataModel*, _mpPlayersDataModel);
DECLARE_INSTANCE_FIELD(MultiplayerCore::Beatmaps::Providers::MpBeatmapLevelProvider*, _mpBeatmapLevelProvider);
DECLARE_INSTANCE_FIELD(GlobalNamespace::GameServerPlayerTableCell*, _gameServerPlayerTableCell);

DECLARE_INSTANCE_METHOD(void, Awake);
DECLARE_INSTANCE_METHOD(void, Awake);
public:
void SetData(GlobalNamespace::IConnectedPlayer* connectedPlayer, GlobalNamespace::ILobbyPlayerData* playerData, bool hasKickPermissions, bool allowSelection, System::Threading::Tasks::Task_1<GlobalNamespace::EntitlementStatus>* getLevelEntitlementTask);
custom_types::Helpers::Coroutine SetDataCoroutine(GlobalNamespace::IConnectedPlayer* connectedPlayer, GlobalNamespace::ILobbyPlayerData* playerData, bool hasKickPermissions, bool allowSelection, System::Threading::Tasks::Task_1<GlobalNamespace::EntitlementStatus>* getLevelEntitlementTask);
private:
void SetLevelFoundValues(bool displayLevelText);
)
};
4 changes: 2 additions & 2 deletions include/UI/MpColorsUI.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include "UnityEngine/RectTransform.hpp"
#include "UnityEngine/Vector3.hpp"

DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, MpColorsUI, System::Object,
DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, MpColorsUI, System::Object) {
DECLARE_INSTANCE_FIELD_PRIVATE(GlobalNamespace::LobbySetupViewController*, _lobbySetupViewController);
DECLARE_INSTANCE_FIELD_PRIVATE(GlobalNamespace::ColorSchemeView*, _colorSchemeView);

Expand All @@ -32,4 +32,4 @@ DECLARE_CLASS_CODEGEN(MultiplayerCore::UI, MpColorsUI, System::Object,

void AcceptColors(Beatmaps::Abstractions::DifficultyColors const& colors);
void AcceptColors(SongCore::CustomJSONData::CustomSaveDataInfo::BasicCustomDifficultyBeatmapDetails::CustomColors const& colors);
)
};
5 changes: 2 additions & 3 deletions include/UI/MpLoadingIndicator.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
#include "Zenject/ITickable.hpp"
#include "UnityEngine/GameObject.hpp"

DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::UI, MpLoadingIndicator, System::Object,
std::vector<Il2CppClass*>({classof(::System::IDisposable*), classof(::Zenject::IInitializable*), classof(::Zenject::ITickable*)}),
DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::UI, MpLoadingIndicator, System::Object, ::System::IDisposable*, ::Zenject::IInitializable*, ::Zenject::ITickable*) {

DECLARE_INSTANCE_FIELD_PRIVATE(double, _downloadProgress);
DECLARE_INSTANCE_FIELD_PRIVATE(bool, _isDownloading);
Expand Down Expand Up @@ -47,4 +46,4 @@ DECLARE_CLASS_CODEGEN_INTERFACES(MultiplayerCore::UI, MpLoadingIndicator, System

public:
std::pair<int, int> OkAndTotalPlayerCountNoRequest();
)
};
Loading
Loading