|
T_void | IObjMoveClipVelocity (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMoveAccelFlat (T_objMoveStruct *ObjMoveStruct, T_sword32 amount, T_sword32 angle) |
|
T_void | ObjMoveAccelXYZ (T_objMoveStruct *ObjMoveStruct, T_sword32 XACC, T_sword32 YACC, T_sword32 ZACC) |
|
T_void | ObjMoveAddAngle (T_objMoveStruct *ObjMoveStruct, T_word16 addAngle) |
|
T_void | ObjMoveAddExternalVelocity (T_objMoveStruct *ObjMoveStruct, T_sword32 dVX, T_sword32 dVY, T_sword32 dVZ) |
|
T_void | ObjMoveAddX (T_objMoveStruct *ObjMoveStruct, T_sword32 addx) |
|
T_void | ObjMoveAddY (T_objMoveStruct *ObjMoveStruct, T_sword32 addy) |
|
T_void | ObjMoveAddZ (T_objMoveStruct *ObjMoveStruct, T_sword32 addz) |
|
T_3dObject * | ObjMoveFindHighestObject (T_objMoveStruct *ObjMoveStruct) |
|
T_3dObject * | ObjMoveFindLowestObject (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetAngle (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetAreaCeilingSector (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetAreaSector (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetCenterSector (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetFlags (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetFriction (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetHeight (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetMaxVelocity (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetNthAreaSector (T_objMoveStruct *ObjMoveStruct, T_word16 n) |
|
T_word16 | ObjMoveGetNumAreaSectors (T_objMoveStruct *ObjMoveStruct) |
|
T_word16 | ObjMoveGetRadius (T_objMoveStruct *ObjMoveStruct) |
|
T_sword32 | ObjMoveGetX (T_objMoveStruct *ObjMoveStruct) |
|
T_sword32 | ObjMoveGetXVel (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMoveGetXYZ (T_objMoveStruct *ObjMoveStruct, T_sword32 *xval, T_sword32 *yval, T_sword32 *zval) |
|
T_sword32 | ObjMoveGetY (T_objMoveStruct *ObjMoveStruct) |
|
T_sword32 | ObjMoveGetYVel (T_objMoveStruct *ObjMoveStruct) |
|
T_sword32 | ObjMoveGetZ (T_objMoveStruct *ObjMoveStruct) |
|
T_sword32 | ObjMoveGetZVel (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMoveInit (T_objMoveStruct *ObjMoveStruct) |
|
E_Boolean | ObjMoveIsAboveGround (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMovePrint (FILE *fp, T_objMoveStruct *p_om) |
|
T_void | ObjMoveSetAngle (T_objMoveStruct *ObjMoveStruct, T_word16 newAngle) |
|
T_void | ObjMoveSetAngularVelocity (T_objMoveStruct *p_objM, T_word16 angle, T_sword16 magnitude) |
|
T_void | ObjMoveSetFlags (T_objMoveStruct *ObjMoveStruct, T_word16 newflags) |
|
T_void | ObjMoveSetHeight (T_objMoveStruct *ObjMoveStruct, T_sword32 newHeight) |
|
T_void | ObjMoveSetMaxVelocity (T_objMoveStruct *ObjMoveStruct, T_word16 maxVelocity) |
|
T_void | ObjMoveSetMovedFlag (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMoveSetRadius (T_objMoveStruct *ObjMoveStruct, T_word16 newRadius) |
|
T_void | ObjMoveSetUpSectors (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMoveSetX (T_objMoveStruct *ObjMoveStruct, T_sword32 newx) |
|
T_void | ObjMoveSetXYZ (T_objMoveStruct *ObjMoveStruct, T_sword32 newx, T_sword32 newy, T_sword32 newz) |
|
T_void | ObjMoveSetY (T_objMoveStruct *ObjMoveStruct, T_sword32 newy) |
|
T_void | ObjMoveSetZ (T_objMoveStruct *ObjMoveStruct, T_sword32 newz) |
|
T_void | ObjMoveStopMoving (T_objMoveStruct *ObjMoveStruct) |
|
T_void | ObjMoveUpdate (T_objMoveStruct *ObjMoveStruct, T_sword32 delta) |
|
T_void | ObjMoveUpdateZVel (T_objMoveStruct *ObjMoveStruct, T_word32 delta) |
|
Object Movement Subsystem.
The Object Movement subsystem is where all the handling of objects occurs. You can think of it as "object physics". It handles objects sliding against walls and other objects. It does the actual movement of objects in the world. It even determines what sector(s) an object is on/in.
ObjMoveSetUpSectors performs all the calculations necessary to update the sector information in an obj move structure.
- Parameters
-
ObjMoveStruct | – object to fix up sectors |
If we are a client+server build...
If I don't sink, my feet are on the visible floor. If I do,
they are on the "real" (i.e. underwater) floor.
If I don't sink, my feet are on the visible floor. If I do,
they are on the "real" (i.e. underwater) floor.
ObjMoveUpdate is called on objects to update any movement that they might have due to accelerations in any X, Y, or Z direction. Since all moveable items in the engine are objects (monsters, players, & items), this routine should handle ALL movement in the game. Note that if you are not using this routine, you are doing it wrong.
NOTE: 6/14/95 Still using Stats variables for all objects.
- Parameters
-
ObjMoveStruct | – Pointer to object to move |
delta | – Delta in time |