Classes | Typedefs | Enumerations | Functions | Variables

aesop Namespace Reference

Classes

class  AESOPIdSizer
class  AESOPTagSizer
class  ClientHost
 users of the client library must supply an object that implements this interface. More...
struct  server_info_t
 information about a remote server More...
class  Client
 class that manages local client/player state with the server More...
struct  state_update_t
 This is a subset of an object's total state. More...
struct  object_state_t
 This is the full object state exposed by the Synchronizer. More...
class  ObjectSync
 Manages synchronization of many objects, based on (client-specified) ID. More...
struct  destination_t
 a destination describes a location to which players can be safely moved More...
class  Map
 This is the base object used to describe an AESOP map. More...
class  MapFormatReader
 MapFormatReader: these have to be implemented elsewhere, and then registered with the MapLoader below. More...
class  Zone
 Any 3D map defines an arbitrary 3D region of space. More...
class  LeafZone
 A leaf zone is a special kind of Zone. More...
class  PhysicsShape
 a shape is a 3D template which can be used to create instances of objects More...
class  PhysicsObject
 an instance of a shape (has position, velocity, etc) More...
struct  physics_meta_t
 basic information to create an instance of a shape (== object) More...
class  PhysicsWorld
 create one of these to support physics simulations etc. More...
struct  tcp_payload_t
 A tcp_payload_t consists of a namespace, a command, and then a hash of arguments. More...
class  Server
 Root object that manages all aesop server state. More...
struct  new_player_conv_data_t
 used to create a conversation for new players More...
struct  admin_conv_data_t
 used to create a conversation for server admins More...
class  ServerGameLogic
 The server specifies the GameLogic interface. More...
struct  host_rec_t
 single struct that contains all (exposed) remote host state More...
class  HostManager
 Object that helps the server manage host connections. More...
class  StateUpdates
 state update callback interface
WARNING: all of these interfaces must be threadsafe! More...
struct  handler_state_t
 handler function and state More...
class  MessageRouter
 The name may be a misnomer. More...
class  ServerObject
 This class maintains server-specific data for objects. More...
struct  player_rec_t
 single struct that contains all (exposed) player state More...
class  PlayerManager
 Object that helps the server manage players. More...
class  UserManager
 This class is threadsafe! In general, these methods are unsafe to call from the main server execution thread, because they can take a long time (disk read/writes and other operations). More...
class  ObjectContext
 this is a base class for caller-specified context attached to PhysicsObjects More...
class  MapDynamics
 create one of these to handle dynamics (physics etc.) for a given Map More...
class  MapManager
 Object that helps the server (and rules engine) manage loaded maps, including the dynamics. More...
class  ComponentData
 a base class that components can use to provide rich implementations More...
class  Instance
 A concrete instantiation of an object at a given place. More...
class  TypeComponentLoader
 Clients of this library need to provide component loaders for anything that they want loaded. More...
struct  player_stats_t
 handy for constructing player dialogs More...
class  Application
 The Application object manages all local terminals (user input/output sessions) as well as communications with the server, and state management for the local host and users. More...
class  ClientGameLogicHost
class  ClientGameLogic
 This interface is used by the application to delegate decisions and routing to game-specific logic. More...
struct  event_t
 A general events event. Typicaly this is a button press or release. More...
class  TerminalHost
class  Terminal
 Class that manages input + display for a particular player. More...
struct  map_draw_stats_t
struct  kd_node_t
class  MapKdTree
 top-level object that manages the full kd-tree More...

Typedefs

typedef FixedBuffer
< AESOPIdSizer,
CommonFileValidator
AESOPIdBuffer
 smart object to hold and validate aesop ID strings
typedef FixedBuffer
< AESOPTagSizer,
CommonFileValidator
AESOPTagBuffer
 smart object to hold and validate aesop tag strings
typedef threadsafe_map
< std::string, server_info_t
server_map_t
 a map of servers (key is basically a hash and should not be used for anything other than as an index into this map)
typedef std::vector< smart_ptr
< MapFormatReader > > 
vec_reader_t
typedef void(* zone_iteration_fn )(IN Zone *zone, IN void *context)
 used by the Map::iterateZones() function
typedef btTransform Transform3D
typedef std::map< dword_t,
smart_ptr< PhysicsObject > > 
id_object_map_t
typedef std::vector< ObjectImpl * > vec_objimpl_t
typedef void(* object_iteration_fn )(smart_ptr< PhysicsObject > &obj, void *context)
 callback definition
