Rigs of Rods 2026.01
Soft-body Physics Simulation
Loading...
Searching...
No Matches
MsgQueueAngelscriptCommon.cpp
Go to the documentation of this file.
1/*
2 This source file is part of Rigs of Rods
3 Copyright 2005-2012 Pierre-Michel Ricordel
4 Copyright 2007-2012 Thomas Fischer
5 Copyright 2013-2023 Petr Ohlidal
6
7 For more information, see http://www.rigsofrods.org/
8
9 Rigs of Rods is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License version 3, as
11 published by the Free Software Foundation.
12
13 Rigs of Rods is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
20*/
21
23
24#include "ScriptEvents.h"
25#include "AngelScriptBindings.h"
26#include "Application.h"
27#include "SimData.h"
28#include <angelscript.h>
29
30using namespace AngelScript;
31using namespace RoR;
32
33void RoR::RegisterMessageQueueCommon(asIScriptEngine* engine)
34{
35 int result;
36
37 // enum MsgType
38 result = engine->RegisterEnum("MsgType"); ROR_ASSERT(result >= 0);
39
40 result = engine->RegisterEnumValue("MsgType", "MSG_INVALID", MSG_INVALID); ROR_ASSERT(result >= 0);
41 // Application
42 result = engine->RegisterEnumValue("MsgType", "MSG_APP_SHUTDOWN_REQUESTED", MSG_APP_SHUTDOWN_REQUESTED); ROR_ASSERT(result >= 0);
43 result = engine->RegisterEnumValue("MsgType", "MSG_APP_SCREENSHOT_REQUESTED", MSG_APP_SCREENSHOT_REQUESTED); ROR_ASSERT(result >= 0);
44 result = engine->RegisterEnumValue("MsgType", "MSG_APP_DISPLAY_FULLSCREEN_REQUESTED", MSG_APP_DISPLAY_FULLSCREEN_REQUESTED); ROR_ASSERT(result >= 0);
45 result = engine->RegisterEnumValue("MsgType", "MSG_APP_DISPLAY_WINDOWED_REQUESTED", MSG_APP_DISPLAY_WINDOWED_REQUESTED); ROR_ASSERT(result >= 0);
46 result = engine->RegisterEnumValue("MsgType", "MSG_APP_MODCACHE_LOAD_REQUESTED", MSG_APP_MODCACHE_LOAD_REQUESTED); ROR_ASSERT(result >= 0);
47 result = engine->RegisterEnumValue("MsgType", "MSG_APP_MODCACHE_UPDATE_REQUESTED", MSG_APP_MODCACHE_UPDATE_REQUESTED); ROR_ASSERT(result >= 0);
48 result = engine->RegisterEnumValue("MsgType", "MSG_APP_MODCACHE_PURGE_REQUESTED", MSG_APP_MODCACHE_PURGE_REQUESTED); ROR_ASSERT(result >= 0);
49 result = engine->RegisterEnumValue("MsgType", "MSG_APP_LOAD_SCRIPT_REQUESTED", MSG_APP_LOAD_SCRIPT_REQUESTED); ROR_ASSERT(result >= 0);
50 result = engine->RegisterEnumValue("MsgType", "MSG_APP_UNLOAD_SCRIPT_REQUESTED", MSG_APP_UNLOAD_SCRIPT_REQUESTED); ROR_ASSERT(result >= 0);
51 result = engine->RegisterEnumValue("MsgType", "MSG_APP_SCRIPT_THREAD_STATUS", MSG_APP_SCRIPT_THREAD_STATUS); ROR_ASSERT(result >= 0);
52 result = engine->RegisterEnumValue("MsgType", "MSG_APP_REINIT_INPUT_REQUESTED", MSG_APP_REINIT_INPUT_REQUESTED); ROR_ASSERT(result >= 0);
53 result = engine->RegisterEnumValue("MsgType", "MSG_APP_REINIT_UI_REQUESTED", MSG_APP_REINIT_UI_REQUESTED); ROR_ASSERT(result >= 0);
54 // Networking
55 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_REQUESTED", MSG_NET_CONNECT_REQUESTED); ROR_ASSERT(result >= 0);
56 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_STARTED", MSG_NET_CONNECT_STARTED); ROR_ASSERT(result >= 0);
57 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_PROGRESS", MSG_NET_CONNECT_PROGRESS); ROR_ASSERT(result >= 0);
58 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_SUCCESS", MSG_NET_CONNECT_SUCCESS); ROR_ASSERT(result >= 0);
59 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_FAILURE", MSG_NET_CONNECT_FAILURE); ROR_ASSERT(result >= 0);
60 result = engine->RegisterEnumValue("MsgType", "MSG_NET_SERVER_KICK", MSG_NET_SERVER_KICK); ROR_ASSERT(result >= 0);
61 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DISCONNECT_REQUESTED", MSG_NET_DISCONNECT_REQUESTED); ROR_ASSERT(result >= 0);
62 result = engine->RegisterEnumValue("MsgType", "MSG_NET_USER_DISCONNECT", MSG_NET_USER_DISCONNECT); ROR_ASSERT(result >= 0);
63 result = engine->RegisterEnumValue("MsgType", "MSG_NET_RECV_ERROR", MSG_NET_RECV_ERROR); ROR_ASSERT(result >= 0);
64 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_SERVERLIST_SUCCESS", MSG_NET_REFRESH_SERVERLIST_SUCCESS); ROR_ASSERT(result >= 0);
65 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_SERVERLIST_FAILURE", MSG_NET_REFRESH_SERVERLIST_FAILURE); ROR_ASSERT(result >= 0);
66 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_REPOLIST_SUCCESS", MSG_NET_REFRESH_REPOLIST_SUCCESS); ROR_ASSERT(result >= 0);
67 result = engine->RegisterEnumValue("MsgType", "MSG_NET_OPEN_RESOURCE_SUCCESS", MSG_NET_OPEN_RESOURCE_SUCCESS); ROR_ASSERT(result >= 0);
68 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_REPOLIST_FAILURE", MSG_NET_REFRESH_REPOLIST_FAILURE); ROR_ASSERT(result >= 0);
69 result = engine->RegisterEnumValue("MsgType", "MSG_NET_FETCH_AI_PRESETS_SUCCESS", MSG_NET_FETCH_AI_PRESETS_SUCCESS); ROR_ASSERT(result >= 0);
70 result = engine->RegisterEnumValue("MsgType", "MSG_NET_FETCH_AI_PRESETS_FAILURE", MSG_NET_FETCH_AI_PRESETS_FAILURE); ROR_ASSERT(result >= 0);
71 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_REQUESTED", MSG_NET_DOWNLOAD_REPOFILE_REQUESTED); ROR_ASSERT(result >= 0);
72 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_SUCCESS", MSG_NET_DOWNLOAD_REPOFILE_SUCCESS); ROR_ASSERT(result >= 0);
73 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_FAILURE", MSG_NET_DOWNLOAD_REPOFILE_FAILURE); ROR_ASSERT(result >= 0);
74 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_PROGRESS", MSG_NET_DOWNLOAD_REPOFILE_PROGRESS); ROR_ASSERT(result >= 0);
75 // Simulation
76 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_PAUSE_REQUESTED", MSG_SIM_PAUSE_REQUESTED); ROR_ASSERT(result >= 0);
77 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_UNPAUSE_REQUESTED", MSG_SIM_UNPAUSE_REQUESTED); ROR_ASSERT(result >= 0);
78 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_LOAD_TERRN_REQUESTED", MSG_SIM_LOAD_TERRN_REQUESTED); ROR_ASSERT(result >= 0);
79 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_LOAD_SAVEGAME_REQUESTED", MSG_SIM_LOAD_SAVEGAME_REQUESTED); ROR_ASSERT(result >= 0);
80 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_UNLOAD_TERRN_REQUESTED", MSG_SIM_UNLOAD_TERRN_REQUESTED); ROR_ASSERT(result >= 0);
81 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_SPAWN_ACTOR_REQUESTED", MSG_SIM_SPAWN_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
82 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_MODIFY_ACTOR_REQUESTED", MSG_SIM_MODIFY_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
83 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_DELETE_ACTOR_REQUESTED", MSG_SIM_DELETE_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
84 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_SEAT_PLAYER_REQUESTED", MSG_SIM_SEAT_PLAYER_REQUESTED); ROR_ASSERT(result >= 0);
85 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_TELEPORT_PLAYER_REQUESTED", MSG_SIM_TELEPORT_PLAYER_REQUESTED); ROR_ASSERT(result >= 0);
86 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_HIDE_NET_ACTOR_REQUESTED", MSG_SIM_HIDE_NET_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
87 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_UNHIDE_NET_ACTOR_REQUESTED", MSG_SIM_UNHIDE_NET_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
88 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_ADD_FREEFORCE_REQUESTED", MSG_SIM_ADD_FREEFORCE_REQUESTED); ROR_ASSERT(result >= 0);
89 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_MODIFY_FREEFORCE_REQUESTED", MSG_SIM_MODIFY_FREEFORCE_REQUESTED); ROR_ASSERT(result >= 0);
90 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_REMOVE_FREEFORCE_REQUESTED", MSG_SIM_REMOVE_FREEFORCE_REQUESTED); ROR_ASSERT(result >= 0);
91 // GUI
92 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_OPEN_MENU_REQUESTED", MSG_GUI_OPEN_MENU_REQUESTED); ROR_ASSERT(result >= 0);
93 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_CLOSE_MENU_REQUESTED", MSG_GUI_CLOSE_MENU_REQUESTED); ROR_ASSERT(result >= 0);
94 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_OPEN_SELECTOR_REQUESTED", MSG_GUI_OPEN_SELECTOR_REQUESTED); ROR_ASSERT(result >= 0);
95 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_CLOSE_SELECTOR_REQUESTED", MSG_GUI_CLOSE_SELECTOR_REQUESTED); ROR_ASSERT(result >= 0);
96 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_MP_CLIENTS_REFRESH", MSG_GUI_MP_CLIENTS_REFRESH); ROR_ASSERT(result >= 0);
97 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_SHOW_MESSAGE_BOX_REQUESTED", MSG_GUI_SHOW_MESSAGE_BOX_REQUESTED); ROR_ASSERT(result >= 0);
98 // Editing
99 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_MODIFY_GROUNDMODEL_REQUESTED", MSG_EDI_MODIFY_GROUNDMODEL_REQUESTED); ROR_ASSERT(result >= 0);
100 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_ENTER_TERRN_EDITOR_REQUESTED", MSG_EDI_ENTER_TERRN_EDITOR_REQUESTED); ROR_ASSERT(result >= 0);
101 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED", MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED); ROR_ASSERT(result >= 0);
102 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_LOAD_BUNDLE_REQUESTED", MSG_EDI_LOAD_BUNDLE_REQUESTED); ROR_ASSERT(result >= 0);
103 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_RELOAD_BUNDLE_REQUESTED", MSG_EDI_RELOAD_BUNDLE_REQUESTED); ROR_ASSERT(result >= 0);
104 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_UNLOAD_BUNDLE_REQUESTED", MSG_EDI_UNLOAD_BUNDLE_REQUESTED); ROR_ASSERT(result >= 0);
105 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_CREATE_PROJECT_REQUESTED", MSG_EDI_CREATE_PROJECT_REQUESTED); ROR_ASSERT(result >= 0);
106 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_ADD_FREEBEAMGFX_REQUESTED", MSG_EDI_ADD_FREEBEAMGFX_REQUESTED); ROR_ASSERT(result >= 0);
107 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_MODIFY_FREEBEAMGFX_REQUESTED", MSG_EDI_MODIFY_FREEBEAMGFX_REQUESTED); ROR_ASSERT(result >= 0);
108 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_DELETE_FREEBEAMGFX_REQUESTED", MSG_EDI_DELETE_FREEBEAMGFX_REQUESTED); ROR_ASSERT(result >= 0);
109
110 // enum FreeForceType
111 result = engine->RegisterEnum("FreeForceType"); ROR_ASSERT(result>=0);
112
113 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_DUMMY", (int)FreeForceType::DUMMY); ROR_ASSERT(result >= 0);
114 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_CONSTANT", (int)FreeForceType::CONSTANT); ROR_ASSERT(result >= 0);
115 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_TOWARDS_COORDS", (int)FreeForceType::TOWARDS_COORDS); ROR_ASSERT(result >= 0);
116 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_TOWARDS_NODE", (int)FreeForceType::TOWARDS_NODE); ROR_ASSERT(result >= 0);
117 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_HALFBEAM_GENERIC", (int)FreeForceType::HALFBEAM_GENERIC); ROR_ASSERT(result >= 0);
118 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_HALFBEAM_ROPE", (int)FreeForceType::HALFBEAM_ROPE); ROR_ASSERT(result >= 0);
119}
Central state/object manager and communications hub.
#define ROR_ASSERT(_EXPR)
Definition Application.h:40
Core data structures for simulation; Everything affected by by either physics, network or user intera...
@ MSG_GUI_OPEN_MENU_REQUESTED
@ MSG_APP_MODCACHE_LOAD_REQUESTED
Definition Application.h:91
@ MSG_SIM_TELEPORT_PLAYER_REQUESTED
Payload = Ogre::Vector3* (owner)
@ MSG_NET_CONNECT_STARTED
@ MSG_APP_MODCACHE_PURGE_REQUESTED
Definition Application.h:93
@ MSG_NET_FETCH_AI_PRESETS_SUCCESS
Description = JSON string.
@ MSG_NET_DOWNLOAD_REPOFILE_REQUESTED
Payload = RoR::RepoFileInstallRequest* (owner)
@ MSG_GUI_CLOSE_MENU_REQUESTED
@ MSG_NET_RECV_ERROR
@ MSG_EDI_ADD_FREEBEAMGFX_REQUESTED
Payload = RoR::FreeBeamGfxRequest* (owner)
@ MSG_SIM_PAUSE_REQUESTED
@ MSG_NET_DOWNLOAD_REPOFILE_SUCCESS
Payload = RoR::RepoFileInstallRequest* (owner)
@ MSG_APP_REINIT_UI_REQUESTED
Reloads fonts and re-applies style, i.e. after changing 'ui_scale_factor'.
Definition Application.h:98
@ 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_APP_MODCACHE_UPDATE_REQUESTED
Definition Application.h:92
@ MSG_APP_DISPLAY_WINDOWED_REQUESTED
Definition Application.h:90
@ MSG_NET_DISCONNECT_REQUESTED
@ MSG_NET_FETCH_AI_PRESETS_FAILURE
Description = message.
@ MSG_INVALID
Definition Application.h:85
@ MSG_EDI_ENTER_TERRN_EDITOR_REQUESTED
@ MSG_SIM_SPAWN_ACTOR_REQUESTED
Payload = RoR::ActorSpawnRequest* (owner)
@ MSG_SIM_REMOVE_FREEFORCE_REQUESTED
Payload = RoR::FreeForceID_t* (owner)
@ MSG_GUI_OPEN_SELECTOR_REQUESTED
Payload = LoaderType* (owner), Description = GUID | empty.
@ MSG_APP_UNLOAD_SCRIPT_REQUESTED
Payload = RoR::ScriptUnitId_t* (owner)
Definition Application.h:95
@ MSG_SIM_SEAT_PLAYER_REQUESTED
Payload = RoR::ActorPtr (owner) | nullptr.
@ MSG_GUI_MP_CLIENTS_REFRESH
@ MSG_NET_CONNECT_PROGRESS
@ MSG_EDI_LOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
@ MSG_APP_LOAD_SCRIPT_REQUESTED
Payload = RoR::LoadScriptRequest* (owner)
Definition Application.h:94
@ MSG_SIM_LOAD_SAVEGAME_REQUESTED
@ MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED
@ 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_APP_SHUTDOWN_REQUESTED
Definition Application.h:87
@ MSG_APP_DISPLAY_FULLSCREEN_REQUESTED
Definition Application.h:89
@ 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_EDI_CREATE_PROJECT_REQUESTED
Payload = RoR::CreateProjectRequest* (owner)
@ MSG_APP_SCRIPT_THREAD_STATUS
Payload = RoR::ScriptEventArgs* (owner)
Definition Application.h:96
@ 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
Definition Application.h:88
@ MSG_NET_SERVER_KICK
@ MSG_APP_REINIT_INPUT_REQUESTED
Definition Application.h:97
@ MSG_EDI_RELOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
void RegisterMessageQueueCommon(AngelScript::asIScriptEngine *engine)
Registers enums MsgType and FreeForceType, defined in MsgQueueAngelscriptCommon.cpp NOTE: only enums,...