34#include <fmt/format.h>
35#include <OgreStringConverter.h>
40#define ROR_ASSERT(_EXPR) assert(_EXPR)
42#define CHARACTER_ANIM_NAME_LEN 10
45#define RGN_TEMP "Temp"
46#define RGN_CACHE "Cache"
47#define RGN_THUMBNAILS "Thumbnails"
48#define RGN_REPO_ATTACHMENTS "RepoAttachments"
49#define RGN_CONFIG "Config"
50#define RGN_CONTENT "Content"
51#define RGN_SAVEGAMES "Savegames"
52#define RGN_MANAGED_MATS "ManagedMaterials"
53#define RGN_SCRIPTS "Scripts"
54#define RGN_LOGS "Logs"
57#define TOSTRING(x) Ogre::StringConverter::toString(x)
58#define PARSEINT(x) Ogre::StringConverter::parseInt(x)
59#define PARSEREAL(x) Ogre::StringConverter::parseReal(x)
60#define HydraxLOG(msg) Ogre::LogManager::getSingleton().logMessage("[Hydrax] " + Ogre::String(msg));
892void Log(
const char* msg);
898inline void LOG(std::string
const & msg) {
RoR::Log(msg.c_str()); }
void LOG(const char *msg)
Legacy alias - formerly a macro.
Global forward declarations.
const char * KeywordToString(RigDef::Keyword keyword)
@ SLIDENODE_CONNECT_INSTANTLY
@ SET_BEAM_DEFAULTS_SCALE
@ ENABLE_ADVANCED_DEFORMATION
@ SET_MANAGEDMATERIALS_OPTIONS
@ LOCKGROUP_DEFAULT_NOLOCK
@ DISABLED
Not connected for whatever reason.
@ EDITOR_MODE
Hacky, but whatever... added by Ulteq, 2016.
@ BOOTSTRAP
Initial state.
@ TRUCK
its a truck (or other land vehicle)
const char * MsgTypeToString(MsgType type)
MsgType
Global gameplay message loop, see struct Message in GameContext.h.
@ MSG_GUI_OPEN_MENU_REQUESTED
@ MSG_APP_MODCACHE_LOAD_REQUESTED
@ MSG_SIM_TELEPORT_PLAYER_REQUESTED
Payload = Ogre::Vector3* (owner)
@ MSG_NET_CONNECT_STARTED
@ MSG_APP_MODCACHE_PURGE_REQUESTED
@ MSG_NET_FETCH_AI_PRESETS_SUCCESS
Description = JSON string.
@ MSG_SIM_UNMUTE_NET_ACTOR_REQUESTED
Payload = ActorPtr* (owner)
@ MSG_NET_DOWNLOAD_REPOFILE_REQUESTED
Payload = RoR::RepoFileInstallRequest* (owner)
@ MSG_GUI_CLOSE_MENU_REQUESTED
@ MSG_EDI_ADD_FREEBEAMGFX_REQUESTED
Payload = RoR::FreeBeamGfxRequest* (owner)
@ MSG_NET_REMOVE_PEEROPTIONS_REQUESTED
Payload = RoR::PeerOptionsRequest* (owner)
@ MSG_SIM_PAUSE_REQUESTED
@ MSG_NET_DOWNLOAD_REPOFILE_SUCCESS
Payload = RoR::RepoFileInstallRequest* (owner)
@ MSG_SIM_UNPAUSE_REQUESTED
@ MSG_SIM_UNHIDE_NET_ACTOR_REQUESTED
Payload = ActorPtr* (owner)
@ MSG_SIM_HIDE_NET_ACTOR_REQUESTED
Payload = ActorPtr* (owner)
@ MSG_SIM_UNLOAD_TERRN_REQUESTED
@ MSG_EDI_UNLOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
@ MSG_NET_CONNECT_FAILURE
@ MSG_GUI_REFRESH_TUNING_MENU_REQUESTED
@ MSG_APP_MODCACHE_UPDATE_REQUESTED
@ MSG_APP_DISPLAY_WINDOWED_REQUESTED
@ MSG_NET_DISCONNECT_REQUESTED
@ MSG_NET_FETCH_AI_PRESETS_FAILURE
Description = message.
@ MSG_EDI_ENTER_TERRN_EDITOR_REQUESTED
@ MSG_EDI_DELETE_BUNDLE_REQUESTED
Description = filename.
@ MSG_SIM_ACTOR_LINKING_REQUESTED
Payload = RoR::ActorLinkingRequest* (owner)
@ MSG_SIM_SPAWN_ACTOR_REQUESTED
Payload = RoR::ActorSpawnRequest* (owner)
@ MSG_SIM_REMOVE_FREEFORCE_REQUESTED
Payload = RoR::FreeForceID_t* (owner)
@ MSG_SIM_SCRIPT_EVENT_TRIGGERED
Payload = RoR::ScriptEventArgs* (owner)
@ MSG_SIM_SCRIPT_CALLBACK_QUEUED
Payload = RoR::ScriptCallbackArgs* (owner)
@ MSG_GUI_OPEN_SELECTOR_REQUESTED
Payload = LoaderType* (owner), Description = GUID | empty.
@ MSG_APP_UNLOAD_SCRIPT_REQUESTED
Payload = RoR::ScriptUnitId_t* (owner)
@ MSG_SIM_SEAT_PLAYER_REQUESTED
Payload = RoR::ActorPtr (owner) | nullptr.
@ MSG_GUI_MP_CLIENTS_REFRESH
@ MSG_EDI_SAVE_TERRN_CHANGES_REQUESTED
@ MSG_NET_CONNECT_PROGRESS
@ MSG_NET_DOWNLOAD_REPOIMAGE_FAILURE
Payload = RoR::RepoImageDownloadRequest* (owner)
@ MSG_EDI_LOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
@ MSG_APP_LOAD_SCRIPT_REQUESTED
Payload = RoR::LoadScriptRequest* (owner)
@ MSG_SIM_LOAD_SAVEGAME_REQUESTED
@ MSG_GUI_SHOW_CHATBOX_REQUESTED
Description = message or server command to pre-fill in the chatbox (deleting whatever was there previ...
@ MSG_NET_DOWNLOAD_REPOIMAGE_SUCCESS
Payload = RoR::RepoImageDownloadRequest* (owner)
@ MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED
@ MSG_NET_ADD_PEEROPTIONS_REQUESTED
Payload = RoR::PeerOptionsRequest* (owner)
@ MSG_NET_CONNECT_SUCCESS
@ MSG_NET_USER_DISCONNECT
@ MSG_NET_CONNECT_REQUESTED
@ MSG_SIM_ADD_FREEFORCE_REQUESTED
Payload = RoR::FreeForceRequest* (owner)
@ MSG_NET_OPEN_RESOURCE_SUCCESS
Payload = GUI::ResourcesCollection* (owner)
@ MSG_GUI_HIDE_MESSAGE_BOX_REQUESTED
@ MSG_APP_SHUTDOWN_REQUESTED
@ MSG_APP_DISPLAY_FULLSCREEN_REQUESTED
@ MSG_EDI_MODIFY_FREEBEAMGFX_REQUESTED
Payload = RoR::FreeBeamGfxRequest* (owner)
@ MSG_GUI_CLOSE_SELECTOR_REQUESTED
@ MSG_EDI_MODIFY_GROUNDMODEL_REQUESTED
Payload = RoR::ground_model_t* (weak)
@ MSG_EDI_DELETE_FREEBEAMGFX_REQUESTED
Payload = RoR::FreeBeamGfxID_t* (owner)
@ MSG_NET_DOWNLOAD_REPOFILE_PROGRESS
Payload = int* (owner)
@ MSG_GUI_SHOW_MESSAGE_BOX_REQUESTED
Payload = MessageBoxConfig* (owner)
@ MSG_SIM_MODIFY_FREEFORCE_REQUESTED
Payload = RoR::FreeForceRequest* (owner)
@ MSG_GUI_OPEN_MP_SETTINGS_REQUESTED
@ MSG_NET_REFRESH_SERVERLIST_FAILURE
Payload = RoR::CurlFailInfo* (owner)
@ MSG_NET_REFRESH_REPOLIST_FAILURE
Payload = RoR::CurlFailInfo* (owner)
@ MSG_SIM_MUTE_NET_ACTOR_REQUESTED
Payload = ActorPtr* (owner)
@ MSG_EDI_CREATE_PROJECT_REQUESTED
Payload = RoR::CreateProjectRequest* (owner)
@ MSG_EDI_DELETE_PROJECT_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
@ MSG_EDI_MODIFY_PROJECT_REQUESTED
Payload = RoR::UpdateProjectRequest* (owner)
@ MSG_APP_SCRIPT_THREAD_STATUS
Payload = RoR::ScriptEventArgs* (owner)
@ MSG_SIM_LOAD_TERRN_REQUESTED
@ MSG_NET_REFRESH_REPOLIST_SUCCESS
Payload = GUI::ResourcesCollection* (owner)
@ MSG_NET_DOWNLOAD_REPOFILE_FAILURE
Payload = RoR::RepoFileInstallRequest* (owner)
@ MSG_SIM_DELETE_ACTOR_REQUESTED
Payload = RoR::ActorPtr* (owner)
@ MSG_NET_REFRESH_SERVERLIST_SUCCESS
Payload = GUI::MpServerInfoVec* (owner)
@ MSG_SIM_MODIFY_ACTOR_REQUESTED
Payload = RoR::ActorModifyRequest* (owner)
@ MSG_APP_SCREENSHOT_REQUESTED
@ MSG_APP_REINIT_INPUT_REQUESTED
@ MSG_EDI_RELOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
std::string ToLocalizedString(SimGearboxMode e)
@ MANUAL_STICK
Fully manual: stick shift.
@ MANUAL_RANGES
Fully manual: stick shift with ranges.
@ SEMI_AUTO
Manual shift with auto clutch.
@ MANUAL
Fully manual: sequential shift.
CVar * diag_warning_texture
CVar * mp_server_password
CVar * flexbody_defrag_const_penalty
ContentManager * GetContentManager()
AppContext * GetAppContext()
CVar * gfx_static_cam_fov_exp
CVar * audio_force_listener_efx_preset
CVar * flexbody_defrag_prog_up_penalty
CVar * ui_show_live_repair_controls
bool
CVar * audio_efx_reverb_engine
CVar * sys_repo_attachments_dir
CVar * app_screenshot_format
CVar * gfx_sky_time_cycle
CVar * audio_enable_directed_sounds
CVar * mp_hide_own_net_label
CVar * mp_hide_net_labels
CVar * ui_show_vehicle_buttons
OverlayWrapper * GetOverlayWrapper()
InputEngine * GetInputEngine()
CVar * audio_enable_obstruction
CVar * diag_auto_spawner_report
CVar * io_blink_lock_range
void CreateOverlayWrapper()
CVar * diag_log_beam_trigger
CVar * cli_resume_autosave
ThreadPool * GetThreadPool()
CVar * flexbody_defrag_reorder_texcoords
CVar * cli_custom_scripts
CVar * audio_doppler_factor
CVar * flexbody_defrag_prog_down_penalty
CVar * cli_force_cache_update
CVar * diag_rig_log_node_import
CVar * cli_preset_veh_config
CVar * diag_allow_window_resize
CVar * app_skip_main_menu
CVar * cli_preset_veh_enter
CVar * io_invert_orbitcam
CVar * diag_rig_log_node_stats
CVar * ui_preset
enum RoR::UiPreset
CVar * gfx_fov_internal_default
CVar * gfx_sky_time_speed
CVar * app_rendersys_override
CVar * audio_default_efx_preset
CVar * sim_terrain_gui_name
CVar * audio_enable_reflection_panning
CameraManager * GetCameraManager()
CVar * audio_enable_creak
CVar * diag_preset_vehicle
CVar * audio_sim_pause_disables_doppler_effect
CVar * audio_force_obstruction_inside_vehicles
CVar * mp_cyclethru_net_actors
Include remote actors when cycling through with CTRL + [ and CTRL + ].
SoundScriptManager * GetSoundScriptManager()
CVar * app_recent_scripts
CVar * diag_trace_globals
CVar * app_force_cache_purge
CVar * gfx_particles_mode
CVar * diag_preset_spawn_pos
CVar * io_ffb_stress_gain
void CreateScriptEngine()
CVar * audio_master_volume
void DestroyInputEngine()
GUIManager * GetGuiManager()
GameContext * GetGameContext()
CVar * sim_tuning_enabled
CVar * diag_terrn_log_roads
CVar * sim_soft_reset_mode
CVar * io_ffb_center_gain
CVar * ui_hide_gui
bool; The 'hide GUI' hotkey state
CVar * app_force_cache_update
CVar * io_analog_sensitivity
CVar * cli_preset_spawn_pos
CVar * diag_log_beam_deform
CVar * sim_realistic_commands
CVar * diag_preset_spawn_rot
CVar * gfx_window_videocams
CVar * sim_replay_stepping
CVar * sim_no_self_collisions
CVar * gfx_vegetation_mode
DiscordRpc * GetDiscordRpc()
CVar * sim_live_repair_interval
Hold EV_COMMON_REPAIR_TRUCK to enter LiveRepair mode. 0 or negative interval disables.
CVar * diag_hide_wheel_info
CVar * cli_preset_terrain
CVar * app_disable_online_api
CVar * ui_default_boat_dash
string; name of the '.dashboard' file in modcache.
CVar * flexbody_defrag_enabled
CVar * app_config_long_names
CVar * ui_default_truck_dash
string; name of the '.dashboard' file in modcache.
CVar * io_ffb_master_gain
CVar * diag_simple_materials
CVar * mp_pseudo_collisions
ScriptEngine * GetScriptEngine()
CVar * diag_hide_broken_beams
CVar * gfx_alt_actor_materials
CacheSystem * GetCacheSystem()
CVar * diag_preset_veh_enter
CVar * gfx_speedo_imperial
CVar * app_custom_scripts
CVar * ui_always_show_fullsize
CVar * gfx_enable_rtshaders
CVar * diag_use_mygui_logfile
void CreateCameraManager()
CVar * sim_quickload_dialog
CVar * gfx_envmap_enabled
CVar * flexbody_defrag_reorder_indices
CVar * diag_preset_terrain
CVar * cli_preset_spawn_rot
CVar * gfx_reduce_shadows
CVar * audio_enable_occlusion
CVar * audio_engine_controls_environmental_audio
CVar * gfx_surveymap_icons
CVar * io_ffb_camera_gain
CVar * diag_preset_veh_config
CVar * gfx_texture_filter
MumbleIntegration * GetMumble()
CVar * sys_screenshot_dir
CVar * gfx_flexbody_cache
CVar * gfx_fov_external_default
CVar * cli_preset_vehicle
CVar * diag_log_beam_break
CVar * io_input_grab_mode
CVar * gfx_enable_videocams
CVar * sim_replay_enabled
CVar * io_arcade_controls
CVar * io_analog_smoothing
CVar * gfx_shadow_quality
LanguageEngine * GetLanguageEngine()
void CreateSoundScriptManager()
CVar * sys_thumbnails_dir
CVar * flexbody_defrag_invert_lookup
CVar * diag_log_console_echo
CVar * gfx_fixed_cam_tracking
CVar * app_extra_mod_path
void DestroyOverlayWrapper()
CVar * gfx_skidmarks_mode
CVar * diag_hide_beam_stress
CVar * mp_join_on_startup
void Log(const char *msg)
The ultimate, application-wide logging function. Adds a line (any length) in 'RoR....
@ CURR_VEHICLE_HEAD_ONLY
Only current vehicle, main lights.
@ ALL_VEHICLES_HEAD_ONLY
All vehicles, main lights.
@ NO_LIGHTSOURCES
No light sources.
@ ALL_VEHICLES_ALL_LIGHTS
All vehicles, all lights.
LoaderType
< Search mode for ModCache::Query() & Operation mode for GUI::MainSelector
void HandleGenericException(const std::string &from, BitMask_t flags)
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.
void HandleMsgQueueException(MsgType from)
@ VCAM_ROLE_MIRROR
Flips the video output and when not in driver cam, acts like a natural mirror, not a screen.
@ VCAM_ROLE_TRACKING_MIRROR_NOFLIP
A MIRROR_NOFLIP(2) with tracking node set.
@ VCAM_ROLE_TRACKING_MIRROR
A MIRROR(1) with tracking node set.
@ VCAM_ROLE_MIRROR_PROP_LEFT
The classic 'special prop/rear view mirror'.
@ VCAM_ROLE_TRACKING_VIDEOCAM
@ VCAM_ROLE_MIRROR_PROP_RIGHT
The classic 'special prop/rear view mirror'.
@ VCAM_ROLE_MIRROR_NOFLIP
Same as VCAM_ROLE_MIRROR, but without flipping the texture horizontally (expects texcoords to be alre...
UiPreset
See UiPresets[] list in GUIManager.cpp (declared extern in GUIManager.h)
@ FULL_FAST
Reflection + refraction (speed optimized)
@ FULL_HQ
Reflection + refraction (quality optimized)
void LogFormat(const char *format,...)
Improved logging utility. Uses fixed 2Kb buffer.
const char * TObjSpecialObjectToString(TObjSpecialObject val)
@ TRUCK2
Free position (not auto-adjusted to fit terrain or water surface)
@ CAELUM
Caelum (best looking, slower)
@ SANDSTORM
Sandstorm (fastest)
@ SKYX
SkyX (best looking, slower)
static CameraMode_t CAMERA_MODE_ALWAYS_VISIBLE
@ CID_Max
SPECIAL VALUE - Maximum allowed to be present in any mod files.
@ CID_Projects
For truck files under 'projects/' directory, to allow listing from editors.
@ CID_Tuneups
For unsorted tuneup files.
HandleGenericExceptionFlags
< Flags for HandleGenericException()
@ HANDLEGENERICEXCEPTION_LOGFILE
@ HANDLEGENERICEXCEPTION_DEFAULT
@ HANDLEGENERICEXCEPTION_SCRIPTEVENT
@ HANDLEGENERICEXCEPTION_CONSOLE
static CameraMode_t CAMERA_MODE_3RDPERSON_ONLY
static CameraMode_t CAMERA_MODE_ALWAYS_HIDDEN
@ FOOT_ONLY
= yes footbrake, no handbrake, no direction control – footbrake only, such as with the front wheels o...
@ FOOT_HAND_SKID_RIGHT
= yes footbrake, yes handbrake, yes direction control (braked when vehicle steers to the right)
@ FOOT_HAND
= yes footbrake, yes handbrake, no direction control
@ FOOT_HAND_SKID_LEFT
= yes footbrake, yes handbrake, yes direction control (braked when vehicle steers to the left)