Tramway SDK
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
tram Namespace Reference

Serialization, i.e. More...

Namespaces

namespace  Async
 Multi-threading and Resource streaming.
 
namespace  Audio
 System for doing audio related stuff.
 
namespace  Core
 
namespace  Ext
 
namespace  GUI
 Immediate mode GUI system.
 
namespace  implementation
 
namespace  Language
 Localization services.
 
namespace  Loader
 WorldCell streaming.
 
namespace  Physics
 
namespace  Platform
 
namespace  Render
 High-level Render system API.
 
namespace  Script
 Scripting API.
 
namespace  ScriptableType
 
namespace  Settings
 Application setting management and CLI command parser.
 
namespace  Stats
 Resource usage statistics.
 
namespace  System
 System tracking.
 
namespace  UI
 User interface system.
 

Classes

class  AABBTree
 
class  AnimationComponent
 Plays back Animations. More...
 
class  AudioComponent
 Plays back Sounds. More...
 
class  Component
 Wrapper for an EntityComponent pointer. More...
 
class  ControllerComponent
 Provides an API for character controllers. More...
 
class  Crate
 3D Model with a rigidbody attached to it. More...
 
class  Decoration
 3D Model with an AnimationComponent attached to it. More...
 
class  DiskReader
 
class  DiskWriter
 
struct  Edge
 
class  Entity
 Entity base class. More...
 
class  EntityComponent
 Component base class. More...
 
struct  EntityTypeInfo
 
struct  Event
 Event data. More...
 
class  EventListener
 Smart wrapper class for Event listeners. More...
 
struct  File
 Very fast file reader/writer. More...
 
class  FileReader
 
class  FileReaderParser
 
struct  FileSource
 
class  FileWriter
 
class  FileWriterParser
 
class  FPSControllerComponent
 Implementation of an FPS-style character controller. More...
 
class  Graph
 
class  Hashmap
 
class  Light
 LightComponent wrapper. More...
 
class  LightComponent
 Provides a real-time illumination for the scene. More...
 
struct  ListenerInfo
 
class  Marker
 Functionally inert. More...
 
struct  Message
 Message data. More...
 
class  Navmesh
 Not fully implemented yet. More...
 
struct  NavmeshNode
 
struct  Node
 
class  Octree
 
class  ParticleComponent
 Provides amusing graphical effects. More...
 
class  Path
 Base class for graphs. More...
 
struct  PathEdgeInfo
 
class  PathFollower
 Point constrained to a Path. More...
 
class  PhysicsComponent
 Rigidbody wrapper. More...
 
class  Player
 ControllerComponent with a PlayerComponent attached to it. More...
 
class  PlayerComponent
 Translates keyboard/mouse inputs into inputs for ControllerComponent. More...
 
class  Pool
 
class  PoolProxy
 
class  PoolPtr
 
class  Queue
 Simple queue implementation. More...
 
class  RaycastControllerComponent
 Implementation of a simple character controller. More...
 
class  RenderComponent
 Renders a Model. More...
 
class  Resource
 
class  ResourceProxy
 
class  Scriptable
 Provides script language subclassing. More...
 
struct  SharedEntityData
 Basic Entity parameters. More...
 
struct  Signal
 Message template. More...
 
class  SignalTable
 List of Message templates. More...
 
class  Sound
 AudioComponent wrapper. More...
 
class  Spinlock
 
class  SpriteComponent
 Provides amusing graphical effects. More...
 
class  Stack
 
class  StackPool
 Allocator. More...
 
class  StaticWorldObject
 Worldspawn. More...
 
class  TemplateComponent
 
class  TextReaderParser
 
class  TextWriterParser
 
class  Transition
 Connects WorldCells together. More...
 
class  Trigger
 TriggerComponent wrapper. More...
 
class  TriggerComponent
 Trigger wrapper. More...
 
struct  UID
 Interned string type. More...
 
class  Value
 Generic, type-safe union. More...
 
class  ValueArray
 
class  ValuePtr
 
struct  WorldCell
 World streaming unit. More...
 

Typedefs

typedef void(* collision_callback) (TriggerComponent *, Physics::Collision)
 
typedef bool(* filter_callback) (TriggerComponent *, PhysicsComponent *)
 
typedef uint32_t id_t
 
typedef Entity *(* entity_make) (const SharedEntityData &, const ValueArray &)
 
typedef void(* entity_clear) (Entity *)
 
