Evo-X Menu Editor
Version 0.02
by Keiths


Introduction
------------
Evo-X Menu Editor is a Windows program to aid you in editing the 'menu.ini'
file used by the awesome Evolution-X program, as a alternative to
editing it manually in a text editor.


Why Evo-X Menu Editor
---------------------
Up until now, the typical procedure for modifying the 'menu.ini' file on your
XBox's hard drive was:
1. Go into FTP program on your PC.
2. Transfer the 'menu.ini' file from your XBox to your PC.
3. Go into text editor program on your PC.
4. Manually edit the 'menu.ini' file.
5. Save and close text editor.
6. Go into FTP program again.
7. Transfer the 'menu.ini' file back to your XBox from your PC.

With Evo-X Menu Editor, all of the above can be done from one program, Evo-X
Menu Editor. Evo-X Menu Editor will connect to your XBox and allow you to edit
your menu in a user friendly tree view. It is much easier to add, edit, and
delete items. No more worrying about missing brackets, tabs, or commas like
when editing manually in a text editor.

Technically, if you used 'AutoAddItem's in your original 'menu.ini' file,
you shouldn't have to edit it as much. However, for the slightly anal types,
like myself, I am not always happy with the names that 'AutoAddItem' gives to
the new menu items (i.e. sometimes they are all upper case, sometimes they are
not, sometimes they are missing a space between two words, etc.) and I like my
list in alphabetical order and 'AutoAddItem' does not alphabetize the new menu
items.

As a side note, it should be noted that the names that Evolution-X's
'AutoAddItem' gives to new items are simply the names that it extracts from the
games 'default.xbe' file. So the fact that some are all uppercase, some are
missing spaces, etc. is not the fault of Evolution-X's 'AutoAddItem'. It's just
the way the game developer coded the name into their 'default.xbe' file.


Features
--------
* Easy interface for editing 'menu.ini'.
* Easy to load from/save to XBox.
* Sort a single menu section or the entire menu.
* Automatically add all games under a specific directory to the menu at once.
* Change order of menu items by dragging and dropping.
* Scan for common errors (i.e. if you left the title blank, forgot to put in
  the command line, etc.).


Installation
------------
1. Create a directory on your PC and extract all files to that directory.
2. You may also want to create a shortcut to the 'EXMenuEd.exe' file in that
   directory and place it on your desktop.


Getting Started
---------------
The first thing you will want to do, after installation, is to run the program
and set up your options (Tools|Options). Currently, there are only two options
that you need to set up:
1. 'Root dir' - this is a directory on your local hard drive. This is useful
   when you are creating/editing a local 'menu.ini' file which you will be
   burning onto a DVD/CD. Evo-X Menu Editor will look to that directory first
   when opening a local 'menu.ini' file, etc. However, you can open a 'menu.ini'
   file from any directory through the 'File|Open' dialog.
2. 'IP address' - this is the IP address of your XBox. This is needed to allow
   Evo-X Menu Editor to connect to your XBox when you wish to edit the 'menu.ini'
   file on your XBox.


Usage - Main Menu
-----------------
File|New
Creates a new, blank 'menu.ini' file.

File|Open (Local)
Opens an existing 'menu.ini' file on your local hard drive.

File|Open (XBox)
Opens the 'menu.ini' file on your XBox's hard drive.

File|Save (Local)
Saves the current file to your local hard drive.

File|Save (XBox)
Saves the current file to your XBox's hard drive.

File|Connect to XBox
Connects to your XBox. You must should this command to connect to your XBox to
be able to use 'File|Open (XBox)' and 'File|Save (XBox)'.

File|Exit
Exits the program.

Edit|Add
Adds a new item to the menu.
If you currently have a menu item selected, the new item will be added before
the selected item.
If you currently have a menu section selected, the new item will be added as
the last item of the selected section.

Edit|Delete
Deletes a menu item or menu section.
If you currently have a menu item selected, the selected item will be deleted.
If you currently have a menu section selected, the section will be deleted
along with any child items and/or sections.

Edit|Move to Top
Moves an item to the top of it's section.

Edit|Move Up
Moves an item up in the list of items in it's section.

Edit|Move Down
Moves and item down in the list of items in it's section.

Edit|Move to Bottom
Moves an item to the bottom of it's section.

Edit|Properties
Allows you to edit the properties (title, type, cmd/dir) of the selected item.
(See Usage - Properties Dialog)

View|Tree Detail|Minimum
Views the menu tree with all menu sections collapsed.
This is what the main root menu will look like in Evolution-X.

View|Tree Detail|Medium
Views the menu tree with all menu sections visible.
This is useful for viewing the entire menu structure without having to see
every single menu item under the inner menu sections.

View|Tree Detail|Maximum
Views the menu ree with all menu sections expanded.
Every menu section and every menu item will be visible.
This is the default view and is the most useful view when editing.

View|Font|Normal
Normal font size.

View|Font|Large
Large font size.

Tools|Sort All
Sorts the entire menu.

Tools|Sort Section
Sorts only the items in the current menu section.

