| QUOTE (BenJeremy @ Jan 31 2004, 09:19 AM) |
...and here I thought geniusalz would have been excited to try out the new statements.... |
Well, 12:30 AM isn't exactly early.
Even though I sleep way after that, but I didn't feel like it at that time.
| QUOTE (geniusalz @ Jan 31 2004, 02:08 PM) |
| QUOTE (BenJeremy @ Jan 31 2004, 09:19 AM) | ...and here I thought geniusalz would have been excited to try out the new statements.... |
Well, 12:30 AM isn't exactly early. Even though I sleep way after that, but I didn't feel like it at that time. |
Interesting.... you are an HOUR LATER than EDT....
You live in New Brunswick, or something?
Now is 3:50 , so its eastern time, no?
And I'm in ontario
| QUOTE (geniusalz @ Jan 31 2004, 02:44 PM) |
Now is 3:50 , so its eastern time, no? And I'm in ontario |
Doh! You are right.... my prefs must be off.

Probably the upgrade, I guess.
:::waves to geniusalz across the great lakes from Michigan:::
Oh.... and don't forget to put the new stuff through a stress test. Any scripts that appear to bomb, let me know (message logger should display a trace now, BTW)
::waves back::
Will do that, and convert tetris too, for {}'s and new IF's
OK, I updated the "WIP" Binaries again.
Nothing obvious to add to the features list, except there is now a "Blank" application state - when running ActionScripts, you can:
SETSTATE BLANK
To get a black background - this means the app will not be rendering video during the actionscript, probably saving a lot of bandwidth.
Also, I built TWO versions of MXM - one with debug, one without (naming should be obvious). I'll probably package these separately when it goes public (one as a developer's pack). You can trace scripts using the category "SCR", type "INFO" and level 0. Be aware, you may want to enable/disable this on each end of your script, as it can generate a LOT of traffic.
geniusalz - try the non-debug version and see if it helps the situation with the FTP. My hard drive performance is too crappy to tell what's going on speedwise, but the FTP remains solid.
One more thing, I included the latest version of Test Skin, a skin using ZPoints for text and thumbnails. It should give you a good idea of things you can do with the new technology. I'd love to see a skin that looks AND ACTS like the M$ Dash - it should be possible now.
I just picked up the new WIP. The skin is badass even though it's pretty bland.
However you may be interested to this. I had the debugsever running and the mxmdebug.xbe too, everything worked as it should. Then I ran tetris and the debug server went into a neverending loop, even after I quit tetris.
It keeps on say this over and over, like I said, even after you quit tetris.
00:02:40.746 I0 ACT 201: (xmlgetvalue) XMLGetValue board toDraw !.%x%.%y%
00:02:40.747 I0 ACT 202: (if#) IF# %toDraw% == 1 GOTO DrawThis1
00:02:40.747 I0 ACT 203: (goto) GOTO DontDraw1
00:02:40.747 I0 ACT 214: (next) NEXT
or maybe this was the last part it repeated.
00:02:40.930 I0 ACT 33: (if#) IF# %falling% == 1 GOTO TimeUp
00:02:40.930 I0 ACT 34: (if#) IF# %pieceExists% == 0 GOSUB MakePiece
00:02:40.930 I0 ACT 35: (if#) IF# %paused% == 1 GOTO BeginLoopPaused
00:02:40.930 I0 ACT 36: (setfunc) SETFUNC MSG_ID1 IQPeekMsgID
00:02:40.932 I0 ACT 37: (if) IF %MSG_ID1% GOSUB ExecuteInput
00:02:40.932 I0 ACT 38: (if#) IF# %changed% == 1 GOSUB DrawBoard
00:02:40.932 I0 ACT 39: (if#) IF# %endTime% < $timer$ GOTO TimeUp
00:02:40.932 I0 ACT 40: (goto) GOTO BeginLoop
All I know is that the debugserver spit out almost 3000 lines in just a few seconds
| QUOTE (flattspott @ Feb 1 2004, 12:19 AM) |
or maybe this was the last part it repeated.
00:02:40.930 I0 ACT 33: (if#) IF# %falling% == 1 GOTO TimeUp
00:02:40.930 I0 ACT 34: (if#) IF# %pieceExists% == 0 GOSUB MakePiece
00:02:40.930 I0 ACT 35: (if#) IF# %paused% == 1 GOTO BeginLoopPaused
00:02:40.930 I0 ACT 36: (setfunc) SETFUNC MSG_ID1 IQPeekMsgID
00:02:40.932 I0 ACT 37: (if) IF %MSG_ID1% GOSUB ExecuteInput
00:02:40.932 I0 ACT 38: (if#) IF# %changed% == 1 GOSUB DrawBoard
00:02:40.932 I0 ACT 39: (if#) IF# %endTime% < $timer$ GOTO TimeUp
00:02:40.932 I0 ACT 40: (goto) GOTO BeginLoop
All I know is that the debugserver spit out almost 3000 lines in just a few seconds |
Yes, this is why you'd want to disable the trace for some apps. The ActionScript is executing so much code with Tetris, that it floods the network connection.
I'll make sure the Script Trace is defaulted to disabled in the next release.
| QUOTE (BenJeremy @ Jan 31 2004, 11:04 PM) |
geniusalz - try the non-debug version and see if it helps the situation with the FTP. My hard drive performance is too crappy to tell what's going on speedwise, but the FTP remains solid.
One more thing, I included the latest version of Test Skin, a skin using ZPoints for text and thumbnails. It should give you a good idea of things you can do with the new technology. I'd love to see a skin that looks AND ACTS like the M$ Dash - it should be possible now. |
30 mins and FTP is still going, good sign
I think I'll leave it on overnight
Maybe you should try that too
As for the test skin and thumbnails, I'm doing something similar with cirkular 2
SITE SIZE no longer works. Size is displayed in the directory listing though. Wouldn't it be more useful (but technically incorrect) to display space remaining instead?
| QUOTE (geniusalz @ Feb 1 2004, 03:36 AM) |
| QUOTE (BenJeremy @ Jan 31 2004, 11:04 PM) | geniusalz - try the non-debug version and see if it helps the situation with the FTP. My hard drive performance is too crappy to tell what's going on speedwise, but the FTP remains solid.
One more thing, I included the latest version of Test Skin, a skin using ZPoints for text and thumbnails. It should give you a good idea of things you can do with the new technology. I'd love to see a skin that looks AND ACTS like the M$ Dash - it should be possible now. |
30 mins and FTP is still going, good sign I think I'll leave it on overnight Maybe you should try that too As for the test skin and thumbnails, I'm doing something similar with cirkular 2 SITE SIZE no longer works. Size is displayed in the directory listing though. Wouldn't it be more useful (but technically incorrect) to display space remaining instead? |
Hmmm... I'll look into the SITE SIZE issue. I didn't change anything there, that I can recall.
FTP in the default.xbe looks solid (survived the night)
I'll check the FTP in mxmdebug.xbe later
| QUOTE (geniusalz @ Feb 1 2004, 11:08 AM) |
FTP in the default.xbe looks solid (survived the night)
I'll check the FTP in mxmdebug.xbe later |
How was the speed?
I fear M$ has done something in newer net libraries to hose up our dash developments....
Speed seems good at 10.5MB/s average (that's almost the same as what I'm getting with the older MXM right now)
Will be trying the latest wip with my ftp tonight as when i changed from 0.9n.4 to the last wip i lost a lot of speed...
Perahps you could add the mxmdebug into the safemode. And have it launch from the $actualpath$. This way, you could have MXM boot the normal version all the time but when you want to use the debug version you just go into safemode and pick that option.
| QUOTE (flattspott @ Feb 1 2004, 01:15 PM) |
| Perahps you could add the mxmdebug into the safemode. And have it launch from the $actualpath$. This way, you could have MXM boot the normal version all the time but when you want to use the debug version you just go into safemode and pick that option. |
That's a good idea.
I'll have to have it check to see if it's there, and launch it if the user requests it from the SafeMode menu.
Still, I'll probably package it separately and label the release "developer's edition" or something.
Sounds good to me.
Normal Version = mxmdash.xbe only \\ no mxmdebug.xbe or safemode option
Developer Version = mxmdash.xbe \\ mxmdebug.xbe and safemode option
Interesting...I just noticed you don't need the double \
| QUOTE (flattspott @ Feb 1 2004, 01:31 PM) |
| Interesting...I just noticed you don't need the double \ |
finally!
\
\\
\\\
\\\\
testing...
I thought you needed the double slashes this way:
/
//
////
//////
Oh well just a test I guess...
Hmmmm... new "WIP" Binaries uploaded. I added the "Circle" tag to ZPoints (See the TestSkin for details), also, trace should be de-activated in the debug version by default (Activate it in your scripts, SCR is the category)
Added MD5 function to SETFUNC
| QUOTE |
when running ActionScripts, you can:
SETSTATE BLANK
To get a black background |
is that BLANK state like MENU, TITLE, or WAIT?
meaning, can you skin the BLANK state? (in mxm_skin.xml or anywhere else)
| QUOTE (Kthulu @ Feb 3 2004, 12:13 PM) |
| QUOTE | when running ActionScripts, you can:
SETSTATE BLANK
To get a black background |
is that BLANK state like MENU, TITLE, or WAIT?
meaning, can you skin the BLANK state? (in mxm_skin.xml or anywhere else)
|
No, Blank is not skinnable for very good reasons

For example: When changing skins (wink, wink, nudge, nudge) or playing Tetris.
Think of it as a clean background for ActionScripts. I might make it color assignable (perhaps allow four corners to be assigned colors) - but that's it.
Did you like the test menu?
| QUOTE |
| For example: When changing skins (wink, wink, nudge, nudge) or playing Tetris |
sorry if i missed the answer to this somewhere, but can skins be changed without rebooting now? and can they be changed through an actionscript?
i'm just trying to figure out what the wink, wink, nudge, nudge is about..
| QUOTE |
| Did you like the test menu? |
i looked at it briefly. the Zpoints stuff is very cool.
| QUOTE (Kthulu @ Feb 3 2004, 12:33 PM) |
| QUOTE | | For example: When changing skins (wink, wink, nudge, nudge) or playing Tetris |
sorry if i missed the answer to this somewhere, but can skins be changed without rebooting now? and can they be changed through an actionscript? i'm just trying to figure out what the wink, wink, nudge, nudge is about.. | QUOTE | | Did you like the test menu? |
i looked at it briefly. the Zpoints stuff is very cool.
|
I hope to have the ability to change skins without rebooting - that's partially what it's about.
When I had the dying 30GB drive, there were also some sever performance issues running any preview videos on screen, which hindered performance of ActionScripts.
As for the ZPoints, I expect to play around a bit more after I get some other stuff done. Currently, I'm adding ONERROR, fixing the EXEC with path bug and a few other things.
Also, the version will be bumped to 0.9o for the next release, so the next update should reflect that.
| QUOTE |
| Added MD5 function to SETFUNC |
Cool, so this can be used to get the MD5 for any file now or am I misunderstanding something?
I was just looking through the ActionScriptReadMe.txt and I didn't see the MD5 stuff in there. Did you forget to update it?
SETFUNC MD5 is for variables, not files.
SETFUNC thisisthehash MD5 "PASSW"
e.g. For a password changer script, you could get input from the user, MD5 it, and then put that into the menu.xml
Yay! Skin switching!
Well I guess it's time to update my Entry Maker Script.
I will probably add MD5 for files, I thought about it after the fact.
Still a bit of work behind the scenes to tweak ActionScripts as a proper vehicle for dialogs. If done right, I will be able to drive a lot of stuff with scripts. This is part of the mechanics that allow ONERROR processing. I have to be careful though, as the scripts and UI stuff "live" in different threads... so UI events must be pushed onto a protected stack and signal the ActionScript to resume processing - except that the ActionScript will actually jump to a handler as in a GOSUB, then return to waiting for more events to happen.
In short, you'll be able to handle all dialog/control events, and process menus. This will make ActionScripts VERY powerful - and as I said, I want to drive a lot fo the changes using ActionScripts when practical.
Cool. So you mean there will be a main loop, and events will be treated as GOSUBs from the main loop?
Can you also add timers as controls?
| QUOTE (geniusalz @ Feb 3 2004, 10:56 PM) |
Cool. So you mean there will be a main loop, and events will be treated as GOSUBs from the main loop?
Can you also add timers as controls? |
Yes, Events will be handled a lot like gosubs.
Scripters will call
CreateMenu <HandleName> <XMLHandle> or CreateDialog <HandleName> <XMLHandle>
then somewhere else call
ExecuteUIObject <HandleName> <Label>
ActionScript will not execute any more commands until an event occurs. At that point, it will perform something similar to a GOSUB to the Label given, filling in event details into the local variable space. RETURN will pause ActionScript execution until the next event.
Events will be pumped into an event queue, so you shouldn't lose any events.
When the dialog or menu goes away, the script will resume where the ExecuteUIObject call was made - so you could, for example, call CloseUIOBject <HandleName> in your event handler to dispose of the dialog - the next Return would jump to the line following the original ExecuteUIObject call.
I have to take care, because a UI event can (and should) be able to create and execute new UI objects, so the return to execution of a cleared dialog, for example, should then pop the stack to the previous exeution thread.
Anyway.... I'm sorting all that out.
As for timers, sure.... shouldn't be a problem. I also have to consider the issue of modeless dialogs (no event handler, per se, but AS will manipulate them, such as a progress dialog, and perhaps read events from the queue)
| QUOTE (flattspott @ Feb 4 2004, 07:50 AM) |
| Don't know if it's possible, but how an FTP only feature for safe mode. It could use a seperate xml file that has just FTP info in it. |
Once dialogs are "in the system" - perhaps there will be an easy way to set up an emergency FTP session.
Let's see when all this starts to gel.
That's why I mentioned it.
Well I still have the problem I mentions pages ago about the ftp server multiple drives and no memory card
Just as a thought why not keep the ftp the same as the current one and then auto mount everything from G and above
| QUOTE (Jezz_X @ Feb 5 2004, 06:05 PM) |
Well I still have the problem I mentions pages ago about the ftp server multiple drives and no memory card
Just as a thought why not keep the ftp the same as the current one and then auto mount everything from G and above |
But that isn't a "bug" - it's a "feature"
There are many technical reasons for the memory card issue, and the "extra" drives are there as a result of the way MXM works. The fact of the matter is that MXM's FTP now gives a clean representation of the drive mappings, and the same code will provide utility for the File Manager as well.
| QUOTE (BenJeremy @ Feb 6 2004, 02:00 AM) |
| There are many technical reasons for the memory card issue, and the "extra" drives are there as a result of the way MXM works. The fact of the matter is that MXM's FTP now gives a clean representation of the drive mappings, and the same code will provide utility for the File Manager as well. |
Ok I never said it was a bug in that post just I forsee it as a problem.
Then might I point out that for non savy users that will probably never need access to anything but c,d,e,f,g and memory cards that you make an option not to auto path the drives like STUV etc or at least give them more friendly names like tdata udata etc etc
Also can someone tell me how to see the virtual keyboard I know its shift-y and it seams shift is right trigger but I cant get it to work
OK, another "WIP" binaries update, just to clean up a few things - fixed SWITCH and some of the control behavior.
Well, a new "WIP" update is available to testers. System UI stuff... see the ActionScript Read me for details. Also, the System UI White Paper has been updated.
Primarily, some support for modeless operation has been included, Timers in dialogs, ReconfigUIObject will refresh the dialog and controls using the XML used to configure it originally, and setting values with the XML commands will also do this automatically.
The TestDialog.xml and Test Script will demonstrate some of this goodness by updating static text controls.
The new WIP looks good, the only thing i may have spotted is that now when you try to run the 'launch game script' (this worked before the new WIP) the dvd drive just opens and closes about 8 times very fast.
The onscreen keyboard and the and the test script is looking good.
| QUOTE (chilin_dude @ Feb 15 2004, 06:20 AM) |
The new WIP looks good, the only thing i may have spotted is that now when you try to run the 'launch game script' (this worked before the new WIP) the dvd drive just opens and closes about 8 times very fast.
The onscreen keyboard and the and the test script is looking good. |
Weird.... I guess I'll have to check that out.
| QUOTE |
BeginDraw UseCurrent MessageBox "Sample" EndDraw Input If %_GP_A% == "1" GOTO Example QUIT
:Example StringInput test SINGLE "testing" QUIT
|
the A button push will get passed onto the virtual keyboard and automatically click the Done button before I even get a chance to change it
| QUOTE (Jezz_X @ Feb 15 2004, 12:54 PM) |
Well i seem to be haveing a problem with the virtual keyboard and scripting if I use somthing like this
| QUOTE | BeginDraw UseCurrent MessageBox "Sample" EndDraw Input If %_GP_A% == "1" GOTO Example QUIT
:Example StringInput test SINGLE "testing" QUIT
|
the A button push will get passed onto the virtual keyboard and automatically click the Done button before I even get a chance to change it
|
Don't use input anymore.
That's the "old" way, and is no longer really useful (kept only for compatibility). By doing things that way, you left a gamepad "A" press in the input queue, which is what the virtual keyboard uses.
Of course, an IQClear would also solve the problem there, but it's much better to use the queue messages anyway.
Oh.... and don't forget, there's now a MsgBox command.
The new "WIP" Binaries have been updated.
Testers: Please take a look at everything.... some of the basic routines have changed. You will notice some things are a bit "cleaner" Let me know your thoughts.
When I was living with some friends who had DSL, it was great.
OK, WIP 1200 is now posted.
Should fix the HTTP 404 issue, might fix the close handles issue (recoded some of that). Floating points routines added. Scripts should run faster, too.... compare results from benchmark.xas between 1200 and earlier builds.
PnP White Paper is more "fleshed out" - please give me feedback on it.
| CODE |
IF "%@MyDialog.Control?CtrlID=106.Item:{UIParam1}.image%" == "true" then SET @MyDialog.Control?CtrlID=110.ImagePath "%@MyDialog.Control?CtrlID=106.Item:{UIParam1}.fullpath%" |
in the internal xml. However now the image control stays the same (::SkyTile) I browsed to several formats, xbx, jpg, png and bmp. It didn't notice any of them.
Hey you didn't update any of the readmes with the new $pi$ thingy.
I just tested it and it works. Cool
| CODE |
Set Num 100 Div Num 5 MsgBox "Num: %Num%" |
Get you 100 instead of 20
OK, I'll have to load up the Lights Out script tonight and see what is happening.
I'll also look at some of the other things, too (DIV).
I didn't have time to incorporate your internal.xml changes yet. I'll bring that with me to work and take a look.
I'm gonna whip up a script to test several things. I'll let you know if I find any more problems.
| CODE |
Set Num 100 Div Num 5 MsgBox "100 divided by 5$eol$Num started as 100$eol$Num should be 20: %Num%"
Set Num 100 Sub Num 20 MsgBox "100 minus 20$eol$Num started as 100$eol$Num should be 80: %Num%"
Set Num 100 Add Num 50 MsgBox "100 plus 50$eol$Num started as 100$eol$Num should be 150: %Num%"
Set Num 20 Mult Num 5 MsgBox "20 times 5$eol$Num started as 20$eol$Num should be 100: %Num%"
Set Test 1
If# %Test% == 0 Then MsgBox "Test is spose to be 1 and it is not$eol$This is what is for Test when it's zero" Else MsgBox "Test is spose to be 1 and it is" EndIf
Set Random1 $rand$ MsgBox "Random1 is %Random1%"
:Again Set Random2 $rand$ Mod Random2 5 If# %Random2% <= 0 Goto Again MsgBox "Random2 is spose to be less then 5: %Random2%"
For I = 0 To 20 MsgBox "I is %I%" 0 200 Next
Set Num 20 FDiv Num 0.50 MsgBox "20 divided by 0.50$eol$Num started as 20$eol$Num should be 40: %Num%"
Set Num 100 FSub Num 5.15 MsgBox "100 minus 5.15$eol$Num started as 100$eol$Num should be 94.85: %Num%"
Set Num 5.3 FAdd Num 67 MsgBox "5.1 plus 67$eol$Num started as 5.3$eol$Num should be 72.3: %Num%"
Set Num 20 FMult Num 2.58 MsgBox "20 times 5$eol$Num started as 20$eol$Num should be 51.6: %Num%" |
All seem to work cept for DIV and FDIV.
As for the lights out game, I just checked it and I don't use division anywhere in it. So thats not the issue. My guess is that it has something to do with your interperater tweaking.
Cause my ColorGen script is messed up too. When you dont specify any args the sliders and values are spose to get set to the middle. Which they did in the last build, With the 1200 one though they start at the 0 value positions.
OK, some quick fixes to get scripts working again. Give WIP 1202 a whirl.
I changed DIV and FDIV slightly, but they should work fine anyway; give them a try.
Performance will probably drop a notch, until I have time to hammer it a bit, but still faster than versions previous to 1200.
Flattspott: I will get the new internal.xml into the build next time around (maybe tomorrow)

content script just updated with some improvements from flattspott and a little better flow logic/error handling.
| QUOTE (koldfuzion @ May 7 2004, 05:15 PM) |
works fine BJ, thanks. Im sure flattspott is running through all his scripts right now 
content script just updated with some improvements from flattspott and a little better flow logic/error handling. |
Not yet, busy getting my ass kicked at Ninja Gaiden. As soon as I get to a save point though, I'll put the 1202 build through my onslaught of test scripts.
Interesting how you made it autoadd any scripts in ActualPath to the action menu now
Edit, nevemind I must of be hallucinating or something.
Okay I just tested my LightsOut and ColorGen scripts. They both work again, well kinda, I was fiddeling around with the Skin enabling part of LightsOut and it.
Before it would let me close the image handle and then rename the file, the it would restart and see the image was missing sort of and be in skinless mode. I'm gonna look into the that part some more though to see if it not an error on my part before jumping to conclusing.

I'll add the capability shortly (I was thinking about it), though.
SETFUNC HexID CvtToBase 16 -1 %nDEC%
Changing the padding doesnt change anything, values would still return unpadded
leaving it off will lock the box.
face008 is always returned for XBMC instead of the needed 0face008
| QUOTE (koldfuzion @ May 8 2004, 01:53 PM) |
SETFUNC HexID CvtToBase 16 -1 %nDEC%
Changing the padding doesnt change anything, values would still return unpadded
leaving it off will lock the box.
face008 is always returned for XBMC instead of the needed 0face008 |
OK, I'll try and look at it a little later (got to head into work for a few hours)
Strange.... I just used this:
SETFUNC TestVal CvtToBase 16 8 1234
MsgBox "Result was converting 1234 to 0x%TestVal%"
and I got "000004d2" for TestVal.
I didn't change anything.... just stepped into the code.
Padding is supposed to be total digits. Use 0 to disable padding.
I'm confused. Is this a good thing or a bad thing?
| QUOTE (flattspott @ May 8 2004, 07:47 PM) |
| I'm confused. Is this a good thing or a bad thing? |
Well, KF said there was a problem, but I'm unable to recreate it.
BTW: Leaving off an argument is bad for functions - there are no "optional" arguments for functions (since they can be used in IF statements)
I assume the last part is in regards to KF saying - leaving it off will lock the box.
| QUOTE (flattspott @ May 8 2004, 08:55 PM) |
| I assume the last part is in regards to KF saying - leaving it off will lock the box. |
Correct. I did not test this.... but regardless, it would be a syntax error.
EDIT:
"(Padding is zero padding, can be set to -1 or 0 to disable)"
dammitjim, i was treating it that using -1 or 0 would turn off "automatic" padding.
but its not a on/off value but the number of digits you want to pad to.. why didnt someone just say that?
EDIT: Merged Topics Fixed
1202 WIP locks up after the WIP message on start
WIP 1197:
-'hanging' menu icons: if theres no icon for an entry, mxm shows the icon of the previous menuentry
-ftp: error 'unrecognized command' with leechftp
SITE shutdown (I think) is case sensitive
1205 WIP:
-Something's going on with the Context stuff now.
When you try to go to About for a game or what-have-you it'll lock up the Xbox.
-Something got broke. The Benchmark.xas will lock up your Xbox. Using the Concept.B skin or MXM Tivo skin since they both have semi-transparent system and message box colors, you can see the "Please wait" messagebox behind the results MsgBox. Then when you press a button to close the results box the please wait one stay and locks up the Xbox
-internal HTTP test script (using an invalid url) returns 404 error fine, but locks the box.
Merging with WIP release Topic...
| QUOTE |
OpenRar COMPVIDRAR z:\MAME.rar GetRarInfo COMPVIDRAR 0 msgbox "Name:%ZipEntryName% Index:%ZipEntryIndex% Type:%ZipEntryType% uSize:%ZipEntryUncompSize% cSize:%ZipEntryCompSize%" UnRarFile COMPVIDRAR 0 z:\test.wmv CloseRar COMPVIDRAR
|
its a single file rar. filename inside is Preview.wmv and the msgbox line reports everything perfectly.
the rar'd file doesnt extract and when it hits CloseRar it locks the box.
so i tried a mutlifile rar, 3 to be exact and
1.getvid.xas
2. test.xas
3. actrionscriptreadme.txt
1 and 2 get reported, locks on the 3rd GetRarInfo
| QUOTE |
OpenRar COMPVIDRAR z:\MAME.rar
GetRarInfo COMPVIDRAR 0
msgbox "Name:%ZipEntryName% Index:%ZipEntryIndex% Type:%ZipEntryType% uSize:%ZipEntryUncompSize% cSize:%ZipEntryCompSize%" UnRarFile COMPVIDRAR 0 z:\test.wmv
GetRarInfo COMPVIDRAR 1 msgbox "Name:%ZipEntryName% Index:%ZipEntryIndex% Type:% ZipEntryType% uSize:%ZipEntryUncompSize% cSize:%ZipEntryCompSize%" UnRarFile COMPVIDRAR 1 z:\test1.wmv
GetRarInfo COMPVIDRAR 2 msgbox "Name:%ZipEntryName% Index:%ZipEntryIndex% Type:%ZipEntryType% uSize:%ZipEntryUncompSize% cSize:%ZipEntryCompSize%" UnRarFile COMPVIDRAR 2 z:\test2.wmv
CloseRar COMPVIDRAR
|
*no blank lines between these, just seperated for easier reading
WIP 1197:
-'hanging' menu icons: if theres no icon for an entry, mxm shows the icon of the previous menuentry
-ftp: error 'unrecognized command' with leechftp

| QUOTE (firefucker @ May 9 2004, 07:55 AM) |
WIP 1197: -'hanging' menu icons: if theres no icon for an entry, mxm shows the icon of the previous menuentry -ftp: error 'unrecognized command' with leechftp |
Do you know what command LeechFTP was attempting to use when it gave the error?
I think directory listing directly after connect.
I will check it again tomorrow.
More like an annoyance:
SITE shutdown (I think) is case sensitive
| QUOTE (geniusalz @ May 9 2004, 08:26 PM) |
More like an annoyance: SITE shutdown (I think) is case sensitive |
Shouldn't be at all... but I'll look into it.
1202 WIP locks up after the WIP message on start.
I dont know if it applied to earlier versions because i always overrode the _autoexec with the datefix script.
I override mine too with a skinswitching script. However my script always pops a MsgBox just fine. 1202 included.
it pops up the WIP msgbox? then you arent overriding it.
or you talking a msgbox for the skin switcher? if this is the case, rename your _autoexec in the mxm.xml to something else and check it without an override.
A MsgBox for my script.
MsgBox "When you reboot your skin willl be %Skin%" 0 1500
I'll rename it though to see.
Works fine for me.
| QUOTE |
| btw flattspot, we need a xbmc config script |
For what?
My bad I thought it said we need your. Meaning XboxMediaCenter.xml.
So you want to be able to set up XBMC from MXM?

I dont get it then. I been sitting here trying different things and i can make it lock every time if i remove the autoexec override.
removed network check code in getvid.xas, still locked
removed context menu, still locked
renamed mxm.xml to mxm2.xml and it will boot fine.
i been using this mxm.xml forever and a day and never had it do that. i only checked it because Kthulu said his was locking at the WIP msg and was shocked when mine did too.
| CODE |
MSGLOG SETLEVEL NET 5 MSGLOG SETFILTER NET INFO ALL ON MSGLOG SETFILTER NET WARNING ALL ON MSGLOG SETFILTER NET ERROR ALL ON MSGLOG SETFILTER NET CRITERROR ALL ON ; Default script traces to off MSGLOG SETFILTER NET INFO SCR OFF MSGLOG SETOUTPUT NET 1.1.1.1 MSGLOG SETLEVEL NET 0 MSGLOG ENABLE NET ON IF $MXMVersion$ !#^ "WIP" GOTO DONE ; Set SecCount $timer$ ; Add SecCount 10000 MsgBox "This is a WIP Release$eol$Do not distribute" 0 10000 ; :TIMELOOP ; SET _GP_ANYBUTTON "" ; SETFUNC MSG_ID IQGetMsgID ANY ; input nowait ; IF %_GP_ANYBUTTON% GOTO SKIPTIMERTEST ; IF %MSG_ID% GOTO SKIPTIMERTEST ; IF# %SecCount% > $timer$ GOTO TIMELOOP ; :SKIPTIMERTEST ; CallScript _ClearDisplay :DONE CallScript _CheckPrep |
Nothing looks changed to me.
.
Very strange indeed, however, I did clean up a few more things in the code involved with ActionDraw lists, so hopefully the next WIP will clean things up.
WIP 1205 is now up.
Nothing much new, outwardly. See if this cleans up the issues you've been having, though.
I've started integrating the XSM/RSM/ZSM plug-n-play stuff. The current routine is having a brainfart over RSM (rar) modules, but picks up XSM and ZSM modules so far. It reads the XSM (unzipping to a temporary directory, for ZSM and RSM) and gets the important information out of it. If it unarchived anything, it removes the temporary directory from Z:
This version will also automatically "install" any XAS files in the MXM directory.
In the future, users will dump modules into a plug-n-play directory, and when MXM reboots, it will "install" all new modules, and prompt for the dispensation of any existing modules that have already been installed (an upgraded module, for example). The Plugins directory will then be ceaned of any "installed" modules, which will be moved into a PnP Repository. They each get their own directory, based on their GUID, with all files from the module unzipped into their repository home directory.
Users will then be able to select if they wish a particular plugin to be "active" by selecting in a dialog (they can also delete the module out of the system, too).
The XSM file is an XML format file, containing information about the module, scripts required, and even data nodes for dialogs and other stuff. It will also tell MXM what files may be used from the archive (required or optional). RSM and ZSM modules are Rar'd or Zipped archives. The base name of the module is expected to be the base name of the XSM archived in that file.
Once I have it in place, skins modules will work in a similar fashion.
wow, its going to take me a little bit to digest all that, cool as hell, but i think like a 8086.
1205
WIP Message Bug seems fixed, I let mine close itself, and also pressed a button to escape it and it never locked. This is without any autoexec running too.
1205
internal HTTP test script (using an invalid url) returns 404 error fine, but locks the box.
just a FYI for testing, im not sure if its the bad url, or the result code that might be messing it up. Im not using any result vars, but rather checking for existance and downloaded filesize in the Content Download script, so it might be the use of the result var.
Do this mean I should re-read the Script whitepaper so I can brush up on the XSM stuff?
Edit: forgot we had a new WIP Bug specific forum.
1205:
Something got broke. The Benchmark.xas will lock up your Xbox. Using the Concept.B skin or MXM Tivo skin since they both have semi-transparent system and message box colors, you can see the "Please wait" messagebox behind the results MsgBox. Then when you press a button to close the results box the please wait one stay and locks up the Xbox
1205:
Something's going on with the Context stuff now.
When you try to go to About for a game or what-have-you it'll lock up the Xbox.
| QUOTE (flattspott @ May 13 2004, 12:21 AM) |
| Do this mean I should re-read the Script whitepaper so I can brush up on the XSM stuff? |
It's a start.... I haven't finalized it, and I have asked for further input from you guys.
I will also look into the Benchmark.xas issue not working.
| QUOTE |
| I will also look into the Benchmark.xas issue not working |
I just found out that it's not just the Benchmark.xas. The TestScript.xas does the same thing too, and now my demo script freezes at the end as well.
The XSM stuff doesn't seem to work at all. I put the XSMTest.XSM file in both $ActualPath$XSMTest.XSM and $ActualPath$\Scripts\XSMTest.XSM
Well, the XSM stuff isn't finished.... some of the stuff to intsall it is present in the latest release, while more is present in the version I'm working on.
Sometimes it's all baby steps. I have to make sure the installation is done right. XSM's are a collection of script(s) and data (and files). The script that gets executed will be named by the XSM's attributes. I haven't worked out all the fine details yet, but they are rapidly forming, as I creep through each step (for example, working out the way the archived files get unzipped and placed, as well as how the "repository" works.)
Once I have the installation nailed, I'll worry about running them.
OK, WIP 1207 is up, seems to run fairly stable.
LightOut (at least the version I'm running) complains about reusing Overlay on the second round. Not sure what that's all about, and I didn't have time to look at the script.
At any rate, I ran it in Release mode with Tetris, Demo, LightsOut, Concentration, Benchmark, and ColorSelector.
I modified the way I deleted the handles at the end of the script.
More done towards "installing" XSM files to the repository. If it finds files in <MXMPath>\Plugins it will attempt to create a repository directory in U:\XSM\
For some reason, it isn't saving the repository index XML file yet. Tomorrow I expect to have time to figure out the last of the XSM/ZSM/RSM install problems and will have a functional install procedure in place, then the fun stuff begins - working out the actual execution of XSM scripts!
as if i wasnt confused enough. BJ starts speaking in a foreign language.. anyone get that? I know it was something along the lines of " this is gonna be bad ass, just give me a little more time" but i didnt get the jist of it all.
| QUOTE (koldfuzion @ May 14 2004, 11:48 PM) |
| as if i wasnt confused enough. BJ starts speaking in a foreign language.. anyone get that? I know it was something along the lines of " this is gonna be bad ass, just give me a little more time" but i didnt get the jist of it all. |
Heh heh....
Well, in English, when you drop in a plug-n-play module, MXM will take that module, at start up, out of the plugins directory, and create a special directory in MXM's own save games directory.
It will do something similar with skins when I get a chance.
So from the user's perspective, they'll just upload the files into a single directory, and when they restart, the new plugins will magically appear for them (and be removed from the plugins directory)
From a script developer's perspective, it means you'll have a "home directory" where the files you've specified are guaranteed to be, already unzipped.
Most of the complexity will be hidden by MXM.
| QUOTE |
| LightOut (at least the version I'm running) complains about reusing Overlay on the second round |
I am aware of this and I believe I have it fixed in the version in got. I'll check.
| QUOTE (flattspott @ May 15 2004, 12:38 AM) |
Neato. A suggestion though. Make it so you can disable plugin searching altogether for those people that complain MXM takes too long to start up.
I am aware of this and I believe I have it fixed in the version in got. I'll check. |
Sounds like a plan - "Disable Plug-and-Play Installation"
Let me know how 1207 works, guys.
Working good so far. Except the Benchmark speed went back up to around 4500.
| QUOTE (flattspott @ May 15 2004, 01:13 AM) |
| Working good so far. Except the Benchmark speed went back up to around 4500. |
Hmmm.... the non-message logging version was at around 2880 when I tested.
At any rate, I can play with that later. Besides a few errands today, I should have most of the day to work on things here.
Forgot to mention that the Context stuff isn't locking the Xbox anymore either.
| CODE |
Test Script - Entry MsgBox "Entry Script Worked"
|
Reset the cache and when I rebooted it showed up in the Dashboards Submenu.
I quess you can stop working on the XSM stuff now. Just kidding.
Ok BJ here's an interesting bug/glitch I happened to come across.
I was making a script (using UltraEdit so I could track any error to the right line) and the total line count was about 351. This was without and empty lines too. In the script I only had one XMLClose and that was at the top at around line 100.
For some reason when I ran the script it said something like so "Error Line(352) XMLClose...".
Obviously there was no line 352, not even an empty one and like I said the XMLClose line wasn't even close to that.
| QUOTE (flattspott @ May 16 2004, 09:19 PM) |
Ok BJ here's an interesting bug/glitch I happened to come across.
I was making a script (using UltraEdit so I could track any error to the right line) and the total line count was about 351. This was without and empty lines too. In the script I only had one XMLClose and that was at the top at around line 100.
For some reason when I ran the script it said something like so "Error Line(352) XMLClose...".
Obviously there was no line 352, not even an empty one and like I said the XMLClose line wasn't even close to that. |
Strange, it should be fine - I had to tweak the line numbering a bit, because of the way the interpretor is, but it looked correct when I was testing things.
Just a guess: maybe the error's with the automatic xml closing at the end of the script, hence line 352.
Interestesting.
So does this mean we shouldn't use XMLClose anymore if MXM is gonna go and do it itself at the end of the script?
Well, good form is to make sure you clean up.... as for the error, I still don't know what is happening, as it doesn't execute an XMLClose, as much as it runs a single routine that cleans up all of the opened handles. There certainly is no way for a syntax error to occur, either.
I'm stupid. I just noticed I had XMLCose. Maybe that was the culprit.
it happens to all of us, i think.
OK, 1210 is now posted. Inside, you'll find BufferTest.xas, which should demostrate the new buffer-related commands.
I've got most of the internet connection stuff coded up. Look for that in the next WIP release, as well as all new file handling code (here's to hoping it doesn't break anything). The only remaining steps are to implement them as part of the "handle" system.
When that's finished, you'll be able to send binary data over the internet or to/from files. I may also introduce read/write random-access file routines. This should make things pretty easy for parsing out XBEs, for example, to change the contents.
.
Cool. I got a question though, is file size something to worry about with this new buffer stuff?
The reason I ask is cause it'd be cool if we could hack halo cache files right from within MXM.
| QUOTE (geniusalz @ Jun 2 2004, 09:04 PM) |
Cool. I was thinking of putting in atleast a basic expression parser/calculator in scripting. Will make so many things less tedious. All those add's, mult's, sub's, and sets getting on my nerve.
Square brackets could be used to indicate expressions. [%a%+1/%b%*(5+1)]
I'll take a look at the code to see if I can do it myself . |
I think I reserved the () for expression stuff.... maybe?
| QUOTE (flattspott @ Jun 2 2004, 11:10 PM) |
Cool. I got a question though, is file size something to worry about with this new buffer stuff?
The reason I ask is cause it'd be cool if we could hack halo cache files right from within MXM. |
Well, I need to include some more file routines... including a position indicator and file size (should be easily supported shortly)
I basically am re-writing the underlying file stuff, to use the same basic interface as the internet connections. This will provide more consistent handling with strings, data values, etc... I've already added support for EOF, file size and file position in the class. It's just a matter of weeding out all of the file-related routines and replacing them with the new classes, which will "live" with the other handles in a common map (currently, files get their own "map" - the internal database that keys a handle to a given name).
You should be able to create a spiffy little raw binary viewer-editor with MXM ActionScript, as well as one-off editors for various files like Halo's cache files.
| QUOTE |
| I basically am re-writing the underlying file stuff, to use the same basic interface as the internet connections. |
and that will replace the current file handling commands... or supplement? do we need to put a hold on any script that will use file handling?
| CODE |
Set COLOR RED
OpenRead InFile Z:\default.xbe OpenWrite OutFile Z:\defaultpatch.xbe
CreateBuffer PATCH 2670592 ReadToBuffer InFile PATCH
Goto %COLOR%
:BLUE SetBufferByte PATCH 1977788 0x32 SetBufferByte PATCH 1977789 0x58
Goto Done
:RED SetBufferByte PATCH 1977788 0x31 SetBufferByte PATCH 1977789 0x33
:Done
WriteFromBuffer OutFile PATCH
CloseHandle PATCH CloseFile InFile CloseFile OutFile |
Works nicely
| QUOTE (koldfuzion @ Jun 3 2004, 12:02 AM) |
and that will replace the current file handling commands... or supplement? do we need to put a hold on any script that will use file handling? |
No, it won't affect the scripts.... I'm just consolidating operations, since both internet connections and disk files have the same sorts of operations performed on them. As usual, I'm maintaining backward compatability.
I'm just offering up the warning that when I switch over to the new routines, things "might" break until they get debugged. I'll expand my buffer test to also perform some file tests too.... BufferTest.xas helped me figure out a couple of lurking issues in the buffer routines.
| QUOTE (flattspott @ Jun 3 2004, 01:48 AM) |
Check this out. The beginings of MXM Patcher in xas form.
| CODE | Set COLOR RED
OpenRead InFile Z:\default.xbe OpenWrite OutFile Z:\defaultpatch.xbe
CreateBuffer PATCH 2670592 ReadToBuffer InFile PATCH
Goto %COLOR%
:BLUE SetBufferByte PATCH 1977788 0x32 SetBufferByte PATCH 1977789 0x58
Goto Done
:RED SetBufferByte PATCH 1977788 0x31 SetBufferByte PATCH 1977789 0x33
:Done
WriteFromBuffer OutFile PATCH
CloseHandle PATCH CloseFile InFile CloseFile OutFile |
Works nicely
|
Nice.
I may need to add "search and replace" functionality in the buffer stuff as well.
Won't this patching business have to stop, because of automatic updates?
Or maybe MXM needs to 'unpatch' itself before updating, and then repatch the new version.
Or maybe it should just ignore any patches applied.
1207 Unrarfile worked fine. 1210 ..it locks the box.
Hmmm... didn't touch anything there, I believe.
I was about to do a release tonight with "untested" internet connection ability and the new core file routines (and geniusalz {} {} fix)
| QUOTE |
OK 1210: OPENRAR COMPVIDRAR z:\%HexID%.rar
OK 1210: GETRARINFO COMPVIDRAR 0
OK 1210: MSGBOX "%ZipEntryIndex% - %ZipEntryCompSize% - %ZipEntryUncompSize% - %ZipEntryName% - %ZipEntryType%"
OK 1210: SETFUNC RARLEN LENGTH %ZipEntryName%
OK 1210: IF# %RARLEN% < 42 THEN MSGBOX "%ZipEntryName%"
OK 1210: IF "%ZipEntryType%" == "file" THEN MSGBOX "%ZipEntryType%"
OK 1210: IF# %ZipEntryUncompSize% != 0 THEN MSGBOX "%ZipEntryIndex%"
LOCK 1210: UNRARFILE COMPVIDRAR 0 Z:\
OK 1207: MSGBOX "Uncompressed"
OK 1207: IF "%ZipEntryName%" #^ "MXM_SS.WMV" THEN OK 1207: COPY z:\%ZipEntryName% %_GameDir% OK 1207: DELETE z:\%ZipEntryName% OK 1207: ELSE OK 1207: COPY z:\%ZipEntryName% %_GameDir%\MXM_SS.WMV OK 1207: DELETE z:\%ZipEntryName% OK 1207: ENDIF
OK 1207: XMLSetValue ContentDialog !.Control:0.text "$eol$Video Downloaded" OK 1207: ENDIF
OK 1207: ELSE OK 1207: XMLSetValue ContentDialog !.Control:0.text "$eol$File does not contain a video." OK 1207: ENDIF
OK 1207: ELSE OK 1207: XMLSetValue ContentDialog !.Control:0.text "$eol$Video Name exceeds the filename limit. Unable to extract." OK 1207: ENDIF |
OK, I'll dump a rar file out thee and give it a whack.
OK, I found the culprit... stack overflow.
In short, the rar library is as ugly as sin... it allocates TONS of crap from the stack, a single operation (before I first tackled it) could allocate 100k from the stack - a HUGE no-no. In this case, I "missed" a spot where I made the allocation use the heap.
Includes OpenConnection, which should let you use Actionscript to talk to Telnet servers (or any similar stream-oriented service you can connect to)
Now all we need is ShoutCast support....
)
| QUOTE |
I was about to do a release tonight with "untested" internet connection ability and the new core file routines (and geniusalz {} {} fix)
|
Explain the last part.
Do this mean I can now use variables like so:
%{List}Item{X}%
Or am I way off?
| QUOTE (flattspott @ Jun 3 2004, 10:22 PM) |
Explain the last part.
Do this mean I can now use variables like so:
%{List}Item{X}%
Or am I way off? |
You are correct.
That should work (but I didn't test it.... maybe I better check it out while I'm running it here)
EDIT: Just tested it... it works.
Cool now I can get ride of all the dual operations in the FileManager in regards to setting list varibales.
| QUOTE (geniusalz @ Jun 3 2004, 10:51 PM) |
Doesn't work for %@xmlname.{x}.{y}% |
OK, I missed that routine, I guess. I'll take a look tomorrow.
Hey I thought of a neat idea. SMS messaging from you xbox to you cellphone.
SMS Servers
Maybe with this new Internet stuff we can do this. Be kinda cool, you go out with your cellphone and if you're little brother tried to play your xbox you'll get a message then you can go back and bust him in the mouth.
Just saw these:
-- FilePos <Handle>
.....Gets position in disk based files (will not work on internet connection "files")
-- FileEOF <Handle>
....."1" or "0" if disk based OpenRead file - "1" for EOF condition (will not work on internet connection "files")
Explain the first one a little more please.
| QUOTE (flattspott @ Jun 3 2004, 11:26 PM) |
Hey I thought of a neat idea. SMS messaging from you xbox to you cellphone.
SMS Servers
Maybe with this new Internet stuff we can do this. Be kinda cool, you go out with your cellphone and if you're little brother tried to play your xbox you'll get a message then you can go back and bust him in the mouth. |
| QUOTE (flattspott @ Jun 4 2004, 12:57 AM) |
Just saw these:
-- FilePos <Handle> .....Gets position in disk based files (will not work on internet connection "files") -- FileEOF <Handle> ....."1" or "0" if disk based OpenRead file - "1" for EOF condition (will not work on internet connection "files")
Explain the first one a little more please. |
FilePos tells you where in the file you are.... if you've read 800 bytes out of a file, FilePos will report "800" - this is analogous to "ftell()" in standard c.
FileEOF is used in read only (and in the future with read-write files) to tell you when you are at the end of the file.
What made you realize this, afte looking at the Super readme.?
I asked you about it back in the day when I first started redoing the readme and saw it in the internal xml, but I guess you didn't notice it.
| QUOTE (flattspott @ Jun 4 2004, 08:10 PM) |
What made you realize this, afte looking at the Super readme.?
I asked you about it back in the day when I first started redoing the readme and saw it in the internal xml, but I guess you didn't notice it. |
Sorry about that.... yeah, reviewing your "super readme" got me thinking about it.
Perhaps expressions will atisfy some of this, if I can figure out a clean way of handling the functions.
| QUOTE (flattspott @ Jun 4 2004, 08:10 PM) |
What made you realize this, afte looking at the Super readme.?
I asked you about it back in the day when I first started redoing the readme and saw it in the internal xml, but I guess you didn't notice it. |
What's this talk of super readme's and whatnot?
Basically it's a revamped ActionScript Readme. Almost everything is comment. It contain almost eveything XAS related I could find. Changelog, Forums, etc.
Now it has pretty much every thing you'll every need in one file. Did A little reoranizing too.
Cool. When do we get to see it?
| QUOTE (flattspott @ Jun 5 2004, 05:22 PM) |
My guess would be whenever BJ decides to start using it... |
I'll include it in the next WIP.

I'm thinking it could use a nice treatment as a formatted document - PDF, HTML or WORD. Imagine that... a programming manual for a dashboard LOL...
| QUOTE (koldfuzion @ Jun 5 2004, 05:35 PM) |
send it to me dangit |
yeah, me too
Well I would but since BJ 'is' gonna use it. everyone might as well just wait for the next WIP.
He said he was gonna check it and fill in anything I missed etc.
Linky
I would appreciate if somebody could format this into a regular document (as I mentioned before, HTML, PDF, or WORD) and help maintain it.
Thanks to flattspott for the nice compilation.
It could replace the AS reference that I put up.
Edit: Not yet... when MXM is released.
| QUOTE |
| I would appreciate if somebody could format this into a regular document (as I mentioned before, HTML, PDF, or WORD) and help maintain it. |
My guess is koldfuzion is gonna take care of the HTML version. (Hint, hint)
I'll try doing a Word version too.
hehe well, the pdf/doc anyway.
| CODE |
XSM Test This is a test of the XSM functionality {65BD716E-DC1A-4d07-9FCD-0C2FFE3B78FE} Popup Test Procedure
|
This file, placed into the "Plugins" subdirectory from where MXM executes will get moved into it's own unique directory in MXM's E:\UDATA directory. Because I'm testing, I'm not "cleaning up" the original plugins directory item, so MXM always "updates" the plugin.
Popups are currently auto-added to the Action sub menu, since they are (for testing purposes) always marked as "active" in the repository index:
| CODE |
1 1 Test Procedure XSM Test U:\XSM\XSM65BD716E-DC1A-4d07-9FCD-0C2FFE3B78FE XSMTest.XSM 1 2 Test Procedure ZSM Test U:\XSM\XSM65BD716F-DC1A-4d07-9FCD-0C2FFE3B78FE ZSMTest.xsm
|
It's slow going here, because so much is interdependent. I'm going to slog through it over the next few days, but I'll be busy with a few things (work and family). I really hope to have PnP by the end of the week, though. If you want to try it out, I can upload the current WIP, but it's missing a few nice things that will be handy to do things right (like access to the XSM's XML for dialogs and the execution path so you can access those files.).
I also need to work in sub script support.
| QUOTE (flattspott @ Jun 6 2004, 11:52 AM) |
My guess is koldfuzion is gonna take care of the HTML version. (Hint, hint)
I'll try doing a Word version too. |
Actually I'm going to start work on it right now

If I can get ahold of KF, to make sure he isn't already...
EDIT: Can't get ahold of him, I've begun work the same way KF would have...
Here's what I did yesterday:

Almost 100% working now; no AI though.
I was thinking of a way to setup online play, but I guess that'll need another thread for the discussion.
WOW!!!
Damn is that awesome man!!! Looks incredibly attractive, very nicely presented... Online play would truely rock... Guess someone better write a x-link pugin
Sweet
I considered trying a Chess one myself but the AI part (from most of the sources I've seen) is pretty involved and complex.
very nice looking.
and yes, it would kick ass to play this across xlink
:::sigh::: I was hoping to have a WIP release out tonight.... but I'm cleaning up some stuff, and currently getting rid of some of the icon issues. With the file cacheing and internal image files (as well as new code to clean up the way images are stored), it's proven to be a bit tricker than expected.
At any rate, you should see some nice improvements within the next day or two when I update the WIP.
OK, WIP 1223 is now up.
Not much to report at the moment, just fiddling with the XBE Icon code and cached image sources.
couple skin bugs. (havent checked with the new wip).
Ftp users always shows 0
justify x right doesnt align right for text.
Is the text issue still around ?(When having it tweened in a "free form" z-pointed menu from a smaller text to bigger text, back to smaller text, it would get very screwy)
Tweening should be OK now, but I'll have to dig in and fix the FTP users and Justify X Right stuff.
Has anybody noticed anything unusual about the Icon stuff in 1223? You might need to reset Menu cache.
| QUOTE |
| Has anybody noticed anything unusual about the Icon stuff in 1223? You might need to reset Menu cache. |
icon bug is gone.. great work fixing this

tested on both normal skins and using zpoints.

MXM has a "proper" TitleImage now (Thanks again, MomDad, for the logo) and it also can search for these icons in the XBEs (does so by default, and failing that, looks for the TitleImage.xbx in the UDATA folder, based on the XBE ID).
Next step is the Games DB for this stuff. I may streamline much of the menu building stuff, too. I'm working on some ways to put the menu loading into hyperdrive and eliminate the menu cache altogether.
I'm still in the process of moving embedded images into MXM 'properly' - no more "BinData.cpp" or the utility to create it. Bundler can put user data into an XPR file, though it's not documented, so I'm putting my nice and small JPG image sources into a single XPR, embedding it, and then getting the data out of there as needed.
This means I can also add the file manager icons (as one big image, and I'll provide a convenience function in ActionScript to display "icons" from a big master image - you define the spacing, then just give the image handle and an icon number to display it in ActionDraw lists) and a few other goodies.
As for help screens, I want to have the ability to define dynamic screens - that means XML-based help information - for MXM and it's actionscripts, the help will dynamically change with the key configurations, and not require the baggage of static 640x480 images.
and speaking of key configurations, I want to clean up that portion to make things more dynamic and configurable for the user and the scripters. Dialog key functions will also have to be updated in some way... if you all have suggestions, please let me know.
| QUOTE |
As for help screens, I want to have the ability to define dynamic screens - that means XML-based help information - for MXM and it's actionscripts, the help will dynamically change with the key configurations, and not require the baggage of static 640x480 images.
|
The way I gather this is that user drop an XML file into the game directory instead of an image.. is that correct? Sounds like a great idea if it is. A default controller image with specific points for button labeling would make it easy to provide game help files. would be cool to add those to the download support too.
Further skin-text issues and justifications: Align Center will move the left edge of the text.. but will not actually center the text. I revisited the Hitman skin since the icons were fixed and unloaded it but could not get the menu label centered correctly.
It also seems that the text area widths have to be much longer than they should be to fully display most text. An area that should display 192.168.1.200 Static just fine more often than not displays 192.168.1.2 the are width has to be increased another inch or two just to get the full text to display.
unloaded = i was overloading MXM in the Hitman Skin by using videos in each bullethole with thumbnails behind those in case the video was missing..a big no-no.
Looks like it's time to give the text gadget a once (or twice, thrice, etc...) over... Not sure why the text width parameter is an issue, though; hopefully, it's a simple fix.
Was the text alignment strictly an issue in the menus, or in general text elements?
As for the help XML, I hadn't really considered using lines to point to the various points in the controller, but that's a possibility. I'll have to work something out for that. There actually are built in DDS files of the gamepad, remote and keyboard. I should probably redo them, though and add an "S" style gamepad picture. I'd prefer to keep it relatively simple; it could really be more of a game-specific skin layout, or I could just have predefined fields for basic help screens (background images, controller display, headings, input definitions).
| QUOTE |
| Was the text alignment strictly an issue in the menus, or in general text elements? |
general text elements, though in the hitman skin, im using one for the menu (horizontal). MXM::menus are fine (just checked using the MXM Amp skin)
I will create a simple skin with the area defined and XML used and post all that.
here is a screenshot of the robo ocean skin.. notice the ip info out of bounds.

here is a crop from the Counterstrike skin.

Its 1:1 ration top left is top left of full image (0,0) so you can check coordinates.. i just didnt want to post the full sized image (peave of mine)
This is the xml for it
| QUOTE |
<LayoutElement Type="Text" Source="IP"> <TextColor>0xBBFFFFFF</TextColor> <Shadowcolor>0xE9000000</Shadowcolor> <Pos L="62" T="232" W="130" H="16"/> <Scale X="false" Y="True"/> <Proportional>true</Proportional> <Justify X="left"/> </LayoutElement> |
Note the bold: those are very close to the full "grey box" coordinates/size area for the IP. the only way to fill that area and see the full text is to make the textbox 210 or something. Thats way out from what it should be.
BTW.. sorry for not pointing this out sooner. You were working on other things at the time and didnt want to interupt your thought process, but being a WIP tester..I still should have posted something instead of compensating for it (the text visible width issue).
| QUOTE |
| MXM has a "proper" TitleImage now (Thanks again, MomDad, for the logo) |
I just deleted my previous save (displayed the original MXM icons) from the MS Dash memory list.
Set my preferences and skin choice and scrolled back through the list. MXM does not show up in the list anywhere. An I think the original save was shown as "Unknown Title" but displayed the MXM Icon. .
Also, XBMC doesnt show the icon (shows default icon).. but it does for Avalaunch.
Yeah, the "Skins Manager" is intended to support the idea of setting the actual skins "in rotation" - you would select from the skins list, enabling or disabling the skins to use either randomly or sequentially.
There should also be a way to delete skins (and plugins) out of the repositories.
Skins will also be able to handle scripts....
OnLoad (Launches script when skin is loaded, before initialization, giving script a crack at manipulating the skin before initialization)
OnEvent
OnTimer (Both of these can allow the user to manipulate an image element)
I have to think about this a bit more, but I'm open to ideas here to firm it up. If the BeginDrawTarget stuff is working good, then I can add in the skin script stuff.
)
fxp (xbox2xbox) transfer speed of 10.4 KBps with this latest WIP. I think it was running 6-7 (up) a couple versions ago.
Will check PC->xbox upload a little later.
| CODE |
CreateBlankImage testimage 50 50
BeginDrawTarget testimage usecurrent box 0 0 50 50 0xff0000ff 0xff0000ff EndDraw
BeginDraw Image testimage 100 100 50 50 EndDraw IQWaitMsg Any SaveImage testimage Z:\testimage.png CloseHandle testimage
|
Well, for SaveImage, I should note that the image will always be saved as BMP (no easy way around that)
EDIT: But there is a bug there, and I'll fix it shortly (as well as looking into the size issue)
I'll have to add some code to look at icons, while I'm at it.
| CODE |
CreateBlankImage testimage 50 50 LoadImage testicons ::filemanager SetIconSize testicons 32 32
BeginDrawTarget testimage usecurrent box 0 0 50 50 0xff0000ff 0xff0000ff ' box 10 10 50 50 0xff00ffff 0xff00ffff ' box 20 20 30 30 0xff0000ff 0xff0000ff EndDraw
BeginDraw box 97 97 56 56 0xffffffff 0xffffffff Image testimage 100 100 50 50 Image testimage 200 100 50 50 45 -1 -1 -1 -1 25 25 Image testimage 300 100 30 30 45 -1 -1 -1 -1 25 25 box 90 155 430 230 0xff808080 0xff0000ff icon testicons 1 100 160 icon testicons 2 150 160 icon testicons 3 200 160 icon testicons 4 250 160 icon testicons 5 300 160 icon testicons 6 350 160 icon testicons 7 400 160 icon testicons 8 450 160 icon testicons 11 100 250 icon testicons 12 150 250 icon testicons 13 200 250 icon testicons 14 250 250 icon testicons 15 300 250 icon testicons 16 350 250 icon testicons 17 400 250 icon testicons 18 450 250 icon testicons 18 100 300 16 16 icon testicons 18 150 300 24 24 icon testicons 18 200 300 32 32 icon testicons 18 250 300 48 48 icon testicons 18 300 300 48 48 30 icon testicons 18 350 300 48 48 45 icon testicons 18 400 300 48 48 60 EndDraw IQWaitMsg Any SaveImage testimage Z:\testimage.bmp CloseHandle testimage CloseHandle testicons
|
The rotated icons are a bit screwed up.... probably because of the transformation performed, though I center the rotation on the center of the icon's source rectangle.
At any rate, it demonstrates the proper use of icons
| QUOTE |
| Image testimage 200 100 50 50 45 -1 -1 -1 -1 25 25 |
| QUOTE (geniusalz @ Jul 17 2004, 09:20 AM) |
Cool. So is the size issue fixed? Just to let you know, the rotation bug exists with 'normal' images as well, not with icons only. And what's all these extra arguments? |
Size issue seems to be fixed.
Other arguments (-1 defaulting on some)
Image <Handle> <X> <Y> [<Width> [<Height> [<Rotation> [<SrcOffX> [<SrcOffY> [<SrcWidth> [<SrcHeight> [<CntrX> [<CntrY>]]]]]]]]]..... Used to display an images.
Oh, and the rotation is demonstrated on the example script - and seems to work OK. I should add a screenshot call and save that to HD as well.
Rotation works ok now, after I define the center coordinates.
Images save fine now, but I'm having trouble with them not showing up on the screen (whereas they did show up in the previous build, but of the wrong size)
I'll post details later, if I figure out the problem.
Edit:
Got the bug. It stretches the first pixel (top-left) to fill the whole image. This happens when an image made using createblankimage is drawn to the screen. Interestingly, the image saves properly.
It even happens in the script you posted, but since the image a box, it fills the whole image with the same color anyway, so the bug can't be seen. But when you uncomment the other two BOX commands, the boxes don't show up on the screen, but show up in the saved file.
| QUOTE (geniusalz @ Jul 18 2004, 06:06 AM) |
Rotation works ok now, after I define the center coordinates.
Images save fine now, but I'm having trouble with them not showing up on the screen (whereas they did show up in the previous build, but of the wrong size)
I'll post details later, if I figure out the problem.
Edit:
Got the bug. It stretches the first pixel (top-left) to fill the whole image. This happens when an image made using createblankimage is drawn to the screen. Interestingly, the image saves properly.
It even happens in the script you posted, but since the image a box, it fills the whole image with the same color anyway, so the bug can't be seen. But when you uncomment the other two BOX commands, the boxes don't show up on the screen, but show up in the saved file. |
OK, I think I have an idea what's happening there....
I'll try and get that fixed today.
| CODE |
MinimumBuild 1226 CreateBlankImage testimage 50 50 LoadImage testicons ::filemanager SetIconSize testicons 32 32
BeginDrawTarget testimage usecurrent box 0 0 50 50 0xff0000ff 0xff0000ff box 10 10 30 30 0xff00ffff 0xff00ffff box 20 20 10 10 0xff0000ff 0xff0000ff icon testicons 43 10 10 EndDraw
BeginDraw box 97 97 56 56 0xffffffff 0xffffffff Image testimage 100 100 50 50 Image testimage 200 100 50 50 45 -1 -1 -1 -1 25 25 Image testimage 300 100 30 30 45 -1 -1 -1 -1 25 25 box 90 155 430 230 0xff808080 0xff0000ff icon testicons 1 100 160 icon testicons 2 150 160 icon testicons 3 200 160 icon testicons 4 250 160 icon testicons 5 300 160 icon testicons 6 350 160 icon testicons 7 400 160 icon testicons 8 450 160 icon testicons 11 100 250 icon testicons 12 150 250 icon testicons 13 200 250 icon testicons 14 250 250 icon testicons 15 300 250 icon testicons 16 350 250 icon testicons 17 400 250 icon testicons 18 450 250 icon testicons 18 100 300 16 16 icon testicons 18 150 300 24 24 icon testicons 18 200 300 32 32 icon testicons 18 250 300 48 48 icon testicons 18 300 300 48 48 30 icon testicons 18 350 300 48 48 45 icon testicons 18 400 300 48 48 60 EndDraw Screencapture testScreen IQWaitMsg Any SaveImage testimage Z:\testimage.bmp SaveImage testScreen Z:\testshot.bmp CloseHandle testimage CloseHandle testicons
|
A small note about SaveImage - it writes out based on the surface, so the size of the bitmap saved may be larger than the size of the image. Try not to be alarmed at this.... or build your image in sizes that are multiples of 8s. In the above case, the 50x50 image actually gets saved as 64x64 (that's how it gets internally allocated). Indeed, it might be best to allocate images that way.

Oh... and I think KF meant MB/s - I've gotten upwards of 7MB/s transfer between two Xboxes tonight with the new build.
Cool that the bug is fixed... but now there's another in there.
Images loaded from file are displayed in wrong sizes.
Here's a screenshot:
http://individual.ut...rs/imagebug.jpg
This is the pic:
http://individual.ut...scrs/tetris.jpg
Edit: images are now links

I've been updating the XBE launch code (taking a cue from X-Port) to include Emu launch data support, and also adding in the GamesDB stuff.
I am also considering dropping "packets" of info on XBE files, when found, in the form of:
default.xbe.nfo (for example)
These would be compact records that would make it faster for MXM to recall specific information.
If all goes well, we'll do away with the menu cache altogether, and I might add some goodies like auto-fills for directories containing emu ROMs (you would put an MXM_Entry.xml that describes how to handle the ROMs, their extensions, etc)
I also want to revisit the controls, and I'm considering adding some icon shortcuts to the list control (Define an icon image and each data item can have an icon number to go with it)
For the GamesDB, you will be able to query an XBE for ID and size (same time), then apply those values to get an XML node associated with that file. The script can change the node, then save the GamesDB back out. This should allow updating over the net. I still need to standardize the values, but they will be used to build menus and get previews.
Oh, and geniusalz - can we get the updated Tetris and Concentration posted?
I'll get tetris tidied up into a package, but flattspott was doing concentration.
| QUOTE (BenJeremy @ Jul 21 2004, 04:56 AM) |
| I might add some goodies like auto-fills for directories containing emu ROMs (you would put an MXM_Entry.xml that describes how to handle the ROMs, their extensions, etc) |
That sounds excellent!
| QUOTE (geniusalz @ Jul 21 2004, 05:56 AM) |
| I'll get tetris tidied up into a package, but flattspott was doing concentration. |
OK... forgot about that

Didn't
flattspott say he was going out oif town?
Did I mention that "MinimumBuild" is now a required field in the XSM file?
I'll be 'inactive' for about a month. So I'll try to get stuff polished up before I leave.
pelago:
BJ and myself have tried to get in touch with you, but it seems you don't check your PM's here. So, go check your inbox.
| QUOTE (BenJeremy @ Jul 21 2004, 03:56 AM) |
I've been updating the XBE launch code (taking a cue from X-Port) to include Emu launch data support, and also adding in the GamesDB stuff. If all goes well, we'll do away with the menu cache altogether, and I might add some goodies like auto-fills for directories containing emu ROMs (you would put an MXM_Entry.xml that describes how to handle the ROMs, their extensions, etc) |
Sweet mother of mary

.
This is what I have been waiting for

. Thankyou so much!!! I wanted command line support for xports emus for so long and finally it is here just as the new mame emu is coming out

. The auto add roms is also something I have been asking about, so the fact you are even CONTEMPLATING it is music to my ears.
The even better news is that I've also finally got a job so I will FINALLY be able to drop some money in the tip jar at the end of this week

- It's about time too
| QUOTE (geniusalz @ Jul 21 2004, 07:28 PM) |
Little bit of bad news for BJ. Remember the first bug where a 50x50 image created using CreateBlankImage showed up as 40x40 on the screen? Well, that bug's back. |
OK, I will look at it. Adding GamesDB stuff, too.... MXM will update a counter everytime a game is launched, BTW.... allowing the user to SortField on most used games (or most recent)
OK, that's something that's ALWAYS had me puzzled.... now I have it figured out.
Swizzled vs. Linear!
When used as sprites, you have to use different scaling factors. While either format may have a texture area larger than the actual image, swizzled scaling already factors in the "real" image size, but linear textures do not.
Messy, but simple enough for me to add the check.
The next WIP will have the fix (already working here)
This may also be the problem with the Counterstrike skin's texture bug, but that gets fixed in a different spot.
| QUOTE (BenJeremy @ Jul 22 2004, 05:39 AM) |
OK, that's something that's ALWAYS had me puzzled.... now I have it figured out.
Swizzled vs. Linear!
When used as sprites, you have to use different scaling factors. While either format may have a texture area larger than the actual image, swizzled scaling already factors in the "real" image size, but linear textures do not.
Messy, but simple enough for me to add the check.
The next WIP will have the fix (already working here)
This may also be the problem with the Counterstrike skin's texture bug, but that gets fixed in a different spot. |
Besides remembering once looking at a 'swizzler' function somewhere in the code, I have no idea what you're talking about. But good to hear you got the bug.

Edit: Now that the issue is fixed, are we getting skin scripts soon?
| QUOTE (geniusalz @ Jul 21 2004, 10:19 PM) |
Besides remembering once looking at a 'swizzler' function somewhere in the code, I have no idea what you're talking about. But good to hear you got the bug. |
Well, "swizzled" textures are very bizarre to look at, in memory. Compared to "Linear" textures which have each pixel in memory, lowest byte being the upper left, working entirely across a row, each row in order; swizzled jumbles it all up, creating the image in grids.
In other words, if you "pretended" a swizzled texture was linear, it would appear as if somebody cut it up into squares and scrambled it all up.
It's supposed to be more efficient for the video chip to process as a texture.
| CODE |
OpenGameDBNode gamenode 0x12349876 4321 Set @gamenode^title "First Try" SaveGameDB
|
Creates a games DB entry under the XBEID 0x12349876 for a file sized 4321 bytes with a title of "First Try"
It's not populated. Expect that shortly.... I expect the following bits of information to be tracked:
Title
Game description
Publisher
Genre
Icon
Preview Media
Number of Launches
Last Launch Date
Rating (As in how good the game is)
Version (Useful for homebrews)
Password Protection (Not sure how I want to do this one yet)
LaunchDataSetup (Used to form LaunchData structures, as in XPort's emus)
- TotalSize
- FillByte
- Field
-- Name
-- Type (0=Numeric, 1=String, 2=WString, 3=Float, etc...)
-- Offset
-- BitOffset
-- Bitlength
In some cases, the info will be filled out as MXM examines XBEs and extracts the titles, for example. The XBE ID can also identify a publisher (High order word). Icon, by default will point to the XBE, as will media.
I have some predefined stuff.... I'll generate a default database and save it out if one does not exist.
Size can be "0" - this will be the default, regardless of the size given.
The database could be maintained as just an XML file, but by accessing it through a couple of special commands, I can track change events (SaveGameDB) and make on-the-fly adjustments. I'll take a similar approach to the menu system, when I revamp that.
This is the first step to making the menus more efficient; the menu system will access the database for a lot of info.
I also plan on dropping "hint files" wherever XBEs are found. More details on that later.
| QUOTE (geniusalz @ Jul 21 2004, 06:36 PM) |
pelago: BJ and myself have tried to get in touch with you, but it seems you don't check your PM's here. So, go check your inbox. |
Ooh, I didn't notice you had PMed me (I think my Google toolbar popup blocker must have been blocking the popups.)
Thanks.
Few important things, I guess:
-Max. number of players
-Live support
-System link support
This should be accessible to the skin, so you can see that information while scrolling through.
Is game size total game size, or xbe size? If it's total size, then a little 'game manager' could be used to see how much space each game is taking up on the HD.
Yes I was in Texas but I just got home
@BenJeremy
--MXM used to be the definitive xbox dash...everyone outside of the evox noobs used it and it was easily the most prestigious, chic xbox app avaliable.
Now, avalaunch is higher ranked in both the usage and "cool" stakes, and unleashx is by far the easier dash to customise and use.
In a month or so, avalaunch will have a full 3D user interface...what'll happen to mxm then?
Instead of letting all these lesser dashes go steaming past, at least try to drum up a bit of the old interest MXM has lacked of recent, brush up a WIP and release it properly, as MXM v.2 .
You want to add more features? Great! But add them in future versions of the dash.
Trying to make the perfect dashboard before release makes no sense, it'll just keep people from using an excellent dash now. live for the present!
As it stands now, there's a definite list of stuff that will be done before releasing. This includes a refined plugin system, content download capability, extreme ease of use/configuration, etc
Work on many of those things has started.
Also, quite a few of those things are tied in with each other, so releasing it before those things are done doesn't make much sense.
It's a huge improvement in many ways over the old MXM, and is extremely expandable through plugins (the main system that is holding up this release).
OK, WIP 1229 is now up.
Please look at this one and give me your feedback.
Oh... and turn off Menu Cacheing. You won't need it anymore (I think). I'm still not finished, but let me know of any quirks you encounter with loading your games.
This version also saves the aforementioned "hint" files, which saves a bit of time getting XBE information, as I don't have to go through the contortions to extract it from the XBE headers.
I will use the data in the GamesDB shortly, but not yet in this release, though it does generate the file after loading a dynamic menu.
Lastly, I corrected a small bug - some XBEs contain embedded bitmaps, instead of XPR files for titleimage data.

::I patched .xbe with the sky and logo patch, but it never shows up, goes straight to robo loading screen after 5 or 6 seconds?
::Some icons in the menu load noticably slow (I would guess due to the fact they are being pulled from the second place MXM looks for icons)
All in all though, a fantastic update, as I said before loading has been greatly reduced, even on first clean boot... Well, if I run into anything else, I'll let you know...
EDIT: And you are correct sir... No menu cache needed...
As for the image stuff, it's flop'd back to images loaded from file showing up big in build 1228 (flop'd as in flip flop)
I'm checking 1229 shortly
| QUOTE (geniusalz @ Jul 23 2004, 08:32 AM) |
No caching!
As for the image stuff, it's flop'd back to images loaded from file showing up big in build 1228 (flop'd as in flip flop)
I'm checking 1229 shortly |
I missed that bit with the images again.
I will work on it tonight.... it's getting to be a real pain in the ass getting things working consistent, as the M$ library code seems to be the culprit here.
Observations on the caching stuff:
-First time delay is about 4 seconds, as opposed to the 7-8 seconds before (with recursive off) for my system
-With caching off, loads menu in about 2 seconds, as opposed to the 7-8
-With caching on, loads instantaneously in both versions
---After resetting cache, loads in 2 seconds, as opposed to 7-8 before
In each case, it's an improvement over the old system, but the old sytem with caching on is faster than new system with caching off (understandable)
Maybe you could move some of the initializations (like FTP) to after the main layout has loaded. Most other dashes even scan games after the main screen has loaded.
Another thing you could look at is 'detection' of a network cable being plugged in after boot.
Kludgy as hell, since the Xbox libs create textures differently, apparently, between blanks and loading from a file, though there is no way for the programmer to find out, since those interfaces are not exposed.
I've also incorporated preliminary games db dsupport. Go ahead and update your gamesdb.xml file (via ActionScript, since MXM will save out it's stored gamesdb when launching an app). It also tracks launchcount and launchtime. I will probably add those into the menu system when I get a chance.
In the future, you'll be able to sort on these falues as sortfields (I need to dig into the way I've been handling sortfields to make sure this happens).
Hmmm.... Have to work on the GamesDB a bit. Those damn homebrew games screw things up a bit (most having ID of 0 or the author uses the same ID all the time), which is why I tie in the size, if possible.
I have to fix this small problem, then the homebrew stuff should be in decent shape - but otherwise, it works great.
Also, I may dig into "It's About Choice" and clean it up for the next release IT looks a bit hosed up on this WIP build.
Well, WIP Build 1231 is now up.
Cleaned up some of the GamesDB stuff. Still not perfect yet, but getting there. This stuff should handle all that homebrew stuff using the same XBE IDs. Not much I can do about the Icons, but you should be able to specify "thumbnail" and "media" in your GamesDB entries, so if somebody writes an appropriate script to add these entries after downloading the content, it "should" work.
I could use a little draw command, called "ContinueDraw", or an additional parameter in begindraw, that doesn't clear the image. Don't really need it for tetris, but it will help me put in some cool effects.
*Polishing up tetris into an XSM file
As for the gamesDB, are you planning to update it through xbox-skins.net? Or are you going to include the whole DB with MXM, so it can automatically add info/live support/etc?
And for context scripts, a handle pointing to the appropriate gamesDB XML node would be cool. And a command to update the DB to go with that (or it could just update it whenever the script exits, if there are any changes)

As for pointing to the node, it should be a simple enough issue to use predefined ID and size variables in context. I also need to add the ability to fully update the values (i.e. the MD5, which requires scanning the XBE completely).
Usecurrent makes a new transparent image.
Without usecurrent, it makes a new black image.
I want another parameter to tell it to not blank the image, so it keeps the previous content.
Hmm... programatically, BeginDraw and BeginDrawTarget put a black box as the first "ActionDraw command" in the list if there is no "usecurrent" option.
Otherwise, if "usecurrent" is there, it leaves the first command alone. I may double check here, to see if there's something clearing the display - but my intention was to allow you to overdraw the screen, originally.
As it stands, I need to fix something in BeginDrawTarget anyway (I forgot to adjust the size of the box to match the size of the target image.)
If you do remove the command to clear the image on 'begindrawtarget usecurrent', make sure there's still a way to clear the image (i.e. make it completely transparent)
Where can you get the latest WIP? I looked on xbins they still have just .9n6?
| QUOTE (a weasel @ Jul 25 2004, 02:59 PM) |
| Where can you get the latest WIP? I looked on xbins they still have just .9n6? |
Sorry, WIP builds are not available publically - the reasons can be found elsewhere in this forum. Those who are asked to participate in testing are typically MXM users who've shown a great deal of dedication and enthusiasm by producing skins, tools, or useful scripts. The WIPs are intended to get feedback and shake out any bugs (which means risk on their part, as well).
The current release is taking a while simply because there is so much going onto the new version; once the goals are met, and the bugs seem to be worked out, I will do a release. Hopefully, we are closing in on those targets; all I can ask is patience.
Well guys it seems like I am way out of the loop since I last tried a WIP. Lots of new stuff.
Anywho between work and being tired/lazy I havent really been interested in scripting lately.
However I decided I will put some serious effort into perfecting all my scripts and finishing half-assed ones too.
First up is LightsOut. I want to replace the crappy solutions stuff with macros where you'll be able to watch the game solve itself.
Now I have some other ideas for XSM type scripts but I have no idea how I am suppose to call subscripts from the XSM module. As an example the Tetris one. How would I call the menu script ?
| QUOTE (flattspott @ Jul 25 2004, 03:58 PM) |
Well guys it seems like I am way out of the loop since I last tried a WIP. Lots of new stuff.
Anywho between work and being tired/lazy I havent really been interested in scripting lately.
However I decided I will put some serious effort into perfecting all my scripts and finishing half-assed ones too.
First up is LightsOut. I want to replace the crappy solutions stuff with macros where you'll be able to watch the game solve itself.
Now I have some other ideas for XSM type scripts but I have no idea how I am suppose to call subscripts from the XSM module. As an example the Tetris one. How would I call the menu script ? |
| CODE |
XSM Test 1230 This is a test of the XSM functionality {65BD716E-DC1A-4d07-9FCD-0C2FFE3B78FE} Popup Test Procedure
|
Here's an example.
Don't forget MinimumBuild now... or it won't get installed.
oh yeah
Icon <Handle> <IconNumber>
Is the number part basically for the internal icon set?
And how would I use global variables in expressions between multiple scripts inside of one XSM module?
Ok cool , so basically any CallScript will look inside the XSM module for the script among other things.
I think I got it now
| CODE |
Align 1231 This is a test of the XSM functionality {0000716E-DC1A-4d17-9F11-0111FE3B78FE} Popup Test Procedure
|
What I am doing is trying to simplifly aligning grid based games, Lightsout Concentration etc to be centered on screen.
Now I just have to use "CallScript Alignment 5 5 20" to get the screen centering done.
This I can drop this subscript into other Games too.
| QUOTE (flattspott @ Jul 25 2004, 04:10 PM) |
oh yeah
Icon <Handle> <IconNumber>
Is the number part basically for the internal icon set?
And how would I use global variables in expressions between multiple scripts inside of one XSM module? |
For Icons, you need to SetIconSize <Image> <Width> <HEight> to "break up" the image into equal parts.
For example, the internal "::FileManager" image is 256x256, and has 64 icons of 32x32 in size (See the example in an earlier post). So "SetIconSize FMIcons 32 32" tells the image with handle "FMIcons" to define its icons as 32x32, so icon "0" would be the upper 32x32 block.
As for variables, remember that subscripts "inherit" local variables from the caller.
yeah i figured they were just for beta testers. sorry for the noob question.
| QUOTE (BenJeremy @ Jul 26 2004, 12:05 AM) |
| Don't forget MinimumBuild now... or it won't get installed. |
No wonder my tetris zsm doesn't work..
*off to fix it.
| QUOTE |
| As for variables, remember that subscripts "inherit" local variables from the caller. |
Does it work the other way round as well, with changes to variables in the subscript being reflected in the main script?
And in my XSM, I'm using this: