OPTIONS.H (5697B)
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 /* $Header: /CounterStrike/OPTIONS.H 1 3/03/97 10:25a Joe_bostic $ */ 17 /*********************************************************************************************** 18 *** 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 *** 19 *********************************************************************************************** 20 * * 21 * Project Name : Command & Conquer * 22 * * 23 * File Name : OPTIONS.H * 24 * * 25 * Programmer : Joe L. Bostic * 26 * * 27 * Start Date : June 8, 1994 * 28 * * 29 * Last Update : June 8, 1994 [JLB] * 30 * * 31 *---------------------------------------------------------------------------------------------* 32 * Functions: * 33 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 34 35 #ifndef OPTIONS_H 36 #define OPTIONS_H 37 38 class OptionsClass { 39 public: 40 enum { 41 MAX_SCROLL_SETTING=7, 42 MAX_SPEED_SETTING=7 43 }; 44 45 OptionsClass(void); 46 47 void One_Time(void); 48 void Process(void); 49 50 void Fixup_Palette(void) const; 51 void Set_Shuffle(int on); 52 void Set_Repeat(int on); 53 void Set_Score_Volume(fixed volume, bool feedback); 54 void Set_Sound_Volume(fixed volume, bool feedback); 55 void Set_Brightness(fixed brightness); 56 fixed Get_Brightness(void) const; 57 void Set_Saturation(fixed color); 58 fixed Get_Saturation(void) const; 59 void Set_Contrast(fixed contrast); 60 fixed Get_Contrast(void) const; 61 void Set_Tint(fixed tint); 62 fixed Get_Tint(void) const; 63 int Normalize_Delay(int delay) const; 64 int Normalize_Volume(int volume) const; 65 66 /* 67 ** File I/O routines 68 */ 69 void Load_Settings(void); 70 void Save_Settings(void); 71 72 void Set(void); 73 74 /* 75 ** This is actually the delay between game frames expressed as 1/60 of 76 ** a second. The default value is 4 (1/15 second). 77 */ 78 unsigned int GameSpeed; 79 80 int ScrollRate; // Distance to scroll. 81 fixed Volume; // Volume for sound effects. 82 fixed ScoreVolume; // Volume for scores. 83 #ifdef FIXIT_VERSION_3 84 fixed MultiScoreVolume; // Volume for scores during multiplayer games. 85 #endif 86 fixed Brightness; // Brightness. 87 fixed Tint; // Hue 88 fixed Saturation; // Saturation 89 fixed Contrast; // Value 90 unsigned AutoScroll:1; // Does map autoscroll? 91 unsigned IsScoreRepeat:1; // Score should repeat? 92 unsigned IsScoreShuffle:1; // Score list should shuffle? 93 unsigned IsPaletteScroll:1;// Allow palette scrolling? 94 95 /* 96 ** These are the hotkeys used for keyboard control. 97 */ 98 KeyNumType KeyForceMove1; 99 KeyNumType KeyForceMove2; 100 KeyNumType KeyForceAttack1; 101 KeyNumType KeyForceAttack2; 102 KeyNumType KeySelect1; 103 KeyNumType KeySelect2; 104 KeyNumType KeyScatter; 105 KeyNumType KeyStop; 106 KeyNumType KeyGuard; 107 KeyNumType KeyNext; 108 KeyNumType KeyPrevious; 109 KeyNumType KeyFormation; 110 KeyNumType KeyHome1; 111 KeyNumType KeyHome2; 112 KeyNumType KeyBase; 113 KeyNumType KeyResign; 114 KeyNumType KeyAlliance; 115 KeyNumType KeyBookmark1; 116 KeyNumType KeyBookmark2; 117 KeyNumType KeyBookmark3; 118 KeyNumType KeyBookmark4; 119 KeyNumType KeySelectView; 120 KeyNumType KeyRepair; 121 KeyNumType KeyRepairOn; 122 KeyNumType KeyRepairOff; 123 KeyNumType KeySell; 124 KeyNumType KeySellOn; 125 KeyNumType KeySellOff; 126 KeyNumType KeyMap; 127 KeyNumType KeySidebarUp; 128 KeyNumType KeySidebarDown; 129 KeyNumType KeyOption1; 130 KeyNumType KeyOption2; 131 KeyNumType KeyScrollLeft; 132 KeyNumType KeyScrollRight; 133 KeyNumType KeyScrollUp; 134 KeyNumType KeyScrollDown; 135 KeyNumType KeyQueueMove1; 136 KeyNumType KeyQueueMove2; 137 KeyNumType KeyTeam1; 138 KeyNumType KeyTeam2; 139 KeyNumType KeyTeam3; 140 KeyNumType KeyTeam4; 141 KeyNumType KeyTeam5; 142 KeyNumType KeyTeam6; 143 KeyNumType KeyTeam7; 144 KeyNumType KeyTeam8; 145 KeyNumType KeyTeam9; 146 KeyNumType KeyTeam10; 147 148 void Adjust_Palette(PaletteClass const & oldpal, PaletteClass & newpal, fixed brightness, fixed color, fixed tint, fixed contrast) const; 149 protected: 150 151 private: 152 153 static char const * const HotkeyName; 154 }; 155 156 157 #endif