HoRnEyDvL
Jul 19 2003, 06:59 AM
Well as my other thread filled up with useless Post I Have started 2 new threads.
Hacking The Ms Xboxdash (Code Only) &
Hacking The Ms Xboxdash (HELP & FAQ)
Please post in the apropriate thread.
ALL USELESS UNAPROPRIATE POSTS WILL BE DELETED TAKE THIS AS YOUR FIRST & FINAL WARNING
dlux
Jul 19 2003, 10:49 AM
Here Is A new Tutorial for updating your memory menu to load games.
ADDED: It now searches for the folder and if it doesn't find it, it displays an error message(instead of locking up and forcing you to reboot our xbox)
It now allows you to load applications.IN ADVANCE: thnx to dfunked for letting me know how to search filesNOTE: use an unedited memory3.xapSTEPS:
1.) extract default.xip
2.) open memory3.xap
3.) find:
| CODE |
| var bSavedGameGridActivatePending; |
(should be fourth or fifth line in file)
4.) under that line paste:
| CODE |
| DEF theConfig Config |
5.) find:
| CODE |
| function InitMemoryMenuItems() |
6.) replace that entire function with:
| CODE |
function InitMemoryMenuItems() { var c = theFilesMenu.children[0].children[0]; var nTitle = c.theSavedGameGrid.curTitle; var nSavedGame = c.theSavedGameGrid.curGridItem;
if (nTitle < 0) { // we have the device menu if (theMemoryMonitor.curDevUnit == 8) { // TODO: Hard drive menu nFileMenuItemCount = 0; } else { c.MenuItemText1.text = theTranslator.Translate("PERSONALIZE"); c.MenuItemText2.text = theTranslator.Translate("FORMAT"); nFileMenuItemCount = 2; } } else if (nSavedGame < 0) { // we have the title/soundtrack menu c.MenuItemText1.text = theTranslator.Translate("LOAD"); c.MenuItemText2.text = theTranslator.Translate("DELETE"); nFileMenuItemCount = 2; } else { // we have the saved-game/song menu if (c.theSavedGameGrid.CanCopy()) { c.MenuItemText1.text = theTranslator.Translate("COPY"); c.MenuItemText2.text = theTranslator.Translate("DELETE"); nFileMenuItemCount = 2; } else { c.MenuItemText1.text = theTranslator.Translate("DELETE"); nFileMenuItemCount = 1; } } } |
6.) find:
| CODE |
| function DoMemoryItemMenuCommand() |
7.) replace that entire function with:
| CODE |
function DoMemoryItemMenuCommand() { var c = theFilesMenu.children[0].children[0]; var nTitle = c.theSavedGameGrid.curTitle; var nSavedGame = c.theSavedGameGrid.curGridItem;
if (nTitle < 0) { // we have the device menu if (theMemoryMonitor.curDevUnit == 8) { // TODO: Hard drive menu } else { if (nCurFileMenuItem == 0) ShowKeyboard(theTranslator.Translate("PERSONALIZE"), theMemoryMonitor.FormatDeviceName(theMemoryMonitor.curDevUnit), "theMemoryInline.children[0].FinishPersonalize()", ""); else if (nCurFileMenuItem == 1) AskQuestion(theTranslator.Translate("Really format"), "theMemoryInline.children[0].FinishFormat()", "", 1); } } else if (nSavedGame < 0) { // we have the title/soundtrack collection menu if (nCurFileMenuItem == 1) StartDelete(); else if (nCurFileMenuItem == 0) Startload(); } else { // we have the saved-game/soundtrack menu if (c.theSavedGameGrid.CanCopy()) { if (nCurFileMenuItem == 0) StartCopy(); else if (nCurFileMenuItem == 1) StartDelete(); } else { StartDelete(); } } }
function Startload() { var c = theFilesMenu.children[0].children[0]; var blah1 = c.theSavedGameGrid.curTitle; var strblah; var fish = false; var fish2 = false; strblah = c.theSavedGameGrid.GetTitleName(blah1); fish = theConfig.NtFileExists( "\\Device\\Harddisk0\\partition6\\HDDLoader\\" + strblah + "\\default.xbe" );//change to where your games are
PlaySoundA();
if (fish) { launch("default.xbe", "\\Device\\Harddisk0\\Partition6\\HDDLoader\\" + strblah);//change to where your games are }
else { fish2 = theConfig.NtFileExists( "\\Device\\Harddisk0\\partition6\\Apps\\" + strblah + "\\default.xbe" );//change to where your apps are
if (fish2) { launch("default.xbe", "\\Device\\Harddisk0\\Partition6\\Apps\\" + strblah);//change to where your apps are }
else if (strblah =="Oddworld: Munch's Oddysee")//you can do this for games with wierd names { launch("default.xbe", "\\Device\\Harddisk0\\Partition6\\HDDLoader\\Oddworld");// change to where this game is }
else if (strblah =="Px HDD Loader")//you can do this for apps with wierd names { launch("default.xbe", "\\Device\\Harddisk0\\Partition6\\Apps\\HDDLoader");//change to where your Application is } }
TellUser(theTranslator.Translate("COULD NOT FIND GAME OR APPLICATION"), ""); } |
8.)find:
| CODE |
| function OnEnumeratingTitlesEnd() |
9.) replace that entire function with:
| CODE |
function OnEnumeratingTitlesEnd() { var c = theFilesMenu.children[0].children[0]; var cheese = false; cheese = theConfig.NtFileExists( "\\Device\\Harddisk0\\partition6\\HDDLoader\\cheese\\default.xbe" ); CloseMessage(); EnterMemoryFiles(); } |
10.) save, rebuild, resign, and transfer to xbox
NOTE: This still requires you to either rename the folder that the game is in, or ad an "else if" statement to load a game(same goes for applications)
NOTE2: After doing this when you first select your memory device, the "Searching for game saves" box will appear for a couple more seconds than usual. This is because theConfig that I added uses this time to initialize itself.
dlux
Jul 19 2003, 11:08 AM
one more thing, for games such as 007 NightFire that have trademark symbols, if you ftp to your xbox, go to the E drive, go to udata, and find the folder that corresponds to that game. You can open the TitleMeta.xbx in a TEXT editor, and remove the special characters. then save, and replace with the new file, and the name will be changed in the memory menu.
EXAMPLE: The Original 007 Nightfire TitleMeta.xbx looks like:
TitleName=007™: NightFire™
You can change it to look like this:
TitleName=007 NightFire
NOTE: If you're wondering why I'm posting this, it is to help with my tutorial above.
flagg5889
Jul 19 2003, 08:35 PM
Building once again on DLUX code, you can further enhance your game loading needs by providing a different way to launch the games. Leaving in everything that DLUX identified in his initial memory Launch mod, make the following change to allow you to launch a game by pushing the "Y" button while viewing the first level memory saves menu (the one where you push up or down to scroll through the various saves).
Look for:
| CODE |
function OnBDown() { var c = theFilesMenu.children[0].children[0]; if (c.Dummy01.moving) return;
if (bInCopy) { PlaySoundB(); c.MU_back_pod_HL2.children[0].appearance.material.param = 1; EndCopy(); } else if (bDetailView) { PlaySoundB(); ShowFileListView(); c.MU_back_pod_HL2.children[0].appearance.material.param = 1; } else { PlaySoundB(); c.MU_back_pod_HL.children[0].appearance.material.param = 1; // Turn enumeration off before changing levels. theMemoryMonitor.enumerationOn = false; if (bCleanupSpecifiedDrive) theLauncherLevel.GoTo(); else theMemoryMenu.GoBackTo();
theGamesSubMenuOut.Play(); } }
|
and add this directly after that:
| CODE |
function OnYDown() { PlaySoundA(); Startload(); }
|
Thanks again DLUX
Cheers
JbOnE
Aug 1 2003, 06:42 PM
after bugging the piss out of Xtech and myself i finally got the AskQuestion to work in the main menu (in this case for power off) if any of you have tried it ya know it would pop up the question box - but no matter what you chose it'd just close the box and do nothing. i guessed the prob was that we were using a function from one joy def in another so i added a couple of functions outside the joy def's and what'dya know - it works
change the function names and the launch path to suit your needs
in default.xip/default.xap - place these after the inline def's.....
////////////////////////////////////////////////////////////////////////////
function PowerOff()
{
AskQuestion(theTranslator.Translate("Power off Xbox ?"), "ShutDown()", "", 1);
}
function ShutDown()
{
launch("shutdown.xbe", "(correct path to your shutdown.xbe)");
}
////////////////////////////////////////////////////////////////////////////
and then this in the main menu joy functions - use whatever button def you want - except a of course

////////////////////////////////////////////////////////////////////////////
function OnBDown()
{
theMainMenu.children[0].children[0].select_pod_HL.children[0].appearance.material.param = 1;
theGamesMenuIn.Play();// i just like this sound better than sound a hehe
PowerOff();
}
////////////////////////////////////////////////////////////////////////////
enjoy
pEAcE
JbOnE
SniperKilla
Aug 6 2003, 04:28 AM
lame little code to prevent games on dvd from autolaunching when you stick the dvd in..
kill me if its been posted already
in default.xip -> default.xap
find
| CODE |
else if (discType == "Title") { theLauncherLevel.GoTo(); } |
change to
| CODE |
else if (discType == "Title") { return; } |
And heres Code to make X launch the game in the drive
this was done using the files in the easymusicconfigv3 thing....
find
| CODE |
function OnYDown() { TellUser("Dashboard brought to you by Voltiac, Dunny, Gcue, NikeJustDoItOk?, Vulgusprofanum, Dfunked, Dlux, and a little help from MS!", ""); } |
add below it
| QUOTE |
function OnXDown() { theDiscDrive.LaunchDisc(); } |
dlux
Aug 8 2003, 09:55 AM
Here is an update for those people using my tutorial to load games from the memory menu (aka the save games menu), all this does is allow you to use X and Y to scroll through the menu faster.
1.) open memory3.xap inside default.xip
2.) find the first occurence of:
| CODE |
| function OnMoveDown() |
3.) above that line paste:
| CODE |
function OnYDown() { var c = theFilesMenu.children[0].children[0];
var i=0; var Itemskipped=3; //change to however many menu items you want to skip
if (c.Dummy01.moving) return;
if (bInCopy) { c.theCopyDestination.selectUp(); } else if (bDetailView) { if (nCurFileMenuItem > 0) { PlaySoundMenuChange(); nCurFileMenuItem = nCurFileMenuItem - 1; UpdateFileMenu(); } } else { for(i=0; i < Itemskipped; i = i + 1) { var oldCurTitle = c.theSavedGameGrid.curTitle; var oldCurSave = c.theSavedGameGrid.curGridItem;
c.theSavedGameGrid.selectUp(); }
if (oldCurTitle != c.theSavedGameGrid.curTitle) theMemoryTitleSelectSound.Play(); else if (oldCurSave != c.theSavedGameGrid.curGridItem) theMemorySaveSelectSound.Play(); } }
function OnXDown() { var c = theFilesMenu.children[0].children[0];
var i=0; var Itemskipped=3; //change to however many menu items you want to skip
if (c.Dummy01.moving) return;
if (bInCopy) { c.theCopyDestination.selectDown(); } else if (bDetailView) { if (nCurFileMenuItem < nFileMenuItemCount - 1) { PlaySoundMenuChange(); nCurFileMenuItem = nCurFileMenuItem + 1; UpdateFileMenu(); } } else { for(i=0; i < Itemskipped; i = i + 1) { var oldCurTitle = c.theSavedGameGrid.curTitle; var oldCurSave = c.theSavedGameGrid.curGridItem;
c.theSavedGameGrid.selectDown(); }
if (oldCurTitle != c.theSavedGameGrid.curTitle) theMemoryTitleSelectSound.Play(); else if (oldCurSave != c.theSavedGameGrid.curGridItem) theMemorySaveSelectSound.Play(); } } |
4.) change the value of Itemskipped to however many menu items you want to skip.
5.) save, insert, and resign.
Dunny
Aug 25 2003, 07:20 PM
| CODE |
| ex: function ShowKeyboard(strTitle, strEdit, strDoneFunction, strCancelFunction) |
| CODE |
function OnWhiteDown() { ShowKeyboard(theTranslator.Translate("Rename Item"), theTranslator.Translate("The Menu Var"), "GotoSaveFunction()", ""); }
|
anyone got any further ideas?
which is currently the best submenu?
I wanted to try adding the keyboard into a menu so we can alter menu names from the xbox ... anyone tried this?
saunderez
Sep 3 2003, 01:34 PM
Ok here's the deal:
No Remote Hack (YOU STILL NEED A DONGLE!!!)
Just got into Xbox Dash Modding yesterday, read thru all the code snippets in here and I haven't found this little gem yet, sorry if its already been posted elsewhere or you think I'm a dumbass for stating the obvious...Changing one line can give you full controller access in the DVD player. Useful for people who frequently "misplace" their DVD Remote