typedef uint16_t event_t
 
typedef uint32_t listener_t
 
typedef Value value_t
 
typedef glm::vec3 vec3
 
typedef glm::quat quat
 
typedef glm::mat2 mat2
 
typedef glm::mat4 mat4
 
typedef glm::vec4 vec4
 
typedef glm::vec2 vec2
 
typedef glm::ivec3 ivec3
 
typedef glm::ivec4 ivec4
 
typedef glm::uvec3 uvec3
 
typedef glm::uvec4 uvec4
 
typedef uint32_t message_t
 
typedef uint32_t node_id_t
 
typedef uint32_t signal_t
 
typedef UID name_t
 
typedef ValueArray valuearray_t
 
template<typename T >
using PoopProxy = PoolProxy< T >
 

Enumerations

enum  { FIELD_MODEL , FIELD_COLLMODEL }
 
enum  : uint32_t { FLAG_LOCKED = 1 }
 
enum  { FIELD_FLAGS , FIELD_MODEL , FIELD_ANIMATION }
 
enum  { FIELD_COLOR , FIELD_DISTANCE , FIELD_DIRECTION , FIELD_EXPONENT }
 
enum  { SOUND_LOOPING = 1 , SOUND_START_ON_LOAD = 2 }
 
enum  { FIELD_FLAGS , FIELD_SOUND , FIELD_VOLUME }
 
enum  { FIELD_MODEL , FIELD_LIGHTMAP }
 
enum  : uint32_t { TRIGGER_DISABLED = 1 }
 
enum  { FIELD_FLAGS , FIELD_COLLISION_MASK , FIELD_MODEL }
 
enum class  Severity {
  INFO , WARNING , ERROR , CRITICAL_ERROR ,
  DEFAULT
}
 
enum  PathType {
  PATH_STRAIGHT , PATH_LEFT , PATH_RIGHT , PATH_LINEAR ,
  PATH_CURVE
}
 
enum  Type : uint32_t {
  TYPE_UNDEFINED , TYPE_BOOL , TYPE_NAME , TYPE_STRING ,
  TYPE_INT8 , TYPE_INT16 , TYPE_INT32 , TYPE_UINT8 ,
  TYPE_UINT16 , TYPE_UINT32 , TYPE_FLOAT32 , TYPE_VEC2 ,
  TYPE_VEC3 , TYPE_VEC4 , TYPE_QUAT
}
 Type enumeration for serialization, etc. More...
 
enum class  FileStatus { IO_ERROR , READY }
 
enum class  FileMedium { DISK , USER , ARCHIVE , HTTP }
 

Functions

id_t GenerateID ()
 Generates a unique ID number. More...
 
uint32_t GetTick ()
 Returns the current tick. More...
 
uint32_t GetFrame ()
 Returns the current frame. More...
 
uint32_t GetDeltaTick ()
 Returns the tick delta. More...
 
double GetTickTime ()
 Same as GetFrameTime() More...
 
double GetFrameTime ()
 Returns the time at the start of the current frame. More...
 
float GetDeltaTime ()
 Returns the time passed between frames. More...
 
const char * GetVersion ()
 Returns the version identifier of the runtime. More...
 
void SetSystemLoggingSeverity (System::system_t system, Severity min_severity)
 Sets the logging severity filter. More...
 
void SetDisplayLogCallback (void(*callback)(int, const char *))
 Sets the display log callback. More...
 
void SetConsoleLogCallback (void(*callback)(int, const char *))
 Sets the console log callback. More...
 
void SetDisplayLogCallback (void(int, const char *))
 
void SetConsoleLogCallback (void(int, const char *))
 
template<typename... Args>
void Log (Severity severity, System::system_t system, const std::string_view &format, Args &&... args)
 
template<typename... Args>
void Log (System::system_t system, const std::string_view &format, Args &&... args)
 
template<typename... Args>
void Log (const std::string_view &format, Args &&... args)
 
template<typename... Args>
void DisplayLog (int time, const std::string_view &format, Args &&... args)
 
void QuatLookAt (quat &quaternion, const vec3 &from, const vec3 &to)
 Rotates a quaternion to face a point. More...
 
void ProjectLine (vec3 &point, const vec3 &from, const vec3 &to)
 Projects a point on a line. More...
 
