eulaui.swf
Modal dialog shown at first launch (or on demand) requiring the player to read and accept the Trove End User Licence Agreement, and a secondary screen displaying third-party software credits/licences. Supports PC and console variants with scrollable text and Agree/Disagree buttons.
Document/main class: EULAUI (extends _kiwi.Core.UIComponent)
SWF-specific classes: 9 (main + 4 EULAUI_fla timeline classes + 4 top-level helpers)
Main class: EULAUI
Owns two child MovieClip panels — eulaDialog and thirdPartyDialog — and switches between them based on which viewer is loaded. Registers ExternalInterface callbacks in the constructor (before configUI). The EULA text is fed in via the text setter which triggers a draw() cycle. Console-specific callbacks (scrollInDirection, setViewOnly) are registered only when IsConsole() is true.
Public methods
set text(value:String) : void— stores EULA text, re-enables Agree/Disagree buttons, and invalidatesDATAto triggerdraw().setViewOnly(viewOnly:Boolean) : void— hides accept UI and relabels Disagree as "$Close" for read-only display (e.g. viewing EULA from settings rather than at first launch).
Key fields
eulaDialog : MovieClip— main EULA panel (symbolEulaDialog_1); containsscrollbar,agreeButton,disagreeButton,mainContent,eulaInformationtext,acceptButtonImage.thirdPartyDialog : MovieClip— third-party credits panel (symbolThirdPartyDialog_22); containsokButton,thirdPartyMainContent._text : String— cached EULA / third-party text string._viewOnly : Boolean— suppresses Agree button when true.
Frame scripts / timeline
- frame 1 (
stop()) — PC layout; both dialogs in default position. - frame 11 (
stop()) — Console layout; sendseulaDialogandthirdPartyDialogto"Console"label. - frame 21 (
stop()) — Console + localisation layout; sends both dialogs to"ConsoleLoc"label.
Runtime dependencies & integration
ExternalInterfacecallbacks:ON_RESIZE,loadEULAViewer,loadThirdPartyViewer; console-only:scrollInDirection,setViewOnly,onCancel.ExternalInterfacecalls out:EULA.AGREE,EULA.DISAGREE,On3rdPartyOK.IggyFunctions.inIggygate (inherited viaconfigUI→setupTranslation()).- Mouse-wheel on
eulaDialogadjustseulaDialog.scrollbar.scrollPositiondirectly. scrollInDirectionapplies scaled velocity to whichever scroll bar is active (useslineScrollSizeandpageScrollSize).- Third-party content is rendered by instantiating
ThirdPartyText, sizing itstextfield, settinghtmlText, and callingSetContentSize/updateScrollbaron theScrollableView. ON_RESIZEcallback centres both dialogs on stage.
Other game-specific classes
EULAUI_fla.EulaDialog_1 (extends MovieClip) — Embed symbol91
Timeline symbol for the EULA panel. Exposes scrollbar:UIScrollBar, agreeButton:BtnGreen, disagreeButton:BtnGreen, mainContent:MovieClip (the text area), acceptButtonImage:btn_console_south, eulaInformation:TextField, and a WindowHeaderSmall titled $EULA_Header. Frame 1 = PC scrollbar targets eulaMainContent; frames 11/21 = console, retargets scrollbar to mainContent and sends mainContent to "Console".
EULAUI_fla.eulaMainContent_4 (extends MovieClip) — Embed symbol87
Simple two-frame clip holding textfield:TextField and a mouseBlocker:MovieClip. The textfield is the target of the EULA UIScrollBar.
EULAUI_fla.ThirdPartyDialog_22 (extends MovieClip) — Embed symbol98
Third-party panel. Holds okButton:BtnGreen (label $OK), thirdPartyMainContent:MovieClip (contains a ScrollableView named scroll), and WindowHeaderSmall titled $ThirdParty_Header. Sends thirdPartyMainContent to "Console" on frames 11/21.
EULAUI_fla.thirdPartyMainContent_23 (extends MovieClip) — Embed symbol94
Inner clip for third-party scroll area: scroll:ScrollableView, textfield:TextField, mouseBlocker:MovieClip.
ThirdPartyText (extends MovieClip) — Embed symbol11
Minimal display object containing textfield:TextField. Created dynamically, sized to ScrollableView viewport width, then added as child of the ScrollableView for third-party content rendering.
BtnGreen (extends _kiwi.Controls.LabelButton) — Embed symbol74
Reusable styled green button; four frame stop-scripts at frames 10/20/30/40 for up/over/down/disabled states.
btn_console_south (extends MovieClip)
Plain MovieClip used as the console "A/South" button image on the accept prompt. No additional logic.
Asset image wrappers (7 classes — no logic)
iggylogo/jpg, OpenSSL_logo/png, grannylogo/png, curl_logo/png, bink/jpg, Bullet_Physics_Logo, wwise_logo, popcornfx_logo — embedded third-party logo bitmaps/movie clips used in the third-party credits screen. Also: btn_XBOne_A/png — Xbox One A-button image.
Notable logic
- Dual-mode scrolling: EULA uses a
UIScrollBarcomponent targeting the raw text field; third-party content uses_kiwi.Controls.ScrollableViewwith a dynamically addedThirdPartyTextchild, allowing HTML-formatted credits. scrollInDirectionclamps input to ±20, then derives a velocity fromlineScrollSizeandpageScrollSize, enabling smooth analogue-stick scrolling on console.- Translate keys present:
$EULA_Header,$EULA_Agree,$EULA_Disagree,$ThirdParty_Header,$OK,$Close.