Change this line in dvd.xap:
| QUOTE |
| theDVDJoystick.enableGamepad = false; |
to this:
| QUOTE |
| theDVDJoystick.enableGamepad = true; |
Woah! It's huge! But...it works great!
Buttons are as followed (but are redefinable of course!)
Digtal Control Pad (Arrows)
A (Select Button)
Y (Menu)
X (Display)
B (Haven't figured it out. Sumbit findings plz!)
R-Trigger (Chapter Forward)
L-Trigger (Chapter Back)
White (Pause, press again to unpause)
Black (Stop..However can't figure out how to resume!)
Tested in 4920 only
Hope some1 finds this useful!
Keep up the hacking!
gorgone
Sep 12 2003, 11:34 AM
simple autostart DVDPLAYER and remove the unknown disk nag screen for mp3 disks or other unknownd datadisks
in default.xip / default.xap
| CODE |
else if (discType == "Video") { launch("default.xbe", "\Device\Harddisk0\Partition6\apps\DVDPlayer"); //path to the dvdplayer and xbe } else if (discType == "Title") { theLauncherLevel.GoTo(); } // else if (discType == "unknown") // { // TellUser("ERROR MESSAGE 1", ""); // }
|
fornorst
Sep 20 2003, 04:22 PM
Post edit : It works correctly nowSpecial Thanks to karnax from the
http://www.gueux.net forum for his help ! This code allow to change randomly the skin.
Here is the code to include in default.xap :Cut this DEF :
| CODE |
DEF theBackground Background { skyColor 0 0 0 backdrop ImageTexture { url nomBackground[i-1] } }
|
and paste that :
| CODE |
DEF myBackgroundList Group {
children [ DEF background0 Background{ skyColor 0 0 0 backdrop ImageTexture { url "xboxbg.xbx" }} DEF background1 Background{ skyColor 0 0 0 backdrop ImageTexture { url "xboxbg2.xbx" }} ] }
function loadBackground() { var n = Math.round(Math.random() * (myBackgroundList.children.length() - 1)); myBackgroundList.children[n].isBound = true; }
|
Add this var : var BeginUpdate;
just after this : var dvdx2path;
then remplace the UpdateMainMenu() function with that :
| CODE |
function setBeginUpdate() { BeginUpdate = 1; }
function UpdateMainMenu() { if (BeginUpdate == 1 ) { loadBackground(); BeginUpdate = 0; } // Adjust for a 4 or 5 button menu if( use5ButtonMainMenu == true ) { // Update our 5 button menu with the online button Update5ButtonMainMenu(); } else { // Update our 4 button menu without the online button Update4ButtonMainMenu(); } } |
In the control DEF theMainJoystick Joystick, add this code :
| CODE |
function OnRightThumbDown() { setBeginUpdate(); UpdateMainMenu(); }
|
Here is the code to include in config.xap :
At the beginning ( just after "use5ButtonMainMenu = true;" ), add this line :
| CODE |
BeginUpdate = 1; // 1 = update xboxbg.xbg at beginning; 0 = do not.
|
Don't forget to add xboxbg2.xbx in the default.xip.
How to use :
* Set BeginUpdate to 0 in the config.xap to launch with xboxbg.xbx all the time. If you set beginUpdate to 1, it will randomly change the background.
* Moreover ( in the 2 cases ), you could change the background by pressing the Right Thumb.
* You could add more backGround than just 2 ! Name then how you want, include them in the default.xip and change the "DEF myBackgroundList Group"
Have Fun and, please, excuse me for my bad english.
mavmf
Oct 3 2003, 05:44 PM
This mod is for the 10027100 dash with the XboxDash-Hacked 10027100 v1.1-THC.rar patch applied, it may work on others, but you might find code in slightly different places.
I have added a message box popup for when you insert a game. This will ask if you want to turn your modchip off to play on xbox live. It's designed for matrix owners with their chip in mode 3. If you say yes it will reboot & your chip will be off. If you say no your xbox will boot the game with the chip on. If you press B then it will take you back to the dashboard.
Used in conjunction with a mod bios that doesn't boot d:default.xbe this would be a complete solution to not being able to boot accidently into a game with the modchip on.
In deafult.xap in default.xip search for
else if (discType == "Title")
then change the code for that else if to
| CODE |
else if (discType == "Title") { AskQuestion(theTranslator.Translate("\n"+" Play on Xbox Live?"), "rebootnow()", "launchdisc()", 1); }
|
then paste the following above the line
DEF theTranslator Translator
| CODE |
function launchdisc() { if(enablelaunchanim == true) { launchitempath = "\Device\CDROM0"; theMusicMenuIn.Play(); theLaunchItem.GoTo(); } else { theDiscDrive.LaunchDisc(); } } function rebootnow() { launch("reboot.xbe", "\Device\Harddisk0\Partition6"); }
|
NB You will need the reboot.xbe on your harddrive, point it to the partition it is on (F = partition6 here)
Then search for DEF theMessageJoystick Joystick
and replace the function OnBDown() with
| CODE |
function OnBDown() { if (nMessageButtonCount == 1) { // Just an OK button; B is the same as A OnADown(); return; }
if (nCurMessageButton != -1) { PlaySoundB(); CloseMessage(); // nCurMessageButton = 1; // UpdateMessageButtonHighlight(); // OnQuestionNo(); } }
|
This will make button B act as a return to dash, rather than an answer No to the questions.
You should then be done.
PS - double slashes where you see 1 slash in the pathnames as always
heydricas
Oct 29 2003, 07:38 AM

Since I got sick and tired of getting up, just to turn off the console when I finish watching a DVD movie, I worked this little code to mod the default.xip/dvd.xap
Search for OnInfo and change from this:
| CODE |
function OnInfo() { if(theDVDPlayer.domain != 3) // TT_DOM { OperationProhibited(); return; }
theOSD.visible = 1 - theOSD.visible; if (theOSD.visible == false) SetStatusText(""); }
|
To this:
| CODE |
function OnInfo() { if (theDVDPlayer.playbackMode == 0) // DPM_STOP { launch("power.xbe", ""the path where your power.xbe is located"); } if(theDVDPlayer.domain != 3) // TT_DOM { OperationProhibited(); return; }
theOSD.visible = 1 - theOSD.visible; if (theOSD.visible == false) SetStatusText(""); }
|
To turn off the console, you MUST press the STOP button, then the INFO button, and that’s it.
Enjoy
heydricas
QUIKSILVERMALE
Jan 5 2004, 03:17 AM
ok well this might already be posted but im to lazy to read so check this out
| CODE |
function OnBlackDown() { ShowClock();
} function OnWhiteDown() { HideClock(); }
|
what this does is either hides the clock or shows it obviously
black button shows it
white button hides it
note: i just added those to the black and white buttons because they werent doing anything at the moment so make sure they are empty
Max75
Jan 18 2004, 06:36 PM
This is a really good idea QUIKSILVERMALE to make the clock visibility "interactive"
This code only use 1 button on your controller ;)
| CODE |
function OnWhiteDown() { if(bClockVisable == false) { ShowClock(); } else if(bClockVisable == true) { HideClock(); } } |
My first line of code on XBox:)
JbOnE
Jan 20 2004, 01:38 AM
it's already "interactive"
hold the right trigger and press b and that will toggle clock on/off screen
ahole09
Jan 20 2004, 02:24 AM
who has the best tut for me to learn how to do all this?
Sonikku
Jan 20 2004, 07:55 AM
Here's one that I came up with that was usefull for me.
I'm using THC's dash replacment. I reguarly burn CD's/DVD's with various media (DivX, XViD, MPEG, etc) and was annoyed that whenever I put these discs in, I would get the 'Unknown Disc' error (this disc may be dirty or damaged, press OK to continue, etc). And since the only time I have an 'unknown disc' in my XBox is for media (I don't use ROM cd's or anything) I decided that instead of the error message, I would rather just have XBox Media Center start automatically when the disc type was 'unknown'.
Here's how to do it.
in default.xip / default.xap find:
| CODE |
else if (discType == "unknown") { TellUser("n Either your drive doesn't support this type of media or the disk may be dirty or damaged.",""); }
|
and replace it with:
| CODE |
else if (discType == "unknown") { launch( "default.xbe", "//Device//Harddisk0//Partition1//applications//XBMC" ); }
|
(replace forward slashes with back slashes)
In my instance, I have XBox Media Center installed in F://applications//xbmc so you will have to change the path to whatever matches your setup.
- Sonikku
gnutellafan
Jan 20 2004, 12:54 PM
Sonikku, does XBMC automatically launch the media then? IE, if I put a divx disc in will it just start playing the divx movie?
Sonikku
Jan 20 2004, 06:49 PM
No, you would just end up at the main XBMC screen, which is fine for me, since typically i'll have several divx movies burned to one dvd-r, and I wouldnt want it to start randomly playing whichever one it wants
Aron Parsons
Jan 23 2004, 06:26 AM
Here is some code to add functionality to the MS remote for music playback (globally, the functions work in any menu). You can change songs, switch playback type, mute, stop, start, and switch soundtracks. It's pretty much just copy and paste, no modification of current code.
Skip+ --> next song
Skip- --> previous song
Pause --> mute/unmute
Stop --> stop
Play --> play
Forward --> next soundtrack
Reverse --> previous soundtrack
Title --> change between 'random' and 'continuous'
All code goes in default.xap --> default.xip
Add this one variable declaration at the top with all the other global variables
Find | CODE |
DEF theBackgroundMusicPlayer AudioClip { blah blah blah } |
After this definition (after it's closing bracket), add the rest of this code.
| CODE |
function OnPlay() { if(BGMon == false) { BackgroundMusicOn(); } }
function OnStop() { if(BGMon == true) { BackgroundMusicOff(); } }
function OnPause() { if(BGMon == true) { if(theBackgroundMusicPlayer.volume > 0) { BGMoldVol = theBackgroundMusicPlayer.volume; theBackgroundMusicPlayer.volume = 0; } else if(theBackgroundMusicPlayer.volume == 0) { theBackgroundMusicPlayer.volume = BGMoldVol; } } }
function OnSkipForward() { if(BGMmode == "Random") { BGMPlayerRandom(); if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } } else if(BGMmode == "Playlist") { BGMPlayerPlaylistFFWD(); if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } } else if(BGMmode == "Continuous") { BackgroundMusicFFWD(); if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } } }
function OnSkipBack() { if(BGMmode == "Random") { BGMPlayerRandom(); if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } } else if(BGMmode == "Playlist") { BGMPlayerPlaylistREW(); if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } } else if(BGMmode == "Continuous") { BackgroundMusicREW(); if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } } }
function OnForward() { BackgroundMusicUpSDTRK();
if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } }
function OnReverse() { BackgroundMusicDwnSDTRK();
if((theDashSettings[51] == "true") & (temp != true)) { var c = theMainMenu.children[0].children[0]; c.theNowPlaying_text.text = vCurAlbum + "n" + vCurSong; } if(g_bAudioDisplayed == true) { var d = theMessageInline.children[0]; d.theNowPlaying_text_01.text = vCurSong; } }
function OnGuide() { if(BGMmode == "Random") { BGMmode = "Continuous"; } else if(BGMmode == "Continuous") { BGMmode = "Random"; } }
|
In the BackgroundMusicOn() function, fix this typo in tHc's release:
| CODE |
| else if(BGMmode = "Continuous") |
should be
| CODE |
| else if(BGMmode == "Continuous") |
You're just adding the double equals for equality instead of assigning the value.
Hope this helps some people out. Maybe something like this (or this code itself
) will be included in the next release. It really makes it nice to just use the remote for the music.
kanaberra
Jan 23 2004, 06:45 AM
waouh cool Aron !
tHank you, i will try this evening...
in the meantime, i gave a complete tut
here and will post here soon which code to edit in which xap to remove the solid orbcellwall on 3 tHc final releases
Krater
Jan 28 2004, 12:32 AM
Hi
If you want rotating icons inside the orbs (for the tHc dash, prerelease and final) of the "music soundtrack style" , "music copy style", "music style with submenus 1" and "music style with submenus 2" menus, try this. You'll have to insert them as .xbx in default.xip, but it's the only way to have icons by now...
It's almost the same I posted here:
http://forums.xbox-scene.com/index.php?act...T&f=55&t=153030but now the icons rotate
Edit: Updated to work with submenus.
Halo:

