Ive decided to rewrite this for everyone, it seems that things were getting really messy, and I was starting to get annoyed at not seeing the animation when UIX starts, instead I was seeing strands od DNA flying at me.
You will need 2 additional files for this too work, neither of which can be found inside one of the xip's that comes with UIX. The only Dash I know of that has it built-in is BlackstormX. Would be a good idea to get these files first.
Backing_dna.xm
Backing_dna_SIDES.xm
they come from the Skin_Menu.xip in BSX1.1
Next open up mainmenu.xip/default.xap and at the very top of this file add the following.
CODE
DEF theDNA1 Transform
{
children
[
Spinner
{
rpm 2
axis 0 1 0
children
[
DEF DNA1 Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "MenuCell"
}
}
geometry DEF DNA1_Mesh Mesh { url "Backing_dna.xm" }
}
]
translation 0 0 0
}
DEF DNAString1 Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "FlatSrfc/PodParts"
}
}
geometry DEF DNAString1_Mesh Mesh { url "Backing_dna_SIDES.xm" }
}
]
translation 0 0 0
}
]
}
]
scale 12 12 12
rotation 0 0 .5 0.1745330
//translation -4400 0 -5100
translation -5400 0 -5100
}
DEF theDNA3 Transform
{
children
[
Spinner
{
rpm 2
axis 0 1 0
children
[
DEF DNA3 Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "MenuCell"
}
}
geometry DEF DNA3_Mesh Mesh { url "Backing_dna.xm" }
}
]
translation 0 0 0
}
DEF DNAString3 Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "FlatSrfc/PodParts"
}
}
geometry DEF DNAString3_Mesh Mesh { url "Backing_dna_SIDES.xm" }
}
]
translation 0 0 0
}
]
}
]
scale 11 11 11
rotation 0 0 1 -.523599
translation 0 0 -5000
}
DEF theDNA5 Transform
{
children
[
Spinner
{
rpm 2
axis 0 1 0
children
[
DEF DNA5 Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "MenuCell"
}
}
geometry DEF DNA5_Mesh Mesh { url "Backing_dna.xm" }
}
]
translation 0 0 0
}
DEF DNAString5 Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "FlatSrfc/PodParts"
}
}
geometry DEF DNAString5_Mesh Mesh { url "Backing_dna_SIDES.xm" }
}
]
translation 0 0 0
}
]
}
]
scale 11 11 11
rotation 0 0 .3 -0.1745330
//translation 3000 0 -5100
translation 4000 0 -5100
}
Save and close the xap.
Insert the 2 DNA*.xm files into the xip and save and close it.
That should get the DNA on the screen and in the background (for the foreground add the code above to the end of the file, not the begining - or mix it up), next some options so you can turn it on and off.
Open default.xip/default.xap and search for
CODE
function QuickLaunchA()
directly above this function add
CODE
function DNAOnBootCheck()
{
var IniFile = new Settings;
IniFile.SetIniSection( "DNA On Boot" );
var a = IniFile.GetIniValue( "Enabled" );
IniFile.CloseIniFile();
if( a == "true" ) { ShowDNA();}
else if( a == "false" ) { HideDNA1();}
else { return; }
}
next search for
CODE
DEF theMainMenu Level
you will see an entry just below it called "MusicOnBootCheck();" just below it add
CODE
DNAOnBootCheck();
just below this you will come accross a line that reads
CODE
control DEF theMainMenuJoy Joystick
{
function OnADown()
{
PlaySoundA();
if(nCurMainMenuItem == 0)
{
theMusicMenuIn.Play();
GoToMusic();
}
else if(nCurMainMenuItem == 1)
{
theSettingsMenuIn.Play();
GoToHardDrive();
}
else if(nCurMainMenuItem == 2)
{
GoToFileManager();
}
else if(nCurMainMenuItem == 3)
{
theSettingsMenuIn.Play();
GoToSettings();
}
}
you want to add the next bit to this section. It doesnt matter where in this section just as long as you match the {} you should be ok.
CODE
function OnXDown()
{
if(bDNAVisable == false){ ShowDNA();}
else if(bDNAVisable == true){ HideDNA(); }
}
the function "OnXDown()" can be anything on the controller or remote - eg
OnLeftThumbDown()
On1()
etc
next, below the last } of "DEF theMainMenuJoy" you will see
CODE
var bBackToDVDPlayer;
var bGoToCDPlayer;
var bBackToLauncher;
var bShowErrorPanel;
This is the first few entries to a list of var's which is just below the last "}" in "DEF theMainMenu Level" Add this to the end of that list
CODE
var bDNAVisable;
NOw scroll to the very bottom of the file and add this to the end....
CODE
function HideDNA()
{
bDNAVisable = false;
var w = theMainMenu.children[0].children[0];
w.theDNA1.SetRotation(0, 2, .5, 0.1745330);
w.theDNA3.SetRotation(0, 0, -.5, 0.1745330);
w.theDNA5.SetRotation(0, 1, .5, 0.1745330);
w.theDNA1.fade = 1.0;
w.theDNA3.fade = 1.0;
w.theDNA5.fade = 1.0;
w.theDNA1.SetTranslation(285.900002, -89.261000, -40.399994);
w.theDNA3.SetTranslation(285.900002, -89.261000, -40.399994);
w.theDNA5.SetTranslation(285.900002, -89.261000, -40.399994);
w.theDNA1.fade = 0.75;
w.theDNA3.fade = 0.75;
w.theDNA5.fade = 0.75;
w.theDNA1.SetAlpha(0);
w.theDNA3.SetAlpha(0);
w.theDNA5.SetAlpha(0);
thePlayerPanelIn.Play();
}
function HideDNA1()
{
bDNAVisable = false;
var x = theMainMenu.children[0].children[0];
x.theDNA1.SetAlpha(0);
x.theDNA3.SetAlpha(0);
x.theDNA5.SetAlpha(0);
}
function ShowDNA()
{
bDNAVisable = true;
var x = theMainMenu.children[0].children[0];
x.theDNA1.SetRotation(0, 0, .5, 0.1745330);
x.theDNA3.SetRotation(0, 0, 1, -.523599);
x.theDNA5.SetRotation(0, 0, .3, -0.1745330);
x.theDNA1.fade = 1.0;
x.theDNA3.fade = 1.0;
x.theDNA5.fade = 1.0;
x.theDNA1.SetTranslation(-5400, 0, -5100);
x.theDNA3.SetTranslation(0, 0, -5000);
x.theDNA5.SetTranslation(4000, 0, -5100);
x.theDNA1.fade = 0.75;
x.theDNA3.fade = 0.75;
x.theDNA5.fade = 0.75;
x.theDNA1.SetAlpha(1);
x.theDNA3.SetAlpha(1);
x.theDNA5.SetAlpha(1);
thePlayerPanelOut.Play();
}
That should be it for Default.xip/default.xap, so save and close the file.
Next open default.xip/config.xap
Search for
CODE
function BuildMainList()
and add this too it
CODE
configList = "Enable the DNA on Startup:";
configValues = "c-DNA On Boot-Enabled";
configSelect = "ToggleTF()";
i = i + 1;
"configList
" is the start of an entry and "i = i + 1;" is the end so after a "i = i + 1;" but before a "configList" and you should be goood, this is the order that you will see it on the screen (in the settings part of the dash)
thats it.
Like I said I have updated the show/hide to make the DNA not fly away on the booting of the dash, but rather to not be present... you can do similar thingz for the clocks...
Oh yeah almost forgot. Open UIX.ini file and add the following
CODE
[DNA On Boot]
Enabled=false (or true - you choose)
Hope that clears anything up.....