/* ** 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 . */ /* $Header: /CounterStrike/OPTIONS.H 1 3/03/97 10:25a Joe_bostic $ */ /*********************************************************************************************** *** 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 *** *********************************************************************************************** * * * Project Name : Command & Conquer * * * * File Name : OPTIONS.H * * * * Programmer : Joe L. Bostic * * * * Start Date : June 8, 1994 * * * * Last Update : June 8, 1994 [JLB] * * * *---------------------------------------------------------------------------------------------* * Functions: * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ #ifndef OPTIONS_H #define OPTIONS_H class OptionsClass { public: enum { MAX_SCROLL_SETTING=7, MAX_SPEED_SETTING=7 }; OptionsClass(void); void One_Time(void); void Process(void); void Fixup_Palette(void) const; void Set_Shuffle(int on); void Set_Repeat(int on); void Set_Score_Volume(fixed volume, bool feedback); void Set_Sound_Volume(fixed volume, bool feedback); void Set_Brightness(fixed brightness); fixed Get_Brightness(void) const; void Set_Saturation(fixed color); fixed Get_Saturation(void) const; void Set_Contrast(fixed contrast); fixed Get_Contrast(void) const; void Set_Tint(fixed tint); fixed Get_Tint(void) const; int Normalize_Delay(int delay) const; int Normalize_Volume(int volume) const; /* ** File I/O routines */ void Load_Settings(void); void Save_Settings(void); void Set(void); /* ** This is actually the delay between game frames expressed as 1/60 of ** a second. The default value is 4 (1/15 second). */ unsigned int GameSpeed; int ScrollRate; // Distance to scroll. fixed Volume; // Volume for sound effects. fixed ScoreVolume; // Volume for scores. #ifdef FIXIT_VERSION_3 fixed MultiScoreVolume; // Volume for scores during multiplayer games. #endif fixed Brightness; // Brightness. fixed Tint; // Hue fixed Saturation; // Saturation fixed Contrast; // Value unsigned AutoScroll:1; // Does map autoscroll? unsigned IsScoreRepeat:1; // Score should repeat? unsigned IsScoreShuffle:1; // Score list should shuffle? unsigned IsPaletteScroll:1;// Allow palette scrolling? /* ** These are the hotkeys used for keyboard control. */ KeyNumType KeyForceMove1; KeyNumType KeyForceMove2; KeyNumType KeyForceAttack1; KeyNumType KeyForceAttack2; KeyNumType KeySelect1; KeyNumType KeySelect2; KeyNumType KeyScatter; KeyNumType KeyStop; KeyNumType KeyGuard; KeyNumType KeyNext; KeyNumType KeyPrevious; KeyNumType KeyFormation; KeyNumType KeyHome1; KeyNumType KeyHome2; KeyNumType KeyBase; KeyNumType KeyResign; KeyNumType KeyAlliance; KeyNumType KeyBookmark1; KeyNumType KeyBookmark2; KeyNumType KeyBookmark3; KeyNumType KeyBookmark4; KeyNumType KeySelectView; KeyNumType KeyRepair; KeyNumType KeyRepairOn; KeyNumType KeyRepairOff; KeyNumType KeySell; KeyNumType KeySellOn; KeyNumType KeySellOff; KeyNumType KeyMap; KeyNumType KeySidebarUp; KeyNumType KeySidebarDown; KeyNumType KeyOption1; KeyNumType KeyOption2; KeyNumType KeyScrollLeft; KeyNumType KeyScrollRight; KeyNumType KeyScrollUp; KeyNumType KeyScrollDown; KeyNumType KeyQueueMove1; KeyNumType KeyQueueMove2; KeyNumType KeyTeam1; KeyNumType KeyTeam2; KeyNumType KeyTeam3; KeyNumType KeyTeam4; KeyNumType KeyTeam5; KeyNumType KeyTeam6; KeyNumType KeyTeam7; KeyNumType KeyTeam8; KeyNumType KeyTeam9; KeyNumType KeyTeam10; void Adjust_Palette(PaletteClass const & oldpal, PaletteClass & newpal, fixed brightness, fixed color, fixed tint, fixed contrast) const; protected: private: static char const * const HotkeyName; }; #endif