Pararena2/Headers/Dynamics.h

1 line
2.1 KiB
C
Raw Normal View History

//============================================================ //============================================================ //== == //== Dynamics Header == //== == //============================================================ //============================================================ //======================================================== Defines #define kPersonMass 4 // purely relative & arbitrary unit #define kPersonSmallMass 2 // for colliding with ball #define kBallMass 1 #define kPersonBallMass 5 #define kPersonPersonMass 8 #define kPersonDampening 2 // fraction subtracted when wall collided #define kBallDampening 3 // bigger => more energy lost #define kLoopsImpactless 6 #define kFrameToDampen 5 #define kEnergyAbsorbed 32 // fraction of velocity subtracted @ impact #define kPBEnergyAbsorbed 4 // as above but for player/ball collisions //======================================================== Prototypes void DoPersonBallMerged (playerType *); // catching/dropping the ball void DoPersonBallParted (playerType *); void DoPersonBallCollided (playerType *); // ball/person dynamics void DoPersonPersonCollided (void); void CheckPersonBallCollision (playerType *); // test ball/person coll. void CheckPersonPersonCollision (void); void CheckPersonBallCollision (playerType *); short GetPlaceOnArena (short, short); void HandlePersonWallCollision (playerType *); // handle collisions with the wall void CheckUpOnBall (void); void HandleBallWallCollision (void); void HandleCollisions (void); // handle non-wall collisions //======================================================== External Variables extern playerType theOpponent; extern playerType thePlayer; extern ballType theBall; extern long oldDistSquared; extern short whosGotBall, loopsBallHeld, leftGoalLeague, rightGoalLeague; extern short *littleForceTable, *juniorForceTable, *varsityForceTable; extern short *minorForceTable, *proForceTable; extern short boardForceTable[9][2]; extern Boolean imTheMaster, netGameInSession, drawThisFrame;