mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-18 13:15:20 +02:00
Sets: save a selection under a name and place it again anywhere, on any map. - The library gets an OBJECTS / SETS switch. SETS saves the selected objects as a set and lists the saved sets to place or delete (Delete asks for a second press). - A set is a park file in <profile>/object_sets/<name>.park.json, so it shares the park format, its 2 MB limit and its name rules. Positions are relative to the set's anchor: the middle of its footprint, at its lowest origin. - Placing follows the cursor as one wire cube per object, on surfaces or the grid plane; the mouse wheel turns it by the angle step. A click pastes the whole set: one undo step, under the paste path's object and session limits. Sets with objects missing from the catalog cannot be placed. - A placed or pasted group is then selected with the move gizmo. Editing groups: - Local axes work for multi-selections. A placed set's axes are the rotation it was placed with, plus every later turn; any other group uses its last selected object's rotation. Applying a moved group does not snap its own rotation to the angle grid. - Duplicate (button or Ctrl+D) copies every selected object at its saved position, rotation and scale, one grid step along X, as one paste. - On a server with object scaling off, pastes (sets, duplicates, Ctrl+V) are made at 1x. Tests cover set storage (anchor, round trip, replace, names, damaged files, delete), saving and placing a set through the UI (surface, wheel, one paste, no live preview), selecting it with its own axes, moving it along them, and duplicating with and without scaling. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
38 lines
1.5 KiB
CMake
38 lines
1.5 KiB
CMake
add_library(dingosdk_steam_restart_guard STATIC
|
|
Extension/Boot/steam_restart_guard.cpp
|
|
Extension/Boot/offline_steam.cpp)
|
|
|
|
target_link_libraries(dingosdk_steam_restart_guard PUBLIC dingosdk_launcher_support dingosdk_hooks dingosdk_logging)
|
|
add_library(dingosdk_startup_interventions STATIC
|
|
Extension/Boot/startup_interventions.cpp)
|
|
|
|
add_library(dingosdk_fast_travel_unlock STATIC
|
|
Extension/Progression/fast_travel_unlock.cpp)
|
|
|
|
add_library(dingosdk_local_profile STATIC
|
|
Extension/Profile/local_profile.cpp
|
|
Extension/Profile/profile_defaults.cpp
|
|
Extension/Profile/local_profile_store.cpp
|
|
Extension/Profile/profile_update.cpp
|
|
Extension/Profile/database_schema.cpp
|
|
Extension/Profile/database_codec.cpp
|
|
Extension/Objects/placement_database.cpp
|
|
Extension/Objects/object_categories.cpp
|
|
Extension/Profile/local_profile_legacy.cpp
|
|
Extension/Customization/local_customization.cpp
|
|
Extension/News/news_feed.cpp
|
|
Extension/Progression/rip_score.cpp
|
|
Extension/World/profile_policy.cpp
|
|
Extension/Rendering/profile_policy.cpp
|
|
Extension/Settings/input_bindings.cpp
|
|
Extension/Progression/challenge_profile.cpp
|
|
Extension/Objects/placements_store.cpp
|
|
Extension/Objects/ParkEditor/park_document.cpp
|
|
Extension/Objects/ParkEditor/park_mods.cpp
|
|
Extension/Objects/ParkEditor/park_object_sets.cpp
|
|
)
|
|
target_link_libraries(dingosdk_local_profile PUBLIC dingosdk_fast_travel_unlock dingosdk_content_cache dingosdk_json dingosdk_storage dingosdk_mod_list)
|
|
|
|
include(cmake/ProfileData.cmake)
|
|
|