GameHeaders/TankSprite.h

#pragma once
enum {
        kNumTankSprites = 2,
        kNumTankFrames = 1,
        kTankBaseID = 128,
        kTankOffsetID = 1,
        kLocalTank = 0,
        kRemoteTank = 1,
        kMaxSpeed = 6
    };
 
 
typedef struct {
    short       dir;
    short       speed;
    gamePtr     game;
    short       damage;
} tankInfoRec;
 
typedef struct  {
    fixPt   position;
    short   direction;
    short   speed;
} TankStatus;
 
#define kRotateLeftKeyCode      0x56
#define kRotateRightKeyCode     0x58            
#define kAccelerateKeyCode      0x5b
#define kDecelerateKeyCode      0x57
#define kFireKeyCode            0x38
 
extern spriteLayerPtr   gTankLayer[kNumTankSprites];
extern frameSetPtr      gTankFrameSetList[kNumDirections];
extern spritePtr        gTankSprites[kNumTankSprites];
extern tankInfoRec      gTankInfo[kNumTankSprites];
 
 
void SetTankSpeed(spritePtr spr, short speed);
void RotateTank(spritePtr spr, short dir);
 
void NetworkSetTankSpeed ( spritePtr tank, short speed);
void NetworkRotateTank ( spritePtr tank, short rotateDir);
void SynchronizeTank( gamePtr game, fixPt *loc, short direction, short speed);
void NetworkMoveTank(void);
 
Boolean TankSynchTask(xthing *xtp, spritePtr spr);
Boolean TankEngineSoundTask(xthing *xtp, spritePtr spr);
 
 
 
extern long gLastSynchTime;
extern long gLocalTime;
extern long gLastReturnTime;