typedef threadsafe_map< int,
std::string > 
name_map_t
typedef std::vector< conn_id_tvec_conn_t
typedef void(* zone_obj_iteration_fn )(smart_ptr< Instance > &instance, smart_ptr< PhysicsObject > &obj, void *context)
 zone iteration callback
typedef threadsafe_queue
< smart_ptr
< TypeComponentLoader > > 
vec_loader_t
typedef threadsafe_map
< std::string, smart_ptr
< vec_loader_t > > 
map_loaders_t
typedef std::vector< smart_ptr
< Instance > > 
vec_instance_t
 vector of instances
typedef void(* instance_iteration_fn )(smart_ptr< Instance > &instance, void *context)
 a typedef to support iteration of instances.
typedef free_list_t
< kdtree::Node::dynamic_entry_t
free_type_t
typedef void(* kdtree_callback_fn )(const kd_node_t &node, void *context)
typedef void(* kdtree_object_fn )(glut::Renderable *model, const glut::render_context_t &rc, glut::RenderQueue *rq, void *context)

typedef void(* leafzone_iteration_fn )(IN LeafZone *lz, IN void *context)

typedef void(* msg_handler_fn )(handler_state_t &state)
 handler callback

Enumerations

enum  eConstants {
  eAESOP_MaxIdLength = 31,
  eAESOP_IdBufferSize = 32,
  eAESOP_MaxTagLength = 15,
  eAESOP_TagBufferSize = 16,
  eAESOP_Invalid = 0
}
 

important aesop constants

More...
enum  eProtocol {
  eProtocol_Major = 0,
  eProtocol_Minor = 1,
  eProtocol_Long = (eProtocol_Major << 16) + eProtocol_Minor
}
 

protocol version (basically, the version of the aesop-core.h file!)

More...
enum  eServerMode {
  eServerMode_Idle = 1,
  eServerMode_Game = 2,
  eServerMode_Invalid = 0
}
 

server's status

More...
enum  eHostMode {
  eHostMode_Connected = 1,
  eHostMode_Authorized = 2,
  eHostMode_Invalid = 0
}
 

server's view of host status

More...
enum  ePlayerMode {
  ePlayerMode_UnAuth = 1,
  ePlayerMode_Browse = 2,
  ePlayerMode_Game = 3,
  ePlayerMode_Invalid = 0
}
 

server's view of player status

More...
enum  eClientState {
  eClientState_Searching = 1,
  eClientState_Connecting = 2,
  eClientState_Connected = 3,
  eClientState_Invalid = 0
}
 

current client state (NOT player state! Just overall client state)

More...
enum  eDefaultPorts {
  eDefaultPort_clientUdp = 20051,
  eDefaultPort_serverUdp = 20050,
  eDefaultPort_serverTcp = 20051,
  eDefaultPort_Invalid = 0
}
 

these are the default TCP/UDP ports used by the AESOP engine.

More...
enum  eDialogs {
  eDialog_First = 1,
  eDialog_SignIn = 2,
  eDialog_Create = 3,
  eDialog_Fail = 4,
  eDialog_Done = 0
}

enum  eErrorCode {
  eErrorCode_Warn = 0x10000,
  eErrorCode_Fail = 0x20000,
  eErrorCode_Fatal = 0x40000,
  eErrorCode_BadProtocol = 0x40001,
  eErrorCode_BadStory = 0x40002,
  eErrorCode_OK = 0x00000
}

enum  ePrivilege {
  ePrivilege_Admin = 0x0001,
  ePrivilege_Invalid = 0x8000
}

enum  eDevice {
  eDevice_Keyboard = 1,
  eDevice_Mouse = 2,
  eDevice_Gamepad = 3,
  eDevice_Invalid = 0
}
enum  eEvent {
  eEvent_Press = 1,
  eEvent_Release = 2,
  eEvent_Invalid = 0
}
 

what is the nature of the given event?

More...

Functions

void registerMapFormatReader (smart_ptr< MapFormatReader > &reader)
smart_ptr< MaploadMap (const char *id, const char *path)
smart_ptr< MaploadMap (IN const char *id, IN const char *path_to_map_file)
 This is the map loading routine clients should use.
void registerMapFormatReader (IN smart_ptr< MapFormatReader > &reader)
 This is how you can register a MapFormatReader with the map loader.
