mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-17 11:57:01 +02:00
29 lines
1.7 KiB
C++
29 lines
1.7 KiB
C++
#pragma once
|
|
#include <cstdint>
|
|
|
|
namespace dingosdk::multiplayer {
|
|
// Offline stand-ins for the answers throwdowns normally get from the backend
|
|
// (throwdowns_v1 mode catalogue) and the online roster (host player lookup).
|
|
void initialize_native_throwdowns(std::uintptr_t base) noexcept;
|
|
// Game thread, every client tick: adds the throwdown text retail never shipped (the
|
|
// S.K.A.T.E. title showed as ID_ACTIVITY_SKATE_TITLE, Spot Battle's details description as
|
|
// ID_ACTIVITY_SPOTBATTLE_DESC) to the game's own string-override store, the one the
|
|
// backend's client_strings_v1 fills, once the string database is loaded. Rechecked every
|
|
// 2 s, since a language change or a backend refresh clears that store.
|
|
void apply_throwdown_strings(std::uintptr_t base) noexcept;
|
|
// True while a client ThrowdownRegistration graph is asking IsOnline (0) or
|
|
// IsSessionReady (1) in hosted offline play. Every other graph stays native.
|
|
bool native_throwdown_ready(unsigned predicate) noexcept;
|
|
// Call after an expression returns: delivers a parameter request that the
|
|
// absent throwdowns_v1 service left pending for that expression.
|
|
void complete_native_throwdown_parameters(std::uintptr_t vm) noexcept;
|
|
// Native player id of the hosted offline server's only real player, or zero.
|
|
std::uint32_t local_native_player_id() noexcept;
|
|
// True from the moment the local player creates or joins a throwdown until it
|
|
// ends, is left or destroyed. Retail mirrors this onto UIPlayerInfo, where the
|
|
// throwdown Quit action reads it; offline the SDK owns that record.
|
|
bool local_throwdown_active() noexcept;
|
|
// True while that throwdown is the local player's own (it created it).
|
|
bool local_throwdown_host() noexcept;
|
|
}
|