CnC_Remastered_Collection

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

PALETTE.H (3364B)


      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   A S S O C I A T E S   **
     18 ;***************************************************************************
     19 ;*                                                                         *
     20 ;*                 Project Name : Palette 32bit Library.                   *
     21 ;*                                                                         *
     22 ;*                    File Name : PALETTE.H                                *
     23 ;*                                                                         *
     24 ;*                   Programmer : Scott K. Bowen                           *
     25 ;*                                                                         *
     26 ;*                   Start Date : April 25, 1994                           *
     27 ;*                                                                         *
     28 ;*                  Last Update : April 27, 1994 [BRR]							*
     29 ;*                                                                         *
     30 ;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
     31 
     32 #ifndef PALETTE_H
     33 #define PALETTE_H
     34 
     35 #include <gbuffer.h>
     36 /*
     37 ********************************* Constants *********************************
     38 */
     39 #define RGB_BYTES			3
     40 #define PALETTE_SIZE		256
     41 #define PALETTE_BYTES	768
     42 
     43 /*
     44 ******************************** Prototypes *********************************
     45 */
     46 /*
     47 -------------------------------- Palette.cpp --------------------------------
     48 */
     49 void __cdecl Set_Palette(void *palette);
     50 void __cdecl Set_Palette_Color(void *palette, int color, void *data);
     51 void Fade_Palette_To(void *palette1, unsigned int delay, void (*callback)() );
     52 
     53 /*
     54 -------------------------------- loadpal.cpp --------------------------------
     55 */
     56 void __cdecl Load_Palette(char *palette_file_name, void *palette_pointer);
     57 
     58 /*
     59 ------------------------------- morphpal.cpp --------------------------------
     60 */
     61 void __cdecl Morph_Palette (void *src_palette, void *dst_palette, unsigned int delay,
     62 	void *callback);
     63 
     64 /*
     65 ---------------------------------- pal.asm ----------------------------------
     66 */
     67 #ifdef __cplusplus
     68 extern "C" {
     69 #endif
     70 
     71 extern void __cdecl Set_Palette_Range(void *palette);
     72 extern BOOL __cdecl Bump_Color(void *palette, int changable, int target);
     73 
     74 #ifdef __cplusplus
     75 }
     76 #endif
     77 extern "C" extern unsigned char  CurrentPalette[];		/* in pal.asm */
     78 
     79 
     80 #endif // PALETTE_H
     81 
     82 /***************************** End of palette.h ****************************/