template<class T >
long getNewIdForObject (smart_ptr< T > &in_obj)
smart_ptr< PhysicsObjectgetPhysicsObjectById (dword_t id)
 access to static registry of physics objects
static void removeObjectFromIdMap (long id)
static btVector3 getBulletVectorFromPoint3d (const point3d_t &pos) throw ()
template<class T >
static point3d_t getPoint3dFromBulletType (const T &v) throw ()
static point3d_t getNullPoint (void) throw ()
static point3d_t getCollisionObjectPosition (const btCollisionObject *obj)
static void dumpVector (const char *title, const btVector3 &v) throw ()
static void dumpAabb (const char *title, const btVector3 &aabbMin, const btVector3 &aabbMax) throw ()
static void dumpCollisionObject (const char *title, const btCollisionObject *obj) throw ()
static ObjectImpl * getObject (PhysicsObject *obj)
static ObjectImpl * getPhysicsObject (void *pv)
static ShapeImpl * getShape (const PhysicsShape *s)
void getVectorFromEulerAngles (const point3d_t &euler,point3d_t &vector) throw ()
 Assuming a vector is initially pointing in the (0, 0, 1) direction, return how it is rotated by the given Euler angles.
void getVectorFromQuaternion (const quaternion_t &rotation,point3d_t &vector) throw ()
 Assuming a vector is initially pointing in the (0, 0, 1) direction, return how it is rotated by the given quaternion.
void dumpWorld (PhysicsWorld *world) throw ()
 expensive debugging function
void getTransformFromPlacement (const placement_t &placement, Transform3D &T)
smart_ptr< PhysicsShapecreateBoxShape (const point3d_t &dimensions)
smart_ptr< PhysicsShapecreateCubeShape (float edge_length)
smart_ptr< PhysicsShapecreateTrimeshShape (const trimesh::Trimesh *trimesh)
smart_ptr< PhysicsShapecreateHeightfieldShape (const hfield::Heightfield *field)
smart_ptr< PhysicsShapecreateCapsuleShape (float height, float radius)
smart_ptr< PhysicsObjectcreateMoveableObject (const physics_meta_t &meta, const placement_t &placement)
smart_ptr< PhysicsObjectcreateObject (const physics_meta_t &meta,const placement_t &placement)
 create an object from a physics meta and instance information
smart_ptr< PhysicsObjectgetObjectHitFromPlacement (PhysicsWorld *world,const placement_t &placement,float half_extent)
 given an object at the given location and view direction (orientation), what is it looking at? (First object hit by a ray cast) Can return null!
static void addHeader (netlib::MessageBuffer *buffer, const char *namespace_, const char *command)
static smart_ptr
< netlib::MessageBuffer
createMessageFromString (const char *namespace_, const char *command, const char *data)
static smart_ptr
< netlib::MessageBuffer
createMessageFromSStream (const char *namespace_, const char *command, const std::ostringstream &oss)
static void interceptHandler (void *context)
static void handlerConverseReply (handler_state_t &state)
static void handlerTcpConnect (handler_state_t &state)
static void handlerNewGame (handler_state_t &state)
static void handlerShutdown (handler_state_t &state)
static msg_handler_fn lookupHandler (const char *namespace_, const char *cmd)
void addObjectRequestToQueue (smart_ptr< PhysicsObject > obj, conn_id_t recipientUdp, netrq::Queue *queue, dword_t clock)
static void sendObject (smart_ptr< Instance > &instance, smart_ptr< PhysicsObject > &obj, void *ctx)
static void sendObjects (LeafZone *lz, void *context)
static obj_context_t * getContext (smart_ptr< PhysicsObject > &obj)
smart_ptr< InstancegetInstanceFromPhysicsObject (smart_ptr< PhysicsObject > &obj)
 can return null!
MapDynamicsgetMapDynamicsFromPhysicsObject (smart_ptr< PhysicsObject > &obj)
 can return null!
static void readIdFromStream (std::istream &stream, AESOPIdBuffer &buffer, std::string &token)
static bool isReservedComponent (const char *name)
void registerTypeComponentLoader (smart_ptr< aesop::TypeComponentLoader > &tcl)
 Static method for registering type component loaders.
void initializeTypeInstanceLibrary (smart_ptr< story::Story > &story)
 Must initialize the type instance library at the beginning of time!
void loadInstances (std::istream &stream,vec_instance_t &instances)
 Load Instance objects from the given stream.
