home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -screenplay- / otherstuff / adoomppc_src / v_video.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  2KB  |  134 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. //    Gamma correction LUT.
  19. //    Functions to draw patches (by post) directly to screen.
  20. //    Functions to blit a block to the screen.
  21. //
  22. //-----------------------------------------------------------------------------
  23.  
  24.  
  25. #ifndef __V_VIDEO__
  26. #define __V_VIDEO__
  27.  
  28. #include "doomtype.h"
  29.  
  30. #include "doomdef.h"
  31.  
  32. // Needed because we are refering to patches.
  33. #include "r_data.h"
  34.  
  35. //
  36. // VIDEO
  37. //
  38.  
  39. #define CENTERY            (SCREENHEIGHT/2)
  40.  
  41.  
  42. // Screen 0 is the screen updated by I_Update screen.
  43. // Screen 1 is an extra buffer.
  44.  
  45.  
  46.  
  47. extern    byte*        screens[5];
  48.  
  49. extern  int    dirtybox[4];
  50.  
  51. extern    byte    gammatable[5][256];
  52. extern    int    usegamma;
  53.  
  54.  
  55.  
  56. // Allocates buffer screens, call before R_Init.
  57. void V_Init (void);
  58.  
  59.  
  60. void
  61. V_CopyRect
  62. ( int        srcx,
  63.   int        srcy,
  64.   int        srcscrn,
  65.   int        width,
  66.   int        height,
  67.   int        destx,
  68.   int        desty,
  69.   int        destscrn );
  70.  
  71. void
  72. V_DrawPatch
  73. ( int        x,
  74.   int        y,
  75.   int        scrn,
  76.   patch_t*    patch);
  77.  
  78. void
  79. V_DrawPatchDirect
  80. ( int        x,
  81.   int        y,
  82.   int        scrn,
  83.   patch_t*    patch );
  84.  
  85.  
  86. void    //stretches bitmap to fill screen
  87. V_DrawPatchInDirect
  88. ( int        x,
  89.   int        y,
  90.   int        scrn,
  91.   patch_t*    patch    );
  92.  
  93. void    //stretches bitmap to fill screen
  94. V_DrawPatchInDirectFlipped
  95. ( int        x,
  96.   int        y,
  97.   int        scrn,
  98.   patch_t*    patch    );
  99.  
  100. // Draw a linear block of pixels into the view buffer.
  101. void
  102. V_DrawBlock
  103. ( int        x,
  104.   int        y,
  105.   int        scrn,
  106.   int        width,
  107.   int        height,
  108.   byte*        src );
  109.  
  110. // Reads a linear block of pixels into the view buffer.
  111. void
  112. V_GetBlock
  113. ( int        x,
  114.   int        y,
  115.   int        scrn,
  116.   int        width,
  117.   int        height,
  118.   byte*        dest );
  119.  
  120.  
  121. //void
  122. //V_MarkRect
  123. //( int        x,
  124. //  int        y,
  125. //  int        width,
  126. //  int        height );
  127.  
  128. #endif
  129. //-----------------------------------------------------------------------------
  130. //
  131. // $Log:$
  132. //
  133. //-----------------------------------------------------------------------------
  134.