Entities
Entity class tree specifies class hierarchy. Leaves of tree are
class instances ie. actual game objects, player accounts, etc...
Entity class tree
- root_entity: Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
- admin_entity: -"-
- root_geometry: All classes and objects that have geometry and
can be positioned and contain things and/or are contained by something.
See maps/semantic_maps.pdf for more info.
- glue_entity: When to objects that should be clued together use
different reference coordinate system with different absolute
position in reference coordinate systems, then can't use same ids
for shared points. In that case point directly to shared
points. For example: glue_ids:[["pond2.area.1.2", "brook1.polyline.1"]]
Each list is id_list listing ids on that particular point.
root_entity
Attribute list:
- children (encoding:list): Value: ['admin_entity', 'root_geometry', 'glue_entity'] C equivalent: char *[], void *[]
- description (encoding:string): Value:
Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- id (encoding:string): Value: root_entity C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['root'] C equivalent: char *[], void *[]
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
Starting point for entity hierarchy
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
children: ["admin_entity", "root_geometry", "glue_entity"],
description: "Later in hierarchy tree objtype changes to 'object' when actual game objects are made.",
id: "root_entity",
objtype: "class",
parents: ["root"],
summary: "Starting point for entity hierarchy"
}
admin_entity
Attribute list:
- children (encoding:list): Value: ['account', 'server'] C equivalent: char *[], void *[]
- description (inherited from root_entity) (encoding:string): Value:
Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- id (encoding:string): Value: admin_entity C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['root_entity'] C equivalent: char *[], void *[]
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
All classes and objects used for adminitrativive purposes
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
children: ["account", "server"],
id: "admin_entity",
parents: ["root_entity"],
summary: "All classes and objects used for adminitrativive purposes"
}
account
Attribute list:
- children (encoding:list): Value: ['player', 'admin'] C equivalent: char *[], void *[]
- description (inherited from root_entity) (encoding:string): Value:
Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- id (encoding:string): Value: account C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['admin_entity'] C equivalent: char *[], void *[]
- password (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
Base class for accounts
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
children: ["player", "admin"],
id: "account",
parents: ["admin_entity"],
password: "",
summary: "Base class for accounts"
}
player
Attribute list:
- characters (encoding:list): Value: [] C equivalent: char *[], void *[]
- children (encoding:list): Value: [] C equivalent: char *[], void *[]
- description (inherited from root_entity) (encoding:string): Value:
Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- id (encoding:string): Value: player C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['account'] C equivalent: char *[], void *[]
- password (inherited from account) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
Player accounts
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
characters: [],
children: [],
id: "player",
parents: ["account"],
summary: "Player accounts"
}
admin
Attribute list:
- children (encoding:list): Value: [] C equivalent: char *[], void *[]
- description (inherited from root_entity) (encoding:string): Value:
Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- id (encoding:string): Value: admin C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['account'] C equivalent: char *[], void *[]
- password (inherited from account) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
Privileged accounts
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
children: [],
id: "admin",
parents: ["account"],
summary: "Privileged accounts"
}
server
Attribute list:
- children (encoding:list): Value: [] C equivalent: char *[], void *[]
- description (inherited from root_entity) (encoding:string): Value:
Later in hierarchy tree objtype changes to 'object' when actual game objects are made.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- id (encoding:string): Value: server C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['admin_entity'] C equivalent: char *[], void *[]
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
Info about server
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
children: [],
id: "server",
parents: ["admin_entity"],
summary: "Info about server"
}
root_geometry
Attribute list:
Bach version:
{
area: [],
children: ["game_entity"],
contains: [],
description: "All classes and objects that have geometry and
can be positioned and contain things and/or are contained by something.
See maps/semantic_maps.pdf for more info.",
detailed_contents: 0,
glue: [],
id: "root_geometry",
loc: "",
parents: ["root_entity"],
polyline: [],
pos: [0.0, 0.0, 0.0],
rotation: [
[1.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0]
],
stamp_contains: 0.0,
summary: "Classes/objects with geometry",
velocity: [0.0, 0.0, 0.0],
volume: []
}
game_entity
Attribute list:
Bach version:
{
children: ["autonomous_entity", "world"],
id: "game_entity",
interface: "game_interface",
parents: ["root_geometry"],
specification: "atlas_game",
summary: "All In Game classes and objects"
}
autonomous_entity
Attribute list:
Bach version:
{
children: [],
id: "autonomous_entity",
parents: ["game_entity"],
summary: "All In Game classes and objects which act autonomously"
}
world
Attribute list:
Bach version:
{
children: [],
id: "world",
media_roots: ["root_media_info"],
parents: ["game_entity"],
root_object: "root",
summary: "Info about world"
}
glue_entity
Attribute list:
- children (encoding:list): Value: [] C equivalent: char *[], void *[]
- description (encoding:string): Value:
When to objects that should be clued together use
different reference coordinate system with different absolute
position in reference coordinate systems, then can't use same ids
for shared points. In that case point directly to shared
points. For example: glue_ids:[["pond2.area.1.2", "brook1.polyline.1"]]
Each list is id_list listing ids on that particular point.
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- glue_ids (encoding:list): Value: [] See glue_geometry for more info
- id (encoding:string): Value: glue_entity C equivalent roughly: for storing id name: char *, as pointer: void *
- interface (inherited from root) (encoding:string): Value: base_interface C equivalent roughly: for storing id name: char *, as pointer: void *
- name (inherited from root) (encoding:string): Value: Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- objtype (inherited from root_entity) (encoding:string): Value: class Examples of values: "op", "class", "type".
- parents (encoding:list): Value: ['root_entity'] C equivalent: char *[], void *[]
- specification (inherited from root) (encoding:string): Value: atlas Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
- stamp (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was
changed in this object. Any scheme is ok as long as newer numbers
are bigger than older stamps. For example, seconds since Jan 1st,
1970 or total game cycles would both be valid.
- stamp_inherit (inherited from root) (encoding:float): Value: 0.0 Value should be reflect when something was changed in some object that inherits from this.
- summary (encoding:string): Value:
Classes/objects that glue objects to each other by using ids
Any character is allowed, including 8 bit control characters and '\0', C equivalent: {int len; char *data;}, C++: string
Bach version:
{
children: [],
description: "When to objects that should be clued together use
different reference coordinate system with different absolute
position in reference coordinate systems, then can't use same ids
for shared points. In that case point directly to shared
points. For example: glue_ids:[[\"pond2.area.1.2\", \"brook1.polyline.1\"]]
Each list is id_list listing ids on that particular point.",
glue_ids: [],
id: "glue_entity",
parents: ["root_entity"],
summary: "Classes/objects that glue objects to each other by using ids"
}
Aloril
Last modified: Sat Nov 13 15:46:39 EET 1999