xboxscene.org forums

Author Topic: Realtime Skin Changing  (Read 683 times)

KAC

  • Archived User
  • Full Member
  • *
  • Posts: 135
Realtime Skin Changing
« on: September 30, 2004, 12:21:00 PM »

I read BJ added realtime skin changing without the need to reboot.  That's cool......I've been reading this forum for a looooong time waiting for the next release.  

You know what would be cool?

If you can set the dashboard to automatically change the skin every 30 seconds or 1 minute (user defined time) so that the different skins themselves become the screensaver instead of having an actual screensaver kick in.    <
Logged

chilin_dude

  • Archived User
  • Hero Member
  • *
  • Posts: 3068
Realtime Skin Changing
« Reply #1 on: September 30, 2004, 12:31:00 PM »

I'm certain that would be easily possible...
The skin switching is VERY smooth at the moment Imho.

I think you could easily do this through a actionscript, using some
::If inactive::
tag to the code... Then you could get it to switch the skin... It would take some work from BJ but I'm sure it would be quiet easily possible, however I have been known to be wrong in the past!  <
Logged

SumDumGuy3

  • Archived User
  • Newbie
  • *
  • Posts: 48
Realtime Skin Changing
« Reply #2 on: September 30, 2004, 01:13:00 PM »

Oh ho HO ho (devilish laugh), allowing us to evoke scripts in response to certain events... Now that idea has merit!!!

Say, every time the screensaver comes on, it first checks to see if a actionscript is available for it and if so it runs it first, thus allowing you to do things when the xbox is inactive.

If you go to launch a game or app, it first runs any script associated with that even, thus allowing you to add statistical information for how often you launch what (and/or for logging purposes you nosey person you hehe).

Oh, a Shutdown event, to let you play like a windows style shutdown sound. I have this great one from homestarrunner.com. When I turn off my computer, strongbad comes up and says "It's about time, why don't you go outside or something.... NERD!!!" hahaha...

What other events could scripts be written for? I think that would rock...

With regard to the skin switching... I have only been a wip tester for a day and a half or so now, so don't hold me to anything, but I did have some stability issues when I changed it a lot without rebooting. A lot being say more than 10 times in a row. Now, I think if previews could be shown of the skins then people would not want change it quite so often in one sitting (unless you do make an automatic skin changer hehe...)

Anyway, just had to chime in on that one...
SDG  <
Logged

BenJeremy

  • Archived User
  • Hero Member
  • *
  • Posts: 5645
Realtime Skin Changing
« Reply #3 on: September 30, 2004, 07:55:00 PM »

The problem of changing skins is that the system becomes a little less stable for each change - it's the nature of all of the resource juggling that's going on. I'm working on cleaning things up, but it will not be perfect enough to change the skins more than a few times (which is why a preview image is really needed in each skin)

As for screensavers, I'm cogitating on that a bit, at least as far as making it somewhat independent of the skin, possible, as well as more complex interaction using ActionScripts and 3D models.


 <
Logged

flattspott

  • Archived User
  • Hero Member
  • *
  • Posts: 1220
Realtime Skin Changing
« Reply #4 on: September 30, 2004, 08:29:00 PM »

Hows this for a scriptsaver.  It pauseable too...

CODE
MinimumBuild 1230

Set Index 1

:Loop
SetFunc Input IQPeekMsgID
If %Input% != "" Gosub InputHandler
Gosub DrawLineArray
Add Index 1
If# %Index% == 100 Then
   Set Index 100
EndIf
Goto Loop

:DrawLineArray
BeginDraw
For M = 0 To %Index%
   Set LineXa%M% %($rand%640)%
   Set LineXb%M% %($rand%640)%
   Set LineYa%M% %($rand%480)%
   Set LineYb%M% %($rand%480)%
Next
For I = 0 To %Index%
Set Change %($rand%2)%
If# %Change% != 1 Then
   Line %LineXa{I}% %LineXb{I}% %LineYa{I}% %LineYb{I}% Blue
   Box %LineXb{I}% %LineYb{I}% 5 5 Red Red
Else
   Box %LineXb{I}% %LineYb{I}% 5 5 Blue Blue
   Line %LineXa{I}% %LineXb{I}% %LineYa{I}% %LineYb{I}% Red
EndIf
Next
EndDraw
Return

:InputHandler
IQWaitMsg Any
If %MSG_ID% == UI_BACK Then
   Quit
Else
   IQClear
   IQWaitMsg Any
EndIf
Return
 <
Logged