Leviathan  0.8.0.0
Leviathan game engine
Define.h File Reference
#include "Include.h"
#include "Entities/EntityCommon.h"
#include "ForwardDeclarations.h"
#include <string>
#include <stdlib.h>
#include "Logger.h"

Go to the source code of this file.

Namespaces

 Leviathan
 The access mask controls which registered functions and classes a script sees.
 
 bs
 

Macros

#define NETWORK_USE_SNAPSHOTS
 
#define REFERENCE_HANDLE_UNCOUNTED_TYPE(x)   static constexpr auto ANGELSCRIPT_TYPE = #x "@";
 
#define REFERENCE_HANDLE_UNCOUNTED_TYPE_NAMED(x, y)   static constexpr auto ANGELSCRIPT_TYPE = #y "@";
 
#define VALUE_TYPE(x)   static constexpr auto ANGELSCRIPT_TYPE = #x;
 
#define VALUE_TYPE_NAMED(x, y)   static constexpr auto ANGELSCRIPT_TYPE = #y;
 
#define LOG_INFO(x)   Logger::Get()->Info(x);
 
#define LOG_WARNING(x)   Logger::Get()->Warning(x);
 
#define LOG_ERROR(x)   Logger::Get()->Error(x);
 
#define LOG_WRITE(x)   Logger::Get()->Write(x);
 
#define LOG_FATAL(x)   Logger::Get()->Fatal(x + (", at: " __FILE__ "(" + std::to_string(__LINE__) + ")"));
 
#define LEVIATHAN_ASSERT(x, msg)
 
#define SAFE_RELEASE(x)
 
#define SAFE_RELEASEDEL(x)
 
#define SAFE_DELETE(x)
 
#define SAFE_DELETE_ARRAY(x)
 
#define SAFE_RELEASE_VECTOR(x)
 
#define SAFE_DELETE_VECTOR(x)
 
#define UNUSED(x)   ((void)x);
 

Typedefs

using bs::Scene = int32_t
 

Variables

constexpr auto Leviathan::DEFAULT_HEADLESS_MAX_UPDATES_PER_SECOND = 20
 Max "FPS" in headless mode. More...
 
constexpr auto Leviathan::DEFAULT_HEADLESS_TICK_INTERVAL
 Number of milliseconds between engine ticks in headless mode (no gui) More...
 
constexpr auto Leviathan::INTERPOLATION_TIME = 0.1f
 Time in seconds to interpolate entities between states. More...
 
constexpr auto Leviathan::HEARTBEATS_MILLISECOND = 180
 
constexpr auto Leviathan::DEFAULT_MAXCONNECT_TRIES = 5
 
constexpr auto Leviathan::MAX_SERVERCOMMAND_LENGTH = 550
 
constexpr auto Leviathan::BASESENDABLE_STORED_RECEIVED_STATES = 6
 
constexpr auto Leviathan::PACKET_LOST_AFTER_MILLISECONDS = 1000
 
constexpr auto Leviathan::PACKET_LOST_AFTER_RECEIVED_NEWER = 4
 
constexpr auto Leviathan::CRITICAL_PACKET_MAX_TRIES = 8
 
constexpr float Leviathan::NORMALIZATION_TOLERANCE = 1e-6f
 For checking vector normalization. More...
 
constexpr auto Leviathan::MICROSECONDS_IN_SECOND = 1000000
 
constexpr float Leviathan::PI = 3.14159265f
 
constexpr float Leviathan::DEGREES_TO_RADIANS = PI / 180.f
 
constexpr float Leviathan::RADIANS_TO_DEGREES = 180.f / PI
 
constexpr float Leviathan::EPSILON = 0.00000001f
 

Macro Definition Documentation

◆ LEVIATHAN_ASSERT

#define LEVIATHAN_ASSERT (   x,
  msg 
)
Value:
{ \
if(!(x)) { \
LOG_FATAL(msg); \
abort(); \
} \
};

