Skip to content

Add AS3 DisplayObject compat properties: mouseEnable and backgroundAlpha#8

Merged
Monstrofil merged 1 commit into
mainfrom
wowp-compat-display-object-props
Mar 11, 2026
Merged

Add AS3 DisplayObject compat properties: mouseEnable and backgroundAlpha#8
Monstrofil merged 1 commit into
mainfrom
wowp-compat-display-object-props

Conversation

@Monstrofil

@Monstrofil Monstrofil commented Mar 11, 2026

Copy link
Copy Markdown

Summary

WoWP and other BigWorld-based titles set mouseEnable and backgroundAlpha on DisplayObject instances via the C++ ExternalInterface / ExternalAPI mechanism. Without these properties the AS3 runtime throws ReferenceError #1056: Cannot create property at startup.

Both were patched into the 4.2 SDK that shipped with BigWorld. This PR restores them in 4.3.

  • mouseEnable (bool, read/write on DisplayObject) — stub compat alias for the standard mouseEnabled property. Getter returns true, setter is a no-op. The property was on DisplayObject in the old SDK rather than InteractiveObject to match BigWorld usage.
  • backgroundAlpha (Number, read/write on DisplayObject) — GFx extension for per-clip background transparency control. Getter returns 1.0, setter is a no-op (sufficient for startup compatibility).

Changes

  • Src/GFx/AS3/Obj/Display/AS3_Obj_Display_DisplayObject.h: added 4 mid_ enum entries, 4 method declarations, bumped ThunkInfoNum 62в†’66 and tit[] size 96в†’102.
  • Src/GFx/AS3/Obj/Display/AS3_Obj_Display_DisplayObject.cpp: added ThunkFunc typedefs, template specialisations, 6 tit[] type-info entries, 4 ti[] thunk-table entries, and stub implementations.

Test plan

  • Build SDK Release — libgfx_as3.lib compiles without errors on our changes (sample-app failures in Apps/Samples/Common/FxRenderThread.h are pre-existing and unrelated)
  • Run BigWorld WoWP client — verify no ReferenceError #1056: Cannot create property mouseEnable or backgroundAlpha warnings at startup

…lpha

WoWP and other BigWorld-based titles set these legacy properties on
DisplayObject instances via ExternalInterface. Without them the AS3
runtime raises ReferenceError #1056 at startup.

mouseEnable: stub getter (returns true) / setter (no-op), alias for the
standard mouseEnabled property removed in 4.3.
backgroundAlpha: stub getter (returns 1.0) / setter (no-op), a GFx
extension property used for per-clip background transparency control.

Both were present in the patched 4.2 SDK shipped with BigWorld and are
restored here in 4.3 to maintain runtime compatibility.

Made-with: Cursor
@Monstrofil Monstrofil merged commit 45926f3 into main Mar 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant