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 ****************************/