Splinter Cell:

Windows CE:

Thank Frag Daddy for the screenshots.
Extract music2.xip/default2.xap. Look for
Waver
{
rpm 4
axis -2 0 0
field 0.002
children
[
And insert this just below it:
| CODE |
DEF cubo3 Transform { fade 0.5 scale 55 55 55 translation 43 65 -350 rotation 0 0 1 3.14 children [ Spinner { rpm 1 axis 1 1 -1 children [ Shape { appearance Appearance { material Material { } texture ImageTexture { url "nada.tga" alpha true } } geometry Box { } } ] } ] }
|
Insert it back.
Extract music_copy3.xip/default2.xap. Look for
Waver
{
rpm 4
axis 0.2 0 0
field 0.0002
children
[
And insert this just below it:
| CODE |
DEF cubo2 Transform { scale 22 22 22 translation -24 73 -294 rotation 0 0 1 3.14 children [ Spinner { rpm 1 axis 1 -1 1 children [ Shape { appearance Appearance { material Material { } texture ImageTexture { url "nada.tga" alpha true } } geometry Box { } } ] } ] }
|
Insert it back.
Extract Music_PlayEdit2.xip/default2.xap, look for:
Waver
{
rpm -1
axis 2 0 0
field 0.0002
children
[
And insert below:
| CODE |
DEF cubo4 Transform { fade 0.5 scale 0.75 0.75 0.75 translation -46.9 55.1 -205 rotation 0 0 1 3.14 children [ Spinner { rpm 1 axis 1 1 -1 children [
Shape { appearance Appearance { material Material { } texture ImageTexture { url "nada.tga" alpha true } } geometry Box { } } ] } ] }
|
And insert it back in its xip.
Extract Music_PlayEdit2.xip/default3.xap, look for:
Waver
{
rpm -1
axis 2 0 0
field 0.0002
children
[
And insert just below:
| CODE |
DEF cubo5 Transform { fade 0.5 scale 0.75 0.75 0.75 translation -46.9 55.1 -205 rotation 0 0 1 3.14 children [ Spinner { rpm 1 axis 1 1 -1 children [ Shape { appearance Appearance { material Material { } texture ImageTexture { url "nada.tga" alpha true } } geometry Box { } } ] } ] }
|
Extract default.xip/submenu2.xap. In UpdateSubMenu2MetaData(), look for
c.TrackNum.text = theMenuGlobal[nSoundtrack];
and insert this just below it:
| CODE |
c.cubo3.children[0].children[0].appearance.texture.url=theMenuGlobal[nSoundtrack]+".tga";
|
Extract default.xip/submenu3.xap. In UpdateSubMenu3MetaData(), look for
c.destinationString.text = vMn + "\n" + theMenuGlobal[nSoundtrack];
and insert this just below it:
| CODE |
c.cubo2.children[0].children[0].appearance.texture.url=theMenuGlobal[nSoundtrack]+".tga";
|
Extract default.xip/submenu0.xap. In UpdateTrackList(), look for
c.TrackNumbers.children[i].children[0].appearance.name = "CellEgg/Partsz";
and insert below:
| CODE |
c.cubo4.children[0].children[0].appearance.texture.url=theMenuGlobal[n]+".tga";
|
In UpdateMusicsubMenu0(), look for
var c = theMusicsubMenu0.children[0].children[0];
And insert below:
| CODE |
c.cubo4.children[0].children[0].appearance.texture.url="nada.tga";
|
Extract default.xip/submenu1.xap. In UpdateTrackList(), look for
c.TrackNumbers.children[i].children[0].appearance.name = "CellEgg/Partsz";
and insert below:
| CODE |
c.cubo5.children[0].children[0].appearance.texture.url=theMenuGlobal[n]+".tga";
|
In UpdateMusicsubMenu(), look for
var c = theMusicsubMenu.children[0].children[0];
And insert below:
| CODE |
c.cubo5.children[0].children[0].appearance.texture.url="nada.tga";
|
Now you have to make the icons. Generate a .xbx for each game/app/emu/dash you want. The name must be the exactly same as the directory where it is, so if you make them with fast_xbx2dds2img, you will have to insert the spaces in the name after making it (if the directory has spaces).
You can also look for the xbx in the saves dir. Just locate the correct directory and rename TitleImage.xbx
Update: Thanks to ImOkRuOk and Cody Smile you can get icons from here:
http://xbx-repository.cjb.net/titleimage/xbx_menu.php Insert back all the xaps in their xips and all the icons in default.xip. Save the xips, RESIGN and upload. That's it!!!
According to JbOnE, there is a limitation on xips. If you put in too many icons (or if they are too big, 128x128 is enough), you can get an error 21 on load or when you enter the menu, so be careful.
Regards,
Krater
gnutellafan
Jan 28 2004, 01:49 AM
| QUOTE (Sonikku @ Jan 20 2004, 08:49 PM) |
No, you would just end up at the main XBMC screen, which is fine for me, since typically i'll have several divx movies burned to one dvd-r, and I wouldnt want it to start randomly playing whichever one it wants |
any way to get it to just launch the media?
evil clone
Feb 2 2004, 02:14 AM
| QUOTE (gnutellafan @ Jan 27 2004, 10:49 PM) |
| QUOTE (Sonikku @ Jan 20 2004, 08:49 PM) | No, you would just end up at the main XBMC screen, which is fine for me, since typically i'll have several divx movies burned to one dvd-r, and I wouldnt want it to start randomly playing whichever one it wants |
any way to get it to just launch the media?
|
no that would be a xbmc setings change or modd... theres nuthing in the xbox dash you could do to launch the media in xbmc
Musse
Feb 10 2004, 09:56 PM
The following code brings upp the keyboard and allow user to launch a game or app by entering the folder name, witch the game/app is located in.
This is useful when running the memory menu hack, and when there is no saved game.
Put the following functions in default.xap and add a call the function QuickLaunch(); when pressing some button.
| CODE |
function LaunchTitle(title) { var strTitleName = title; var GamePath = "\\Device\\Harddisk0\\Partition6\\Games\\"; var AppPath = "\\Device\\Harddisk0\\Partition1\\Apps\\"; var PathToXBE; var XBExists = false;
PathToXBE = GamePath + "" + strTitleName + "\\"; XBExists = theConfig.NtFileExists( PathToXBE + "default.xbe" ); if(XBExists) { launch("default.xbe", PathToXBE); } else { PathToXBE = AppPath + "" + strTitleName + "\\"; XBExists = theConfig.NtFileExists( PathToXBE + "default.xbe" );
if(XBExists) { launch("default.xbe", PathToXBE); } else { TellUser("Unable to find title:\n" + strTitleName + "\n", "QuickLaunch()"); } } }
|
| CODE |
function QuickLaunch() { var title = "Enter Title"; ShowKeyboard("Quick Launch.", title, "LaunchTitle(strKeyboardEdit)", ""); }
|
-Gadget-
Feb 15 2004, 10:29 PM
Krater... in the standard memory section
how/where does it get its image's from, to display the thumbnail??
as this could be worked in with your mod...
you would then have a auto icon
and no need for inserting a seperate image for each XBE etc...
truly a top mod !!
would this be possible ??
Mick ....
sega27
Feb 16 2004, 09:24 PM
By modifying slightly what Sonikku said about launching XBMC when a disk is unknown, I just removed the error message so that I can put in a rom, video, or music disk and then launch the appropriate program to run the disk.
In default.xip --> default.xap find:
| CODE |
else if (discType == "unknown") { TellUser("n Either your drive doesn't support this type of media or the disk may be dirty or damaged.",""); } |
Replace With:
| CODE |
else if (discType == "unknown") { return; } |
hard huh?
sega27
Feb 16 2004, 09:25 PM
| QUOTE (-Gadget- @ Feb 16 2004, 12:29 AM) |
Krater... in the standard memory section how/where does it get its image's from, to display the thumbnail?? as this could be worked in with your mod...
you would then have a auto icon and no need for inserting a seperate image for each XBE etc... truly a top mod !!
would this be possible ?? Mick .... |
thats a great idea
Krater
Feb 17 2004, 10:55 PM
Hi
At the beginning of default.xip/memory3.xap:
| CODE |
function ShowFileDetailView() { var c = theFilesMenu.children[0].children[0];
if (c.theSavedGameGrid.CanDetachIcon()) { c.theSavedGameGrid.detachIcon = true;
ResetDetailScreen(); c.theSavedGameGrid.setSelImage(); ...
|
But I don't know how to use it in another menu, anyone?
Regards,
Krater
dark_shadow
Feb 18 2004, 05:18 PM
Disable the clock on startup
Edit default.xip/default.xap
Find
| CODE |
function onLoad() { var c = theMainMenu.children[0].children[0]; BGMmode = "Random"; c.theNowPlaying_text.visible = false; c.theOnScreenDisplay_Translation.visible = false; c.theOnScreenDisplay_Rotation.visible = false; c.Main_pod_backing03.children[0].appearance.texture = audioVisualizer; c.Main_pod_backing03.SetAlpha(0); c.Main_memory_ringpin_3.SetTranslation(62.779999, 13.892000, 102.000000); c.Main_memory_ringpin_2.SetTranslation(56.830002, 33.290001, 101.900002); c.Main_Online_ringpin.SetTranslation(62.779999, -6.092000, 102.000000); c.Main_memory_ringpin_4.SetTranslation(57.430000, -24.379999, 101.500000); GetDashSettings(); theBackgroundMusicPlayer.volume = BGMvol; if(theDashSettings[50] == "true") { BackgroundMusicOn(); BGMmode = "Random"; } else { BGMmode = ""; } SetMainMenuButtonText(); SetMainMenuOrb(); theMenuGlobal = ReadValues(theDashSettings[66]); ShowClock(); UpdateMainMenu(); g_theMainMenuLoaded = true; var g = CheckSystemStatus(); if(g == "1stboot") StartAutomatedConfig(); } |
and replace with
| CODE |
function onLoad() { var c = theMainMenu.children[0].children[0]; BGMmode = "Random"; c.theNowPlaying_text.visible = false; c.theOnScreenDisplay_Translation.visible = false; c.theOnScreenDisplay_Rotation.visible = false; c.Main_pod_backing03.children[0].appearance.texture = audioVisualizer; c.Main_pod_backing03.SetAlpha(0); c.Main_memory_ringpin_3.SetTranslation(62.779999, 13.892000, 102.000000); c.Main_memory_ringpin_2.SetTranslation(56.830002, 33.290001, 101.900002); c.Main_Online_ringpin.SetTranslation(62.779999, -6.092000, 102.000000); c.Main_memory_ringpin_4.SetTranslation(57.430000, -24.379999, 101.500000); GetDashSettings(); theBackgroundMusicPlayer.volume = BGMvol; if(theDashSettings[50] == "true") { BackgroundMusicOn(); BGMmode = "Random"; } else { BGMmode = ""; } SetMainMenuButtonText(); SetMainMenuOrb(); theMenuGlobal = ReadValues(theDashSettings[66]); HideClock(); UpdateMainMenu(); g_theMainMenuLoaded = true; var g = CheckSystemStatus(); if(g == "1stboot") StartAutomatedConfig(); } |
Now the clock is gone.
To show it again, press Right trigger + B
Greetz
Aron Parsons
Feb 20 2004, 05:12 PM
Just comment out ShowClock().
No need to hide the clock before it appears
Whatup1049
Feb 25 2004, 02:23 AM
Krater-
Do all games need to have a preview .xbx file? We put them in the default.xip file correct? I just followed your tut step by step and when I click onto the games section it try's to go in it but just freezes? What could the problem be?
Krater
Feb 25 2004, 09:49 AM
Hi
No, you don't need to place an icon for every menu item. If a game doesn't have an icon the cube simply won't show.
Yes, you have to put them in default.xip. Start by adding only one icon and seeing if it works. Your problem may be the size of the xbxs or the number of them (according to JbOnE there can be problems in xips with this). By now I have about 40 icons in my default.xip @ 128x128 and 10KB each and it works well.
Regards,
Krater
Whatup1049
Feb 25 2004, 04:18 PM
Hey if you can send me the xbx's I can host them and maybe we can establish a database of more games?
ImOkRuOk
Feb 26 2004, 04:03 AM
I will contribute:) Have about 15 of my own so far.....
ImOkRuOk
Feb 28 2004, 09:58 AM
Thanks to heydricas, fuckdb and ZogoCheif for your tut, patch and help:)
With fuckdb's PowerOff patch, and a twist on what heydricas posted about Power off after dvd stop:)
insert at very top of dvd.xap in default.xip
| CODE |
| DEF mynewConfig Config |
then in place of heydricas...
| CODE |
| launch("power.xbe", ""the path where your power.xbe is located"); |
put...
| CODE |
| mynewConfig.SetAutoOff(1); |
gnutellafan
Feb 28 2004, 12:01 PM
| QUOTE (Whatup1049 @ Feb 25 2004, 06:18 PM) |
Hey if you can send me the xbx's I can host them and maybe we can establish a database of more games? |
The easiest thing to do would be get them out of the saved games hosted by xbox-saves. I was going to do this but life has gotten in the way. It would be possible to build a database will all current games and distribute it via mirc - of course it would need someone to update constantly.
ImOkRuOk
Feb 28 2004, 09:53 PM
| QUOTE |
| The easiest thing to do would be get them out of the saved games hosted by xbox-saves. I was going to do this but life has gotten in the way. It would be possible to build a database will all current games and distribute it via mirc - of course it would need someone to update constantly |
I'd be more than happy too:)
sega27
Mar 5 2004, 07:07 PM
fuckdb released a cool new patch to get drive space.
| QUOTE |
This patch add the ability to "MemoryMonitor.GetTotalFreeBlocks" function to return the F & G drive space.
XAP Usage: DriveSpace = yourMemoryMonitor.GetTotalFreeBlocks(X); X = 8(E Drive) , 9(F Drive) , 10(G Drive)
PS: You can use GetFreeTotalRatio function to compute the full drive space.
EG: FreeSpaceRatio = FreeSpace / TotalSpace TotalSpace = FreeSpace / FreeSpaceRatio |
Can someone come up or find some usefull code from this?
Cody Smile
Mar 10 2004, 11:51 AM
i know if you change every were it says
| CODE |
MemoryMonitor.GetTotalFreeBlocks(8); |
you can change the 8 to the diff drives
| CODE |
X = 8(E Drive) , 9(F Drive) , 10(G Drive) |
i wish i could just make one button to push to change drives
BobMcGee
Mar 15 2004, 01:45 AM
Has anyone figured out how to put a rotating cube in the main orb...if so please let me know where to find it...thanks
Bob
Krater
Mar 15 2004, 06:15 PM
Hi Bob
In default.xip/default.xap, look for
function UpdateMainMenu()
{
Update4ButtonMainMenu();
}
And insert below it:
| CODE |
DEF cubo Transform { scale 50 50 50 translation -100 -100 0 rotation 0 0 1 3.14 children [ Spinner { rpm 3 axis 1 1 1 children [ Shape { appearance Appearance { material Material { } texture ImageTexture { url "YourImageHere.tga" alpha false } } geometry Box { } } ] } ] }
|
It won't appear inside the orb, you'll have to change the coordinates in
translation -100 -100 0
Also, you'll have to insert YourImageHere.xbx in default.xip or change that to point to another image.
Regards,
Krater
Odb718
Mar 15 2004, 08:22 PM
| QUOTE |
Hi If you want rotating icons inside the orbs (for the tHc dash, prerelease and final) of the "music soundtrack style" , "music copy style" and "music style with submenus 2" menus, try this. You'll have to insert them as .xbx in default.xip, but it's the only way to have icons by now... |
I seem to have messed up some where doing this....
The dash loads perfect, I can see the icons that match the games,emulators, and apps.
BUT my third tab is set up as an Aplications folder. It's a Music Style with SubMenus 2 style folder.
Originally when I'd press A it would bring up the applications folder with
BoXplorer
Halo cache editor
Disc copy
Dashboards
and Misc. Applications
Now when I press A it brings up the folder Applications but the folders are renamed to mimic the actual menu of the cd ripper. If I hit A it brings up the folder of what ever it was originally like boXplorer. if I hit down then A it brings me to Halo cache editor.
If I hit B to pull out the menu flips up and the previous menu come halfway on the screen. If I hit B again it only makes the sound. The weird part is it actually "stays" in the menu I pulled out of. Like if I hit A one more time BoXplorer would launch.
Oh, I did edit the xbox saves to be able to launch the game through the Icon and had no problem with it, still dont. Do you guys think having both could cause some kind of problem? Any idea what I could have done wrong?
Krater
Mar 15 2004, 09:32 PM
Hi Odb718
I didn't edit the saves menu, but I don't think that's the reason for it not to work.
I'd suggest you to get a clean Music_PlayEdit2/default2.xap and default.xip/submenu0.xap and redo these parts.
Regards,
Krater
BobMcGee
Mar 15 2004, 10:34 PM
thanks krater...will try it out
vintster
Mar 23 2004, 08:21 AM
This might be useful for those like me who wanted to create a playlist and have only that playlist play when the background music is turned on. I also included some code to randomize the playlist on start up. Now if you have more than one playlist I'm pretty sure it only plays songs from the first one but I'm not quite sure why. Maybe someone could shed some light on that. But anyways it works for the first playlist fine for me and I have 2 lists.
This is in Default.xip/Default.xap:
under DEF theBackgroundMusicPlayer AudioClip and "function BackgroundMusicOn()", replace this
| CODE |
else if(BGMmode == "Playlist") { DisableAmbientAudio(); BGMPlayerPlayList(plist[vPLPos],slist[vPLPos]); }
|
with this
| CODE |
else if(BGMmode == "Playlist") { DisableAmbientAudio(); var w = Math.round(Math.random() * (ptotal - 1)); BGMPlayerPlayList(plist[w],slist[w]); }
|
Then under "function BGMPlayerPlayList(x,y)", replace this
| CODE |
if(beInPlist) { BGMst = x; BGMtr = y; } else { BGMst = plist[0]; BGMtr = slist[0]; }
|
with this
| CODE |
BGMst = x; BGMtr = y;
|
Then under DEF theMainMenu Level and "function onLoad()", change both instances of
to
| CODE |
| BGMmode = "Playlist"; |
At this point, when the dash loads it should play a random song from your first playlist but after that song ends it will play them in order. If you want it to keep playing random songs from the list just goto DEF theBackgroundMusicPlayer AudioClip under "function OnEndOfAudio()" and change
| CODE |
else if(BGMmode == "Playlist") { BGMPlayerPlaylistFFWD();
|
to this
| CODE |
else if(BGMmode == "Playlist") { //BGMPlayerPlaylistFFWD(); BackgroundMusicOn();
|
the only drawback is it won't ever play your list in order unless you change this back.
Well thats it. This work well enough for me but if anyone wants to improve on it great! Post your code if you do.
Let me know if it doesn't work.
AM-StYLe!
Mar 23 2004, 05:55 PM
My Variation on the XBMC post by Sonikku,
in default.xip/default.xap find
| CODE |
else if (discType == "unknown") { TellUser("n Either your drive doesn't support this type of media or the disk may be dirty or damaged.",""); }
|
and replace with
| CODE |
| AskQuestion(theTranslator.Translate("Disk not regognised!\n\nDo you wish to launch XBMedia Centre?"), "StartXBMC()", "", 0); |
Now above
| CODE |
| function StartDVDPlayer() |
paste the following
| CODE |
function StartXBMC() { var xbmce; var xbmcf; xbmce = theConfig.NtFileExists( "\\Device\\Harddisk0\\Partition1\\apps\\xbmc\\default.xbe"); if(xbmce == true) { launch( "default.xbe", "\\Device\\Harddisk0\\Partition1\\apps\\xbmc" ); } else { xbmcf = theConfig.NtFileExists( "\\Device\\Harddisk0\\Partition6\\apps\\xbmc\\default.xbe" ); if(xbmcf == true) { launch( "default.xbe", "\\Device\\Harddisk0\\Partition6\\apps\\xbmc" ); } else { TellUser("\n \n Could not find XBMC - make sure default.xbe is in apps\\xbmc",""); } } } |
When an unrecognised disk in inserted it will now ask if you want to launch XBMC and run it if you do.
AM-StYLe!
A1patriot
Mar 26 2004, 02:33 PM
| QUOTE (Krater @ Mar 15 2004, 07:15 PM) |
Hi Bob In default.xip/default.xap, look for function UpdateMainMenu() { Update4ButtonMainMenu(); } And insert below it:
| CODE | DEF cubo Transform { scale 25 25 25 translation -190 -125 0 rotation 0 0 1 3.14 children [ Spinner { rpm 3 axis 1 1 1 children [ Shape { appearance Appearance { material Material { } texture ImageTexture { url "music_icon.xbx" alpha false } } geometry Box { } } ] } ] }
|
It won't appear inside the orb, you'll have to change the coordinates in translation -100 -100 0 Also, you'll have to insert YourImageHere.xbx in default.xip or change that to point to another image. Regards,
Krater
|
Nice one again Krater, I used this code to add a little revolving icon next to music info.
Sweet
music_icon.xbx <-- if u want it.
UPDATE: Only trouble is it stays on screen when watching a dvd...
Can this be fixed??
DaBeast77
Mar 29 2004, 10:43 PM
| QUOTE |
If you want rotating icons inside the orbs (for the tHc dash, prerelease and final) of the "music soundtrack style" , "music copy style", "music style with submenus 1" and "music style with submenus 2" menus, try this. You'll have to insert them as .xbx in default.xip, but it's the only way to have icons by now... It's almost the same I posted here: http://forums.xbox-scene.com/index.php?act...T&f=55&t=153030 but now the icons rotate
Edit: Updated to work with submenus.
|
is there a way to make it look to a different spot(like a folder on your hard drive) for the xbx's? i have about 220 i want to keep on it, but it freezes when the default.xip is too big.
By the way i am going to upload all of my xbx's to the site soon.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.