const char * getKeyWithOverrides (const char *keyName,const Datahash *instanceData,const Datahash *typeData,const Datahash *modelData,eDatahash_Flag flag)
 handy utility method for type component loaders: given the three raw data hashes (instance data, type data, and model data) get the value from the appropriate override source (instance, then type, then model)
static float getRandomX (void) throw ()
static const char * getIntBuffer (dword_t dw)
static bool isPortal (smart_ptr< Instance > &i)
smart_ptr< ServerGameLogiccreateServerGameLogic (void)
 factory method to create a basic server-side game logic object
smart_ptr< ClientGameLogiccreateClientGameLogic (void)
 factory method to create a basic client-side game logic object
smart_ptr
< converse::ConversationHost
createSystemMenuHost (int playerId, Application *app)
smart_ptr
< converse::ConversationHost
createServerSearchHost (Application *app)
static void drawObject (glut::Renderable *model, const glut::render_context_t &rc, glut::RenderQueue *rq, void *context)
static void setLights (void)
void drawMap (MapKdTree *mapKdTree,const glut::render_context_t &rc,glut::RenderQueue *rq,map_draw_stats_t &stats)
 helper method to draw a KdTree map.
static void determineZone (kdtree::Node *node, Zone *root)
static void deletePointers (kdtree::Node *node) throw ()
static void deleteAllEntries (kdtree::Node *node) throw ()
static void walkTree (kdtree::Node *node, int depth, kdtree_callback_fn callback, void *context)
static int compareEntries (const void *p1, const void *p2) throw ()
static void walkFrontToBack (kdtree::Node *node, free_type_t &freeList, const glut::render_context_t &rc, glut::RenderQueue *rq, const frustum_t *f, LeafZone *viewerZone, kdtree_object_fn callback, void *context)
static void addInstanceToNode (smart_ptr< Instance > &instance, LeafZone *lz, kdtree::Node *node)
static void addDynamicObject (smart_ptr< Instance > &instance, smart_ptr< PhysicsObject > &obj, void *context)
static void nukeAllDynamicEntries (kdtree::Node *node, free_type_t &freeList)

void getTcpPayload (const char *data,tcp_payload_t &payload)
 construct a tcp_payload_t from low-level netlib::MessageBuffer data

smart_ptr< netlib::MessageBuffercreateTcpConnectMessage (long token)
 Message: TcpConnect
From: Client
To: Server
Clients must send one of these whenever they set up a TCP connection with the server.
smart_ptr< netlib::MessageBuffercreateNotifyErrorMessage (eErrorCode errorCode, const char *message)
 Message: Notify Error
From: Server
To: Client
General error message from client to server.
smart_ptr< netlib::MessageBuffercreateConversationDialogMessage (int localPlayerId, const char *conversationGuid, int dialogId, const char *dialogData)
 Message: Conversation Dialog
From: Server
To: Client

smart_ptr< netlib::MessageBuffercreateConversationReplyMessage (int playerId, const char *conversationGuid, int dialogId, const char *reply)
 Message: Conversation Reply
From: Client
To: Server

smart_ptr< netlib::MessageBuffercreateRefreshConversationMessage (int playerId, const char *conversationGuid)
 Message: Refresh Conversation
From: Client
To: Server

smart_ptr< netlib::MessageBuffercreateTerminateConversationMessage (int playerId, const char *conversationGuid)
 Message: Terminate Conversation
From: Server
To: Client

smart_ptr< netlib::MessageBuffercreateNewGameMessage (int playerId)
 Message: New Game
From: Client
To: Server

smart_ptr
< converse::ConversationHost
createNewPlayerConversationHost (smart_ptr< crypto::DESKey > &desKey, new_player_conv_data_t &data)
smart_ptr
< converse::ConversationHost
createAdminConversationHost (admin_conv_data_t &data)

smart_ptr< ServerObjectgetServerObject (smart_ptr< Instance > &instance)
 retrieves the server object (server state) based on the Instance.

void addPhysicsMessagesToQueue (dword_t serverClock,HostManager *hostMgr,PlayerManager *playerMgr,MapManager *mapMgr)
 given the host list, this routine will iterate over all players and make sure any objects relevant to them are added to the appropriate outbound network request queues.

bool isValidUsername (const char *username)
 is this a valid username?
std::string getUsernameRestrictions (void)
 what is the format of a valid username?

Variables

