Platform, browser, and process integration

  • WGWindowsNotifier signals taskbar attention for battle start, invitations, and AFK warnings; it does not create an in-game notification.
  • createBrowser/destroyBrowser and createWebView/destroyWebView are native browser owners. Prefer the current browser service and pair creation with destruction.
  • wg_bringWindowToForeground, wg_copyToClipboard, wg_isCapsLockOn, wg_getLangCode, and wg_firstDayOfWeek expose platform state.
  • wg_getProductVersion, getExtensionsDirList, wg_getMods, and IS_CONSUMER_CLIENT_BUILD expose build/runtime information.
  • quit, quitWithExitCode, restartGame, wg_quitAndStartLauncher, and shutDownApp are disruptive process controls. Saving preferences or asking the user for confirmation belongs to the higher-level flow that invokes them.

Simulation scenes, capture, and frame-rate modes

  • wg_setWorldTimeScale(scale) changes native world/effect simulation speed. Kill-camera simulation uses it together with animator scale, projectile pause, and map-activity pause. Restoring only the native scale is insufficient if those companion systems were changed.
  • wg_withholdEntityTypes(typeNames, withheld) hides or reveals selected gameplay entity types during a simulated scene. It is not entity deletion; the owner must reveal the same set afterward.
  • setProjectilesPause(paused) belongs to the avatar and complements world time scaling for simulation scenes.
  • enableFreeCameraModeForShadowManager(enabled) tells shadow management that a free camera owns the view. Pair it with free-camera enable/disable.
  • wg_setSpecialFPSMode() applies the hangar/loading frame-rate policy; wg_disableSpecialFPSMode() disables that native mode.
  • wg_setReducedFpsMode(enabled) lowers frame rate during arena loading and is cleared when loading completes.

wg_setScreenshotNotifyCallback(callback) installs the single native screenshot-completion callback used by GUI notification code. Clear it with None during personality/application teardown. screenShot(...) initiates a capture; the notify callback reports completion through the current client contract.

Screener.setUserId(databaseID) associates screencast/capture state with the current account and must be reset on disconnect. Screener.setEnabled(False) is also used while blocking waiting UI is visible and restored when that UI closes. It is global capture state, not a general screen-visibility toggle.

Login-data transforms and sensitive native helpers

wg_cpdata, wg_ucpdata, and wg_cpsalt are native transforms used by the login preference flow:

  • wg_cpdata(data) protects/encodes stored login data;
  • wg_ucpdata(data) reverses that stored representation;
  • wg_cpsalt(value) transforms session salt before connection parameters are sent or persisted.

Their algorithms and security properties are native and undocumented. They are not general encryption, hashing, signing, or secret-storage APIs. Mods should not reuse them for credentials, tokens, configuration protection, or protocol design, and should never log their inputs or outputs.

Miscellaneous native owners

  • WGReplayController is the low-level replay reader/writer controller. The battle replay service owns its callbacks, speed/time transitions, recording, playback, and termination; consuming it directly bypasses that state machine.
  • WGSpamFilter is the native text-spam classifier wrapped by messenger filters. Treat its decisions as one stage in chat filtering, not as account moderation or a durable block list.
  • FilterInterpolationType supplies interpolation constants for avatar-filter subchannels. Changing a subfilter mode affects replicated motion/camera smoothing and belongs to the relevant avatar component.
  • wg_setRedefineKeysMode(enabled) changes key-remapping behavior while the Scaleform lobby application owns focus. It must follow application lifecycle.
  • WGActionCurve reads native action-curve channels used by map activities, including model and sound properties; it is an animation/resource helper, not a general settings container.
  • registerShadowCaster/unregisterShadowCaster pair native shadow owners.
  • wg_setChunkModelFashion/wg_getChunkModelFashion attach or inspect native fashions on chunk models. Fashion lifetime follows the chunk/model.
  • getMaterialInfo, getMaterials, wg_getMatInfoNearPoint, and wg_getMathInfoUnderPoint query native material/geometry information with helper-specific return structures.
  • wg_getCappedShotTargetInfos, wg_binoculars, getDynamicVisibilityPoints, and markerHelperScale support aiming, visibility, and marker systems. Prefer battle controllers because their result shapes are specialized and version-sensitive.
  • wg_alloc/wg_free, thread-start/end hooks, lighting generation, system reporting, and final URL-flush controls are engine infrastructure. They are not ordinary mod extension points.

Safety checklist for native helpers

  • Identify the real owner: settings, arena space, control mode, render model, cache, browser, or process.
  • Record every changed global value and restore it only if still owned.
  • Pair add/remove, enter/exit, create/destroy, pause/resume, and register/unregister calls.
  • Revalidate native object and space lifetime after callbacks, respawns, and replay rewinds.
  • Use the higher-level service when it supplies validation, synchronization, persistence, or teardown.
  • Treat unknown return values and integer enums as client-version contracts, not self-documenting values.