Graphics settings and display modes
For ownership, readiness, and reset-safe usage guidance, see Graphics & Display State.
Presets and settings
| Helper family | Purpose |
|---|---|
getGraphicsSetting, setGraphicsSetting |
Read or select an option index for a named graphics setting. |
graphicsSettings |
Enumerate registered settings and their option metadata. |
getGraphicsPreset, getGraphicsPresets, getGraphicsPresetsIndices
|
Read one preset, all presets, or their indexes. |
getGraphicsPresetPropertyNames |
Return the setting names participating in preset comparison/application. |
getGraphicsSettingApplyMethod(name, option) |
Report how a setting change must be applied, allowing UI to distinguish immediate, device-recreation, delayed, or restart flows. Exact result values are client-defined. |
overrideGraphicsSetting(name, option) |
Force a setting outside the normal user-selection flow; memory-critical handling uses it to lower texture quality. Do not use it for ordinary preferences. |
detectGraphicsPresetFromSystemSettings, getSystemPerformancePresetIdFromName
|
Determine a recommended system preset and map a preset name to its performance ID. |
getAutoDetectGraphicsSettingsScore(key) |
Return a hardware score such as GPU-memory capacity for a supported key. |
generateGfxSettings, resetGraphicsSettingsStatus, updateCurrentPresetIndex
|
Native settings lifecycle helpers owned by the graphics/settings subsystem. |
User-facing changes should go through the settings core so validation, previews, rollback, device recreation, persistence, and restart prompts remain coherent.
Rendering pipeline and feature checks
isForwardPipeline()identifies the low/forward rendering pipeline.isSimplifiedPipeline()identifies an additional simplified/low path.isShadowsEnabled(),isSSAOEnabled(),isDynamicDecalEnabled(), andisTesselationSupported()gate effects that depend on the active renderer or hardware.configureOitPresets(minimum, low, medium, high, ultra)configures order-independent-transparency availability by quality tier;isOitEnabledForPreset(level)queries a tier.isCustomGraphicPreset()andcanToDowngradePreset()describe preset state and allowed transitions.
These checks are capability gates. They do not grant ownership to change the pipeline or recreate renderer resources.
Dynamic resolution and color processing
getDRRScale()/setDRRScale(scale)read or request the dynamic render resolution scale.getDRRAutoscalerBaseScale()is the configured base scale used by the settings UI.isDRRAutoscalingEnabled()reports whether dynamic autoscaling is active.pauseDRRAutoscaling(paused)temporarily stops or resumes autoscaling during loading, hangar transitions, and similar lifecycle work. Every pause needs a matching resume owned by the same subsystem.- Brightness, contrast, saturation, and color-grading strength use paired
getColor*/setColor*helpers.setColorBCSSetup(enabled, delimiter)configures the split-screen preview used by color settings. wg_updateColorGrading()asks the renderer to refresh grading state.
Temporary post-processing changes must snapshot and restore all modified
values, including vignette or other state owned by WGRenderSettings.
Monitors and window modes
WindowModeWindowed, WindowModeBorderless, and
WindowModeExclusiveFullscreen are native mode constants. Related helpers
enumerate monitor names, monitor-specific resolutions, borderless parameters,
current resolution, native screen resolution, maximum windowed/borderless
sizes, active monitor, and exclusive-fullscreen monitor.
The concrete query/setter families are:
wg_getMonitorNames,getActiveMonitorIndex, andsetActiveMonitorIndexfor monitor selection;listVideoModesAllMonitorsandlistBorderlessResolutionsAllMonitorsfor enumerating supported sizes;getBorderlessParameters,setBorderlessFixedSize,wg_getMaxBorderlessResolution, andwg_getMaxWindowedResolutionfor sizing policy;getExclusiveFullscreenMonitorIndexfor the fullscreen owner; andwg_getCurrentResolutionand the historically misspelledwg_getNativeScreenResoulutionfor current/native dimensions.
wg_setAdapterOrdinalNotifyCallback(callback) installs a global notification
for graphics-adapter changes. Replace or clear it only as part of the owning
settings/application lifecycle. onInterfaceScaleChanged() is likewise a
notification into native GUI state, not a scale calculation function.
PyGammaWizard is the native calibration helper used by the gamma-settings
view. Brightness, contrast, saturation, and grading strength have matching
getColor*/setColor* helpers. Use the settings preview/apply/revert
flow so
temporary calibration does not become an untracked global mutation.
Mode and monitor changes can recreate the graphics device. Use the settings flow and respond to GUI/device reset events instead of changing these values inside arbitrary view code.
Space readiness and world rendering
spaceLoadStatus() is not the complete signal that a visually usable space is
ready. Current hangar and battle loading paths combine it with
virtualTextureRenderComplete() before revealing the world. This prevents UI
or screenshots from treating geometry progress as proof that virtual textures
have completed their first render.
worldDrawEnabled(value) controls whether the world is drawn. It is global and
also historically controls main-thread file-access warnings. Loading flows
disable or enable it deliberately; mods should preserve the prior value rather
than force-enable drawing during teardown.
SetDrawInflux, DrawAll, notifySpaceChange, notifyBattleTime,
enableLoadingTimer, hangarLoaded, hangarDestroyed, lobbyStarted,
and
loginEntered are engine/client lifecycle notifications. They are owned by
the corresponding loading and application flows, not general-purpose mod
events.
Scaleform textures and resource cache
| Helper | Purpose and ownership |
|---|---|
wg_addTempScaleformTexture(textureID, imageBytes) |
Register validated in-memory image bytes under a temporary Scaleform texture ID. Used for downloaded emblems and rare-achievement icons. |
wg_addScaleformTexture(textureID, imageBytes) |
Register a non-temporary in-memory Scaleform texture. |
wg_eraseScaleformTexture(textureID) |
Remove an in-memory texture by the same ID. |
wg_precacheScaleformResource(path, forced) |
Add a Scaleform resource to the native precache. |
wg_eraseScaleformResFromCache(path) |
Remove one path, or the helper-defined broader selection when an empty path is accepted. |
wg_clearTextureReuseList() |
Clear the native texture-reuse list during major view/arena transitions. |
Validate image data before registering it, use collision-resistant IDs, retain the ID for removal, and erase owned textures when their cache/view lifetime ends. Gameface and Wulf resources use different delivery systems; these helpers do not register Gameface assets.
Edge highlighting and targeting collision exclusions
The outline system has separate registration helpers for different render owners:
wgAddEdgeDetectEntity/wgDelEdgeDetectEntityfor BigWorld entities;wgAddEdgeDetectDynamicModel/wgDelEdgeDetectDynamicModelfor CGF dynamic model components;wgAddEdgeDetectCompoundModel/wgDelEdgeDetectCompoundModelfor compound models.
Registration includes color/drawer-mode and collision/highlight parameters whose exact positions depend on the target helper. Always mirror the current owner's call rather than sharing one guessed signature across all three.
wgSetEdgeDetectEdgeColor, wgSetEdgeDetectSolidColors, and
wgSetEdgeDetectPatternColors configure native color slots.
setEdgeDrawerRenderMode follows the active control mode, while
setEdgeDrawerPenetratableZoneOverlay and
setEdgeDrawerImpenetratableZoneOverlay control penetration overlays.
enableEdgeDrawerVisual gates a visual layer globally.
Every registration needs matching removal. Re-registering after model rebuild, vehicle respawn, or replay rewind must first release the old render owner.
wgAddIgnoredCollisionEntity(entity, collisionComponent) and
wgDelIgnoredCollisionEntity(entity) are related but separate: they exclude a
controlled/observed vehicle from relevant targeting/collision queries. They do
not merely hide its outline.
Water, decals, and global effects
wg_setWaterTexScale,wg_setWaterFreqX, andwg_setWaterFreqZapply arena-type water parameters when a battle space starts.wg_addWaterRipplesandwg_collideWatersupport water effects and intersection queries.wg_addDecal,wg_addDecalGroup,wg_clearDecals, damage-sticker helpers, and trace/decal texture-index helpers own native world marks. Their limits and lifetime are renderer-managed.wg_traceTextureIndex(name)andwg_decalTextureIndex(name)resolve atlas indexes; a negative result means the requested texture was not registered or could not be added.wg_addMatkindScaleUconfigures material-dependent trace scaling.wg_registerDamageSticker(...)registers a sticker definition and its texture set, whilewg_clearDamageStickers()clears the native registry. Registration belongs to item-data initialization, not per-hit rendering;setDamageStickerCriticalAnglechanges the shared critical-hit threshold.wg_setFlagColorandwg_setFlagEmblemconfigure arena-team flag visuals.wg_defaultFlagEmblemPathandwg_defaultFlagEmblemCoordsare restoration defaults rather than arbitrary appearance storage.wg_setKillAllActiveEffects(True)and similar global effect controls are teardown/emergency mechanisms, not selective cleanup for one mod.