static vec_reader_t s_readers
static const float s_stepHeight = 0.35
static const int s_ghostCollisionFlags
static id_object_map_t s_idMap
static smart_mutex s_idMapMutex
static const dword_t s_dwMagicObject = 0x34892199
static const dword_t s_dwMagicCollision = 0x55784923
static const int s_maxNetQueueLength = 256
static const int s_bcastBuffer = 128
static const int s_major = 0
static const int s_minor = 1
static const handler_entry_t s_handlers []
static const char * s_cName = "_server"
static const int s_maxPorIdBytes = 64
static const int s_maxPORBytes = 70
static const int s_minUsernameLength = 3
static const int s_maxUsernameLength = 15
static const char * s_configFilename = "user-db.config"
static const useconds_t s_sleepMicroseconds = 2000
static map_loaders_t s_loaders
static const int s_nMaxQueueSlots = 256
static const int s_rediscoverEvery = 128
static const int s_maxFreeListSize = 256

static const float s_largeDifference = 1.5
static const float s_maxLocalMove = 1.0
static const int s_clientSendHistory = 16



enum  eInputMode {
  eMode_Normal = 1,
  eMode_Cursor = 2,
  eMode_Invalid = 0
}
 

The input mode determines how the player interacts with controls.

More...
typedef point2d_t< int > pointi_t
typedef point2d_t< float > pointf_t
static const float s_turnSpeed = 2.0
static float tweakMouseMotion (float dx) throw ()
static void clipCoord (float &x, int maxX) throw ()
static float getPotRatio (const gamepad::pot_value_t &pv) throw ()
static float getJoyAxis (const gamepad::pot_value_t &rawValue) throw ()



typedef netlib::conn_id_t conn_id_t
typedef netlib::envelope_t envelope_t
typedef netlib::MessageBuffer MessageBuffer
typedef std::map< int,
smart_ptr
< client_player_record_t > > 
player_map_t
typedef std::map< std::string,
smart_ptr< Map > > 
id_map_t
typedef std::map< std::string,
smart_ptr< converse_rec_t > > 
conversation_map_t
static const int s_maxIdLength = 32
static const int s_bigNumber = 32000
static const int s_smallNumber = 2
static int s_authCountdown = 0
static const float s_maxTimeDelta = 0.1
static const float s_minTimeDelta = 1.0e-4
static const int s_udpOutSize = 824
static const float s_minStateMessageWaitTime = 0.5
static const float s_maxStateMessageWaitTime = 3.0
static const char * s_reqIdConnect = "connect"
static const char * s_reqIdAuthorize = "auth"
static const char * getServerHashKey (const server_info_t &si, char *buffer)



static const char * s_name = "Physics Meta Loader"
static smart_ptr< PhysicsRegistry > s_registry
static int checkFlag (const char *modelFlags, const char *name, int value)
static void updateFlagsFromData (int &flags, const Datahash *data)
static smart_ptr< PhysicsMeta > loadShape (const Datahash *physicsData, const Datahash *typeData, const Datahash *instData, const char *parentDir)
smart_ptr< TypeComponentLoadergetPhysicsLoader (void)
 get object capable of loading aesop physics objects (type components)
bool getPhysicsMetaFromInstance (smart_ptr< Instance > &instance,physics_meta_t &meta)
 given an instance, return a physics_meta_t object



static const float s_radiansPerDegree = M_PI / 180.0
smart_ptr< TypeComponentLoadergetGlutModelLoader (void)
smart_ptr< TypeComponentLoadercreateModelLoader (smart_ptr< story::Story > &story)
 create object capable of loading some of the standard AESOP models
smart_ptr< glut::RenderablegetModel (smart_ptr< Instance > &instance)
 want to retrieve an already-loaded model? Use this

Typedef Documentation

Definition at line 47 of file aesop-map/map.cpp.

typedef btTransform aesop::Transform3D

Definition at line 51 of file aesop-physics.cpp.

Definition at line 60 of file aesop-physics.cpp.

typedef std::vector<ObjectImpl *> aesop::vec_objimpl_t

Definition at line 369 of file aesop-physics.cpp.

typedef threadsafe_map<int, std::string> aesop::name_map_t

Definition at line 56 of file aesop-srv.cpp.

typedef std::vector<conn_id_t> aesop::vec_conn_t

Definition at line 82 of file aesop-srv.cpp.

typedef void(* aesop::msg_handler_fn)(handler_state_t &state)

handler callback

Definition at line 109 of file srv-msg-router.h.

Definition at line 44 of file typeinst.cpp.

Definition at line 46 of file typeinst.cpp.

typedef point2d_t<int> aesop::pointi_t

