User Tools

Site Tools


data-types

Data types


boolean

local value = true

integer

Integer number

local value = 42

float

Floating-point number with single precision

local value = 17.44

double

Floating-point number with double precision

local value = -61.7267023355

string

local value = "String value"

vec2i

2D integer vector

To initialize a vec2i with x = 54 and y = 97:

local value = { 54, 97 }

vec2f

2D float vector

To initialize a vec2f with x = 73 and y = 15.66:

local value = { 73.0, 15.66 }

vec3i

3D integer vector

To initialize a vec3i with x = 19, y = 86 and z = 45:

local value = { 19, 86, 45 }

vec3f

3D float vector

To initialize a vec3f with x = -15.71, y = -71 and z = 93.03:

local value = { -15.71, -71.0, 93.03 }

quaternion

4D float vector representing a rotation

To initialize a quaternion with x = 0.302268, y = 0.075567, z = 0.6347627 and w = 0.7071068:

local value = { 0.302268, 0.075567, 0.6347627, 0.7071068 }

Quaternion properties can also be set with a vec3f containing the euler angles in degrees.


color

A color is stored as four float numbers, representing the four channels. Each channel can have a value superior to 1, in case of HDR use.

To initialize a color with R = 1, G = 0.549, B = 0 and A = 0.9 (dark orange with 90% opacity; hex FF8C00E6):

local value = { 1, 0.549, 0, 0.9 }

polygon

A 2D polygon is a list of 2D points (vec2f) defining a shape.

To initialize a square polygon with a side length of 4.5 and centered around the point [1; 1]:

local value = {
    { 5.5, 5.5 },
    { 5.5, -3.5 },
    { -3.5, -3.5 },
    { -3.5, 5.5 }
}

You can also create simple polygons with the following functions:

  • polygon.createRectangle(_size [, _offset])
Name Type Description
_size vec2f Size of the rectangle
_offset vec2f Offset of the center of the rectange from [0; 0]
  • polygon.createCircle(_radius [, _offset [, _step]])
Name Type Description
_radius float Radius of the circle
_offset vec2f Offset of the center of the circle from [0; 0]
_step integer Amount of sides of the circle

bitfield

A bitfield is a dictionary with enumeration values of a specific type as keys, and boolean values as value.

When defining a new object, a enumeration value missing from a bitfield table will be considered as false. When overriding existing data, a missing enumeration value means the existing value will not be overriden.

To initialize a bitfield of BUILDING_ZONE_TYPE with the DEFAULT and GRASS_CLEAR values:

local bitfield = {
    DEFAULT = true,
    NAVIGABLE = false,
    GRASS_CLEAR = true
}
data-types.txt · Last modified: 2020/07/07 15:32 by maxime