home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / graphics / a150_1 / !Demo4 / h / extern next >
Text File  |  1992-02-10  |  2KB  |  74 lines

  1. /******************************************************************************
  2. *                                                                             *
  3. *    extern.h    (also structures and globals definitions)                    *
  4. *                                                                             *
  5. ******************************************************************************/
  6.  
  7. #define NULL 0
  8.  
  9. #define BLACK 0x00000000
  10. #define BLUE  0x80808080
  11. #define GREEN 0x23232323
  12.  
  13. /* externs for misc */
  14.  
  15. extern void SetTxtCurPos(int x, int y);
  16. extern int  GetClock(void);
  17. extern void ReadMouse(int *x, int *y, int *b);
  18. extern int  Inkey(void);
  19. extern void SetMousePos(int x, int y);
  20. extern void SaveTraject(char *name,signed char traject[][4],int nb);
  21. extern void LoadTraject(char *name,signed char traject[][4],int nb);
  22.  
  23. /* extern for horizon */
  24.  
  25. extern void PlotHorizon(Envi *envi,Object *obs,Object *hor);
  26. extern int CollisionHorizon(Object *obs,Object *hor);
  27.  
  28. /* extern for sol */
  29.  
  30. typedef struct {
  31.                char *sprite;
  32.                int  *altitudes;
  33.                vec4 *normals;
  34.                vec4 *nscreen;
  35.                vec4 *points;
  36.                vec4 *pscreen;
  37.                int  tgx,tgz;
  38.                int  pgx,pgz;
  39.                int  scalex,scalez;
  40. } Sol;
  41.  
  42. extern void InitSol(Sol *sol,char *spr,int *alt,int scalex,int scalez);
  43. extern void PlotSol(Envi *envi,Object *obs,Object *obj,Sol *sol);
  44. extern int CollisionSol(Object *obs,Object *sol,Sol *sold);
  45.  
  46. /* extern for plot */
  47.  
  48. typedef struct {
  49.                Object *object;
  50.                void   (*plot)();
  51.                int    (*collision)();
  52.                double d;
  53.                int    type;  /* grosse bidouille : 1 pour sol, 0 pour autre */
  54.                void   *desc;
  55. } ObjTab;
  56.  
  57. extern int    ObjNb;
  58.  
  59. extern ObjTab *(*InitPlot(int nb));
  60. extern void   AddObject(ObjTab *table[],Object *obj,
  61.                         void (*fp)(),int (*fc)(),int type,void *desc);
  62. extern void   Plot(ObjTab *table[],Envi *envi,Object *obs);
  63. extern int    Collision(ObjTab *table[],Object *obs);
  64.  
  65. /* extern for simu */
  66.  
  67. extern int dist;
  68. extern int xorg;
  69. extern int yorg;
  70.  
  71.  
  72.  
  73.  
  74.