Definition at line 79 of file terminal.cpp.

typedef point2d_t<float> aesop::pointf_t

Definition at line 80 of file terminal.cpp.

Definition at line 50 of file map-kdtree.cpp.


Enumeration Type Documentation

list of error codes that can appear in the Notify Error message

Enumerator:
eErrorCode_Warn 

informational or minor problem

eErrorCode_Fail 

something failed, maybe retry?

eErrorCode_Fatal 

client cannot proceed at all

eErrorCode_BadProtocol 

client/server protocol mismatch

eErrorCode_BadStory 

client/server story guid mismatch

eErrorCode_OK 

no problems

Definition at line 48 of file errors.h.

Enumerator:
eDialog_First 
eDialog_SignIn 
eDialog_Create 
eDialog_Fail 
eDialog_Done 

Definition at line 51 of file converse-new-player.cpp.

The input mode determines how the player interacts with controls.

In "normal" mode, the controls (game pad, mouse, keyboard) are used for motion and game action. In "cursor" mode, the controls are used to manipulate on-screen menus and dialogs. Typically the player is allowed to toggle between modes.

Enumerator:
eMode_Normal 

normal gameplay

eMode_Cursor 

moving cursor

eMode_Invalid 

Definition at line 70 of file terminal.cpp.


Function Documentation

void aesop::registerMapFormatReader ( smart_ptr< MapFormatReader > &  reader  ) 

Definition at line 68 of file aesop-map/map.cpp.

smart_ptr<Map> aesop::loadMap ( const char *  id,
const char *  path 
)

Definition at line 81 of file aesop-map/map.cpp.

template<class T >
long aesop::getNewIdForObject ( smart_ptr< T > &  in_obj  ) 

Definition at line 68 of file aesop-physics.cpp.

static void aesop::removeObjectFromIdMap ( long  id  )  [static]

Definition at line 117 of file aesop-physics.cpp.

static btVector3 aesop::getBulletVectorFromPoint3d ( const point3d_t pos  )  throw () [inline, static]

Definition at line 142 of file aesop-physics.cpp.

template<class T >
static point3d_t aesop::getPoint3dFromBulletType ( const T &  v  )  throw () [inline, static]

Definition at line 155 of file aesop-physics.cpp.

static point3d_t aesop::getNullPoint ( void   )  throw () [inline, static]

Definition at line 167 of file aesop-physics.cpp.

static point3d_t aesop::getCollisionObjectPosition ( const btCollisionObject *  obj  )  [static]

Definition at line 181 of file aesop-physics.cpp.

static void aesop::dumpVector ( const char *  title,
const btVector3 &  v 
) throw () [static]

Definition at line 198 of file aesop-physics.cpp.

static void aesop::dumpAabb ( const char *  title,
const btVector3 &  aabbMin,
const btVector3 &  aabbMax 
) throw () [static]

Definition at line 214 of file aesop-physics.cpp.

static void aesop::dumpCollisionObject ( const char *  title,
const btCollisionObject *  obj 
) throw () [static]

Definition at line 232 of file aesop-physics.cpp.

static ObjectImpl* aesop::getObject ( PhysicsObject *  obj  )  [static]

Definition at line 387 of file aesop-physics.cpp.

static ObjectImpl* aesop::getPhysicsObject ( void *  pv  )  [static]

Definition at line 405 of file aesop-physics.cpp.

static ShapeImpl* aesop::getShape ( const PhysicsShape *  s  )  [static]

Definition at line 786 of file aesop-physics.cpp.

void aesop::getTransformFromPlacement ( const placement_t placement,
Transform3D &  T 
)

Definition at line 1380 of file aesop-physics.cpp.

smart_ptr<PhysicsObject> aesop::createMoveableObject ( const physics_meta_t &  meta,
const placement_t placement 
)

Definition at line 1534 of file aesop-physics.cpp.

void aesop::getTcpPayload ( const char *  data,
tcp_payload_t &  payload 
)

construct a tcp_payload_t from low-level netlib::MessageBuffer data

static void aesop::addHeader ( netlib::MessageBuffer buffer,
const char *  namespace_,
const char *  command 
) [static]

Definition at line 48 of file protocol.cpp.

static smart_ptr<netlib::MessageBuffer> aesop::createMessageFromString ( const char *  namespace_,
const char *  command,
const char *  data 
) [static]

Definition at line 69 of file protocol.cpp.

