The more I played around with the commerative build, the more I liked it... so I ended up tweaking it into oblivion. These steps will enable you to create a stock looking MS Dash that resembles Thc Lite with dongle-free DVD, FTP, automagic icons and skinning functionality.
For your convenience, I've also assembled ips patchers to do all of this for you. Additionally, the zip includes the images that I refer to in the post:
(edit: sorry, re-upping)
01) Replace uix.xbe with the 1.6 replacement xbe.
02) Delete xips\bg_mesh.xip to remove the DNA. Disabling it otherwise is buggy.
03) Extract default.xip\dvd.xap from the 1.0 release and insert it to enable DVD playback.
04) Edit system\uix.ini prior to the first boot as it gets cached afterward. If you've already done so, delete the cache at E:\UDATA\0ffeeff0. Here's mine for reference. Note that SubMenu3 and SubMenu4 are reversed:
CODE
[Home Directory]
xbe=uix.debug.xbe
Path=\Device\Harddisk0\Partition1\Devkit\Tools
[default]
Background Music Volume=1
Background Music=True
OnBoot Album=random
OnBoot Song=random
MainMenuStyle=MS
MainMenuTabs=4
Quick Launch A=E:\EMUS\Nintendo\default.xbe
Quick Launch B=E:\EMUS\Super Nintendo\default.xbe
Quick Launch X=E:\EMUS\Nintendo 64\default.xbe
Quick Launch Y=E:\APPS\Avalaunch\default.xbe
HD Lock Password=UDLR
Use Memory HD Menus=False
Use BG Mesh=False
[MainMenuTab1]
Text=Memory
Function=GoToMemory()
[MainMenuTab2]
Text=System
Function=GoToHD()
[MainMenuTab3]
Text=Music
Function=GoToMusic()
[MainMenuTab4]
Text=Settings
Function=GoToSettings()
[MainMenuTab5]
Text=Skins
Function=()
[SubMenu1]
Name=Games
Path=games
[SubMenu2]
Name=Emulators
Path=emus
[SubMenu3]
Name=Misc
Path=misc
[SubMenu4]
Name=Applications
Path=apps
[Network Settings]
FTP Use Caps=False
FTP Show Sizes=False
FTP Port=21
FTP Password=xbox
FTP Login=xbox
Gateway=192.168.1.5
SubnetMask=255.255.255.0
XboxIP=192.168.1.5
XboxIPType=STATIC
[Naming Method]
use xbe names=False
[Dashboard Settings]
Current Skin=Green
[BGMesh]
BGMesh1-rpm=1
[System]
fromDVD=false
05) To change the globe back to the MS orb, delete Globe.xm from main_menu_ms.xip. Then open main_menu_ms.xip\default.xap and search for DEF Main_pod_backing01 Transform. Uncomment it by removing the surrounding /* and */
06) To get the orb ring back, open main_menu_ms.xip\default.xap and search for DEF podsupport_4 Transform. After that section, paste:
CODE
DEF podsupport_ring Transform
{
children
[
Shape
{
appearance Appearance
{
material MaxMaterial
{
name "FlatSrfc/PodParts"
}
}
geometry DEF podsupport_ring-FACES Mesh { url "podsupport_ring-FACES.xm" }
}
]
rotation -0.075560 0.704300 0.705900 -2.989000
scale 6.409000 6.409000 6.409000
scaleOrientation 0.620600 0.759100 -0.196700 -0.516000
translation 48.430000 94.709999 105.500000
}
07) To fix the "dvd not added yet" dialog, search in default.xip\default.xap for
CODE
TellUser("dvd not added yet
","nada()");
and replace it with theDiscDrive.LaunchDisc();
08) To fix the dvd game loading screensaver screwiness, replace the three lines in default.xip\default.xap under else if(theDiscDrive.discType == "Title") with theDiscDrive.LaunchDisc();
09) To get quick power off with B, search in default.xip\default.xap for control DEF joy Joystick. Insert this after function OnADown():
CODE
function OnBDown()
{
AskQuestion(theTranslator.Translate("\n \n Power Off Xbox?"), "theConfig.PowerOff()", "", 1);
}
10) To remove the REZN8 style access/wireframe, search in default.xip\default.xap for control DEF joy Joystick and remove the lines under the function OnYDown() and OnXDown()
11) To fix quick launch, insert in default.xip\default.xap a snippet with the corresponding letter to each On(Letter)Down() function under DEF joy Joystick:
CODE
if((rightTrigger == true) & (leftTrigger == true))
{
QuickLaunch("A");
}
Then replace the entire function QuickLaunch(x) with:
CODE
function QuickLaunch(x)
{
var IniFile = new Settings;
IniFile.SetIniSection( "default" );
var fullPath = IniFile.GetIniValue("Quick Launch " + x);
var itemDrive = fullPath.charAt(0);
var itemPath = fullPath.substr(2, fullPath.lastIndexOf("\\") - 2);
var itemXBE = fullPath.substr(fullPath.lastIndexOf("\\") + 1, fullPath.length());
var a;
if(itemDrive == "C") { a = 2; }
else if(itemDrive == "E") { a = 1; }
else if(itemDrive == "F") { a = 6; }
else if(itemDrive == "G") { a = 7; }
itemLaunchPath = "\\Device\\Harddisk0\\Partition" + a + itemPath;
itemLaunchXBE = itemXBE;
launch(itemLaunchXBE, itemLaunchPath);
}
12) Right trigger+left trigger+Y occasionally makes wireframe mode activate. Instead of using quick launch on Y, we can have Y load the associated application without the triggers. To do this, simply remove the if statement around it.
13) To refresh the cache on every boot (manual refreshing doesn't seem to work), search in default.xip\default.xap for function UpDateMainMenuButtonsText(), and insert the following above the first line:
CODE
theGamesMenu.RefreshCache();
theApplicationsMenu.RefreshCache();
theEmulatorsMenu.RefreshCache();
theDashboardsMenu.RefreshCache();
If you'd rather have a quick boot and refresh when entering the hard drive menu this can also go under function GoToHD()
14) The hard drive menu background (xboxlogo.xbx) is flipped horizontally, so I simply replaced it with a solid black xbx.
15) Icons are loaded from their respective save game directory. Open the cache files from E:\UDATA\0ffeeff0\cache in notepad to determine these. For missing icons, simply copy xboxlogo128.xbx to their directory and rename it to TitleImage.xbx for a generic icon.
16) XPort uses the save game directory for all of his emulators. To fix this, replace the TitleImage.xbx in E:\UDATA\ffff051f with a more generic one.
Notes: Removing the info panel prevents there being a way to stop the background music.
To autoload movies/games, search in default.xip\default.xap for if ( theDiscDrive.discType == "Video" ) and replace all of the lines in it with theDiscDrive.LaunchDisc(); For games do the same with else if ( theDiscDrive.discType == "Title" )
Still to do (help appreciated):
Console/cd stack in hard drive menu?
Kanaberra style free space in hard drive menu?
Add a fifth button in the hard drive menu that refreshes the cache?
Take it easy,
-burnerO
This post has been edited by burnerO: Feb 28 2005, 01:02 AM