home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / progmisc / acksrc.zip / ACKDATA.C < prev    next >
Text File  |  1993-06-20  |  3KB  |  123 lines

  1. /*           ACK-3D ( Animation Construction Kit 3D )              */
  2. /* Global Data          */
  3. /* Author: Lary Myers */
  4. #include <stdio.h>
  5. #include "ack3d.h"
  6.  
  7.         MOUSE        mouse;
  8.         KEYBOARD        keyBoard;
  9.         unsigned    char    scanCode;
  10.             char    numLockKeyStatus;
  11.  
  12.         void      interrupt (*oldvec)();
  13.         void      interrupt myInt();
  14.  
  15.             long    LastX1;
  16.             long    LastY1;
  17.  
  18.             long    iLastX;
  19.             long    iLastY;
  20.             int    MaxDistance;
  21.             int    ErrorCode;
  22.             int    xMapPosn;
  23.             int    yMapPosn;
  24.             int    SkyColor;
  25.             int    FloorColor;
  26.             int    FlashColor;
  27.             int    TopColor;
  28.             int    BottomColor;
  29.             int    StartX;
  30.             int    StartY;
  31.             int    StartAngle;
  32.             int    DoorSpeed;
  33.             int    NonSecretCode;
  34.             int    HaveMouse;  /* 1 if mouse present, else 0   */
  35.             int    NoWalls;
  36.  
  37.             int    PageNum;    /* 0,1 - video page to write to */
  38.             FILE    *dfp;        /* Debug file if DEBUG is 1        */
  39.  
  40.     unsigned      char far    *bMaps[255]; /* Array of wall bitmaps        */
  41.     unsigned      char far    *oMaps[255]; /* Array of object bitmaps        */
  42.  
  43.     #if 0
  44.               void  (far *bdfp[MAX_DISTANCE+1])();
  45.     #endif
  46.               void  (far *bdfp[1])();
  47.  
  48.  
  49.  
  50. unsigned char    Grid[GRID_MAX+1];
  51.  
  52. unsigned    char    xGrid[(GRID_WIDTH+2) * (GRID_HEIGHT+2)];
  53. unsigned    char    yGrid[(GRID_WIDTH+2) * (GRID_HEIGHT+2)];
  54.  
  55. unsigned    char    xObjGrid[(GRID_WIDTH+2) * (GRID_HEIGHT+2)];
  56. unsigned    char    yObjGrid[(GRID_WIDTH+2) * (GRID_HEIGHT+2)];
  57.  
  58.     SPECIALCODE SpecialCodes[MAX_UPDOWN+1];
  59.  
  60.     int        TotalSpecial;
  61.     int        PageBegin[4] = {0,19200,38400,57600}; /* Video offsets  */
  62.  
  63.     int        DistanceTable[MAX_DISTANCE+1];  /* Distance vs height   */
  64.     long        AdjustTable[MAX_DISTANCE+1];    /* Used to scale bitmap */
  65.  
  66.     WALLARRAY   Walls[VIEW_WIDTH];
  67.  
  68.     DOORS        Door[MAX_DOORS];
  69.  
  70.     int        xSecretmPos;
  71.     int        xSecretmPos1;
  72.     int        xSecretColumn;
  73.  
  74.     int        ySecretmPos;
  75.     int        ySecretmPos1;
  76.     int        ySecretColumn;
  77.  
  78.     int        TotalSecret;
  79.     int        CurrentLevel;
  80.     int        ViewColumn;
  81.     int        CenterRow;
  82.     long far   *SinTable;
  83.     long far   *CosTable;
  84.  
  85.     long far   *LongTanTable;
  86.     long far   *LongInvTanTable;
  87.     long far   *InvCosTable;
  88.     long far   *InvSinTable;
  89.     long far   *LongCosTable;
  90.     long far   *ViewCosTable;
  91.  
  92.     long far   *xNextTable;
  93.     long far   *yNextTable;
  94.  
  95.     long        txRay,tyRay,tDOW,tFlip;
  96.  
  97.     OBJECTS        ObjList[MAX_OBJECTS+1];
  98.     unsigned char    ObjFlags[MAX_OBJECTS+1];
  99.  
  100.          int    MaxObjects;
  101.          int    TotalObjects;
  102.  
  103.     unsigned char    ObjNumber[320];
  104.          int    ObjMapPosn[320];
  105.          long    ObjRelDist[320];
  106.  
  107.          int    DirDx[] = {0,1,1,1,0,-1,-1,-1};
  108.          int    DirDy[] = {-1,-1,0,1,1,1,0,-1};
  109.          int    DirAngle[] = {INT_ANGLE_270,INT_ANGLE_315,0,
  110.                       INT_ANGLE_45,INT_ANGLE_90,
  111.                       INT_ANGLE_135,INT_ANGLE_180,
  112.                       INT_ANGLE_225};
  113.  
  114.  
  115.          char    PalFile[128];
  116.          char    GridFile[128];
  117.          char    GoalFile[128];
  118.          char    GoalPalFile[128];
  119.  
  120.        unsigned mask[4] = { 0x102, 0x202, 0x402, 0x802 };
  121.        unsigned char lowmask[4] = { 0x1, 0x2, 0x4, 0x8 };
  122.  
  123.