static smart_ptr<netlib::MessageBuffer> aesop::createMessageFromSStream ( const char *  namespace_,
const char *  command,
const std::ostringstream &  oss 
) [static]

Definition at line 111 of file protocol.cpp.

static void aesop::interceptHandler ( void *  context  )  [static]

Definition at line 100 of file aesop-srv.cpp.

static void aesop::handlerConverseReply ( handler_state_t &  state  )  [static]

Definition at line 64 of file srv-msg-router.cpp.

static void aesop::handlerTcpConnect ( handler_state_t &  state  )  [static]

Definition at line 99 of file srv-msg-router.cpp.

static void aesop::handlerNewGame ( handler_state_t &  state  )  [static]

Definition at line 119 of file srv-msg-router.cpp.

static void aesop::handlerShutdown ( handler_state_t &  state  )  [static]

Definition at line 141 of file srv-msg-router.cpp.

static msg_handler_fn aesop::lookupHandler ( const char *  namespace_,
const char *  cmd 
) [static]

Definition at line 181 of file srv-msg-router.cpp.

smart_ptr< ServerObject > aesop::getServerObject ( smart_ptr< Instance > &  instance  ) 

retrieves the server object (server state) based on the Instance.

This will create an empty state if no server state has already been created.

void aesop::addObjectRequestToQueue ( smart_ptr< PhysicsObject >  obj,
conn_id_t  recipientUdp,
netrq::Queue queue,
dword_t  clock 
)

Definition at line 195 of file srv-physics.cpp.

static void aesop::sendObject ( smart_ptr< Instance > &  instance,
smart_ptr< PhysicsObject > &  obj,
void *  ctx 
) [static]

Definition at line 232 of file srv-physics.cpp.

static void aesop::sendObjects ( LeafZone *  lz,
void *  context 
) [static]

Definition at line 259 of file srv-physics.cpp.

static obj_context_t* aesop::getContext ( smart_ptr< PhysicsObject > &  obj  )  [static]

Definition at line 68 of file map-dynamics.cpp.

static void aesop::readIdFromStream ( std::istream &  stream,
AESOPIdBuffer &  buffer,
std::string &  token 
) [static]

Definition at line 60 of file typeinst.cpp.

static bool aesop::isReservedComponent ( const char *  name  )  [static]

Definition at line 80 of file typeinst.cpp.

static float aesop::getRandomX ( void   )  throw () [static]

Definition at line 128 of file terminal.cpp.

static const char* aesop::getIntBuffer ( dword_t  dw  )  [static]
static bool aesop::isPortal ( smart_ptr< Instance > &  i  )  [static]
smart_ptr< converse::ConversationHost > aesop::createSystemMenuHost ( int  playerId,
Application *  app 
)

Definition at line 324 of file converse-system-menu.cpp.

smart_ptr<converse::ConversationHost> aesop::createServerSearchHost ( Application *  app  ) 
static float aesop::tweakMouseMotion ( float  dx  )  throw () [static]

Definition at line 94 of file terminal.cpp.

static void aesop::clipCoord ( float &  x,
int  maxX 
) throw () [static]

Definition at line 111 of file terminal.cpp.

static float aesop::getPotRatio ( const gamepad::pot_value_t &  pv  )  throw () [static]

Definition at line 140 of file terminal.cpp.

static float aesop::getJoyAxis ( const gamepad::pot_value_t &  rawValue  )  throw () [static]

Definition at line 156 of file terminal.cpp.

static void aesop::drawObject ( glut::Renderable model,
const glut::render_context_t rc,
glut::RenderQueue rq,
void *  context 
) [static]

Definition at line 47 of file map-drawer.cpp.

static void aesop::setLights ( void   )  [static]

Definition at line 80 of file map-drawer.cpp.

static void aesop::determineZone ( kdtree::Node node,
Zone *  root 
) [static]

Definition at line 130 of file map-kdtree.cpp.

static void aesop::deletePointers ( kdtree::Node node  )  throw () [static]

Definition at line 175 of file map-kdtree.cpp.

static void aesop::deleteAllEntries ( kdtree::Node node  )  throw () [static]

Definition at line 201 of file map-kdtree.cpp.

static void aesop::walkTree ( kdtree::Node node,
int  depth,
kdtree_callback_fn  callback,
void *  context 
) [static]

Definition at line 234 of file map-kdtree.cpp.

static int aesop::compareEntries ( const void *  p1,
const void *  p2 
) throw () [static]

