home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / games / doom / pmdoom / include / i_video.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-17  |  2.6 KB  |  87 lines

  1. /*  Emacs style mode select   -*- C++ -*-  */
  2. /* ----------------------------------------------------------------------------- */
  3. /*  */
  4. /*  $Id:$ */
  5. /*  */
  6. /*  Copyright (C) 1993-1996 by id Software, Inc. */
  7. /*  */
  8. /*  This source is available for distribution and/or modification */
  9. /*  only under the terms of the DOOM Source Code License as */
  10. /*  published by id Software. All rights reserved. */
  11. /*  */
  12. /*  The source is distributed in the hope that it will be useful, */
  13. /*  but WITHOUT ANY WARRANTY; without even the implied warranty of */
  14. /*  FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License */
  15. /*  for more details. */
  16. /*  */
  17. /*  DESCRIPTION: */
  18. /*     System specific interface stuff. */
  19. /*  */
  20. /* ----------------------------------------------------------------------------- */
  21.  
  22.  
  23. #ifndef __I_VIDEO__
  24. #define __I_VIDEO__
  25.  
  26.  
  27. #include "doomtype.h"
  28. #include "r_defs.h"
  29.  
  30. #ifdef __GNUG__
  31. #pragma interface
  32. #endif
  33.  
  34. /* Rendering functions, bpp dependent */
  35.  
  36. extern void    (*R_DrawColumn)();
  37. extern void    (*R_DrawColumnLow)();
  38. extern void    (*R_DrawFuzzColumn)();
  39. extern void    (*R_DrawFuzzColumnLow)();
  40. extern void    (*R_DrawTranslatedColumn)();
  41. extern void    (*R_DrawTranslatedColumnLow)();
  42. extern void    (*R_DrawSpan)();
  43. extern void    (*R_DrawSpanLow)();
  44. extern void    (*AM_DrawFline)();
  45. extern void    (*V_DrawPatch)();
  46. extern void    (*V_DrawPatchFlipped)();
  47. extern int    (*wipe_doMelt)();
  48. extern void    (*F_DrawPatchCol)();
  49.  
  50. /*  Called by D_DoomMain, */
  51. /*  determines the hardware configuration */
  52. /*  and sets up the video mode */
  53. extern void (*I_InitGraphics) (void);
  54.  
  55.  
  56. extern void (*I_ShutdownGraphics) (void);
  57.  
  58. /*  Takes full 8 bit values. */
  59. void I_SetPalette (byte* palette);
  60. extern void (*I_SetPalette256) (byte* palette);
  61.  
  62. void I_FinishUpdate (void);
  63.  
  64. /*  Wait for vertical retrace or pause a bit. */
  65. void I_WaitVBL(int count);
  66.  
  67. void I_ReadScreen (byte* scr);
  68.  
  69. extern void (*I_VidInit)(void);        /* First init to do before anything */
  70. extern void (*I_VidUpdate)(void);        /* Render the final screen */
  71. extern void (*I_SetMainScreen)(void);        /* Set final screen pointer */
  72.  
  73. extern int        fbnum;
  74. extern int        bpp;
  75. extern int        pixel_size;
  76. extern lighttable_t    truecolor_palette[256];
  77. extern    unsigned long fuzzmask;    /* for fuzz effect in 15/16 bit mode */
  78. extern boolean    pixelinv;        /* byte swapped true colour pixels ? */
  79. extern boolean    zoomscreen;        /* Zoom to fill screen */
  80. extern int        videomode;        /* Video mode selected */
  81. extern boolean dblbuffer;        /* Double buffer mode ? */
  82. extern int videowidth,videoheight;    /* Size of screen */
  83.  
  84. void I_InitGraphics_null(void);    /* null initgraphics function */
  85.  
  86. #endif
  87.