CnC_Remastered_Collection

Command and Conquer: Red Alert
Log | Files | Refs | README | LICENSE

BUFFGLBL.CPP (4737B)


      1 //
      2 // Copyright 2020 Electronic Arts Inc.
      3 //
      4 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free 
      5 // software: you can redistribute it and/or modify it under the terms of 
      6 // the GNU General Public License as published by the Free Software Foundation, 
      7 // either version 3 of the License, or (at your option) any later version.
      8 
      9 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 
     10 // in the hope that it will be useful, but with permitted additional restrictions 
     11 // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 
     12 // distributed with this program. You should have received a copy of the 
     13 // GNU General Public License along with permitted additional restrictions 
     14 // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
     15 
     16 /***************************************************************************
     17  **      C O N F I D E N T I A L --- W E S T W O O D   S T U D I O S      **
     18  ***************************************************************************
     19  *                                                                         *
     20  *                 Project Name : Westwood 32 bit Library                  *
     21  *                                                                         *
     22  *                    File Name : BUFFGLBL.CPP                             *
     23  *                                                                         *
     24  *                   Programmer : Phil W. Gorrow                           *
     25  *                                                                         *
     26  *                   Start Date : January 10, 1995                         *
     27  *                                                                         *
     28  *                  Last Update : January 10, 1995   [PWG]                 *
     29  *                                                                         *
     30  * This module holds the global fixup tables for the MCGA buffer class.    *
     31  *-------------------------------------------------------------------------*
     32  * Functions:                                                              *
     33  * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
     34 #include "gbuffer.h"
     35 
     36 /*=========================================================================*/
     37 /* The following PRIVATE functions are in this file:                       */
     38 /*=========================================================================*/
     39 
     40 
     41 /*= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =*/
     42 
     43 /*=========================================================================*/
     44 /* Globals required by GraphicBufferClass for function pointers.  These		*/
     45 /*   pointers will be set to the proper function when set mode is called.	*/
     46 /*=========================================================================*/
     47 BOOL (*GVPC_Blit_to_VVPC_Func)(void *, void *, int, int, int, int, int, int, BOOL);
     48 BOOL (*GVPC_Scale_To_VVPC)(	void *, void *, int, int, int, int, int, int, int, int, BOOL, char *);
     49 
     50 #ifdef not_any_more_it_doesnt
     51 /*=========================================================================*/
     52 /* Globals required by VideoBufferClass for function pointers.  These		*/
     53 /*   pointers will be set to the proper function when set mode is called.	*/
     54 /*=========================================================================*/
     55 void (*VVPC_Clear_Func)(void *, unsigned char);
     56 long (*VVPC_To_Buffer_Func)(void *,int x, int y, int w, int h, void *buff, long size);
     57 void (*VVPC_Put_Pixel_Func)(void *,int x, int y, unsigned char color);
     58 int  (*VVPC_Get_Pixel_Func)(void *, int x, int y);
     59 long (*VVPC_Buffer_To_Page)(int x, int y, int w, int h, void *Buffer, void *view);
     60 BOOL (*VVPC_Blit_to_GVPC_Func)(void *, void *, int, int, int, int, int, int, BOOL);
     61 BOOL (*VVPC_Blit_to_VVPC_Func)(void *, void *, int, int, int, int, int, int, BOOL);
     62 BOOL (*VVPC_Scale_To_GVPC)(	void *, void *, int, int, int, int, int, int, int, int, BOOL, char *);
     63 BOOL (*VVPC_Scale_To_VVPC)(	void *, void *, int, int, int, int, int, int, int, int, BOOL, char *);
     64 LONG (*VVPC_Print_Func)(		void *, const char *, int, int, int, int);
     65 void (*VVPC_Draw_Stamp)(void *, void *, int, int, int, void *);
     66 long (*VVPC_Size_Of_Region)(void *, int, int);
     67 
     68 #endif	//not_any_more_it_doesnt
     69 
     70 /*=========================================================================*/
     71 /* We need to keep a pointer to the logic page hanging around somewhere		*/
     72 /*=========================================================================*/
     73 GraphicViewPortClass	*LogicPage;
     74 
     75 BOOL IconCacheAllowed = TRUE;
     76 
     77 /*
     78 ** Pointer to a function we will call if we detect loss of focus
     79 */
     80 void (*Gbuffer_Focus_Loss_Function)(void) = NULL;