OptionsCheckbox_OnClick(this)OptionsRow_Hover(this:GetParent(), 1)OptionsRow_Hover(this:GetParent(), nil)OptionsRow_Hover(this, 1)OptionsRow_Hover(this, nil)OptionsSlider_OnValueChanged(this, arg1)OptionsRow_Hover(this:GetParent():GetParent(), 1)OptionsRow_Hover(this:GetParent():GetParent(), nil)OptionsRow_Hover(this, 1)OptionsRow_Hover(this, nil)OptionsRow_Hover(this, 1)OptionsRow_Hover(this, nil)
this:SetBackdropColor(0, 0, 0, 0)
this:SetBackdropBorderColor(0.6, 0.6, 0.6)
this:SetBackdropColor(0, 0, 0, 0)
this:SetBackdropBorderColor(0.6, 0.6, 0.6)
getglobal(self:GetName() .. "Label"):SetText("Gameplay")getglobal(self:GetName() .. "Label"):SetText("System")self:SetScrollChild(BenillaOptionsFrameContainerBody)OptionsScroll_Fit()BenillaScroll_OnMouseWheel(this, arg1)BenillaScroll_SyncBar(this)BenillaScroll_SyncBar(this)
OptionsRow_OnLoad(self, "deselectOnClick", "Sticky Targeting",
"OPTION_TOOLTIP_GAMEFIELD_DESELECT")
self.invert = 1
OptionsRow_OnLoad(self, "assistAttack", "Attack on assist",
"OPTION_TOOLTIP_ASSIST_ATTACK")
OptionsRow_OnLoad(self, "autoClearAFK", "Auto Clear AFK",
"OPTION_TOOLTIP_CLEAR_AFK")
OptionsRow_OnLoad(self, "BlockTrades", "Block Trades",
"OPTION_TOOLTIP_BLOCK_TRADES")
OptionsRow_OnLoad(self, "autoSelfCast", "Auto Self Cast",
"OPTION_TOOLTIP_AUTO_SELF_CAST")
OptionsRow_OnLoad(self, "autoLootDefault", "Auto Loot")OptionsRow_OnLoad(self, "mouseInvertPitch", "Invert Mouse",
"OPTION_TOOLTIP_INVERT_MOUSE")
OptionsRow_OnLoad(self, "mousespeed", "Mouse Sensitivity",
"OPTION_TOOLTIP_MOUSE_SENSITIVITY")
OptionsSliderRow_Setup(self, 0.5, 1.5, 0.05)
OptionsRow_OnLoad(self, "cameraSmoothStyle",
"Camera Following Style", "OPTION_TOOLTIP_CAMERA1")
OptionsDropdownRow_Setup(self, {
{ text = "Smart", value = "1", tip = "OPTION_TOOLTIP_CAMERA1" },
{ text = "Always", value = "2", tip = "OPTION_TOOLTIP_CAMERA2" },
{ text = "Never", value = "0", alt = "3", tip = "OPTION_TOOLTIP_CAMERA3" },
})
OptionsRow_OnLoad(self, "cameraTerrainTilt", "Follow Terrain",
"OPTION_TOOLTIP_FOLLOW_TERRAIN")
OptionsRow_OnLoad(self, "cameraBobbing", "Head Bob",
"OPTION_TOOLTIP_HEAD_BOB")
OptionsRow_OnLoad(self, "cameraYawSmoothSpeed", "Auto-Follow Speed",
"OPTION_TOOLTIP_AUTO_FOLLOW_SPEED")
OptionsSliderRow_Setup(self, 90, 270, 10, "raw")
OptionsRow_OnLoad(self, "cameraWaterCollision", "Water Collision",
"OPTION_TOOLTIP_WATER_COLLISION")
OptionsRow_OnLoad(self, "cameraPivot", "Smart Pivot",
"OPTION_TOOLTIP_SMART_PIVOT")
OptionsRow_OnLoad(self, "cameraYawMoveSpeed", "Mouse Look Speed",
"OPTION_TOOLTIP_MOUSE_LOOK_SPEED")
OptionsSliderRow_Setup(self, 90, 270, 10, "raw")
self.partner = { cvar = "cameraPitchMoveSpeed", scale = 0.5 }
OptionsRow_OnLoad(self, "cameraDistanceMaxFactor",
"Max Camera Distance", "OPTION_TOOLTIP_MAX_FOLLOW_DIST")
OptionsSliderRow_Setup(self, 1.0, 2.0, 0.1, "yards")
OptionsRow_OnLoad(self, "MasterSoundEffects", "Enable All Sound",
"OPTION_TOOLTIP_ENABLE_ALL_SOUND")
self.soundQuirk = 1
OptionsRow_OnLoad(self, "MasterVolume", "Master Volume",
"OPTION_TOOLTIP_MASTER_VOLUME")
OptionsRow_OnLoad(self, "SoundVolume", "Sound Volume",
"OPTION_TOOLTIP_SOUND_VOLUME", 1)
self.parentRow = "RowMaster"
OptionsRow_OnLoad(self, "MusicVolume", "Music Volume",
"OPTION_TOOLTIP_MUSIC_VOLUME", 1)
self.parentRow = "RowMaster"
OptionsRow_OnLoad(self, "AmbienceVolume", "Ambience Volume",
"OPTION_TOOLTIP_AMBIENCE_VOLUME", 1)
self.parentRow = "RowMaster"
OptionsRow_OnLoad(self, "EnableMusic", "Enable Music",
"OPTION_TOOLTIP_ENABLE_MUSIC")
self.soundQuirk = 1
OptionsRow_OnLoad(self, "EnableAmbience", "Enable Ambience",
"OPTION_TOOLTIP_ENABLE_AMBIENCE")
self.soundQuirk = 1
OptionsRow_OnLoad(self, "EnableErrorSpeech", "Enable Error Speech",
"OPTION_TOOLTIP_ENABLE_ERROR_SPEECH")
self.soundQuirk = 1
OptionsRow_OnLoad(self, "Sound_EnableSoundWhenGameIsInBG",
"Enable Sound in Background",
"BENILLA_TOOLTIP_BACKGROUND_SOUND")
self.soundQuirk = 1
OptionsRow_OnLoad(self, "uiScale", "UI Scale",
"OPTION_TOOLTIP_UI_SCALE")
OptionsSliderRow_Setup(self, OptionsFrameSliders[1].minValue,
OptionsFrameSliders[1].maxValue,
OptionsFrameSliders[1].valueStep)
-- A live write would rescale the slider mid-drag.
self.deferred = 1
OptionsRow_OnLoad(self, "farclip", "Terrain Distance",
"OPTION_TOOLTIP_FARCLIP")
OptionsSliderRow_Setup(self, OptionsFrameSliders[2].minValue,
OptionsFrameSliders[2].maxValue,
OptionsFrameSliders[2].valueStep, "raw")
OptionsRow_OnLoad(self, "WorldDetail", "Environment Detail",
"OPTION_TOOLTIP_ENVIRONMENT_DETAIL")
-- Stop names from the era quality ladder.
OptionsSliderRow_Setup(self, OptionsFrameSliders[3].minValue,
OptionsFrameSliders[3].maxValue,
OptionsFrameSliders[3].valueStep, nil,
{ "Low", "Medium", "High" })
-- OptionsFrame_SetDefaults' default (l.444-445);
-- `or 1` covers a VM with no CVars.
local gd = tonumber(GetCVarDefault("gamma")) or 1
OptionsNumFuncRow_OnLoad(self, GetGamma, SetGamma,
tostring(1 - gd), "Brightness",
"BENILLA_TOOLTIP_BRIGHTNESS")
OptionsSliderRow_Setup(self, OptionsFrameSliders[6].minValue,
OptionsFrameSliders[6].maxValue,
OptionsFrameSliders[6].valueStep, "travel")
OptionsRow_OnLoad(self, "weatherDensity", "Weather Intensity",
"OPTION_TOOLTIP_WEATHER_DETAIL")
-- Our names for `0x67b870`'s spawn-rate gains
-- `{0.1, 0.33, 0.66, 1.0}` (`[0x8680ec]`).
OptionsSliderRow_Setup(self, OptionsFrameSliders[9].minValue,
OptionsFrameSliders[9].maxValue,
OptionsFrameSliders[9].valueStep, nil,
{ "Minimal", "Low", "Medium", "Full" })
-- Deviation: modern Classic's two-entry Display
-- Mode, as there is no exclusive fullscreen;
-- gxWindow "0" is the borderless window.
-- Latched, like the other two video rows.
self.deferred = 1
OptionsRow_OnLoad(self, "gxWindow", "Display Mode",
"BENILLA_TOOLTIP_DISPLAY_MODE")
OptionsDropdownRow_Setup(self, {
{ text = "Windowed (Fullscreen)", value = "0" },
{ text = "Windowed", value = "1" },
})
-- The window size. Backed by the index verbs, not
-- by `gxResolution` directly: `SetScreenResolution`
-- is 1-based into `GetScreenResolutions`, and
-- `GetCurrentResolution` reports the *live* window
-- rather than the CVar, which in borderless
-- fullscreen are not the same thing.
--
-- Built from the real list, so the entries are
-- whatever this monitor actually offers. 1.12's
-- own video panel had this row; benilla shipped
-- the display-mode and vsync rows without it, so
-- there was no way to resize from inside the game.
-- `rebuild`, not a list baked here: at OnLoad
-- the engine has pushed no modes yet, so a list
-- built now is empty for the whole session.
self.rebuild = OptionsResolutionRow_Rebuild
self.deferred = 1
OptionsNumFuncRow_OnLoad(self,
GetCurrentResolution, SetScreenResolution,
"1", "Resolution",
"BENILLA_TOOLTIP_RESOLUTION")
OptionsResolutionRow_Rebuild(self)
OptionsDropdownRow_Setup(self, self.entries)
-- Deferred: `gxVSync` is registered **latched**
-- (`cvars.rs`), so a write only stages until
-- `RestartGx`, which is what Apply calls. An
-- earlier comment here said "vsync changes live"
-- — it cannot, and that mismatch is why the
-- setting came back on after a relaunch.
self.deferred = 1
OptionsRow_OnLoad(self, "gxVSync", "Vertical Sync",
"OPTION_TOOLTIP_VERTICAL_SYNC")
-- Deviation: our own row (the reference draws to
-- the backbuffer), and no Multisampling, which
-- misses alpha-tested cutouts. Deferred: a write
-- rebuilds the render target.
OptionsRow_OnLoad(self, "renderScale", "Render Scale",
"BENILLA_TOOLTIP_RENDER_SCALE")
OptionsSliderRow_Setup(self, 0.5, 2.0, 0.05)
self.deferred = 1
for i, name in BENILLA_GRAPHICS_SLIDER_ROWS do
local info = OptionsFrameSliders[i]
local row = getglobal(this:GetName() .. name)
if ( info and row ) then
OptionsSliderRow_Setup(row, info.minValue, info.maxValue,
info.valueStep, row.fmt, row.stops)
end
end
OptionsRow_OnLoad(self, "graphicsQuality",
BENILLA_ADVGFX.graphicsQuality,
"BENILLA_TOOLTIP_GRAPHICS_QUALITY")
self.preset = 1
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.pClassic, value = "Classic" },
{ text = BENILLA_ADVGFX.qLow, value = "Low" },
{ text = BENILLA_ADVGFX.qMedium, value = "Medium" },
{ text = BENILLA_ADVGFX.qHigh, value = "High" },
{ text = BENILLA_ADVGFX.qUltra, value = "Ultra" },
{ text = BENILLA_ADVGFX.qCustom, value = "Custom" },
})
OptionsRow_OnLoad(self, "farclip",
BENILLA_ADVGFX.renderDistance,
"BENILLA_TOOLTIP_RENDER_DISTANCE")
OptionsSliderRow_Setup(self, 177, 1497, 60, "yd")
-- The preset ladder. This row writes ONE CVar and
-- nothing else: the host's own table
-- (`cvars::LIGHTING_PRESETS`) answers the write by
-- setting the member rows, and re-derives this
-- row's value from them every frame — which is why
-- Custom is an entry the capsule can SHOW but
-- picking it writes nothing anyone keeps.
--
-- The table is deliberately NOT here. Three other
-- ways reach the same ladder (the console, the
-- native lighting panel, a hand-edited
-- config.toml), and a copy carried by this window
-- would be a copy the other three cannot see.
-- The page's OnUpdate poll is what brings the
-- member rows' new values back onto the screen.
OptionsRow_OnLoad(self, "lightingQuality",
BENILLA_ADVGFX.lightingQuality,
"BENILLA_TOOLTIP_LIGHTING_QUALITY")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.qOff, value = "Off" },
{ text = BENILLA_ADVGFX.qLow, value = "Low" },
{ text = BENILLA_ADVGFX.qMedium, value = "Medium" },
{ text = BENILLA_ADVGFX.qHigh, value = "High" },
{ text = BENILLA_ADVGFX.qUltra, value = "Ultra" },
{ text = BENILLA_ADVGFX.qCustom, value = "Custom" },
})
OptionsRow_OnLoad(self, "waterQuality",
BENILLA_ADVGFX.waterQuality,
"BENILLA_TOOLTIP_WATER_QUALITY")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.waterClassic, value = "0" },
{ text = BENILLA_ADVGFX.waterEnhanced, value = "1" },
{ text = BENILLA_ADVGFX.waterHigh, value = "2" },
})
OptionsRow_OnLoad(self, "volumetricFog", BENILLA_ADVGFX.volumetricFog,
"BENILLA_TOOLTIP_VOLUMETRIC_FOG")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.fogOff, value = "0" },
{ text = BENILLA_ADVGFX.qLow, value = "1" },
{ text = BENILLA_ADVGFX.qHigh, value = "2" },
})
OptionsRow_OnLoad(self, "skyQuality", BENILLA_ADVGFX.skyQuality,
"BENILLA_TOOLTIP_SKY_QUALITY")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.waterClassic, value = "0" },
{ text = BENILLA_ADVGFX.waterEnhanced, value = "1" },
{ text = BENILLA_ADVGFX.waterHigh, value = "2" },
})
OptionsRow_OnLoad(self, "bloom", BENILLA_ADVGFX.bloom,
"BENILLA_TOOLTIP_BLOOM")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.fogOff, value = "0" },
{ text = BENILLA_ADVGFX.qLow, value = "1" },
{ text = BENILLA_ADVGFX.qHigh, value = "2" },
})
OptionsRow_OnLoad(self, "sunShafts", BENILLA_ADVGFX.sunShafts,
"BENILLA_TOOLTIP_SUN_SHAFTS")
OptionsRow_OnLoad(self, "colorGrading", BENILLA_ADVGFX.colorGrading,
"BENILLA_TOOLTIP_COLOR_GRADING")
OptionsRow_OnLoad(self, "characterShadows",
BENILLA_ADVGFX.characterShadows,
"BENILLA_TOOLTIP_CHARACTER_SHADOWS")
OptionsRow_OnLoad(self, "worldShadows",
BENILLA_ADVGFX.worldShadows,
"BENILLA_TOOLTIP_WORLD_SHADOWS")
-- Realtime-shadow render distance (yd): the cascade
-- range + caster reach. 40-200, matching the CVar's
-- own clamp (SHADOW_DISTANCE_RANGE). DEFERRED to
-- Apply so a drag doesn't re-fit the cascade + recollect
-- casters on every tick (one rebuild on commit instead).
OptionsRow_OnLoad(self, "shadowDistance",
BENILLA_ADVGFX.shadowDistance,
"BENILLA_TOOLTIP_SHADOW_DISTANCE")
-- `"yd"`, not `"yards"`: the value is already a
-- distance in yards, where the format beside it
-- multiplies a FACTOR by the 15 yd camera base.
-- This row rode the wrong one from the day it was
-- seated and printed "1200 yd" for an 80 yd
-- cascade.
OptionsSliderRow_Setup(self, 40, 200, 10, "yd")
self.deferred = 1
-- The three stops the CVar's own snap accepts
-- (`shadow_core::SHADOW_MAP_SIZES`): a dropdown
-- rather than a slider because an off-ladder value
-- is not a weaker setting, it is one the renderer
-- rounds UP into a bigger and slower map than the
-- one that was asked for. The entry texts are the
-- numbers themselves — nothing to translate.
OptionsRow_OnLoad(self, "shadowMapSize",
BENILLA_ADVGFX.shadowResolution,
"BENILLA_TOOLTIP_SHADOW_RESOLUTION")
OptionsDropdownRow_Setup(self, {
{ text = "1024", value = "1024" },
{ text = "2048", value = "2048" },
{ text = "4096", value = "4096" },
})
-- 0..1, the CVar's own clamp, and 0 is the FAITHFUL
-- null rather than a floor: every consumer guards
-- on it, so the left end of this groove is the
-- night the client rendered before the moon lane
-- existed.
OptionsRow_OnLoad(self, "moonShadowStrength",
BENILLA_ADVGFX.moonShadows,
"BENILLA_TOOLTIP_MOON_SHADOWS")
OptionsSliderRow_Setup(self, 0, 1, 0.05)
OptionsRow_OnLoad(self, "interiorLight",
BENILLA_ADVGFX.interiorLight,
"BENILLA_TOOLTIP_INTERIOR_LIGHT")
OptionsRow_OnLoad(self, "interiorShadows",
BENILLA_ADVGFX.interiorShadows,
"BENILLA_TOOLTIP_INTERIOR_SHADOWS")
OptionsRow_OnLoad(self, "exteriorShadows",
BENILLA_ADVGFX.exteriorShadows,
"BENILLA_TOOLTIP_EXTERIOR_SHADOWS")
OptionsRow_OnLoad(self, "torchTerrainShadows",
BENILLA_ADVGFX.torchTerrainShadows,
"BENILLA_TOOLTIP_TORCH_TERRAIN_SHADOWS")
-- 0.5..3, the CVar's own clamp verbatim: it is a
-- SCALE on the PCF tap radius at a contact, so the
-- readout is a percentage of the shipped radius
-- and 100% is what the lane was tuned at.
OptionsRow_OnLoad(self, "interiorShadowSoft",
BENILLA_ADVGFX.torchSoft,
"BENILLA_TOOLTIP_TORCH_SOFT")
OptionsSliderRow_Setup(self, 0.5, 3, 0.1)
-- Full 0..4 registry range, in five-percent steps.
OptionsRow_OnLoad(self, "fireLightGain",
BENILLA_ADVGFX.fireLight,
"BENILLA_TOOLTIP_FIRE_LIGHT")
OptionsSliderRow_Setup(self, 0, 4, 0.05)
-- 0..2, the CVar's own clamp verbatim: the
-- amplitudes are authored at 100%, and 200% is the
-- deliberate over-drive for judging the shape.
OptionsRow_OnLoad(self, "fireFlicker",
BENILLA_ADVGFX.fireFlicker,
"BENILLA_TOOLTIP_FIRE_FLICKER")
OptionsSliderRow_Setup(self, 0, 2, 0.05)
-- Full 0..4 registry range, in five-percent steps.
OptionsRow_OnLoad(self, "spellLightGain",
BENILLA_ADVGFX.spellLights,
"BENILLA_TOOLTIP_SPELL_LIGHTS")
OptionsSliderRow_Setup(self, 0, 4, 0.05)
OptionsRow_OnLoad(self, "lavaLightGain",
BENILLA_ADVGFX.lavaGlow,
"BENILLA_TOOLTIP_LAVA_GLOW")
OptionsSliderRow_Setup(self, 0, 4, 0.05)
-- 0.2..1.5, the CVar's own clamp verbatim: the
-- floor is 0.2 rather than 0 because a true 0 is
-- indistinguishable from a broken light pack, and
-- the "off" a player wants is the reference's own
-- night at gain 1.
--
-- The readout is `darkness` — travel read from the
-- right — because the stored unit is a GAIN while
-- the row is named for the darkness: left is
-- darker, and this is what makes the number say so
-- too. The store keeps the gain, untouched.
OptionsRow_OnLoad(self, "nightGain",
BENILLA_ADVGFX.nightDarkness,
"BENILLA_TOOLTIP_NIGHT_DARKNESS")
OptionsSliderRow_Setup(self, 0.2, 1.5, 0.05, "darkness")
-- The room lane's own dim dial, same clamp and same
-- backwards readout as the night one above it.
OptionsRow_OnLoad(self, "interiorGain",
BENILLA_ADVGFX.interiorDarkness,
"BENILLA_TOOLTIP_INTERIOR_DARKNESS")
OptionsSliderRow_Setup(self, 0.2, 1.5, 0.05, "darkness")
OptionsRow_OnLoad(self, "skyDither",
BENILLA_ADVGFX.skyDither,
"BENILLA_TOOLTIP_SKY_DITHER")
OptionsRow_OnLoad(self, "fogModel",
BENILLA_ADVGFX.fogModel,
"BENILLA_TOOLTIP_FOG_MODEL")
OptionsRow_OnLoad(self, "rainSurfaces",
BENILLA_ADVGFX.rainSurfaces,
"BENILLA_TOOLTIP_RAIN_SURFACES")
OptionsRow_OnLoad(self, "foliageWind",
BENILLA_ADVGFX.foliageWind,
"BENILLA_TOOLTIP_FOLIAGE_WIND")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.qOff, value = "0" },
{ text = BENILLA_ADVGFX.windGrass, value = "1" },
{ text = BENILLA_ADVGFX.windTrees, value = "2" },
})
OptionsRow_OnLoad(self, "foliageWindStrength",
BENILLA_ADVGFX.foliageWindStrength,
"BENILLA_TOOLTIP_FOLIAGE_WIND_STRENGTH")
OptionsSliderRow_Setup(self, 0.25, 3, 0.25)
OptionsRow_OnLoad(self, "ambientOcclusion", BENILLA_ADVGFX.ambientOcclusion,
"BENILLA_TOOLTIP_AMBIENT_OCCLUSION")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.fogOff, value = "0" },
{ text = BENILLA_ADVGFX.qLow, value = "1" },
{ text = BENILLA_ADVGFX.qHigh, value = "2" },
})
OptionsRow_OnLoad(self, "lampFog", BENILLA_ADVGFX.lampFog,
"BENILLA_TOOLTIP_LAMP_FOG")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.fogOff, value = "0" },
{ text = BENILLA_ADVGFX.qLow, value = "1" },
{ text = BENILLA_ADVGFX.qHigh, value = "2" },
})
OptionsRow_OnLoad(self, "daylightWindowSplit",
BENILLA_ADVGFX.daylightWindowSplit,
"BENILLA_TOOLTIP_DAYLIGHT_WINDOW_SPLIT")
OptionsRow_OnLoad(self, "zoneSkyboxes",
BENILLA_ADVGFX.zoneSkyboxes,
"BENILLA_TOOLTIP_ZONE_SKYBOXES")
OptionsRow_OnLoad(self, "volumetricLight", BENILLA_ADVGFX.volumetricLight,
"BENILLA_TOOLTIP_VOLUMETRIC_LIGHT")
OptionsDropdownRow_Setup(self, {
{ text = BENILLA_ADVGFX.fogOff, value = "0" },
{ text = BENILLA_ADVGFX.qMedium, value = "1" },
{ text = BENILLA_ADVGFX.qHigh, value = "2" },
})
OptionsRow_OnLoad(self, "volumetricLightStrength",
BENILLA_ADVGFX.volumetricLightStrength,
"BENILLA_TOOLTIP_VOLUMETRIC_LIGHT_STRENGTH")
OptionsSliderRow_Setup(self, 0, 2, 0.25)
OptionsRow_OnLoad(self, "moonLight", BENILLA_ADVGFX.moonLight,
"BENILLA_TOOLTIP_MOONLIGHT")
OptionsSliderRow_Setup(self, 0, 2, 0.25)
AdvGfx_OnUpdate(this, arg1)
OptionsGlobalRow_OnLoad(self, "SHOW_COMBAT_TEXT",
"Enable Floating Combat Text", "OPTION_TOOLTIP_SHOW_COMBAT_TEXT")
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_FLOAT_MODE",
"Combat Text Float Mode", "OPTION_TOOLTIP_COMBAT_TEXT_MODE", 1)
OptionsDropdownRow_Setup(self, {
{ text = "Scroll Up", value = "1" },
{ text = "Scroll Down", value = "2" },
{ text = "Arc", value = "3" },
})
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_LOW_HEALTH_MANA",
"Show Low Mana and Health",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_LOW_HEALTH_MANA", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_AURAS",
"Show Auras", "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_AURAS", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_AURA_FADE",
"Show Fading Auras", "OPTION_TOOLTIP_COMBAT_TEXT_SHOW_AURA_FADE", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_COMBAT_STATE",
"Show Combat State",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_COMBAT_STATE", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_DODGE_PARRY_MISS",
"Show Dodge/Parries/Misses",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_DODGE_PARRY_MISS", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_RESISTANCES",
"Show Damage Reduction",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_RESISTANCES", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_REPUTATION",
"Show Reputation",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_REPUTATION", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_REACTIVES",
"Show Reactive Spells and Abilities",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_REACTIVES", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_FRIENDLY_NAMES",
"Show Friendly Healer Names",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_FRIENDLY_NAMES", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_COMBO_POINTS",
"Show Combo Points",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_COMBO_POINTS", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_MANA",
"Show Energy Gains",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_MANA", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsGlobalRow_OnLoad(self, "COMBAT_TEXT_SHOW_HONOR_GAINED",
"Show Honor Gained",
"OPTION_TOOLTIP_COMBAT_TEXT_SHOW_HONOR_GAINED", 1)
self.parentRow = "RowCombatText"
self.applyFunc = "CombatText_UpdateOrLoad"
OptionsRow_OnLoad(self, "CombatDamage", "Show Target Damage",
"OPTION_TOOLTIP_SHOW_DAMAGE")
OptionsRow_OnLoad(self, "CombatLogPeriodicSpells", "Periodic Damage",
"OPTION_TOOLTIP_LOG_PERIODIC_EFFECTS", 1)
self.parentRow = "RowShowDamage"
OptionsRow_OnLoad(self, "PetMeleeDamage", "Pet Damage",
"OPTION_TOOLTIP_SHOW_PET_MELEE_DAMAGE", 1)
self.parentRow = "RowShowDamage"
self.partner = { cvar = "PetSpellDamage" }
OptionsFuncRow_OnLoad(self,
function() return SHOW_MULTI_ACTIONBAR_1 end,
function(value)
local on
if value and value ~= "0" and value ~= 0 then on = 1 end
SHOW_MULTI_ACTIONBAR_1 = on
MultiActionBar_Update()
SetActionBarToggles(SHOW_MULTI_ACTIONBAR_1, SHOW_MULTI_ACTIONBAR_2,
SHOW_MULTI_ACTIONBAR_3, SHOW_MULTI_ACTIONBAR_4)
UIParent_ManageFramePositions()
end,
"0", "Show Bottom Left ActionBar", "OPTION_TOOLTIP_SHOW_MULTIBAR1")
OptionsFuncRow_OnLoad(self,
function() return SHOW_MULTI_ACTIONBAR_2 end,
function(value)
local on
if value and value ~= "0" and value ~= 0 then on = 1 end
SHOW_MULTI_ACTIONBAR_2 = on
MultiActionBar_Update()
SetActionBarToggles(SHOW_MULTI_ACTIONBAR_1, SHOW_MULTI_ACTIONBAR_2,
SHOW_MULTI_ACTIONBAR_3, SHOW_MULTI_ACTIONBAR_4)
UIParent_ManageFramePositions()
end,
"0", "Show Bottom Right ActionBar", "OPTION_TOOLTIP_SHOW_MULTIBAR2")
OptionsFuncRow_OnLoad(self,
function() return SHOW_MULTI_ACTIONBAR_3 end,
function(value)
local on
if value and value ~= "0" and value ~= 0 then on = 1 end
SHOW_MULTI_ACTIONBAR_3 = on
MultiActionBar_Update()
SetActionBarToggles(SHOW_MULTI_ACTIONBAR_1, SHOW_MULTI_ACTIONBAR_2,
SHOW_MULTI_ACTIONBAR_3, SHOW_MULTI_ACTIONBAR_4)
UIParent_ManageFramePositions()
end,
"0", "Show Right ActionBar", "OPTION_TOOLTIP_SHOW_MULTIBAR3")
OptionsFuncRow_OnLoad(self,
function() return SHOW_MULTI_ACTIONBAR_4 end,
function(value)
local on
if value and value ~= "0" and value ~= 0 then on = 1 end
SHOW_MULTI_ACTIONBAR_4 = on
MultiActionBar_Update()
SetActionBarToggles(SHOW_MULTI_ACTIONBAR_1, SHOW_MULTI_ACTIONBAR_2,
SHOW_MULTI_ACTIONBAR_3, SHOW_MULTI_ACTIONBAR_4)
UIParent_ManageFramePositions()
end,
"0", "Show Right ActionBar 2", "OPTION_TOOLTIP_SHOW_MULTIBAR4", 1)
OptionsGlobalRow_OnLoad(self, "ALWAYS_SHOW_MULTIBARS",
"Always Show ActionBars", "OPTION_TOOLTIP_ALWAYS_SHOW_MULTIBARS")
-- UIOptionsFrame.xml:680-683's click arm.
self.applyFunc = "MultiActionBar_UpdateGridVisibility"
OptionsGlobalRow_OnLoad(self, "LOCK_ACTIONBAR",
"Lock ActionBars", "OPTION_TOOLTIP_LOCK_ACTIONBAR")
OptionsRow_OnLoad(self, "UberTooltips", "Enhanced Tooltips",
"OPTION_TOOLTIP_USE_UBERTOOLTIPS")
OptionsRow_OnLoad(self, "statusBarText",
"Status Bar Text", "OPTION_TOOLTIP_STATUS_BAR")
self.cvarEvent = "STATUS_BAR_TEXT"
OptionsGlobalRow_OnLoad(self, "SHOW_TARGET_OF_TARGET",
"Show Target of Target", "OPTION_TOOLTIP_SHOW_TARGET_OF_TARGET")
self.applyFunc = "TargetofTarget_Update"
OptionsGlobalRow_OnLoad(self, "SHOW_TARGET_OF_TARGET_STATE",
"Show When", "OPTION_TOOLTIP_TARGETOFTARGET5", 1)
OptionsDropdownRow_Setup(self, {
{ text = "Raid", value = "1", tip = "OPTION_TOOLTIP_TARGETOFTARGET1" },
{ text = "Party", value = "2", tip = "OPTION_TOOLTIP_TARGETOFTARGET2" },
{ text = "Solo", value = "3", tip = "OPTION_TOOLTIP_TARGETOFTARGET3" },
{ text = "Party or Raid", value = "4", tip = "OPTION_TOOLTIP_TARGETOFTARGET4" },
{ text = "Always", value = "5", tip = "OPTION_TOOLTIP_TARGETOFTARGET5" },
})
self.applyFunc = "TargetofTarget_Update"
OptionsFuncRow_OnLoad(self, ShowingCloak, ShowCloak, "1",
"Show Cloak", "OPTION_TOOLTIP_SHOW_CLOAK")
OptionsFuncRow_OnLoad(self, ShowingHelm, ShowHelm, "1",
"Show Helm", "OPTION_TOOLTIP_SHOW_HELM")
OptionsGlobalRow_OnLoad(self, "QUEST_FADING_DISABLE",
"Instant Quest Text", "OPTION_TOOLTIP_SHOW_QUEST_FADING")
OptionsGlobalRow_OnLoad(self, "SHOW_BUFF_DURATIONS",
"Buff Durations", "OPTION_TOOLTIP_SHOW_BUFF_DURATION")
self.applyFunc = "BuffButtons_UpdatePositions"
OptionsGlobalRow_OnLoad(self, "AUTO_QUEST_WATCH",
"Automatic Quest Tracking", "OPTION_TOOLTIP_AUTO_QUEST_WATCH")
OptionsRow_OnLoad(self, "profanityFilter", "Profanity Filter",
"OPTION_TOOLTIP_PROFANITY_FILTER")
OptionsFuncRow_OnLoad(self, TutorialsEnabled,
BenillaOptionsFrame_SetTutorialsEnabled, "1",
"Show Tutorials", "OPTION_TOOLTIP_SHOW_TUTORIALS")
OptionsRow_OnLoad(self, "showGameTips",
"Show Loading Screen Tips",
"OPTION_TOOLTIP_SHOW_TIPOFTHEDAY")
OptionsGlobalRow_OnLoad(self, "SHOW_NEWBIE_TIPS",
"Show Detailed Tooltips", "OPTION_TOOLTIP_SHOW_NEWBIE_TIPS")
OptionsRow_OnLoad(self, "guildMemberNotify",
"Guild Member Alert",
"OPTION_TOOLTIP_GUILDMEMBER_ALERT")
OptionsGlobalRow_OnLoad(self, "REMOVE_CHAT_DELAY",
"Remove Chat Hover Delay",
"OPTION_TOOLTIP_REMOVE_CHAT_DELAY")
self.applyFunc = "ChatFrame_ApplyMouseOverDelay"
OptionsRow_OnLoad(self, "ChatBubbles",
"Show Chat Bubbles", "OPTION_TOOLTIP_CHAT_BUBBLES")
OptionsRow_OnLoad(self, "showLootSpam",
"Detailed Loot Information",
"OPTION_TOOLTIP_SHOW_LOOT_SPAM")
OptionsRow_OnLoad(self, "ChatBubblesParty",
"Show Party Chat Bubbles", "OPTION_TOOLTIP_PARTY_CHAT_BUBBLES")
OptionsRow_OnLoad(self, "spamFilter", "Disable Spam Filter",
"OPTION_TOOLTIP_DISABLE_SPAM_FILTER")
self.invert = 1
OptionsRow_OnLoad(self, "nameplateShowEnemies",
"Enemy Name Plates")OptionsRow_OnLoad(self, "nameplateShowFriends",
"Friendly Name Plates")OptionsRow_OnLoad(self, "UnitNamePlayer", "Player Names",
"OPTION_TOOLTIP_SHOW_PLAYER_NAMES")
OptionsRow_OnLoad(self, "UnitNamePlayerGuild", "Player Guild Names",
"OPTION_TOOLTIP_SHOW_GUILD_NAMES", 1)
self.parentRow = "RowPlayerNames"
OptionsRow_OnLoad(self, "UnitNameNPC", "NPC Names",
"OPTION_TOOLTIP_SHOW_NPC_NAMES")OptionsRow_OnLoad(self, "UnitNameOwn", "Show Own Name",
"OPTION_TOOLTIP_SHOW_OWN_NAME")KeyBindings_CharacterToggle(this)
GameTooltip:SetOwner(this, "ANCHOR_RIGHT")
GameTooltip:SetText(KeyBindings_String("CHARACTER_SPECIFIC_KEYBINDING_TOOLTIP",
"Click this to toggle between general key bindings and key bindings specific to this character."), nil, nil, nil, nil, 1)
GameTooltip:Hide()
getglobal(this:GetName() .. "Label"):SetText(
KeyBindings_String("CHARACTER_SPECIFIC_KEYBINDINGS", "Character Specific Key Bindings"))
ScrollFrame_OnLoad()FauxScrollFrame_OnVerticalScroll(KEYBINDINGS_ROW_HEIGHT, KeyBindingsPage_Update)
if not KeyBindingsPage.selected then
ScrollFrameTemplate_OnMouseWheel(arg1)
end
if not KeyBindingsPage.selected then
BenillaFauxScrollFrame_OnMouseWheel(getglobal(this:GetName() .. "ScrollFrame"), arg1)
end
BenillaScrollBar_OnValueChanged(self, arg1)
if this:GetText() == "" then
BenillaOptionsFrameSearchBoxInstructions:Show()
BenillaOptionsFrameSearchBoxClearButton:Hide()
else
BenillaOptionsFrameSearchBoxInstructions:Hide()
BenillaOptionsFrameSearchBoxClearButton:Show()
end
OptionsSearch_OnTextChanged(this:GetText())
this:ClearFocus()
BenillaOptionsFrame_UpdateScale()
BenillaOptionsFrame_SelectCategory(this.selectedCategory or "Controls")
if UpdateMicroButtons then UpdateMicroButtons() end
BenillaOptionsFrameSearchBox:SetText("")
OptionsPage_DiscardPending()
KeyBindings_SetSelected(nil)
KeyBindings_Output("")
if UpdateMicroButtons then UpdateMicroButtons() end