Files
ReSkate/Extension/Console/commands.h
T
AyeZeeBB af83281b8d Mods: variants, one of several takes on the same game data; Board Break's decks leave the SDK
A mod's reskate-plugin.json can declare "variants" {folder, order, displaces}: each <folder>/<name>/
is a variant, the one chosen (else the first of its order) loads, and every other mod whose layout
lists a displaced bundle is set aside for the run. Choices are kept in
%LOCALAPPDATA%\ReSkate\variants.json. Plugins read and choose their own mod's variants with
reskate.package.variants and reskate.package.choose (permission "variants"), and fit every board
for a deck that is not the game's own with reskate.board.fit {plates, axle}.

The board-break plugin, which ships inside the Board Break deck pack, declares the pack's decks as
variants, picks the deck on its own page and with `boardbreak deck`, reads each deck.ini and fits
the boards. Gone from the SDK: breakable_deck, the deck catalog, the MODS page's deck card, the
boarddeck command and the Board_Break_<Name> folder naming.
2026-10-20 01:31:50 -05:00

40 lines
2.0 KiB
C++

#pragma once
#include "Engine/Core/Console/command_registry.h"
#include "Extension/UI/Overlay/overlay.h"
namespace dingosdk::console {
using Model = overlay::Model;
using Commands = Registry<Model>;
using Entry = Commands::Entry;
using Argument = Commands::Argument;
const Commands &game_commands();
Argument argument(std::string name, Type type = Type::text, bool optional = false);
Entry action(std::string name, std::string description, Group group, std::vector<Argument> arguments = {});
Entry variable(std::string name, std::string description, Group group, Argument argument);
State boolean_state(bool available, bool value, std::string reason = {}, std::string detail = {});
void register_movement_commands(Commands &);
void register_ai_commands(Commands &);
void register_settings_commands(Commands &);
void register_world_commands(Commands &);
void register_graphics_commands(Commands &);
void register_progression_commands(Commands &);
void register_object_commands(Commands &);
void register_park_editor_commands(Commands &);
void register_multiplayer_commands(Commands &);
void register_perf_commands(Commands &);
// perf_commands.cpp: starts `perf memory`'s trace with the game when RESKATE_MEMORY_TRACE asks for it.
void start_memory_trace_from_environment() noexcept;
void register_item_commands(Commands &);
void register_trainer_commands(Commands &);
void register_replay_keyframes_commands(Commands &);
void register_plugin_commands(Commands &);
// Runtime adapters. Invoked only by the verified game-thread dispatcher.
void request_debug(overlay::DebugAction, bool enabled = false, float value = 0);
void request_feature(overlay::OfflineFeatureGroup, bool enabled);
void request_engine_variable(std::string_view name, bool restore, bool value);
std::string request_named_setting(std::string_view name, std::string_view value, bool restore);
std::string request_reset_named_settings();
void request_level(const std::string &level, const std::string &start, const std::string &sublevel,
const std::string &substart);
} // namespace dingosdk::console