Tools|Auto Add
Automatically adds all the items to your menu under the directory specified
by the selected 'AutoAddItem' item.
For example, if you have a menu item of 'AutoAddItem "e:\games\"', you would
select that menu item then select 'Tools|Auto Add'. The 'e:\games\'
directory will be parsed and all games under that directory will be added as
new menu items.
The title, item type, and command line will be automatically filled in for each
new menu item created. For example, if there was a file named
'e:\games\Halo\default.xbe', then the new item will have a title of 'Halo',
an item type of 'Item', and a command line of 'e:\games\Halo\default.xbe'.
Evo-X Menu Editor will automatically check to make sure that each item
doesn't already exist so no duplicates are created.

Tools|Check for Errors
Evaluates the menu and checks for some common errors, such as missing title,
missing command line, etc.
Future versions will do more thorough checking to make sure that the file or
directory specified in the command line is valid, etc.

Tools|Options
Allows you to set program options.
(See Getting Started above)

Help|About
Shows program title, version, and information.
Currently, this is the worlds ugliest About box.


Usage - Main Screen
-------------------
Menu Tree
This is the menu from the 'menu.ini' file presented as a user-friendly menu
tree rather than raw text.
Select an item by left clicking on it with the mouse, or by using the keybaord
arrow keys.
Move an item by dragging and dropping. If you drop the selected
item on a menu item, it will appear before the item that you dropped it
on. If you drop the selected drop the item on a menu section, it will appear
as the first item in the menu section that you dropped it on.
Right click on an item to bring up a pop-up menu of common commands
Expand or collapse a menu section by clicking on the + or - to the left of the
menu section name or by double clicking on it.
Edit the title by clicking on an already selected item (except AutoAddItem).

Properties
Shows the properties (title, item type, command/directory) of the currently
selected item.
These properties can be edited by selecting the Edit|Properties menu item.

XBox Connection
Shows information related to the connection between your PC and XBox.

Toolbar
Provides quick access to some of the common menu commands.

Status Bar
Provides status information, hints, etc.


Usage - Properties Dialog
-------------------------
To open the properties dialog, select a menu item, then choose the
Edit|Propeties menu command. You may also right click on a menu item, then
choose Properties from the pop-up menu to invoke the properties dialog.

Title
This is the title of the menu item as it should appear in the Evolution-X menu.
Note: AutoAddItem's do not have titles, so this property does not apply to them.

Type
This is the type of menu item.
AutoAddItem allows you to specify a directory and Evolution-X will automatically
add any games under that directory to your menu.
Item is a normal menu item. This is used to launch a XBox game/program.
Item Evo-X Command is similar to a normal menu item. But rather than launching
an XBox game/program, it executes one of Evolution-X's built-in commands.
Section is a menu section (i.e. menu, sub-menu, sub-sub-menu, etc.)

Cmd/Dir
This is the command/directory for the menu item.
If the menu item is an 'Item', then you would specify the command line of the
program that the menu item should launch (i.e. e:\games\halo\default.xbe).
If the menu item is an 'Item Evo-X Command', then you would choose one of
Evolution-X's built in commands that you want this menu item to execute.
If the menu item is an 'AutoAddItem', then you would specify the directory
that should be parsed when Evolution-X automatically adds new menu items.
(i.e. e:\games\ - note the trailing back-slash).


Usage - Options Dialog
----------------------
See Getting Started


Usage - Check for Errors Dialog
-------------------------------
To launch this dialog, choose the Tools|Check for Errors menu item.
Click 'Check' to check your menu for common errors.
Each possible error which was found will be displayed along with the line
number of the item in the tree, the title, and a description of the error.
The total number of errors will be displayed at the bottom of the dialog.


Warnings/Tips
-------------
I take no responsibility for any damage caused by this program.
If you have Evolution-X on your XBox's hard drive and are using it as your main
dashboard, then you should make sure that you have Evolution-X on a DVD/CD also.
In the event that the 'menu.ini' file on your XBox hard drive is bad,
you may not be able to boot your XBox to the Evolution-X dashboard. In such an
event, you will need to boot from your Evolution-X DVD/CD and FTP a good
'menu.ini' back to your XBox.


History
-------
Version 0.01 (Aug. 18, 2002)
Initial beta release.

Version 0.02 (Aug. 23, 2002)
Modified the way the Auto Add works. It used to scan your XBox hard drive for
executable files (default.xbe) to determine the items to add. However, this took
too long when there were a lot of files on the hard drive and would sometimes
stop responding. It now just uses the 'items.txt' file that Evolution-X creates
and places on your XBox in C:\.

Modified the way the 'menu.ini' file is parsed when populating the tree from the
text file. Should be a little faster and better able to handle 'menu.ini' files
which aren't perfectly formatted.

The File|Open XBox command will now automatically connect to the XBox if you are
not already connected, saving you a step of having to choose File|Connect then
File|Open XBox.

If you forget to disconnect before quiting (File|Disconnect), then the program
will disconnect for you when you exit.