vec3 RayTriangleIntersection (vec3 ray_pos, vec3 ray_dir, vec3 point1, vec3 point2, vec3 point3)
 Finds the intersection between a ray and a triangle. More...
 
vec3 MergeAABBMin (vec3 a, vec3 b)
 Merges the min component of an AABB. More...
 
vec3 MergeAABBMax (vec3 a, vec3 b)
 Merges the max component of an AABB. More...
 
void RotateAABB (vec3 &min, vec3 &max, quat rotation)
 Rotates an AABB box by the given rotation. More...
 
void RotateAABB (vec3 &min, vec3 &max, mat4 rotation)
 
mat4 PositionRotationToMatrix (const vec3 &position, const quat &rotation)
 Generates a transform matrix. More...
 
mat4 PositionRotationScaleToMatrix (const vec3 &position, const quat &rotation, const vec3 &scale)
 Generates a transform matrix. More...
 
const vec3 DIRECTION_FORWARD (0.0f, 0.0f, -1.0f)
 
const vec3 DIRECTION_SIDE (1.0f, 0.0f, 0.0f)
 
const vec3 DIRECTION_UP (0.0f, 1.0f, 0.0f)
 
const vec3 IDENTITY_POSITION (0.0f, 0.0f, 0.0f)
 
const quat IDENTITY_ROTATION (1.0f, 0.0f, 0.0f, 0.0f)
 
const vec3 IDENTITY_SCALE (1.0f, 1.0f, 1.0f)
 
const char * TypeToString (Type type)
 Converts type enum to string. More...
 

Variables

const uint32_t MAX_MATERIAL_TYPES = 20
 
const uint32_t MAX_VERTEX_FORMATS = 20
 
const uint32_t MAX_VERTEX_SHADERS = 20
 
const uint32_t MAX_FRAGMENT_SHADERS = 20
 
const uint32_t MAX_LINKED_SHADERS = 40
 
const float TICK_RATE = 1.0f / 60.0f
 
const float CAMERA_MULTIPLIER = 1.0f / 8.0f
 
const float PHYSICS_GROUND_PLANE = -9.0f
 
const float PHYSICS_GRAVITY = -9.8f
 
const uint32_t RESOURCE_LIMIT_SOUND = 100
 
const uint32_t RESOURCE_LIMIT_MODEL = 100
 
const uint32_t RESOURCE_LIMIT_PATH = 100
 
const uint32_t RESOURCE_LIMIT_COLLISION_MODEL = 500
 
const uint32_t RESOURCE_LIMIT_MATERIAL = 500
 
const uint32_t RESOURCE_LIMIT_SPRITE = 500
 
const uint32_t COMPONENT_LIMIT_ANIMATION = 50
 
const uint32_t COMPONENT_LIMIT_AUDIO = 150
 
const uint32_t COMPONENT_LIMIT_CONTROLLER = 25
 
const uint32_t COMPONENT_LIMIT_LIGHT = 250
 
const uint32_t COMPONENT_LIMIT_PARTICLE = 100
 
const uint32_t COMPONENT_LIMIT_PHYSICS = 500
 
const uint32_t COMPONENT_LIMIT_PLAYER = 5
 
const uint32_t COMPONENT_LIMIT_RENDER = 1000
 
const uint32_t COMPONENT_LIMIT_SPRITE = 100
 
const uint32_t COMPONENT_LIMIT_TRIGGER = 50
 
const size_t PATH_LIMIT = 200
 
const size_t SYSTEM_LIMIT = 128
 
const uint32_t SCRIPTABLE_ENTITY_TYPE_LIMIT = 50
 
const uint32_t ENTITY_TYPE_LIMIT = 50
 
const uint32_t RESOURCE_LOADER_QUEUE_LIMIT = 1000
 
const uint32_t RESOURCE_LOADER_REQUEST_LIMIT = 1750
 
const uint32_t ENTITY_LIMIT = 5000
 
const uint32_t NAMED_ENTITY_LIMIT = 500
 
const uint32_t LANUGAGE_STRING_CHARACTER_LIMIT = 10000
 
const uint32_t LANGUAGE_STRING_LIMIT = 500
 
const uint32_t MESSAGE_QUEUE_LIMIT = 500
 
const uint32_t MESSAGE_PRIORITY_QUEUE_LIMIT = 250
 
const uint32_t MESSAGE_DATA_LIMIT = 2000
 
const uint32_t MESSAGE_TYPE_LIMIT = 100
 
