void ivanconfig::ContrastChanger(numberoption* O, long What) { if(What < 0) What = 0; if(What > 200) What = 200; O->Value = What; CalculateContrastLuminance(); }
void ivanconfig::Initialize(const festring& UserName) { configsystem::AddOption(&DefaultPetName); configsystem::AddOption(&WarnAboutDanger); configsystem::AddOption(&AutoDropLeftOvers); configsystem::AddOption(&UseAlternativeKeys); configsystem::SetConfigFileName(CONST_S(LOCAL_STATE_DIR "/config/") + UserName + ".ivanrc"); configsystem::Load(); CalculateContrastLuminance(); }
void ivanconfig::Initialize() { configsystem::AddOption(&DefaultName); configsystem::AddOption(&DefaultPetName); configsystem::AddOption(&AutoSaveInterval); configsystem::AddOption(&Contrast); configsystem::AddOption(&WarnAboutDanger); configsystem::AddOption(&AutoDropLeftOvers); configsystem::AddOption(&LookZoom); configsystem::AddOption(&UseAlternativeKeys); #ifndef __DJGPP__ configsystem::AddOption(&FullScreenMode); #endif #if defined(WIN32) || defined(__DJGPP__) configsystem::SetConfigFileName("ivan.cfg"); #else configsystem::SetConfigFileName(festring(getenv("HOME")) + "/.ivan.conf"); #endif configsystem::Load(); CalculateContrastLuminance(); }
void ivanconfig::Initialize() { configsystem::AddOption(&DefaultName); configsystem::AddOption(&DefaultPetName); configsystem::AddOption(&AutoSaveInterval); configsystem::AddOption(&Contrast); configsystem::AddOption(&WarnAboutDanger); configsystem::AddOption(&AutoDropLeftOvers); configsystem::AddOption(&LookZoom); configsystem::AddOption(&DirectionKeyMap); configsystem::AddOption(&BeNice); #ifndef __DJGPP__ configsystem::AddOption(&FullScreenMode); #endif #if defined(WIN32) || defined(__DJGPP__) configsystem::SetConfigFileName(game::GetHomeDir() + "ivan.cfg"); #else configsystem::SetConfigFileName(game::GetHomeDir() + "ivan.conf"); #endif configsystem::Load(); CalculateContrastLuminance(); }
void ivanconfig::Initialize() { festring fsCategory; fsCategory="General Setup"; configsystem::AddOption(fsCategory,&DefaultName); configsystem::AddOption(fsCategory,&FantasyNamePattern); configsystem::AddOption(fsCategory,&DefaultPetName); configsystem::AddOption(fsCategory,&AutoSaveInterval); configsystem::AddOption(fsCategory,&AltAdentureInfo); fsCategory="Gameplay Options"; configsystem::AddOption(fsCategory,&BeNice); configsystem::AddOption(fsCategory,&HoldPosMaxDist); configsystem::AddOption(fsCategory,&MemorizeEquipmentMode); configsystem::AddOption(fsCategory,&WarnAboutDanger); configsystem::AddOption(fsCategory,&AutoDropLeftOvers); configsystem::AddOption(fsCategory,&SmartOpenCloseApply); configsystem::AddOption(fsCategory,&CenterOnPlayerAfterLook); configsystem::AddOption(fsCategory,&ShowGodInfo); //gameplay change in a sense that, to remember what each god is about may be a challenge on itself :) configsystem::AddOption(fsCategory,&ShowMapAtDetectMaterial); configsystem::AddOption(fsCategory,&GoOnStopMode); configsystem::AddOption(fsCategory,&WaitNeutralsMoveAway); configsystem::AddOption(fsCategory,&AllWeightIsRelevant); configsystem::AddOption(fsCategory,&ShowVolume); configsystem::AddOption(fsCategory,&EnhancedLights); configsystem::AddOption(fsCategory,&DistLimitMagicMushrooms); configsystem::AddOption(fsCategory,&AutoPickupThrownItems); fsCategory="Game Window"; configsystem::AddOption(fsCategory,&Contrast); configsystem::AddOption(fsCategory,&WindowWidth); configsystem::AddOption(fsCategory,&WindowHeight); #ifndef __DJGPP__ configsystem::AddOption(fsCategory,&GraphicsScale); configsystem::AddOption(fsCategory,&FullScreenMode); #endif fsCategory="Graphics"; #ifndef __DJGPP__ configsystem::AddOption(fsCategory,&ScalingQuality); #endif configsystem::AddOption(fsCategory,&LookZoom); configsystem::AddOption(fsCategory,&XBRZScale); configsystem::AddOption(fsCategory,&XBRZSquaresAroundPlayer); configsystem::AddOption(fsCategory,&SilhouetteScale); configsystem::AddOption(fsCategory,&AltSilhouette); configsystem::AddOption(fsCategory,&AltSilhouettePreventColorGlitch); configsystem::AddOption(fsCategory,&AltListItemPos); configsystem::AddOption(fsCategory,&AltListItemWidth); configsystem::AddOption(fsCategory,&StackListPageLength); configsystem::AddOption(fsCategory,&DungeonGfxScale); configsystem::AddOption(fsCategory,&FontGfx); configsystem::AddOption(fsCategory,&OutlinedGfx); configsystem::AddOption(fsCategory,&FrameSkip); configsystem::AddOption(fsCategory,&ShowItemsAtPlayerSquare); configsystem::AddOption(fsCategory,&RotateTimesPerSquare); configsystem::AddOption(fsCategory,&HitIndicator); configsystem::AddOption(fsCategory,&ShowMap); configsystem::AddOption(fsCategory,&TransparentMapLM); fsCategory="Sounds"; configsystem::AddOption(fsCategory,&PlaySounds); configsystem::AddOption(fsCategory,&Volume); std::vector<std::string> DeviceNames; int NumDevices = audio::GetMIDIOutputDevices(DeviceNames); MIDIOutputDevice.Value = 0; if( NumDevices ) { MIDIOutputDevice.Value = 1; } MIDIOutputDevice.CycleCount = NumDevices+1; configsystem::AddOption(fsCategory,&MIDIOutputDevice); fsCategory="Input and Interface"; configsystem::AddOption(fsCategory,&DirectionKeyMap); configsystem::AddOption(fsCategory,&SaveGameSortMode); configsystem::AddOption(fsCategory,&ShowTurn); configsystem::AddOption(fsCategory,&ShowFullDungeonName); configsystem::AddOption(fsCategory,&SelectedBkgColor); configsystem::AddOption(fsCategory,&AllowMouseOnFelist); fsCategory="Advanced Options"; configsystem::AddOption(fsCategory,&AllowImportOldSavegame); configsystem::AddOption(fsCategory,&HideWeirdHitAnimationsThatLookLikeMiss); /******************************** * LOAD AND APPLY some SETTINGS * ********************************/ #if defined(WIN32) || defined(__DJGPP__) configsystem::SetConfigFileName(game::GetUserDataDir() + "ivan.cfg"); #else configsystem::SetConfigFileName(game::GetUserDataDir() + "ivan.conf"); #endif configsystem::Load(); iStartingWindowWidth = WindowWidth.Value; iStartingWindowHeight = WindowHeight.Value; iStartingDungeonGfxScale = DungeonGfxScale.Value; iStartingFontGfx = FontGfx.Value; bStartingOutlinedGfx = OutlinedGfx.Value; CalculateContrastLuminance(); audio::ChangeMIDIOutputDevice(MIDIOutputDevice.Value); audio::SetVolumeLevel(Volume.Value); //TODO re-use changer methods for above configs too to avoid duplicating the algo? FrameSkipChanger(NULL,FrameSkip.Value); StackListPageLengthChanger(NULL, StackListPageLength.Value); SaveGameSortModeChanger(NULL, SaveGameSortMode.Value); SelectedBkgColorChanger(NULL, SelectedBkgColor.Value); AllowMouseOnFelistChanger(NULL, AllowMouseOnFelist.Value); }