#ifndef OPENMW_COMPONENTS_SETTINGS_CATEGORIES_GAME_H #define OPENMW_COMPONENTS_SETTINGS_CATEGORIES_GAME_H #include "components/settings/sanitizerimpl.hpp" #include "components/settings/settingvalue.hpp" #include #include #include #include #include #include namespace Settings { struct GameCategory : WithIndex { using WithIndex::WithIndex; SettingValue mShowOwned{ mIndex, "Game", "show owned", makeEnumSanitizerInt({ 0, 1, 2, 3 }) }; SettingValue mShowProjectileDamage{ mIndex, "Game", "show projectile damage" }; SettingValue mShowMeleeInfo{ mIndex, "Game", "show melee info" }; SettingValue mShowEnchantChance{ mIndex, "Game", "show enchant chance" }; SettingValue mBestAttack{ mIndex, "Game", "best attack" }; SettingValue mDifficulty{ mIndex, "Game", "difficulty", makeClampSanitizerInt(-500, 500) }; SettingValue mActorsProcessingRange{ mIndex, "Game", "actors processing range", makeClampSanitizerInt(3584, 7168) }; SettingValue mClassicReflectedAbsorbSpellsBehavior{ mIndex, "Game", "classic reflected absorb spells behavior" }; SettingValue mClassicCalmSpellsBehavior{ mIndex, "Game", "classic calm spells behavior" }; SettingValue mShowEffectDuration{ mIndex, "Game", "show effect duration" }; SettingValue mPreventMerchantEquipping{ mIndex, "Game", "prevent merchant equipping" }; SettingValue mEnchantedWeaponsAreMagical{ mIndex, "Game", "enchanted weapons are magical" }; SettingValue mFollowersAttackOnSight{ mIndex, "Game", "followers attack on sight" }; SettingValue mCanLootDuringDeathAnimation{ mIndex, "Game", "can loot during death animation" }; SettingValue mRebalanceSoulGemValues{ mIndex, "Game", "rebalance soul gem values" }; SettingValue mUseAdditionalAnimSources{ mIndex, "Game", "use additional anim sources" }; SettingValue mBarterDispositionChangeIsPermanent{ mIndex, "Game", "barter disposition change is permanent" }; SettingValue mStrengthInfluencesHandToHand{ mIndex, "Game", "strength influences hand to hand", makeEnumSanitizerInt({ 0, 1, 2 }) }; SettingValue mWeaponSheathing{ mIndex, "Game", "weapon sheathing" }; SettingValue mShieldSheathing{ mIndex, "Game", "shield sheathing" }; SettingValue mOnlyAppropriateAmmunitionBypassesResistance{ mIndex, "Game", "only appropriate ammunition bypasses resistance" }; SettingValue mUseMagicItemAnimations{ mIndex, "Game", "use magic item animations" }; SettingValue mNormaliseRaceSpeed{ mIndex, "Game", "normalise race speed" }; SettingValue mProjectilesEnchantMultiplier{ mIndex, "Game", "projectiles enchant multiplier", makeClampSanitizerFloat(0, 1) }; SettingValue mUncappedDamageFatigue{ mIndex, "Game", "uncapped damage fatigue" }; SettingValue mTurnToMovementDirection{ mIndex, "Game", "turn to movement direction" }; SettingValue mSmoothMovement{ mIndex, "Game", "smooth movement" }; SettingValue mSmoothMovementPlayerTurningDelay{ mIndex, "Game", "smooth movement player turning delay", makeMaxSanitizerFloat(0.01f) }; SettingValue mNPCsAvoidCollisions{ mIndex, "Game", "NPCs avoid collisions" }; SettingValue mNPCsGiveWay{ mIndex, "Game", "NPCs give way" }; SettingValue mSwimUpwardCorrection{ mIndex, "Game", "swim upward correction" }; SettingValue mSwimUpwardCoef{ mIndex, "Game", "swim upward coef", makeClampSanitizerFloat(-1, 1) }; SettingValue mTrainersTrainingSkillsBasedOnBaseSkill{ mIndex, "Game", "trainers training skills based on base skill" }; SettingValue mAlwaysAllowStealingFromKnockedOutActors{ mIndex, "Game", "always allow stealing from knocked out actors" }; SettingValue mGraphicHerbalism{ mIndex, "Game", "graphic herbalism" }; SettingValue mAllowActorsToFollowOverWaterSurface{ mIndex, "Game", "allow actors to follow over water surface" }; SettingValue mDefaultActorPathfindHalfExtents{ mIndex, "Game", "default actor pathfind half extents", makeMaxStrictSanitizerVec3f(osg::Vec3f(0, 0, 0)) }; SettingValue mDayNightSwitches{ mIndex, "Game", "day night switches" }; SettingValue mUnarmedCreatureAttacksDamageArmor{ mIndex, "Game", "unarmed creature attacks damage armor" }; SettingValue mActorCollisionShapeType{ mIndex, "Game", "actor collision shape type", makeEnumSanitizerInt({ 0, 1, 2 }) }; }; } #endif