Tramway SDK
config.h
Go to the documentation of this file.
1// Tramway Drifting and Dungeon Exploration Simulator SDK Runtime
2
3// This is the configuration file for the library portion of the framework.
4// If you change anything in here, you'll need to recompile everything.
5
6#ifndef TRAM_SDK_CONFIG_H
7#define TRAM_SDK_CONFIG_H
8
9#include <cstdint>
10
11namespace tram {
12
13const uint32_t MAX_MATERIAL_TYPES = 20;
14const uint32_t MAX_VERTEX_FORMATS = 20;
15
16const uint32_t MAX_VERTEX_SHADERS = 20;
17const uint32_t MAX_FRAGMENT_SHADERS = 20;
18const uint32_t MAX_LINKED_SHADERS = 40;
19
20// Rate of fixed updates
21const float TICK_RATE = 1.0f / 60.0f;
22
23// Initial first person camera sensitivity
24const float CAMERA_MULTIPLIER = 1.0f / 8.0f;
25
26// +---------------------------------------------------------------------------+
27// | |
28// | PHYSICS |
29// | |
30// +---------------------------------------------------------------------------+
31
32const float PHYSICS_GROUND_PLANE = -9.0f;
33const float PHYSICS_GRAVITY = -9.8f;
34
35// +---------------------------------------------------------------------------+
36// | |
37// | RESOURCE LIMITS |
38// | |
39// +---------------------------------------------------------------------------+
40
41// These numbers determine how much memory will be allocated for each Resource
42// type.
43
44// Currently the Resource pools won't get automatically extended if they run out
45// of space, so essentially these numbers limit how many instances of a
46// Resource type it will be possible to create.
47
48const uint32_t RESOURCE_LIMIT_SOUND = 100;
49const uint32_t RESOURCE_LIMIT_MODEL = 100;
50const uint32_t RESOURCE_LIMIT_PATH = 100;
51const uint32_t RESOURCE_LIMIT_COLLISION_MODEL = 500;
52const uint32_t RESOURCE_LIMIT_MATERIAL = 500;
53const uint32_t RESOURCE_LIMIT_SPRITE = 500;
54
55// +---------------------------------------------------------------------------+
56// | |
57// | COMPONENT LIMITS |
58// | |
59// +---------------------------------------------------------------------------+
60
61// Same as for Resources.
62
63const uint32_t COMPONENT_LIMIT_ANIMATION = 50;
64const uint32_t COMPONENT_LIMIT_AUDIO = 150;
65const uint32_t COMPONENT_LIMIT_CONTROLLER = 25;
66const uint32_t COMPONENT_LIMIT_LIGHT = 250;
67const uint32_t COMPONENT_LIMIT_PARTICLE = 100;
68const uint32_t COMPONENT_LIMIT_PHYSICS = 500;
69const uint32_t COMPONENT_LIMIT_PLAYER = 5;
70const uint32_t COMPONENT_LIMIT_RENDER = 1000;
71const uint32_t COMPONENT_LIMIT_SPRITE = 100;
72const uint32_t COMPONENT_LIMIT_TRIGGER = 50;
73
74// +---------------------------------------------------------------------------+
75// | |
76// | OTHER LIMITS |
77// | |
78// +---------------------------------------------------------------------------+
79
80// Limit for file path length, e.g. "data/textures/material001.png"
81const size_t PATH_LIMIT = 200;
82
83// Limit for system count
84const size_t SYSTEM_LIMIT = 128;
85
86// Limit for scriptable entity types
87const uint32_t SCRIPTABLE_ENTITY_TYPE_LIMIT = 50;
88
89// Limit for all entity types
90const uint32_t ENTITY_TYPE_LIMIT = 50;
91
92// Limits for Async system resoruce streaming requests
93const uint32_t RESOURCE_LOADER_QUEUE_LIMIT = 1000;
94const uint32_t RESOURCE_LOADER_REQUEST_LIMIT = 1750;
95
96// Limits for entities
97const uint32_t ENTITY_LIMIT = 5000;
98const uint32_t NAMED_ENTITY_LIMIT = 500;
99
100// Limit for total sum of characters that can be stored in all language strings
101const uint32_t LANUGAGE_STRING_CHARACTER_LIMIT = 10000;
102
103// Limit for the number of lanugage strings
104const uint32_t LANGUAGE_STRING_LIMIT = 500;
105
106// Limit for enqueued messages before dispatch
107const uint32_t MESSAGE_QUEUE_LIMIT = 500;
108
109// Limit for enqueued messages with a delay
110const uint32_t MESSAGE_PRIORITY_QUEUE_LIMIT = 250;
111
112// Limit for message data, in bytes
113const uint32_t MESSAGE_DATA_LIMIT = 2000;
114
115// Limit for message types
116const uint32_t MESSAGE_TYPE_LIMIT = 100;
117
118// Limit for signal types
119const uint32_t SIGNAL_TYPE_LIMIT = 100;
120
121const uint32_t WORLDCELL_TRANSITION_LIMIT = 250;
122const uint32_t KEYBOARDACTION_LIMIT = 100;
123
124// Limit for total sum of characters that can be stored in all names
125const uint32_t UID_CHARACTER_LIMIT = 20000;
126
127// Limit for the number of names
128const uint32_t UID_LIMIT = 2000
129;
130const uint32_t WORLDCELL_LIMIT = 250;
131
132const uint32_t RIGIDBODY_LIMIT = 500;
133
134// +---------------------------------------------------------------------------+
135// | |
136// | EXTENSION LIMITS |
137// | |
138// +---------------------------------------------------------------------------+
139
140
143}
144
145#endif // TRAM_SDK_CONFIG_H
Serialization, i.e.
const uint32_t COMPONENT_LIMIT_LIGHT
Definition: config.h:66
const uint32_t RESOURCE_LIMIT_COLLISION_MODEL
Definition: config.h:51
const uint32_t ENTITY_LIMIT
Definition: config.h:97
const uint32_t MESSAGE_QUEUE_LIMIT
Definition: config.h:107
const uint32_t WORLDCELL_TRANSITION_LIMIT
Definition: config.h:121
const uint32_t EXT_KITCHENSINK_SOUNDTABLE_LIMIT
Definition: config.h:142
const uint32_t COMPONENT_LIMIT_PARTICLE
Definition: config.h:67
const uint32_t RESOURCE_LIMIT_MATERIAL
Definition: config.h:52
const float CAMERA_MULTIPLIER
Definition: config.h:24
const uint32_t MESSAGE_PRIORITY_QUEUE_LIMIT
Definition: config.h:110
const uint32_t RESOURCE_LOADER_REQUEST_LIMIT
Definition: config.h:94
const uint32_t MESSAGE_DATA_LIMIT
Definition: config.h:113
const uint32_t RESOURCE_LIMIT_SOUND
Definition: config.h:48
const size_t PATH_LIMIT
Definition: config.h:81
const uint32_t COMPONENT_LIMIT_SPRITE
Definition: config.h:71
const float PHYSICS_GRAVITY
Definition: config.h:33
const uint32_t COMPONENT_LIMIT_CONTROLLER
Definition: config.h:65
const float TICK_RATE
Definition: config.h:21
const uint32_t NAMED_ENTITY_LIMIT
Definition: config.h:98
const uint32_t MAX_VERTEX_FORMATS
Definition: config.h:14
const uint32_t KEYBOARDACTION_LIMIT
Definition: config.h:122
const uint32_t COMPONENT_LIMIT_AUDIO
Definition: config.h:64
const uint32_t RESOURCE_LIMIT_MODEL
Definition: config.h:49
const uint32_t COMPONENT_LIMIT_PLAYER
Definition: config.h:69
const uint32_t MAX_MATERIAL_TYPES
Definition: config.h:13
const uint32_t LANUGAGE_STRING_CHARACTER_LIMIT
Definition: config.h:101
const uint32_t RIGIDBODY_LIMIT
Definition: config.h:132
const uint32_t SIGNAL_TYPE_LIMIT
Definition: config.h:119
const uint32_t ENTITY_TYPE_LIMIT
Definition: config.h:90
const size_t SYSTEM_LIMIT
Definition: config.h:84
const uint32_t RESOURCE_LIMIT_PATH
Definition: config.h:50
const uint32_t WORLDCELL_LIMIT
Definition: config.h:130
const uint32_t UID_CHARACTER_LIMIT
Definition: config.h:125
const uint32_t COMPONENT_LIMIT_TRIGGER
Definition: config.h:72
const uint32_t LANGUAGE_STRING_LIMIT
Definition: config.h:104
const uint32_t MAX_FRAGMENT_SHADERS
Definition: config.h:17
const uint32_t MESSAGE_TYPE_LIMIT
Definition: config.h:116
const uint32_t RESOURCE_LIMIT_SPRITE
Definition: config.h:53
const uint32_t RESOURCE_LOADER_QUEUE_LIMIT
Definition: config.h:93
const uint32_t MAX_VERTEX_SHADERS
Definition: config.h:16
const float PHYSICS_GROUND_PLANE
Definition: config.h:32
const uint32_t COMPONENT_LIMIT_PHYSICS
Definition: config.h:68
const uint32_t COMPONENT_LIMIT_ANIMATION
Definition: config.h:63
const uint32_t EXT_KITCHENSINK_ANIMATIONTABLE_LIMIT
Definition: config.h:141
const uint32_t MAX_LINKED_SHADERS
Definition: config.h:18
const uint32_t UID_LIMIT
Definition: config.h:128
const uint32_t SCRIPTABLE_ENTITY_TYPE_LIMIT
Definition: config.h:87
const uint32_t COMPONENT_LIMIT_RENDER
Definition: config.h:70