]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/hb/def/c3_def.h
not done making demohp.c. i gotta get the files to the other lappy4
[16.git] / src / lib / hb / def / c3_def.h
diff --git a/src/lib/hb/def/c3_def.h b/src/lib/hb/def/c3_def.h
deleted file mode 100755 (executable)
index c0fe07f..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-/* Catacomb 3-D Source Code\r
- * Copyright (C) 1993-2014 Flat Rock Software\r
- *\r
- * This program is free software; you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation; either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License along\r
- * with this program; if not, write to the Free Software Foundation, Inc.,\r
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\r
- */\r
-\r
-#include "ID_HEADS.H"\r
-#include <MATH.H>\r
-#include <VALUES.H>\r
-\r
-//#define PROFILE\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                GLOBAL CONSTANTS\r
-\r
-=============================================================================\r
-*/\r
-\r
-#define NAMESTART      180\r
-\r
-\r
-#define UNMARKGRCHUNK(chunk)   (grneeded[chunk]&=~ca_levelbit)\r
-\r
-#define MOUSEINT       0x33\r
-\r
-#define EXPWALLSTART   8\r
-#define NUMEXPWALLS            7\r
-#define WALLEXP                        15\r
-#define NUMFLOORS              36\r
-\r
-#define NUMFLOORS      36\r
-\r
-#define NUMLATCHPICS   100\r
-#define NUMSCALEPICS   100\r
-#define NUMSCALEWALLS  30\r
-\r
-\r
-#define FLASHCOLOR     5\r
-#define FLASHTICS      4\r
-\r
-\r
-#define NUMLEVELS      20\r
-\r
-#define VIEWX          0               // corner of view window\r
-#define VIEWY          0\r
-#define VIEWWIDTH      (33*8)          // size of view window\r
-#define VIEWHEIGHT     (18*8)\r
-#define VIEWXH         (VIEWX+VIEWWIDTH-1)\r
-#define VIEWYH         (VIEWY+VIEWHEIGHT-1)\r
-\r
-#define CENTERX                (VIEWX+VIEWWIDTH/2-1)   // middle of view window\r
-#define CENTERY                (VIEWY+VIEWHEIGHT/2-1)\r
-\r
-#define GLOBAL1                (1l<<16)\r
-#define TILEGLOBAL  GLOBAL1\r
-#define TILESHIFT      16l\r
-\r
-#define MINDIST                (2*GLOBAL1/5)\r
-#define FOCALLENGTH    (TILEGLOBAL)    // in global coordinates\r
-\r
-#define ANGLES         360             // must be divisable by 4\r
-\r
-#define MAPSIZE                64              // maps are 64*64 max\r
-#define MAXACTORS      150             // max number of tanks, etc / map\r
-\r
-#define NORTH  0\r
-#define EAST   1\r
-#define SOUTH  2\r
-#define WEST   3\r
-\r
-#define SIGN(x) ((x)>0?1:-1)\r
-#define ABS(x) ((int)(x)>0?(x):-(x))\r
-#define LABS(x) ((long)(x)>0?(x):-(x))\r
-\r
-#define        MAXSCALE        (VIEWWIDTH/2)\r
-\r
-\r
-#define MAXBODY                        64\r
-#define MAXSHOTPOWER   56\r
-\r
-#define SCREEN1START   0\r
-#define SCREEN2START   8320\r
-\r
-#define PAGE1START             0x900\r
-#define PAGE2START             0x2000\r
-#define        PAGE3START              0x3700\r
-#define        FREESTART               0x4e00\r
-\r
-#define PIXRADIUS              512\r
-\r
-#define STATUSLINES            (200-VIEWHEIGHT)\r
-\r
-enum bonusnumbers {B_BOLT,B_NUKE,B_POTION,B_RKEY,B_YKEY,B_GKEY,B_BKEY,B_SCROLL1,\r
- B_SCROLL2,B_SCROLL3,B_SCROLL4,B_SCROLL5,B_SCROLL6,B_SCROLL7,B_SCROLL8,\r
- B_GOAL,B_CHEST};\r
-\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                  GLOBAL TYPES\r
-\r
-=============================================================================\r
-*/\r
-\r
-enum {BLANKCHAR=9,BOLTCHAR,NUKECHAR,POTIONCHAR,KEYCHARS,SCROLLCHARS=17,\r
-       NUMBERCHARS=25};\r
-\r
-typedef long fixed;\r
-\r
-typedef struct {int x,y;} tilept;\r
-typedef struct {fixed x,y;} globpt;\r
-\r
-typedef struct\r
-{\r
-  int  x1,x2,leftclip,rightclip;// first pixel of wall (may not be visable)\r
-  unsigned     height1,height2,color,walllength,side;\r
-       long    planecoord;\r
-} walltype;\r
-\r
-typedef enum\r
-  {nothing,playerobj,bonusobj,orcobj,batobj,skeletonobj,trollobj,demonobj,\r
-  mageobj,pshotobj,bigpshotobj,mshotobj,inertobj,bounceobj,grelmobj\r
-  ,gateobj} classtype;\r
-\r
-typedef enum {north,east,south,west,northeast,southeast,southwest,\r
-                 northwest,nodir} dirtype;             // a catacombs 2 carryover\r
-\r
-\r
-typedef struct statestruct\r
-{\r
-       int             shapenum;\r
-       int             tictime;\r
-       void    (*think) ();\r
-       struct  statestruct     *next;\r
-} statetype;\r
-\r
-\r
-typedef struct objstruct\r
-{\r
-  enum {no,yes}        active;\r
-  int          ticcount;\r
-  classtype    obclass;\r
-  statetype    *state;\r
-\r
-  boolean      shootable;\r
-  boolean      tileobject;             // true if entirely inside one tile\r
-\r
-  long         distance;\r
-  dirtype      dir;\r
-  fixed        x,y;\r
-  unsigned     tilex,tiley;\r
-  int          viewx;\r
-  unsigned     viewheight;\r
-\r
-  int          angle;\r
-  int          hitpoints;\r
-  long         speed;\r
-\r
-  unsigned     size;                   // global radius for hit rect calculation\r
-  fixed                xl,xh,yl,yh;    // hit rectangle\r
-\r
-  int          temp1,temp2;\r
-  struct       objstruct       *next,*prev;\r
-} objtype;\r
-\r
-\r
-typedef        struct\r
-{\r
-       int             difficulty;\r
-       int             mapon;\r
-       int             bolts,nukes,potions,keys[4],scrolls[8];\r
-       long    score;\r
-       int             body,shotpower;\r
-} gametype;\r
-\r
-typedef        enum    {ex_stillplaying,ex_died,ex_warped,ex_resetgame\r
-       ,ex_loadedgame,ex_victorious,ex_abort} exittype;\r
-\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_MAIN DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-extern char            str[80],str2[20];\r
-extern unsigned        tedlevelnum;\r
-extern boolean         tedlevel;\r
-extern gametype        gamestate;\r
-extern exittype        playstate;\r
-\r
-\r
-void NewGame (void);\r
-boolean        SaveTheGame(int file);\r
-boolean        LoadTheGame(int file);\r
-void ResetGame(void);\r
-void ShutdownId (void);\r
-void InitGame (void);\r
-void Quit (char *error);\r
-void TEDDeath(void);\r
-void DemoLoop (void);\r
-void SetupScalePic (unsigned picnum);\r
-void SetupScaleWall (unsigned picnum);\r
-void SetupScaling (void);\r
-void main (void);\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_GAME DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-extern unsigned        latchpics[NUMLATCHPICS];\r
-extern unsigned        tileoffsets[NUMTILE16];\r
-extern unsigned        textstarts[27];\r
-\r
-\r
-#define        L_CHARS         0\r
-#define L_NOSHOT       1\r
-#define L_SHOTBAR      2\r
-#define L_NOBODY       3\r
-#define L_BODYBAR      4\r
-\r
-\r
-void ScanInfoPlane (void);\r
-void ScanText (void);\r
-void SetupGameLevel (void);\r
-void Victory (void);\r
-void Died (void);\r
-void NormalScreen (void);\r
-void DrawPlayScreen (void);\r
-void LoadLatchMem (void);\r
-void FizzleFade (unsigned source, unsigned dest,\r
-       unsigned width,unsigned height, boolean abortable);\r
-void FizzleOut (int showlevel);\r
-void FreeUpMemory (void);\r
-void GameLoop (void);\r
-\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_PLAY DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-extern ControlInfo     c;\r
-extern boolean         running,slowturn;\r
-\r
-extern int                     bordertime;\r
-\r
-extern byte            tilemap[MAPSIZE][MAPSIZE];\r
-extern objtype         *actorat[MAPSIZE][MAPSIZE];\r
-extern byte            spotvis[MAPSIZE][MAPSIZE];\r
-\r
-extern objtype         objlist[MAXACTORS],*new,*obj,*player;\r
-\r
-extern unsigned        farmapylookup[MAPSIZE];\r
-extern byte            *nearmapylookup[MAPSIZE];\r
-extern byte            update[];\r
-\r
-extern boolean         godmode,singlestep;\r
-extern int                     extravbls;\r
-\r
-extern int                     mousexmove,mouseymove;\r
-extern int                     pointcount,pointsleft;\r
-\r
-\r
-void CenterWindow(word w,word h);\r
-void DebugMemory (void);\r
-void PicturePause (void);\r
-int  DebugKeys (void);\r
-void CheckKeys (void);\r
-void InitObjList (void);\r
-void GetNewObj (boolean usedummy);\r
-void RemoveObj (objtype *gone);\r
-void PollControlls (void);\r
-void PlayLoop (void);\r
-\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_STATE DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-void SpawnNewObj (unsigned x, unsigned y, statetype *state, unsigned size);\r
-void SpawnNewObjFrac (long x, long y, statetype *state, unsigned size);\r
-boolean CheckHandAttack (objtype *ob);\r
-void T_DoDamage (objtype *ob);\r
-boolean Walk (objtype *ob);\r
-void ChaseThink (objtype *obj, boolean diagonal);\r
-void MoveObj (objtype *ob, long move);\r
-boolean Chase (objtype *ob, boolean diagonal);\r
-\r
-extern dirtype opposite[9];\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_TRACE DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-int FollowTrace (fixed tracex, fixed tracey, long deltax, long deltay, int max);\r
-int BackTrace (int finish);\r
-void ForwardTrace (void);\r
-int FinishWall (void);\r
-void InsideCorner (void);\r
-void OutsideCorner (void);\r
-void FollowWalls (void);\r
-\r
-extern boolean aborttrace;\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_DRAW DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-#define MAXWALLS       50\r
-#define DANGERHIGH     45\r
-\r
-#define        MIDWALL         (MAXWALLS/2)\r
-\r
-//==========================================================================\r
-\r
-extern tilept  tile,lasttile,focal,left,mid,right;\r
-\r
-extern globpt  edge,view;\r
-\r
-extern unsigned screenloc[3];\r
-extern unsigned freelatch;\r
-\r
-extern int screenpage;\r
-\r
-extern boolean         fizzlein;\r
-\r
-extern long lasttimecount;\r
-\r
-extern int firstangle,lastangle;\r
-\r
-extern fixed prestep;\r
-\r
-extern int traceclip,tracetop;\r
-\r
-extern fixed sintable[ANGLES+ANGLES/4],*costable;\r
-\r
-extern fixed   viewx,viewy,viewsin,viewcos;                    // the focal point\r
-extern int     viewangle;\r
-\r
-extern fixed scale,scaleglobal;\r
-extern unsigned slideofs;\r
-\r
-extern int zbuffer[VIEWXH+1];\r
-\r
-extern walltype        walls[MAXWALLS],*leftwall,*rightwall;\r
-\r
-\r
-extern fixed   tileglobal;\r
-extern fixed   focallength;\r
-extern fixed   mindist;\r
-extern int             viewheight;\r
-extern fixed scale;\r
-\r
-extern int     walllight1[NUMFLOORS];\r
-extern int     walldark1[NUMFLOORS];\r
-extern int     walllight2[NUMFLOORS];\r
-extern int     walldark2[NUMFLOORS];\r
-\r
-//==========================================================================\r
-\r
-void   DrawLine (int xl, int xh, int y,int color);\r
-void   DrawWall (walltype *wallptr);\r
-void   TraceRay (unsigned angle);\r
-fixed  FixedByFrac (fixed a, fixed b);\r
-void   TransformPoint (fixed gx, fixed gy, int *screenx, unsigned *screenheight);\r
-fixed  TransformX (fixed gx, fixed gy);\r
-int    FollowTrace (fixed tracex, fixed tracey, long deltax, long deltay, int max);\r
-void   ForwardTrace (void);\r
-int    FinishWall (void);\r
-int    TurnClockwise (void);\r
-int    TurnCounterClockwise (void);\r
-void   FollowWall (void);\r
-\r
-void   NewScene (void);\r
-void   BuildTables (void);\r
-\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_SCALE DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-\r
-#define COMPSCALECODESTART     (65*6)          // offset to start of code in comp scaler\r
-\r
-typedef struct\r
-{\r
-       unsigned        codeofs[65];\r
-       unsigned        start[65];\r
-       unsigned        width[65];\r
-       byte            code[];\r
-}      t_compscale;\r
-\r
-typedef struct\r
-{\r
-       unsigned        width;\r
-       unsigned        codeofs[64];\r
-}      t_compshape;\r
-\r
-\r
-extern unsigned        scaleblockwidth,\r
-               scaleblockheight,\r
-               scaleblockdest;\r
-\r
-extern byte    plotpix[8];\r
-extern byte    bitmasks1[8][8];\r
-extern byte    bitmasks2[8][8];\r
-\r
-\r
-extern t_compscale _seg *scaledirectory[MAXSCALE+1];\r
-extern t_compshape _seg *shapedirectory[NUMSCALEPICS];\r
-extern memptr                  walldirectory[NUMSCALEWALLS];\r
-extern unsigned        shapesize[MAXSCALE+1];\r
-\r
-void           DeplanePic (int picnum);\r
-void ScaleShape (int xcenter, t_compshape _seg *compshape, unsigned scale);\r
-unsigned       BuildCompShape (t_compshape _seg **finalspot);\r
-\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_ASM DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-extern unsigned        wallheight      [VIEWWIDTH];\r
-extern unsigned        wallwidth       [VIEWWIDTH];\r
-extern unsigned        wallseg         [VIEWWIDTH];\r
-extern unsigned        wallofs         [VIEWWIDTH];\r
-extern unsigned        screenbyte      [VIEWWIDTH];\r
-extern unsigned        screenbit       [VIEWWIDTH];\r
-extern unsigned        bitmasks        [64];\r
-\r
-extern long            wallscalecall;\r
-\r
-void   ScaleWalls (void);\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_WIZ DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-#define MAXHANDHEIGHT  72\r
-\r
-extern long    lastnuke;\r
-extern int             handheight;\r
-extern int             boltsleft;\r
-\r
-/*\r
-=============================================================================\r
-\r
-                                                C3_ACT1 DEFINITIONS\r
-\r
-=============================================================================\r
-*/\r
-\r
-extern statetype s_trollouch;\r
-extern statetype s_trolldie1;\r
-\r
-\r
-extern statetype s_orcpause;\r
-\r
-extern statetype s_orc1;\r
-extern statetype s_orc2;\r
-extern statetype s_orc3;\r
-extern statetype s_orc4;\r
-\r
-extern statetype s_orcattack1;\r
-extern statetype s_orcattack2;\r
-extern statetype s_orcattack3;\r
-\r
-extern statetype s_orcouch;\r
-\r
-extern statetype s_orcdie1;\r
-extern statetype s_orcdie2;\r
-extern statetype s_orcdie3;\r
-\r
-\r
-extern statetype s_demonouch;\r
-extern statetype s_demondie1;\r
-\r
-extern statetype s_mageouch;\r
-extern statetype s_magedie1;\r
-\r
-extern statetype s_grelouch;\r
-extern statetype s_greldie1;\r
-\r
-extern statetype s_batdie1;\r