/* ** Command & Conquer Red Alert(tm) ** Copyright 2025 Electronic Arts Inc. ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . */ /*************************************************************************** ;** 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 ** ;*************************************************************************** ;* * ;* Project Name : Palette 32bit Library. * ;* * ;* File Name : PALETTE.H * ;* * ;* Programmer : Scott K. Bowen * ;* * ;* Start Date : April 25, 1994 * ;* * ;* Last Update : April 27, 1994 [BRR] * ;* * ;* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ #ifndef PALETTE_H #define PALETTE_H /* ********************************* Constants ********************************* */ #define RGB_BYTES 3 #define PALETTE_SIZE 256 #define PALETTE_BYTES 768 /* ******************************** Prototypes ********************************* */ /* -------------------------------- Palette.cpp -------------------------------- */ VOID cdecl Set_Palette(VOID *palette); VOID cdecl Set_Palette_Color(VOID *palette, WORD color, VOID *data); VOID Fade_Palette_To(VOID *palette1, UWORD delay, VOID (*callback)() ); /* -------------------------------- loadpal.cpp -------------------------------- */ VOID cdecl Load_Palette(BYTE *palette_file_name, VOID *palette_pointer); /* ------------------------------- morphpal.cpp -------------------------------- */ VOID cdecl Morph_Palette (VOID *src_palette, VOID *dst_palette, UWORD delay, VOID *callback); /* ---------------------------------- pal.asm ---------------------------------- */ #ifdef __cplusplus extern "C" { #endif extern VOID Set_Palette_Range(VOID *palette); extern BOOL Bump_Color(VOID *palette, WORD changable, WORD target); #ifdef __cplusplus } #endif extern "C" extern UBYTE CurrentPalette[]; /* in pal.asm */ #endif // PALETTE_H /***************************** End of palette.h ****************************/