Definition at line 264 of file map-kdtree.cpp.

static void aesop::walkFrontToBack ( kdtree::Node node,
free_type_t freeList,
const glut::render_context_t rc,
glut::RenderQueue rq,
const frustum_t f,
LeafZone *  viewerZone,
kdtree_object_fn  callback,
void *  context 
) [static]

Definition at line 288 of file map-kdtree.cpp.

static void aesop::addInstanceToNode ( smart_ptr< Instance > &  instance,
LeafZone *  lz,
kdtree::Node node 
) [static]

Definition at line 462 of file map-kdtree.cpp.

static void aesop::addDynamicObject ( smart_ptr< Instance > &  instance,
smart_ptr< PhysicsObject > &  obj,
void *  context 
) [static]

Definition at line 500 of file map-kdtree.cpp.

static void aesop::nukeAllDynamicEntries ( kdtree::Node node,
free_type_t freeList 
) [static]

Definition at line 572 of file map-kdtree.cpp.

smart_ptr<TypeComponentLoader> aesop::getGlutModelLoader ( void   ) 

Definition at line 481 of file model-loader.cpp.


Variable Documentation

const float aesop::s_largeDifference = 1.5 [static]

Definition at line 54 of file object-sync.cpp.

const float aesop::s_maxLocalMove = 1.0 [static]

Definition at line 55 of file object-sync.cpp.

const int aesop::s_clientSendHistory = 16 [static]

Definition at line 57 of file object-sync.cpp.

Definition at line 49 of file aesop-map/map.cpp.

const float aesop::s_stepHeight = 0.35 [static]

Definition at line 41 of file aesop-physics.cpp.

const int aesop::s_ghostCollisionFlags [static]
Initial value:
                        btCollisionObject::CF_KINEMATIC_OBJECT

Definition at line 42 of file aesop-physics.cpp.

Definition at line 61 of file aesop-physics.cpp.

Definition at line 62 of file aesop-physics.cpp.

const dword_t aesop::s_dwMagicObject = 0x34892199 [static]

Definition at line 871 of file aesop-physics.cpp.

const dword_t aesop::s_dwMagicCollision = 0x55784923 [static]

Definition at line 872 of file aesop-physics.cpp.

const int aesop::s_maxNetQueueLength = 256 [static]

Definition at line 86 of file aesop-srv.cpp.

const int aesop::s_bcastBuffer = 128 [static]

Definition at line 89 of file aesop-srv.cpp.

const int aesop::s_major = 0 [static]

Definition at line 52 of file srv-msg-router.cpp.

const int aesop::s_minor = 1 [static]

Definition at line 53 of file srv-msg-router.cpp.

const handler_entry_t aesop::s_handlers[] [static]
Initial value:
 {

        
        
        {  "converse-reply"  ,  handlerConverseReply  },
        {  "tcp"  ,  handlerTcpConnect  },
        {  "new-game"  ,  handlerNewGame  },
        {  "shutdown"  ,  handlerShutdown  },

        
        { NULL, NULL }
}

Definition at line 164 of file srv-msg-router.cpp.

const char* aesop::s_cName = "_server" [static]

Definition at line 43 of file srv-object.cpp.

const int aesop::s_maxPorIdBytes = 64 [static]

Definition at line 51 of file srv-physics.cpp.

const int aesop::s_maxPORBytes = 70 [static]

Definition at line 63 of file srv-physics.cpp.

const int aesop::s_minUsernameLength = 3 [static]

Definition at line 56 of file srv-users.cpp.

const int aesop::s_maxUsernameLength = 15 [static]

Definition at line 57 of file srv-users.cpp.

const char* aesop::s_configFilename = "user-db.config" [static]

Definition at line 60 of file srv-users.cpp.

const useconds_t aesop::s_sleepMicroseconds = 2000 [static]

Definition at line 41 of file map-manager.cpp.

Definition at line 49 of file typeinst.cpp.

const int aesop::s_nMaxQueueSlots = 256 [static]

Definition at line 46 of file application.cpp.

const int aesop::s_rediscoverEvery = 128 [static]

Definition at line 48 of file application.cpp.

const float aesop::s_turnSpeed = 2.0 [static]

Definition at line 83 of file terminal.cpp.

const int aesop::s_maxFreeListSize = 256 [static]

Definition at line 52 of file map-kdtree.cpp.

const float aesop::s_radiansPerDegree = M_PI / 180.0 [static]

Definition at line 45 of file model-loader.cpp.