const uint32_t SIGNAL_TYPE_LIMIT = 100
 
const uint32_t WORLDCELL_TRANSITION_LIMIT = 250
 
const uint32_t KEYBOARDACTION_LIMIT = 100
 
const uint32_t UID_CHARACTER_LIMIT = 20000
 
const uint32_t UID_LIMIT = 2000
 
const uint32_t WORLDCELL_LIMIT = 250
 
const uint32_t RIGIDBODY_LIMIT = 500
 
const uint32_t EXT_KITCHENSINK_ANIMATIONTABLE_LIMIT = 100
 
const uint32_t EXT_KITCHENSINK_SOUNDTABLE_LIMIT = 100
 
const float collision_width = 0.35f
 
const float collision_height = 1.85f
 
const float collision_height_crouch = 0.5f
 
const uint32_t collision_group = Physics::COLL_PLAYER
 
const size_t MAX_EVENT_TYPES = 100
 

Detailed Description

Serialization, i.e.

saving application state is not implemented yet.

I will probably get around to it sometime.

Typedef Documentation

◆ collision_callback

typedef void(* tram::collision_callback) (TriggerComponent *, Physics::Collision)

◆ entity_clear

typedef void(* tram::entity_clear) (Entity *)

◆ entity_make

typedef Entity *(* tram::entity_make) (const SharedEntityData &, const ValueArray &)

◆ event_t

typedef uint16_t tram::event_t

◆ filter_callback

typedef bool(* tram::filter_callback) (TriggerComponent *, PhysicsComponent *)

◆ id_t

typedef uint32_t tram::id_t

◆ ivec3

typedef glm::ivec3 tram::ivec3

◆ ivec4

typedef glm::ivec4 tram::ivec4

◆ listener_t

typedef uint32_t tram::listener_t

◆ mat2

typedef glm::mat2 tram::mat2

◆ mat4

typedef glm::mat4 tram::mat4

◆ message_t

typedef uint32_t tram::message_t

◆ name_t

typedef UID tram::name_t

◆ node_id_t

typedef uint32_t tram::node_id_t

◆ PoopProxy

template<typename T >
using tram::PoopProxy = typedef PoolProxy<T>

◆ quat

typedef glm::quat tram::quat

◆ signal_t

typedef uint32_t tram::signal_t

◆ uvec3

typedef glm::uvec3 tram::uvec3

◆ uvec4

typedef glm::uvec4 tram::uvec4

◆ value_t

◆ valuearray_t

◆ vec2

typedef glm::vec2 tram::vec2

◆ vec3

typedef glm::vec3 tram::vec3

◆ vec4

typedef glm::vec4 tram::vec4

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FIELD_FLAGS 
FIELD_MODEL 
FIELD_ANIMATION 

◆ anonymous enum

anonymous enum
Enumerator
FIELD_COLOR 
FIELD_DISTANCE 
FIELD_DIRECTION 
FIELD_EXPONENT 

◆ anonymous enum

anonymous enum
Enumerator
SOUND_LOOPING 
SOUND_START_ON_LOAD 

◆ anonymous enum

anonymous enum
Enumerator
FIELD_FLAGS 
FIELD_SOUND 
FIELD_VOLUME 

◆ anonymous enum

anonymous enum
Enumerator
FIELD_MODEL 
FIELD_LIGHTMAP 

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
TRIGGER_DISABLED 

◆ anonymous enum

anonymous enum
Enumerator
FIELD_FLAGS 
FIELD_COLLISION_MASK 
FIELD_MODEL 

◆ anonymous enum

anonymous enum
Enumerator
FIELD_MODEL 
FIELD_COLLMODEL 

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
FLAG_LOCKED 

◆ FileMedium

enum class tram::FileMedium
strong
Enumerator
DISK 
USER 
ARCHIVE 
HTTP 

◆ FileStatus

enum class tram::FileStatus
strong
Enumerator
IO_ERROR 
READY 

◆ PathType

Enumerator
PATH_STRAIGHT 
PATH_LEFT 
PATH_RIGHT 
PATH_LINEAR 
PATH_CURVE 

◆ Severity

enum class tram::Severity
strong
Enumerator
INFO 
WARNING 
ERROR 
CRITICAL_ERROR 
DEFAULT 

◆ Type

enum tram::Type : uint32_t

Type enumeration for serialization, etc.