Definition at line 102 of file Define.h.

◆ LOG_ERROR

#define LOG_ERROR (   x)    Logger::Get()->Error(x);

Definition at line 94 of file Define.h.

◆ LOG_FATAL

#define LOG_FATAL (   x)    Logger::Get()->Fatal(x + (", at: " __FILE__ "(" + std::to_string(__LINE__) + ")"));

Definition at line 96 of file Define.h.

◆ LOG_INFO

#define LOG_INFO (   x)    Logger::Get()->Info(x);

Definition at line 92 of file Define.h.

◆ LOG_WARNING

#define LOG_WARNING (   x)    Logger::Get()->Warning(x);

Definition at line 93 of file Define.h.

◆ LOG_WRITE

#define LOG_WRITE (   x)    Logger::Get()->Write(x);

Definition at line 95 of file Define.h.

◆ NETWORK_USE_SNAPSHOTS

#define NETWORK_USE_SNAPSHOTS

Defines the networking mode In this mode the server sends snapshots of moving entities to all clients which then interpolate between states. Input will not be replicated on all clients. Clients locally simulate their own inputs. Server uses resimulation to simulate clients taking actions in the past.

Definition at line 15 of file Define.h.

◆ REFERENCE_HANDLE_UNCOUNTED_TYPE

#define REFERENCE_HANDLE_UNCOUNTED_TYPE (   x)    static constexpr auto ANGELSCRIPT_TYPE = #x "@";

Definition at line 78 of file Define.h.

◆ REFERENCE_HANDLE_UNCOUNTED_TYPE_NAMED

#define REFERENCE_HANDLE_UNCOUNTED_TYPE_NAMED (   x,
 
)    static constexpr auto ANGELSCRIPT_TYPE = #y "@";

Definition at line 80 of file Define.h.

◆ SAFE_DELETE

#define SAFE_DELETE (   x)
Value:
{ \
if(x) { \
delete(x); \
(x) = NULL; \
} \
}

Definition at line 151 of file Define.h.

◆ SAFE_DELETE_ARRAY

#define SAFE_DELETE_ARRAY (   x)
Value:
{ \
if(x) { \
delete[](x); \
(x) = NULL; \
} \
}

Definition at line 158 of file Define.h.

◆ SAFE_DELETE_VECTOR

#define SAFE_DELETE_VECTOR (   x)
Value:
for(size_t vdind = 0; vdind < x.size(); ++vdind) { \
if(x[vdind]) { \
delete x[vdind]; \
} \
}; \
x.clear();

Definition at line 175 of file Define.h.

◆ SAFE_RELEASE

#define SAFE_RELEASE (   x)
Value:
{ \
if(x) { \
(x)->Release(); \
(x) = NULL; \
} \
}

Definition at line 136 of file Define.h.

◆ SAFE_RELEASE_VECTOR

#define SAFE_RELEASE_VECTOR (   x)
Value:
{ \
for(auto iter = x.begin(); iter != x.end(); ++iter) \
if(*iter) { \
(*iter)->Release(); \
} \
x.clear(); \
}

Definition at line 166 of file Define.h.

◆ SAFE_RELEASEDEL

#define SAFE_RELEASEDEL (   x)
Value:
{ \
if(x) { \
(x)->Release(); \
delete(x); \
(x) = NULL; \
} \
}

Definition at line 143 of file Define.h.

◆ UNUSED

#define UNUSED (   x)    ((void)x);

Definition at line 183 of file Define.h.

◆ VALUE_TYPE

#define VALUE_TYPE (   x)    static constexpr auto ANGELSCRIPT_TYPE = #x;

Definition at line 82 of file Define.h.

◆ VALUE_TYPE_NAMED

#define VALUE_TYPE_NAMED (   x,
 
)    static constexpr auto ANGELSCRIPT_TYPE = #y;

Definition at line 83 of file Define.h.