OPTIONS.H (4323B)
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: F:\projects\c&c\vcs\code\options.h_v 2.18 16 Oct 1995 16:46:20 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(int volume); 54 void Set_Sound_Volume(int volume, int feedback); 55 void Set_Brightness(int brightness); 56 int Get_Brightness(void) const; 57 void Set_Color(int color); 58 int Get_Color(void) const; 59 void Set_Contrast(int contrast); 60 int Get_Contrast(void) const; 61 void Set_Tint(int tint); 62 int Get_Tint(void) const; 63 int Normalize_Delay(int delay) const; 64 int Normalize_Sound(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 unsigned char Brightness; 82 unsigned char Volume; // Volume for sound effects. 83 unsigned char ScoreVolume; // Volume for scores. 84 unsigned char Contrast; // Value 85 unsigned char Color; // Saturation 86 unsigned char Tint; // Hue 87 unsigned AutoScroll:1; // Does map autoscroll? 88 unsigned IsScoreRepeat:1; // Score should repeat? 89 unsigned IsScoreShuffle:1; // Score list should shuffle? 90 unsigned IsDeathAnnounce:1;// Announce enemy deaths? 91 unsigned IsFreeScroll:1; // Allow free direction scrolling? 92 93 protected: 94 95 void Adjust_Palette(void *oldpal, void *newpal, unsigned char brightness, unsigned char color, unsigned char tint, unsigned char contrast) const; 96 97 private: 98 }; 99 100 101 #endif