Enumerator
TYPE_UNDEFINED 
TYPE_BOOL 
TYPE_NAME 
TYPE_STRING 
TYPE_INT8 
TYPE_INT16 
TYPE_INT32 
TYPE_UINT8 
TYPE_UINT16 
TYPE_UINT32 
TYPE_FLOAT32 
TYPE_VEC2 
TYPE_VEC3 
TYPE_VEC4 
TYPE_QUAT 

Function Documentation

◆ DIRECTION_FORWARD()

const vec3 tram::DIRECTION_FORWARD ( 0.  0f,
0.  0f,
-1.  0f 
)

◆ DIRECTION_SIDE()

const vec3 tram::DIRECTION_SIDE ( 1.  0f,
0.  0f,
0.  0f 
)

◆ DIRECTION_UP()

const vec3 tram::DIRECTION_UP ( 0.  0f,
1.  0f,
0.  0f 
)

◆ DisplayLog()

template<typename... Args>
void tram::DisplayLog ( int  time,
const std::string_view &  format,
Args &&...  args 
)

◆ GenerateID()

id_t tram::GenerateID ( )

Generates a unique ID number.

◆ GetDeltaTick()

uint32_t tram::GetDeltaTick ( )

Returns the tick delta.

If multiple ticks have occured between calls to Core::Update(), this value will reflect that.

◆ GetDeltaTime()

float tram::GetDeltaTime ( )

Returns the time passed between frames.

This value changes only when Core::Update() is called.

Returns
Time, in seconds, that has passed between the start of the previous and the start of the current frame.

◆ GetFrame()

uint32_t tram::GetFrame ( )

Returns the current frame.

Returns
The number of times Core::Update() has been called.

◆ GetFrameTime()

double tram::GetFrameTime ( )

Returns the time at the start of the current frame.

This value changes only when Core::Update() is called.

Returns
Time, in seconds, since the application was started.

◆ GetTick()

uint32_t tram::GetTick ( )

Returns the current tick.

This value gets incremented at a rate of 60 ticks per second.

Note
Tick rate of 60 ticks per second is only the default. The actual value might have been changed in the runtime configuration.
Returns
Count of ticks since the application was started.

◆ GetTickTime()

double tram::GetTickTime ( )

Same as GetFrameTime()

◆ GetVersion()

const char * tram::GetVersion ( )

Returns the version identifier of the runtime.

◆ IDENTITY_POSITION()

const vec3 tram::IDENTITY_POSITION ( 0.  0f,
0.  0f,
0.  0f 
)

◆ IDENTITY_ROTATION()

const quat tram::IDENTITY_ROTATION ( 1.  0f,
0.  0f,
0.  0f,
0.  0f 
)

◆ IDENTITY_SCALE()

const vec3 tram::IDENTITY_SCALE ( 1.  0f,
1.  0f,
1.  0f 
)

◆ Log() [1/3]

template<typename... Args>
void tram::Log ( const std::string_view &  format,
Args &&...  args 
)

◆ Log() [2/3]

template<typename... Args>
void tram::Log ( Severity  severity,
System::system_t  system,
const std::string_view &  format,
Args &&...  args 
)

◆ Log() [3/3]

template<typename... Args>
void tram::Log ( System::system_t  system,
const std::string_view &  format,
Args &&...  args 
)

◆ MergeAABBMax()

vec3 tram::MergeAABBMax ( vec3  a,
vec3  b 
)

Merges the max component of an AABB.

◆ MergeAABBMin()

vec3 tram::MergeAABBMin ( vec3  a,
vec3  b 
)

Merges the min component of an AABB.

◆ PositionRotationScaleToMatrix()

mat4 tram::PositionRotationScaleToMatrix ( const vec3 position,
const quat rotation,
const vec3 scale 
)

Generates a transform matrix.

◆ PositionRotationToMatrix()

mat4 tram::PositionRotationToMatrix ( const vec3 position,
const quat rotation 
)

Generates a transform matrix.

◆ ProjectLine()

void tram::ProjectLine ( vec3 point,
const vec3 from,
const vec3 to 
)

Projects a point on a line.

Parameters
[in,out]pointPoint that will be projected.
[in]fromFirst endpoint of the line.
[in]toSecond endpoint of the line.

◆ QuatLookAt()

void tram::QuatLookAt ( quat quaternion,
const vec3 from,
const vec3 to 
)

Rotates a quaternion to face a point.

Useful for pointing objects at things.

