mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-23 06:45:53 +02:00
A slam can break the local skater's board at the nose, in the middle or at the tail. Half the time the grip tape holds the pieces together and the board folds or an end hangs; otherwise a piece comes off, flies and lies where it lands. The board is whole again in hand, on riding and on a respawn. The pieces are four stretches of the deck in a content mod's copy of the game's one deck model, each on a spare bone of the board's rig. The boards' render pose hook only moves bones, because the replay records where a bone is and not its size: a broken board's deck goes away and its stretches go to where the pieces lie, and a whole board's stretches go away. The deck the player chose loads first and other mods that bring a deck model are set aside for the run, without touching mods.json. Another deck is chosen while the game runs, through a live apply of the mods. contrib/board-break.md says how it works and how a deck pack is made.
261 lines
13 KiB
CMake
261 lines
13 KiB
CMake
add_library(dingosdk_runtime SHARED
|
|
Runtime/runtime_init.cpp
|
|
Runtime/runtime_state.cpp
|
|
Runtime/client_tick.cpp
|
|
Runtime/frame_timing.cpp
|
|
Runtime/client_context.cpp
|
|
Runtime/level_requests.cpp
|
|
Runtime/overlay_callbacks.cpp
|
|
Runtime/console_bridge.cpp
|
|
Runtime/menu_entry_hook.cpp
|
|
Engine/Game/Abi/native_data.cpp
|
|
Extension/Console/commands.cpp
|
|
Extension/Console/perf_commands.cpp
|
|
Extension/Skater/console_commands.cpp
|
|
Extension/Multiplayer/console_commands.cpp
|
|
Extension/Customization/console_commands.cpp
|
|
Extension/Multiplayer/Session/session.cpp
|
|
Extension/Multiplayer/Session/session_view.cpp
|
|
Extension/Multiplayer/Session/session_send.cpp
|
|
Extension/Multiplayer/Session/session_receive.cpp
|
|
Extension/Multiplayer/Session/session_commands.cpp
|
|
Extension/Multiplayer/Session/session_party.cpp
|
|
Extension/Multiplayer/Session/party_book.cpp
|
|
Extension/UI/NativeMenu/native_menu.cpp
|
|
Extension/UI/NativeMenu/native_menu_rows.cpp
|
|
Extension/UI/NativeMenu/native_menu_multiplayer.cpp
|
|
Extension/UI/NativeMenu/ui_sound.cpp
|
|
Extension/UI/NativeMenu/native_menu_dump.cpp
|
|
Extension/UI/NativeMenu/native_hub.cpp
|
|
Extension/UI/NativeMenu/native_menu_data.cpp
|
|
Extension/Multiplayer/Remote/native_skater.cpp
|
|
Extension/Multiplayer/Remote/native_skater_spawn.cpp
|
|
Extension/Multiplayer/Remote/puppet_cost.cpp
|
|
Extension/Multiplayer/Remote/native_cosmetics.cpp
|
|
Extension/Multiplayer/Remote/native_audio.cpp
|
|
Extension/Multiplayer/Remote/native_vfx.cpp
|
|
Extension/Multiplayer/Voice/voice_chat.cpp
|
|
Extension/Multiplayer/Voice/native_voice.cpp
|
|
Extension/Multiplayer/Hud/native_player_ui.cpp
|
|
Extension/Multiplayer/Hud/native_party.cpp
|
|
Extension/Multiplayer/Hud/custom_nametags.cpp
|
|
Extension/Multiplayer/Hud/game_ui_state.cpp
|
|
Extension/Multiplayer/Hud/follow_camera.cpp
|
|
Extension/Multiplayer/Hud/native_party_hooks.cpp
|
|
Extension/Multiplayer/Hud/native_party_requests.cpp
|
|
Extension/Throwdowns/native_throwdowns.cpp
|
|
Extension/Throwdowns/native_type_scan.cpp
|
|
Extension/Throwdowns/throwdown_lab.cpp
|
|
Extension/Throwdowns/throwdown_relay.cpp
|
|
Extension/Throwdowns/throwdown_debug_text.cpp
|
|
Extension/Throwdowns/skate_trick_rule.cpp
|
|
Extension/Throwdowns/graph_throttle.cpp
|
|
Extension/Throwdowns/throwdown_wire.cpp
|
|
Extension/Multiplayer/Hud/native_indicators.cpp
|
|
Extension/Multiplayer/Steam/steam_transport.cpp
|
|
Extension/Multiplayer/Steam/steam_social.cpp
|
|
Extension/Multiplayer/Steam/steam_friend_join.cpp
|
|
Extension/Multiplayer/Steam/steam_lobbies.cpp
|
|
Extension/Multiplayer/Steam/steam_lobby_api.cpp
|
|
Extension/Multiplayer/Steam/steam_server_browser.cpp
|
|
Extension/Multiplayer/Net/protocol.cpp
|
|
Extension/Multiplayer/Remote/playback_buffers.cpp
|
|
Extension/Multiplayer/Net/wire_codec.cpp
|
|
Extension/Multiplayer/Net/delta_codec.cpp
|
|
Extension/Multiplayer/Session/password.cpp
|
|
Extension/Multiplayer/developer_identity.cpp
|
|
Extension/Multiplayer/developer_identity_fetch.cpp
|
|
Extension/Multiplayer/word_lists.cpp
|
|
Extension/Settings/console_commands.cpp
|
|
Extension/Settings/job_spin.cpp
|
|
Extension/Settings/engine_tweaks.cpp
|
|
Extension/Settings/replay_guard.cpp
|
|
Extension/Settings/replay_drafts.cpp
|
|
Extension/UI/ui_pointer_skip.cpp
|
|
Extension/Settings/named_settings.cpp
|
|
Extension/World/console_commands.cpp
|
|
Extension/Rendering/console_commands.cpp
|
|
Extension/Progression/console_commands.cpp
|
|
Extension/Objects/console_commands.cpp
|
|
Extension/Objects/ParkEditor/park_editor_commands.cpp
|
|
Extension/Objects/ParkEditor/park_editor_runtime.cpp
|
|
Extension/Objects/ParkEditor/park_editor_preview.cpp
|
|
Extension/Objects/ParkEditor/park_editor_selection.cpp
|
|
Extension/Objects/ParkEditor/park_editor_lobby.cpp
|
|
Extension/Objects/ParkEditor/park_editor_operations.cpp
|
|
Extension/Objects/network_object_runtime.cpp
|
|
Runtime/bootstrap.cpp
|
|
Runtime/exports.cpp
|
|
Extension/Assets/native_patch_support.cpp
|
|
Extension/Assets/mod_layers.cpp
|
|
Extension/Assets/live_mods.cpp
|
|
Extension/Assets/map_download.cpp
|
|
Engine/Vfs/thunderstore_package.cpp
|
|
Launcher/mod_manager.cpp
|
|
Extension/Assets/loose_files.cpp
|
|
Extension/Scripting/lua_startup.cpp
|
|
Extension/Scripting/custom_script_loader.cpp
|
|
Extension/Assets/morph_memory_pool.cpp
|
|
Extension/Assets/native_render_resource_pool.cpp
|
|
Extension/World/native_entity_pages.cpp
|
|
Extension/World/physics_world_size.cpp
|
|
Extension/Rendering/display_startup.cpp
|
|
Extension/Rendering/replay_export.cpp
|
|
Engine/Game/World/world_model.cpp
|
|
Extension/World/level_loading.cpp
|
|
Extension/World/loading_screen.cpp
|
|
Extension/Customization/preset_lookup_guard.cpp
|
|
Extension/Boot/exit_watch.cpp
|
|
Extension/Boot/discord_presence.cpp
|
|
Extension/Customization/developer_hoodie.cpp
|
|
Extension/Customization/developer_board.cpp
|
|
Extension/Skater/skater_model.cpp
|
|
Extension/Skater/skater_observer.cpp
|
|
Extension/Skater/client_source_spawn.cpp
|
|
Extension/Skater/source_spawn_camera.cpp
|
|
Extension/Skater/client_noclip.cpp
|
|
Extension/Skater/client_first_person.cpp
|
|
Extension/Skater/client_debug.cpp
|
|
Extension/Skater/ai_skaters.cpp
|
|
Extension/Skater/no_bail.cpp
|
|
Extension/Skater/physics_tuning.cpp
|
|
Extension/Multiplayer/Remote/remote_collision.cpp
|
|
Extension/Skater/physics_tuning_model.cpp
|
|
Extension/HallOfMeat/hall_of_meat.cpp
|
|
Extension/HallOfMeat/hall_of_meat_card.cpp
|
|
Extension/HallOfMeat/hall_of_meat_commands.cpp
|
|
Extension/HallOfMeat/hall_of_meat_hud.cpp
|
|
Extension/HallOfMeat/hall_of_meat_model.cpp
|
|
Extension/HallOfMeat/hall_of_meat_render.cpp
|
|
Extension/HallOfMeat/hall_of_meat_skater.cpp
|
|
Extension/HallOfMeat/hall_of_meat_skeleton.cpp
|
|
Extension/HallOfMeat/hall_of_meat_slow_motion.cpp
|
|
Extension/RoadRash/road_rash.cpp
|
|
Extension/RoadRash/road_rash_commands.cpp
|
|
Extension/BoardBreak/board_break.cpp
|
|
Extension/BoardBreak/board_break_commands.cpp
|
|
Extension/Trainer/trainer.cpp
|
|
Extension/Trainer/trainer_presets.cpp
|
|
Extension/Trainer/trainer_jump.cpp
|
|
Extension/Trainer/trainer_classes.cpp
|
|
Extension/Trainer/trainer_commands.cpp
|
|
Extension/Trainer/trainer_session.cpp
|
|
Extension/Trainer/trainer_waypoint.cpp
|
|
Extension/Skater/offboard_flight.cpp
|
|
Extension/Skater/camera_observer.cpp
|
|
Extension/Boot/offline_boot.cpp
|
|
Extension/Progression/progression_service_guard.cpp
|
|
Extension/Progression/mission_progression_override.cpp
|
|
Extension/Progression/mission_progression_observation.cpp
|
|
Extension/Settings/gameplay_settings_override.cpp
|
|
Extension/Settings/gameplay_settings_leases.cpp
|
|
Extension/Settings/gameplay_settings_model.cpp
|
|
Extension/Skater/skater_slot_override.cpp
|
|
Extension/Rendering/graphics_labels.cpp
|
|
Extension/Profile/local_profile_runtime.cpp
|
|
Extension/Profile/local_profile_world.cpp
|
|
Extension/Profile/local_profile_preferences.cpp
|
|
Extension/Profile/local_profile_objects.cpp
|
|
Extension/Profile/local_profile_missions.cpp
|
|
Extension/Customization/local_cosmetic_catalog.cpp
|
|
Extension/Customization/local_customization_runtime.cpp
|
|
Extension/Customization/item_browser.cpp
|
|
Extension/Progression/local_entitlement_trigger_runtime.cpp
|
|
Extension/Progression/local_neighborhood_runtime.cpp
|
|
Extension/Customization/local_player_card_runtime.cpp
|
|
Extension/News/local_news_runtime.cpp
|
|
Extension/News/live_news.cpp
|
|
Extension/Objects/local_object_runtime.cpp
|
|
Extension/Music/local_music_assets.cpp
|
|
Extension/Music/local_music_safety.cpp
|
|
Extension/Music/local_music_playback.cpp
|
|
Extension/Music/music_artwork.cpp
|
|
Extension/Music/local_music_ui.cpp
|
|
Extension/Music/local_music_shelf.cpp
|
|
Extension/Objects/local_buildkit_labels.cpp
|
|
Extension/Objects/local_buildkit_limits.cpp
|
|
Extension/Progression/local_rip_score_runtime.cpp
|
|
Extension/Progression/local_challenge_trace.cpp
|
|
Extension/Progression/script_error_log.cpp
|
|
Extension/Progression/board_wear.cpp
|
|
Extension/Progression/local_challenge_runtime.cpp
|
|
Extension/Settings/local_user_settings.cpp
|
|
Extension/Settings/local_gameplay_settings.cpp
|
|
Extension/Settings/local_native_settings.cpp
|
|
Extension/Travel/local_location_travel.cpp
|
|
Extension/World/local_park_rotation.cpp
|
|
Extension/World/local_world_layers.cpp
|
|
Extension/World/visual_environment.cpp
|
|
Extension/World/local_population_controls.cpp
|
|
Extension/World/native_route_lookahead.cpp
|
|
Extension/World/unload_guard.cpp
|
|
Extension/World/local_world_controls.cpp
|
|
Extension/World/local_atmosphere_controls.cpp
|
|
Extension/Rendering/local_graphics_controls.cpp
|
|
Extension/Objects/local_placements_runtime.cpp
|
|
Extension/Progression/local_progression_runtime.cpp
|
|
Extension/Progression/entitlement_request_hook.cpp
|
|
Extension/Progression/entitlement_request_parse.cpp
|
|
Extension/Progression/fixed_stop_entitlement_provider.cpp
|
|
Extension/Progression/fixed_stop_native_result.cpp
|
|
Extension/Progression/fixed_stop_entitlement_observation.cpp
|
|
Extension/Progression/neighborhood_unlock_override.cpp
|
|
Extension/Boot/user_data_redirect.cpp
|
|
Extension/Boot/ea_app_block.cpp
|
|
Extension/Boot/ea_service_block.cpp)
|
|
|
|
target_link_libraries(dingosdk_runtime PRIVATE dingosdk_logging dingosdk_profiler dingosdk_supported_build dingosdk_overlay dingosdk_console_core dingosdk_steam_restart_guard
|
|
dingosdk_startup_interventions dingosdk_fast_travel_unlock dingosdk_local_profile dingosdk_initfs dingosdk_mods dingosdk_mod_list dingosdk_launcher_support dingosdk_miniz shell32 dingosdk_startup_window dingosdk_custom_scripts dingosdk_world_layer_scan bcrypt
|
|
dingosdk_https winhttp ws2_32 xaudio2 ole32 dingosdk_game_archives dingosdk_word_filter)
|
|
|
|
add_library(dingosdk_custom_level_manifest STATIC
|
|
Engine/Game/World/custom_level_manifest.cpp)
|
|
target_link_libraries(dingosdk_custom_level_manifest PUBLIC dingosdk_json)
|
|
target_link_libraries(dingosdk_runtime PRIVATE dingosdk_custom_level_manifest)
|
|
|
|
set_target_properties(dingosdk_runtime PROPERTIES OUTPUT_NAME "ReSkate" PREFIX "")
|
|
dingosdk_version_info(dingosdk_runtime "ReSkate mod runtime" "ReSkate.dll" VFT_DLL)
|
|
target_include_directories(dingosdk_runtime SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/External/steam_networking")
|
|
target_link_libraries(dingosdk_runtime PRIVATE dingosdk_lz4 dingosdk_zstd)
|
|
|
|
# Menu fonts shared with the launcher (licences in External/fonts).
|
|
set(dingosdk_menu_fonts "${PROJECT_SOURCE_DIR}/External/fonts")
|
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/generated/menu_fonts.rc"
|
|
"FONT_HEADING RCDATA \"${dingosdk_menu_fonts}/Montserrat-ExtraBold.ttf\"\n"
|
|
"FONT_BODY RCDATA \"${dingosdk_menu_fonts}/Montserrat-SemiBold.ttf\"\n"
|
|
"FONT_BRUSH RCDATA \"${dingosdk_menu_fonts}/PermanentMarker-Regular.ttf\"\n")
|
|
target_sources(dingosdk_runtime PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/generated/menu_fonts.rc")
|
|
|
|
# The startup window's picture (PNG or JPEG), built into ReSkate.dll when the
|
|
# repository has one. ReSkate.Splash.png/.jpg beside the DLL still takes
|
|
# precedence at run time.
|
|
set(dingosdk_startup_art "${PROJECT_SOURCE_DIR}/assets/startup_splash.png")
|
|
if(NOT EXISTS "${dingosdk_startup_art}")
|
|
set(dingosdk_startup_art "${PROJECT_SOURCE_DIR}/assets/startup_splash.jpg")
|
|
endif()
|
|
if(EXISTS "${PROJECT_SOURCE_DIR}/assets")
|
|
# Adding or removing the picture re-runs the configure step.
|
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR}/assets")
|
|
endif()
|
|
# Chat emotes (Better Chat's pack format; Extension/UI/Overlay/chat_emotes.h), built into
|
|
# ReSkate.dll when the repository has assets/emotes/emotes.json and emotes.png.
|
|
set(dingosdk_emotes "${PROJECT_SOURCE_DIR}/assets/emotes")
|
|
if(EXISTS "${dingosdk_emotes}")
|
|
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${dingosdk_emotes}")
|
|
endif()
|
|
if(EXISTS "${dingosdk_emotes}/emotes.json" AND EXISTS "${dingosdk_emotes}/emotes.png")
|
|
file(TO_NATIVE_PATH "${dingosdk_emotes}" dingosdk_emotes_native)
|
|
string(REPLACE "\\" "\\\\" dingosdk_emotes_native "${dingosdk_emotes_native}")
|
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/generated/emotes.rc"
|
|
"EMOTES_JSON RCDATA \"${dingosdk_emotes_native}\\\\emotes.json\"\n"
|
|
"EMOTES_PNG RCDATA \"${dingosdk_emotes_native}\\\\emotes.png\"\n")
|
|
target_sources(dingosdk_runtime PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/generated/emotes.rc")
|
|
endif()
|
|
if(EXISTS "${dingosdk_startup_art}")
|
|
file(TO_NATIVE_PATH "${dingosdk_startup_art}" dingosdk_startup_art_native)
|
|
string(REPLACE "\\" "\\\\" dingosdk_startup_art_native "${dingosdk_startup_art_native}")
|
|
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/generated/startup_art.rc"
|
|
"STARTUP_SPLASH RCDATA \"${dingosdk_startup_art_native}\"\n")
|
|
target_sources(dingosdk_runtime PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/generated/startup_art.rc")
|
|
endif()
|