Tramway SDK
debug.h
Go to the documentation of this file.
1// Tramway Drifting and Dungeon Exploration Simulator SDK Runtime
2
3#ifndef TRAM_SDK_EXTENSIONS_MENU_DEBUG_H
4#define TRAM_SDK_EXTENSIONS_MENU_DEBUG_H
5
7
8#include <functional>
9
10namespace tram {
11 class WorldCell;
12}
13
14namespace tram::Ext::Menu {
15
16void InitCallbacks();
17void UpdateCallbacks();
18
19class InterceptMenu;
20class StatisticsMenu;
21
22class DebugMenu : public Menu {
23public:
24 void Display();
25 uint32_t Layer() { return 0; }
26 ~DebugMenu() = default;
27protected:
28 static bool intercept_enabled;
29 static bool statistics_enabled;
32};
33
34class EntityProperties : public Menu {
35public:
36 void SetPicked(id_t entity);
37 uint32_t Layer() { return 1; }
38 void Display();
39 ~EntityProperties() = default;
40protected:
42};
43
44class EntityPicker : public Menu {
45public:
47 uint32_t Layer() { return 1; }
48 void Display();
49 ~EntityPicker() = default;
50protected:
52};
53
54class ListSelection : public Menu {
55public:
56 ListSelection(std::function<void(uint32_t)> callback, std::vector<std::string> list);
57 uint32_t Layer() { return 2; }
58 void Display();
59 ~ListSelection() = default;
60protected:
61 std::function<void(uint32_t)> callback;
62 std::vector<std::string> list;
63};
64
65class MessageSend : public Menu {
66public:
67 void SetEntity(id_t entity);
68 void SetMessageType(uint32_t type);
69 uint32_t Layer() { return 1; }
70 void Display();
71 ~MessageSend() = default;
72protected:
73 uint32_t parameter_type = 0;
75 uint32_t message_type = 0;
76 char parameter_string[32] = "";
77};
78
79class InterceptMenu : public Menu {
80public:
81 void Display();
82 uint32_t Layer() { return 0; }
83 inline void SetOffset(uint32_t offset) { this->offset = offset; }
84 ~InterceptMenu() = default;
85protected:
86 uint32_t offset = 0;
87};
88
89class WorldCellProperties : public Menu {
90public:
92 uint32_t Layer() { return 1; }
93 void Display();
95protected:
96 WorldCell* cell = nullptr;
97};
98
99class StatisticsMenu : public Menu {
100public:
101 void Display();
102 uint32_t Layer() { return 0; }
103 ~StatisticsMenu() = default;
104};
105
106class EventEmit : public Menu {
107public:
108 void SetEventType(uint32_t type) { event_type = type; }
109 uint32_t Layer() { return 1; }
110 void Display();
111 ~EventEmit() = default;
112protected:
113 uint16_t subtype = 0;
114 uint32_t parameter_type = 0;
115 uint32_t event_type = 0;
116 char subtype_string[8] = "0";
117 char parameter_string[32] = "";
118};
119
120class SignalMenu : public Menu {
121public:
122 void SetEntity(id_t entity) { entity_id = entity; }
123 void Display();
124 uint32_t Layer() { return 2; }
125 ~SignalMenu() = default;
126protected:
128};
129
130class Options : public Menu {
131public:
132 Options() = default;
133 uint32_t Layer() { return 1; }
134 void Display();
135 ~Options() = default;
136};
137
138class Console : public Menu {
139public:
140 Console();
141 uint32_t Layer() { return 1; }
142 void Display();
143 ~Console();
144protected:
145 char* text = nullptr;
147};
148
149}
150
151#endif
Definition: debug.h:138
int history_cursor
Definition: debug.h:146
uint32_t Layer()
Definition: debug.h:141
char * text
Definition: debug.h:145
Console()
Definition: debug.cpp:908
void Display()
Definition: debug.cpp:917
~Console()
Definition: debug.cpp:913
Definition: debug.h:22
static StatisticsMenu * statistics_menu
Definition: debug.h:31
void Display()
Definition: debug.cpp:260
static InterceptMenu * intercept_menu
Definition: debug.h:30
static bool intercept_enabled
Definition: debug.h:28
uint32_t Layer()
Definition: debug.h:25
static bool statistics_enabled
Definition: debug.h:29
Definition: debug.h:44
uint32_t Layer()
Definition: debug.h:47
std::function< void(id_t)> callback
Definition: debug.h:51
EntityPicker(std::function< void(id_t)> callback)
Definition: debug.cpp:398
void Display()
Definition: debug.cpp:402
Definition: debug.h:34
void SetPicked(id_t entity)
Definition: debug.cpp:347
uint32_t Layer()
Definition: debug.h:37
id_t entity
Definition: debug.h:41
void Display()
Definition: debug.cpp:351
Definition: debug.h:106
char parameter_string[32]
Definition: debug.h:117
uint32_t event_type
Definition: debug.h:115
uint32_t Layer()
Definition: debug.h:109
void Display()
Definition: debug.cpp:723
char subtype_string[8]
Definition: debug.h:116
void SetEventType(uint32_t type)
Definition: debug.h:108
uint32_t parameter_type
Definition: debug.h:114
uint16_t subtype
Definition: debug.h:113
Definition: debug.h:79
uint32_t offset
Definition: debug.h:86
uint32_t Layer()
Definition: debug.h:82
void SetOffset(uint32_t offset)
Definition: debug.h:83
void Display()
Definition: debug.cpp:551
Definition: debug.h:54
std::vector< std::string > list
Definition: debug.h:62
uint32_t Layer()
Definition: debug.h:57
ListSelection(std::function< void(uint32_t)> callback, std::vector< std::string > list)
Definition: debug.cpp:454
std::function< void(uint32_t)> callback
Definition: debug.h:61
void Display()
Definition: debug.cpp:459
Definition: menu.h:19
Definition: debug.h:65
void SetEntity(id_t entity)
Definition: debug.cpp:486
uint32_t Layer()
Definition: debug.h:69
void SetMessageType(uint32_t type)
Definition: debug.cpp:490
id_t entity_id
Definition: debug.h:74
void Display()
Definition: debug.cpp:494
uint32_t parameter_type
Definition: debug.h:73
char parameter_string[32]
Definition: debug.h:76
uint32_t message_type
Definition: debug.h:75
Definition: debug.h:130
void Display()
Definition: debug.cpp:873
uint32_t Layer()
Definition: debug.h:133
Definition: debug.h:120
uint32_t Layer()
Definition: debug.h:124
id_t entity_id
Definition: debug.h:127
void Display()
Definition: debug.cpp:780
void SetEntity(id_t entity)
Definition: debug.h:122
Definition: debug.h:99
uint32_t Layer()
Definition: debug.h:102
void Display()
Definition: debug.cpp:665
void Display()
Definition: debug.cpp:578
uint32_t Layer()
Definition: debug.h:92
void SetPicked(WorldCell *cell)
Definition: debug.cpp:574
WorldCell * cell
Definition: debug.h:96
World streaming unit.
Definition: worldcell.h:16
Menu framework.
Definition: debug.cpp:23
void UpdateCallbacks()
Definition: debug.cpp:201
void InitCallbacks()
Definition: debug.cpp:146
value_t(* function)(valuearray_t)
Definition: lua.cpp:156
Serialization, i.e.
uint32_t id_t
Definition: core.h:10