Beta 0.9n.7 (Bug Fixes)
[*] Errors in "subscripts" now report original error and originating script name.
[*] Added "SIZE" command to FTP Server. Reports in the following format: "120 Drive C Reports: (330,416,128 FREE) (524,206,080 TOTAL)" for each drive, unless the user specifies the drive specifically in the SIZE command.
[*] MXM should not lock up any more when running WMV9-based WMV files. It will not play them, but rather than hosing things up, MXM will merely not display the offending video.
[*] Fixed issue with Context Menu items defined in MXM.xml
[*] Fixed problem with the use of special characters % and $ in ActionScripts.
[*] Added Message Logging. See the White Paper for more details. Debugger,Net and File output methods are implemented.
[*] Skinners can now display "CG" strings using offsets. Place the offset value in the "Section" attribute of a text element and the value retrieved
for the string will be that of the menu item offset by that value form the currently selected menu item (or nothing, if out of range).
[*] Similar to the string capability, "entry" type images can also have an offset, by setting an <Offset> value in the resource node.
[*] SETFUNC additions:
- CVTTOBASE <Base> <Padding> <DecmalNum>
Converts number in from, say 15130 to 3B1A (Padding is zero padding, can be set to -1 or 0 to disable)
Input numbers can be bigger than 32 bit values.
- CVTFROMBASE <Base> <Padding> <BaseXNum>
Converts number in from, say 3B1A to 15130 (Padding is zero padding, can be set to -1 or 0 to disable)
Input numbers cannot be bigger than 32 bit values. (Note limitation here!!)
[*] Comparisons now done with 64-bit values in ActionScript IF statements
[*] Memory Units should now be accessable from FTP and ActionScripts
[*] Re-wrote the input stuff in preperation for the new system. Seems to work so far.
[*] Added a parameter for the special "text" element menu - "Wrapped". Set to true, this allows you to cycle through each end of the menu. Do NOT use this on "regular" Menu elements yet.
[*] Added argument support to conditionals. New conditonal: ItemSelected:
<conditional arg1="1">ItemSelected</Conditional>
Works with "not" as well: <conditional arg1="3" not="true">ItemSelected</Conditional>
[*] The new Input System has been integrated! Input is now configurable.
[*] Added HelpDesc and HelpTitle strings. Key is line number, section is device ID.
These will be used to display help screens based on translation tables.
[*] New ActionScript stuff for input handler:
--functions:
-- IQGetMsgID [<ID>]
-- IQPeekMsgID
-- IQPeekStrength
-- IQPeekShiftStrength
-- IQPeekCtrlStrength
-- IQPeekAltStrength
-- IQGetMsgCount
-- HandleType
.....Gets type of handle, 0 if not a valid handle.
--Commands:
-- MOD <Var> <Value>
-- AND <Var> <Value>
-- OR <Var> <Value>
-- XOR <Var> <Value>
-- IQClear
-- IQTable <name>
-- IQPushMsg <ID> <Str> <ShftStr> <CtrlStr> <AltStr>
-- IQWaitMsg [<MsgID> [...<MsgID>]]
-- VIRTKEYBOARD [SINGLE|MULTI|DISABLE|ON|OFF]
-- STRINGINPUT <VAR> <SINGLE|MULTI|IP> <Prompt>
-- SetState <MENU|SAVER|INFO|HELP|GAMEHELP>
-- LINE <X1> <Y1> <X2> <Y2> <Color>
-- MsgBox <Message>
-- Image <Handle> <X> <Y> <Width> <Height>
.....Used with BeginDraw, allows use of Images loaded with LOADIMAGE to be used in an ActionDraw List
-- LOADIMAGE <Handle> <Path>
.....Load an image. May wait up to 5 seconds for image to load from cache.
-- CLOSEIMAGE <Handle>
-- LoadSound <Handle> <File>
....Loads a sound resource to be played
-- CloseSound <Handle>
....Closes sound resource, handle is available for reuse.
-- PlaySound <Handle>
....Play sound from sound resource handle
-- LoadDialogFromXML <UIHandle> <XMLHandle> <XMLLocation>
....Load a dialog from the node indicated
-- OpenZip <ZipHandle> <Filename>
....Opens a zip file to uncompress
-- CloseZip <ZipHandle>
....Closes an open ZIP file
-- UnzipFile <ZipHandle> <Index> <Filename>
....Unzips the entry indexed to the filepath given
-- GetZipInfo <ZipHandle> <Index>
....Retrieves the data for a specific ZIP entry:
- %ZipEntryIndex%
- %ZipEntryCompSize%
- %ZipEntryUncompSize%
- %ZipEntryName%
- %ZipEntryType% ("dir" or "file")
--Specials:
-- rand (Returns 32-bit random number)
[*] Added GOSUB/RETURN functionality to ActionScripting.
Both GOSUB and RETURN may be used after IF
[*] Added FOR/BREAK/NEXT functionality:
- FOR index = 1 TO 10 STEP 3
- BREAK (May be used after IF)
- NEXT
[*] Added Autodetect for DebugServer app.
[*] Checked following:
- Screenshot works fine.
- Checked FTP directory creation/usage/removal "Rainbow 6" - works fine.
[*] Added shifted versions of UI_DIR with the Gamepad input to the default tables in Internal.xml
[*] Added build number, also added XDK version to About Box.
[*] Added Virtual Keyboard. Default activation with "SHIFT-Y"
[*] Using dual-draw stacks for ActionScripts to minimize "flicker"
[*] Cleaned up default pathing for XML files in ActionScripts.
[*] Added the ability to embed variables inside of variables... Usage:
-- SET SomeVar "This is an embedded variable within a variable: %AnotherVar{Index}%"
[*] Added new skin section "Periods" and "menuscroll" value to adjust tweener "menuscroll" source timing.
[*] New Gadget Strings:
- env
-- Global Environment string
- helptitle
-- Help Title (N/A yet)
- helpdesc
-- Help Description (N/A yet)
- cghelptitle
-- Current Game Help Title (N/A yet)
- cghelpdesc
-- Current Game Help Description (N/A yet)
- RawDrvCSize
-- Raw Drive Sizes
- RawDrvESize
- RawDrvFSize
- RawDrvGSize
- RawDrvCFree
-- Raw Drive "free"
- RawDrvEFree
- RawDrvFFree
- RawDrvGFree
- ScreenWidth
-- Actual Screen Width (Added to support HDTV in future)
- ScreenHeight
-- Actual Screen Height (Added to support HDTV in future)
[*] Added SWITCH/CASE/DEFAULT/ENDCASE/ENDSWITCH structured programming statements to ActionScript
[*] Added IF...THEN/ELSE/ENDIF structured programming statements to ActionScript
[*] Added "Circle" type to ZPoints, allowing a quick, pain-free definition of a circle.
[*] Added ONERROR/ONTHISERROR/RAISELASTERROR handling.
[*] XML locations now support Element, Attribute specification, and also support Queries for nodes and elements.
- Locational format! Example: "!.SomeNode.AnotherNode^AnElement~AnAttribute"
- !.Dialogs.Dialog?DlgID=Test.Control?CtrlID=101.Selected is an example of a queried XML location.
