Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
MsgQueueAngelscript.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
22#include "ScriptEvents.h"
23#include "AngelScriptBindings.h"
24#include "Application.h"
25#include "SimData.h"
26#include <angelscript.h>
27
28using namespace AngelScript;
29using namespace RoR;
30
31void RoR::RegisterMessageQueue(asIScriptEngine* engine)
32{
33 int result;
34
35 // enum MsgType
36 result = engine->RegisterEnum("MsgType"); ROR_ASSERT(result >= 0);
37
38 result = engine->RegisterEnumValue("MsgType", "MSG_INVALID", MSG_INVALID); ROR_ASSERT(result >= 0);
39 // Application
40 result = engine->RegisterEnumValue("MsgType", "MSG_APP_SHUTDOWN_REQUESTED", MSG_APP_SHUTDOWN_REQUESTED); ROR_ASSERT(result >= 0);
41 result = engine->RegisterEnumValue("MsgType", "MSG_APP_SCREENSHOT_REQUESTED", MSG_APP_SCREENSHOT_REQUESTED); ROR_ASSERT(result >= 0);
42 result = engine->RegisterEnumValue("MsgType", "MSG_APP_DISPLAY_FULLSCREEN_REQUESTED", MSG_APP_DISPLAY_FULLSCREEN_REQUESTED); ROR_ASSERT(result >= 0);
43 result = engine->RegisterEnumValue("MsgType", "MSG_APP_DISPLAY_WINDOWED_REQUESTED", MSG_APP_DISPLAY_WINDOWED_REQUESTED); ROR_ASSERT(result >= 0);
44 result = engine->RegisterEnumValue("MsgType", "MSG_APP_MODCACHE_LOAD_REQUESTED", MSG_APP_MODCACHE_LOAD_REQUESTED); ROR_ASSERT(result >= 0);
45 result = engine->RegisterEnumValue("MsgType", "MSG_APP_MODCACHE_UPDATE_REQUESTED", MSG_APP_MODCACHE_UPDATE_REQUESTED); ROR_ASSERT(result >= 0);
46 result = engine->RegisterEnumValue("MsgType", "MSG_APP_MODCACHE_PURGE_REQUESTED", MSG_APP_MODCACHE_PURGE_REQUESTED); ROR_ASSERT(result >= 0);
47 result = engine->RegisterEnumValue("MsgType", "MSG_APP_LOAD_SCRIPT_REQUESTED", MSG_APP_LOAD_SCRIPT_REQUESTED); ROR_ASSERT(result >= 0);
48 result = engine->RegisterEnumValue("MsgType", "MSG_APP_UNLOAD_SCRIPT_REQUESTED", MSG_APP_UNLOAD_SCRIPT_REQUESTED); ROR_ASSERT(result >= 0);
49 result = engine->RegisterEnumValue("MsgType", "MSG_APP_SCRIPT_THREAD_STATUS", MSG_APP_SCRIPT_THREAD_STATUS); ROR_ASSERT(result >= 0);
50 result = engine->RegisterEnumValue("MsgType", "MSG_APP_REINIT_INPUT_REQUESTED", MSG_APP_REINIT_INPUT_REQUESTED); ROR_ASSERT(result >= 0);
51 // Networking
52 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_REQUESTED", MSG_NET_CONNECT_REQUESTED); ROR_ASSERT(result >= 0);
53 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_STARTED", MSG_NET_CONNECT_STARTED); ROR_ASSERT(result >= 0);
54 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_PROGRESS", MSG_NET_CONNECT_PROGRESS); ROR_ASSERT(result >= 0);
55 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_SUCCESS", MSG_NET_CONNECT_SUCCESS); ROR_ASSERT(result >= 0);
56 result = engine->RegisterEnumValue("MsgType", "MSG_NET_CONNECT_FAILURE", MSG_NET_CONNECT_FAILURE); ROR_ASSERT(result >= 0);
57 result = engine->RegisterEnumValue("MsgType", "MSG_NET_SERVER_KICK", MSG_NET_SERVER_KICK); ROR_ASSERT(result >= 0);
58 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DISCONNECT_REQUESTED", MSG_NET_DISCONNECT_REQUESTED); ROR_ASSERT(result >= 0);
59 result = engine->RegisterEnumValue("MsgType", "MSG_NET_USER_DISCONNECT", MSG_NET_USER_DISCONNECT); ROR_ASSERT(result >= 0);
60 result = engine->RegisterEnumValue("MsgType", "MSG_NET_RECV_ERROR", MSG_NET_RECV_ERROR); ROR_ASSERT(result >= 0);
61 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_SERVERLIST_SUCCESS", MSG_NET_REFRESH_SERVERLIST_SUCCESS); ROR_ASSERT(result >= 0);
62 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_SERVERLIST_FAILURE", MSG_NET_REFRESH_SERVERLIST_FAILURE); ROR_ASSERT(result >= 0);
63 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_REPOLIST_SUCCESS", MSG_NET_REFRESH_REPOLIST_SUCCESS); ROR_ASSERT(result >= 0);
64 result = engine->RegisterEnumValue("MsgType", "MSG_NET_OPEN_RESOURCE_SUCCESS", MSG_NET_OPEN_RESOURCE_SUCCESS); ROR_ASSERT(result >= 0);
65 result = engine->RegisterEnumValue("MsgType", "MSG_NET_REFRESH_REPOLIST_FAILURE", MSG_NET_REFRESH_REPOLIST_FAILURE); ROR_ASSERT(result >= 0);
66 result = engine->RegisterEnumValue("MsgType", "MSG_NET_FETCH_AI_PRESETS_SUCCESS", MSG_NET_FETCH_AI_PRESETS_SUCCESS); ROR_ASSERT(result >= 0);
67 result = engine->RegisterEnumValue("MsgType", "MSG_NET_FETCH_AI_PRESETS_FAILURE", MSG_NET_FETCH_AI_PRESETS_FAILURE); ROR_ASSERT(result >= 0);
68 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_REQUESTED", MSG_NET_DOWNLOAD_REPOFILE_REQUESTED); ROR_ASSERT(result >= 0);
69 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_SUCCESS", MSG_NET_DOWNLOAD_REPOFILE_SUCCESS); ROR_ASSERT(result >= 0);
70 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_FAILURE", MSG_NET_DOWNLOAD_REPOFILE_FAILURE); ROR_ASSERT(result >= 0);
71 result = engine->RegisterEnumValue("MsgType", "MSG_NET_DOWNLOAD_REPOFILE_PROGRESS", MSG_NET_DOWNLOAD_REPOFILE_PROGRESS); ROR_ASSERT(result >= 0);
72 // Simulation
73 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_PAUSE_REQUESTED", MSG_SIM_PAUSE_REQUESTED); ROR_ASSERT(result >= 0);
74 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_UNPAUSE_REQUESTED", MSG_SIM_UNPAUSE_REQUESTED); ROR_ASSERT(result >= 0);
75 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_LOAD_TERRN_REQUESTED", MSG_SIM_LOAD_TERRN_REQUESTED); ROR_ASSERT(result >= 0);
76 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_LOAD_SAVEGAME_REQUESTED", MSG_SIM_LOAD_SAVEGAME_REQUESTED); ROR_ASSERT(result >= 0);
77 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_UNLOAD_TERRN_REQUESTED", MSG_SIM_UNLOAD_TERRN_REQUESTED); ROR_ASSERT(result >= 0);
78 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_SPAWN_ACTOR_REQUESTED", MSG_SIM_SPAWN_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
79 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_MODIFY_ACTOR_REQUESTED", MSG_SIM_MODIFY_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
80 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_DELETE_ACTOR_REQUESTED", MSG_SIM_DELETE_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
81 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_SEAT_PLAYER_REQUESTED", MSG_SIM_SEAT_PLAYER_REQUESTED); ROR_ASSERT(result >= 0);
82 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_TELEPORT_PLAYER_REQUESTED", MSG_SIM_TELEPORT_PLAYER_REQUESTED); ROR_ASSERT(result >= 0);
83 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_HIDE_NET_ACTOR_REQUESTED", MSG_SIM_HIDE_NET_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
84 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_UNHIDE_NET_ACTOR_REQUESTED", MSG_SIM_UNHIDE_NET_ACTOR_REQUESTED); ROR_ASSERT(result >= 0);
85 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_ADD_FREEFORCE_REQUESTED", MSG_SIM_ADD_FREEFORCE_REQUESTED); ROR_ASSERT(result >= 0);
86 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_MODIFY_FREEFORCE_REQUESTED", MSG_SIM_MODIFY_FREEFORCE_REQUESTED); ROR_ASSERT(result >= 0);
87 result = engine->RegisterEnumValue("MsgType", "MSG_SIM_REMOVE_FREEFORCE_REQUESTED", MSG_SIM_REMOVE_FREEFORCE_REQUESTED); ROR_ASSERT(result >= 0);
88 // GUI
89 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_OPEN_MENU_REQUESTED", MSG_GUI_OPEN_MENU_REQUESTED); ROR_ASSERT(result >= 0);
90 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_CLOSE_MENU_REQUESTED", MSG_GUI_CLOSE_MENU_REQUESTED); ROR_ASSERT(result >= 0);
91 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_OPEN_SELECTOR_REQUESTED", MSG_GUI_OPEN_SELECTOR_REQUESTED); ROR_ASSERT(result >= 0);
92 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_CLOSE_SELECTOR_REQUESTED", MSG_GUI_CLOSE_SELECTOR_REQUESTED); ROR_ASSERT(result >= 0);
93 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_MP_CLIENTS_REFRESH", MSG_GUI_MP_CLIENTS_REFRESH); ROR_ASSERT(result >= 0);
94 result = engine->RegisterEnumValue("MsgType", "MSG_GUI_SHOW_MESSAGE_BOX_REQUESTED", MSG_GUI_SHOW_MESSAGE_BOX_REQUESTED); ROR_ASSERT(result >= 0);
95 // Editing
96 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_MODIFY_GROUNDMODEL_REQUESTED", MSG_EDI_MODIFY_GROUNDMODEL_REQUESTED); ROR_ASSERT(result >= 0);
97 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_ENTER_TERRN_EDITOR_REQUESTED", MSG_EDI_ENTER_TERRN_EDITOR_REQUESTED); ROR_ASSERT(result >= 0);
98 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED", MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED); ROR_ASSERT(result >= 0);
99 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_LOAD_BUNDLE_REQUESTED", MSG_EDI_LOAD_BUNDLE_REQUESTED); ROR_ASSERT(result >= 0);
100 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_RELOAD_BUNDLE_REQUESTED", MSG_EDI_RELOAD_BUNDLE_REQUESTED); ROR_ASSERT(result >= 0);
101 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_UNLOAD_BUNDLE_REQUESTED", MSG_EDI_UNLOAD_BUNDLE_REQUESTED); ROR_ASSERT(result >= 0);
102 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_CREATE_PROJECT_REQUESTED", MSG_EDI_CREATE_PROJECT_REQUESTED); ROR_ASSERT(result >= 0);
103 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_ADD_FREEBEAMGFX_REQUESTED", MSG_EDI_ADD_FREEBEAMGFX_REQUESTED); ROR_ASSERT(result >= 0);
104 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_MODIFY_FREEBEAMGFX_REQUESTED", MSG_EDI_MODIFY_FREEBEAMGFX_REQUESTED); ROR_ASSERT(result >= 0);
105 result = engine->RegisterEnumValue("MsgType", "MSG_EDI_DELETE_FREEBEAMGFX_REQUESTED", MSG_EDI_DELETE_FREEBEAMGFX_REQUESTED); ROR_ASSERT(result >= 0);
106
107 // enum FreeForceType
108 result = engine->RegisterEnum("FreeForceType"); ROR_ASSERT(result>=0);
109
110 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_DUMMY", (int)FreeForceType::DUMMY); ROR_ASSERT(result >= 0);
111 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_CONSTANT", (int)FreeForceType::CONSTANT); ROR_ASSERT(result >= 0);
112 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_TOWARDS_COORDS", (int)FreeForceType::TOWARDS_COORDS); ROR_ASSERT(result >= 0);
113 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_TOWARDS_NODE", (int)FreeForceType::TOWARDS_NODE); ROR_ASSERT(result >= 0);
114 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_HALFBEAM_GENERIC", (int)FreeForceType::HALFBEAM_GENERIC); ROR_ASSERT(result >= 0);
115 result = engine->RegisterEnumValue("FreeForceType", "FREEFORCETYPE_HALFBEAM_ROPE", (int)FreeForceType::HALFBEAM_ROPE); ROR_ASSERT(result >= 0);
116}
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:90
@ MSG_SIM_TELEPORT_PLAYER_REQUESTED
Payload = Ogre::Vector3* (owner)
@ MSG_NET_CONNECT_STARTED
Definition Application.h:99
@ MSG_APP_MODCACHE_PURGE_REQUESTED
Definition Application.h:92
@ 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_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:91
@ MSG_APP_DISPLAY_WINDOWED_REQUESTED
Definition Application.h:89
@ MSG_NET_DISCONNECT_REQUESTED
@ MSG_NET_FETCH_AI_PRESETS_FAILURE
Description = message.
@ MSG_INVALID
Definition Application.h:84
@ 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:94
@ 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:93
@ MSG_SIM_LOAD_SAVEGAME_REQUESTED
@ MSG_EDI_LEAVE_TERRN_EDITOR_REQUESTED
@ MSG_NET_CONNECT_SUCCESS
@ MSG_NET_USER_DISCONNECT
@ MSG_NET_CONNECT_REQUESTED
Definition Application.h:98
@ 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:86
@ MSG_APP_DISPLAY_FULLSCREEN_REQUESTED
Definition Application.h:88
@ 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:95
@ 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:87
@ MSG_NET_SERVER_KICK
@ MSG_APP_REINIT_INPUT_REQUESTED
Definition Application.h:96
@ MSG_EDI_RELOAD_BUNDLE_REQUESTED
Payload = RoR::CacheEntryPtr* (owner)
void RegisterMessageQueue(AngelScript::asIScriptEngine *engine)
Registers enum MsgType, defined in MsgQueueAngelscript.cpp.