Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  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 __R_DRAW__
  24. #define __R_DRAW__
  25.  
  26.  
  27. #ifdef __GNUG__
  28. #pragma interface
  29. #endif
  30.  
  31.  
  32. extern lighttable_t*    dc_colormap;
  33. extern int              dc_x;
  34. extern int              dc_yl;
  35. extern int              dc_yh;
  36. extern fixed_t          dc_iscale;
  37. extern fixed_t          dc_texturemid;
  38.  
  39. // first pixel in a column
  40. extern byte*            dc_source;             
  41.  
  42.  
  43. // The span blitting interface.
  44. // Hook in assembler or system specific BLT
  45. //  here.
  46. void    R_DrawColumn (void);
  47. void    R_DrawColumnLow (void);
  48.  
  49. // The Spectre/Invisibility effect.
  50. void    R_DrawFuzzColumn (void);
  51. void    R_DrawFuzzColumnLow (void);
  52.  
  53. // Draw with color translation tables,
  54. //  for player sprite rendering,
  55. //  Green/Red/Blue/Indigo shirts.
  56. void    R_DrawTranslatedColumn (void);
  57. void    R_DrawTranslatedColumnLow (void);
  58.  
  59. void
  60. R_VideoErase
  61. ( unsigned      ofs,
  62.   int           count );
  63.  
  64. extern int              ds_y;
  65. extern int              ds_x1;
  66. extern int              ds_x2;
  67.  
  68. extern lighttable_t*    ds_colormap;
  69.  
  70. extern fixed_t          ds_xfrac;
  71. extern fixed_t          ds_yfrac;
  72. extern fixed_t          ds_xstep;
  73. extern fixed_t          ds_ystep;
  74.  
  75. // start of a 64*64 tile image
  76. extern byte*            ds_source;             
  77.  
  78. extern byte*            translationtables;
  79. extern byte*            dc_translation;
  80.  
  81.  
  82. // Span blitting for rows, floor/ceiling.
  83. // No Sepctre effect needed.
  84. void    R_DrawSpan (void);
  85.  
  86. // Low resolution mode, 160x200?
  87. void    R_DrawSpanLow (void);
  88.  
  89.  
  90. void
  91. R_InitBuffer
  92. ( int           width,
  93.   int           height );
  94.  
  95.  
  96. // Initialize color translation tables,
  97. //  for player rendering etc.
  98. void    R_InitTranslationTables (void);
  99.  
  100.  
  101.  
  102. // Rendering function.
  103. void R_FillBackScreen (void);
  104.  
  105. // If the view size is not full screen, draws a border around it.
  106. void R_DrawViewBorder (void);
  107.  
  108.  
  109.  
  110. #endif
  111. //-----------------------------------------------------------------------------
  112. //
  113. // $Log:$
  114. //
  115. //-----------------------------------------------------------------------------
  116.