394 catch (Ogre::Exception& oex)
399 LOG(fmt::format(
"{}: {}", from, oex.getDescription()));
400#ifdef USE_ANGELSCRIPT
405 catch (std::exception& stex)
410 LOG(fmt::format(
"{}: {}", from, stex.what()));
411#ifdef USE_ANGELSCRIPT
421 LOG(fmt::format(
"{}: Unknown exception", from));
422#ifdef USE_ANGELSCRIPT
440 Ogre::LogManager::getSingleton().logMessage(msg);
445 char buffer[2000] = {};
448 va_start(args, format);
449 vsprintf(buffer, format, args);
System integration layer; inspired by OgreBites::ApplicationContext.
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
void LOG(const char *msg)
Legacy alias - formerly a macro.
A database of user-installed content alias 'mods' (vehicles, terrains...)
Game state manager and message-queue provider.
Central setup and event handler for input/windowing/rendering.
Quake-style console variable, defined in RoR.cfg or crated via Console UI and scripts.
A content database MOTIVATION: RoR users usually have A LOT of content installed.
Global game console backend.
@ CONSOLE_MSGTYPE_INFO
Generic message.
void putMessage(MessageArea area, MessageType type, std::string const &msg, std::string icon="")
Wrapper class, just for code consistency with other subsystems.
Central game state manager.
Provides a 3D graphical representation of the simulation Idea: simulation runs at it's own constant r...
Ogre::SceneManager * GetSceneManager()
This class represents the angelscript scripting interface.
void forwardExceptionAsScriptEvent(const std::string &from)
Forwards useful info from C++ try{}catch{} exceptions to script in the form of game event.
Facilitates execution of (small) tasks on separate threads.
static ThreadPool * DetectNumWorkersAndCreate()
const char * KeywordToString(RigDef::Keyword keyword)
@ SLIDENODE_CONNECT_INSTANTLY
@ SET_BEAM_DEFAULTS_SCALE
@ ENABLE_ADVANCED_DEFORMATION
@ SET_MANAGEDMATERIALS_OPTIONS
@ LOCKGROUP_DEFAULT_NOLOCK
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_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_EDI_LOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
@ MSG_APP_LOAD_SCRIPT_REQUESTED
Payload = RoR::LoadScriptRequest* (owner)
@ MSG_SIM_LOAD_SAVEGAME_REQUESTED
@ 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_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
static DiscordRpc g_discord_rpc
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
static InputEngine * g_input_engine
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
static MumbleIntegration * g_mumble
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
static CacheSystem g_cache_system
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
static ContentManager g_content_manager
CVar * app_force_cache_purge
CVar * gfx_particles_mode
static GUIManager * g_gui_manager
CVar * diag_preset_spawn_pos
static GfxScene g_gfx_scene
static LanguageEngine g_language_engine
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
static CameraManager * g_camera_manager
static Terrain * g_sim_terrain
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.
static AppContext g_app_context
CVar * io_ffb_master_gain
static ThreadPool * g_thread_pool
CVar * diag_simple_materials
CVar * mp_pseudo_collisions
ScriptEngine * GetScriptEngine()
CVar * diag_hide_broken_beams
CVar * gfx_alt_actor_materials
static OutGauge g_out_gauge
CacheSystem * GetCacheSystem()
CVar * diag_preset_veh_enter
CVar * gfx_speedo_imperial
CVar * app_custom_scripts
CVar * ui_always_show_fullsize
CVar * gfx_enable_rtshaders
static ScriptEngine * g_script_engine
CVar * diag_use_mygui_logfile
void CreateCameraManager()
CVar * sim_quickload_dialog
CVar * gfx_envmap_enabled
static OverlayWrapper * g_overlay_wrapper
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
static SoundScriptManager * g_sound_script_manager
static GameContext g_game_context
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.
void HandleGenericException(const std::string &from, BitMask_t flags)
void HandleMsgQueueException(MsgType from)
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)
@ HANDLEGENERICEXCEPTION_LOGFILE
@ HANDLEGENERICEXCEPTION_SCRIPTEVENT
@ HANDLEGENERICEXCEPTION_CONSOLE