◆ RayTriangleIntersection()

vec3 tram::RayTriangleIntersection ( vec3  ray_pos,
vec3  ray_dir,
vec3  point1,
vec3  point2,
vec3  point3 
)

Finds the intersection between a ray and a triangle.

If the ray intersects the triangle, the returned vector will be the 3D coordinates of the intersection. If the ray does not intersect the triangle, the function will return a vector with all of its components set to the floating-point INFINITY.

Parameters
ray_posRay origin, 3D coordinate.
ray_dirRay direction, normal vector. Needs to be normalized.
point1,point2,point3Triangle vertex coordinates.

◆ RotateAABB() [1/2]

void tram::RotateAABB ( vec3 min,
vec3 max,
mat4  rotation 
)

◆ RotateAABB() [2/2]

void tram::RotateAABB ( vec3 min,
vec3 max,
quat  rotation 
)

Rotates an AABB box by the given rotation.

◆ SetConsoleLogCallback() [1/2]

void tram::SetConsoleLogCallback ( void(*)(int, const char *)  callback)

Sets the console log callback.

Whenever a message is written to console, it will alos be passed to the console log callback.

◆ SetConsoleLogCallback() [2/2]

void tram::SetConsoleLogCallback ( void(int, const char *)  )

◆ SetDisplayLogCallback() [1/2]

void tram::SetDisplayLogCallback ( void(*)(int, const char *)  callback)

Sets the display log callback.

When a message is logged by calling DisplayLog(), it will be formatted and then the result will be passed in to the display log callback.

◆ SetDisplayLogCallback() [2/2]

void tram::SetDisplayLogCallback ( void(int, const char *)  )

◆ SetSystemLoggingSeverity()

void tram::SetSystemLoggingSeverity ( System::system_t  system,
Severity  min_severity 
)

Sets the logging severity filter.

Parameters
systemSystem for which the filter will apply.
min_severityThe lowest severity which the filter will let through All lower severities will be filtered out.

◆ TypeToString()

const char * tram::TypeToString ( Type  type)

Converts type enum to string.

Variable Documentation

◆ CAMERA_MULTIPLIER

const float tram::CAMERA_MULTIPLIER = 1.0f / 8.0f

◆ collision_group

const uint32_t tram::collision_group = Physics::COLL_PLAYER

◆ collision_height

const float tram::collision_height = 1.85f

◆ collision_height_crouch

const float tram::collision_height_crouch = 0.5f

◆ collision_width

const float tram::collision_width = 0.35f

◆ COMPONENT_LIMIT_ANIMATION

const uint32_t tram::COMPONENT_LIMIT_ANIMATION = 50

◆ COMPONENT_LIMIT_AUDIO

const uint32_t tram::COMPONENT_LIMIT_AUDIO = 150

◆ COMPONENT_LIMIT_CONTROLLER

const uint32_t tram::COMPONENT_LIMIT_CONTROLLER = 25

◆ COMPONENT_LIMIT_LIGHT

const uint32_t tram::COMPONENT_LIMIT_LIGHT = 250

◆ COMPONENT_LIMIT_PARTICLE

const uint32_t tram::COMPONENT_LIMIT_PARTICLE = 100

◆ COMPONENT_LIMIT_PHYSICS

const uint32_t tram::COMPONENT_LIMIT_PHYSICS = 500

◆ COMPONENT_LIMIT_PLAYER

const uint32_t tram::COMPONENT_LIMIT_PLAYER = 5

◆ COMPONENT_LIMIT_RENDER

const uint32_t tram::COMPONENT_LIMIT_RENDER = 1000

◆ COMPONENT_LIMIT_SPRITE

const uint32_t tram::COMPONENT_LIMIT_SPRITE = 100

◆ COMPONENT_LIMIT_TRIGGER

const uint32_t tram::COMPONENT_LIMIT_TRIGGER = 50

◆ ENTITY_LIMIT

const uint32_t tram::ENTITY_LIMIT = 5000

◆ ENTITY_TYPE_LIMIT

const uint32_t tram::ENTITY_TYPE_LIMIT = 50

◆ EXT_KITCHENSINK_ANIMATIONTABLE_LIMIT

const uint32_t tram::EXT_KITCHENSINK_ANIMATIONTABLE_LIMIT = 100

◆ EXT_KITCHENSINK_SOUNDTABLE_LIMIT

const uint32_t tram::EXT_KITCHENSINK_SOUNDTABLE_LIMIT = 100

◆ KEYBOARDACTION_LIMIT

const uint32_t tram::KEYBOARDACTION_LIMIT = 100

◆ LANGUAGE_STRING_LIMIT

const uint32_t tram::LANGUAGE_STRING_LIMIT = 500

◆ LANUGAGE_STRING_CHARACTER_LIMIT

const uint32_t tram::LANUGAGE_STRING_CHARACTER_LIMIT = 10000

◆ MAX_EVENT_TYPES

const size_t tram::MAX_EVENT_TYPES = 100

◆ MAX_FRAGMENT_SHADERS

const uint32_t tram::MAX_FRAGMENT_SHADERS = 20

◆ MAX_LINKED_SHADERS

const uint32_t tram::MAX_LINKED_SHADERS = 40

◆ MAX_MATERIAL_TYPES

const uint32_t tram::MAX_MATERIAL_TYPES = 20

◆ MAX_VERTEX_FORMATS

const uint32_t tram::MAX_VERTEX_FORMATS = 20

◆ MAX_VERTEX_SHADERS

const uint32_t tram::MAX_VERTEX_SHADERS = 20

◆ MESSAGE_DATA_LIMIT

const uint32_t tram::MESSAGE_DATA_LIMIT = 2000

◆ MESSAGE_PRIORITY_QUEUE_LIMIT

const uint32_t tram::MESSAGE_PRIORITY_QUEUE_LIMIT = 250

◆ MESSAGE_QUEUE_LIMIT

const uint32_t tram::MESSAGE_QUEUE_LIMIT = 500

◆ MESSAGE_TYPE_LIMIT

const uint32_t tram::MESSAGE_TYPE_LIMIT = 100

◆ NAMED_ENTITY_LIMIT

const uint32_t tram::NAMED_ENTITY_LIMIT = 500

◆ PATH_LIMIT

const size_t tram::PATH_LIMIT = 200

◆ PHYSICS_GRAVITY

const float tram::PHYSICS_GRAVITY = -9.8f

◆ PHYSICS_GROUND_PLANE

const float tram::PHYSICS_GROUND_PLANE = -9.0f

◆ RESOURCE_LIMIT_COLLISION_MODEL

const uint32_t tram::RESOURCE_LIMIT_COLLISION_MODEL = 500

◆ RESOURCE_LIMIT_MATERIAL

const uint32_t tram::RESOURCE_LIMIT_MATERIAL = 500

◆ RESOURCE_LIMIT_MODEL

const uint32_t tram::RESOURCE_LIMIT_MODEL = 100

◆ RESOURCE_LIMIT_PATH

const uint32_t tram::RESOURCE_LIMIT_PATH = 100

◆ RESOURCE_LIMIT_SOUND

const uint32_t tram::RESOURCE_LIMIT_SOUND = 100

◆ RESOURCE_LIMIT_SPRITE

const uint32_t tram::RESOURCE_LIMIT_SPRITE = 500

◆ RESOURCE_LOADER_QUEUE_LIMIT

const uint32_t tram::RESOURCE_LOADER_QUEUE_LIMIT = 1000

◆ RESOURCE_LOADER_REQUEST_LIMIT

const uint32_t tram::RESOURCE_LOADER_REQUEST_LIMIT = 1750

◆ RIGIDBODY_LIMIT

const uint32_t tram::RIGIDBODY_LIMIT = 500

◆ SCRIPTABLE_ENTITY_TYPE_LIMIT

const uint32_t tram::SCRIPTABLE_ENTITY_TYPE_LIMIT = 50

◆ SIGNAL_TYPE_LIMIT

const uint32_t tram::SIGNAL_TYPE_LIMIT = 100

◆ SYSTEM_LIMIT

const size_t tram::SYSTEM_LIMIT = 128

◆ TICK_RATE

const float tram::TICK_RATE = 1.0f / 60.0f

◆ UID_CHARACTER_LIMIT

const uint32_t tram::UID_CHARACTER_LIMIT = 20000

◆ UID_LIMIT

const uint32_t tram::UID_LIMIT = 2000

◆ WORLDCELL_LIMIT

const uint32_t tram::WORLDCELL_LIMIT = 250

◆ WORLDCELL_TRANSITION_LIMIT

const uint32_t tram::WORLDCELL_TRANSITION_LIMIT = 250