What is this? ------------- This is a simple (heh) description of the file formats used by DreamInducer. The intent of this document is to provide you with the syntax expected by the XML interpreter in DreamInducer. Common Elements --------------- Every .dx? file used by DreamInducer should start with the following line: This line provides some basic information to the XML parse routines, and is required on all DreamInducer data files. The paths used in DreamInducer data files always begin with /cd/, the root of the cdrom. Images and other data may be loaded from /pc if you have dc-tool running, but binaries are only loaded from /cd/ and the first four characters of the binary path are ignored. Introduction Sequences (*.dxi) ------------------------------ These files are used to display sequences of images and movies, the most common is intro.dxi which is the first thing displayed by DreamInducer upon startup. There are 3 tags supported by the intro interpreter, INTRO, IMAGE, and MOVIE. We will start with INTRO, it is the conainer that the other tags reside within, any file with in it should only be used for introduction sequences. Next we have IMAGE, the image tag is used to display static images (duh), the arguments it accepts are as follows: SRC="file" the image file to be displayed, only PNGs are supported. DELAY="n" causes the image to be displayed for n frames between the fade-in and fade-out. FADEIN="<0|1>" disables or enables the fadein, default is enabled. FADEOUT="<0|1>" disables or enables the fadeout, default is enabled. There is also a MOVIE tag that allows you to play divx movies as part of your sequence. The format is as follows: Sample: Theme Files ----------- Theme files are some of the most complicated creatures you will encounter when making DreamInducer discs. There are a lot of elements that you can use in your themes, and I will try to cover all of theme here. The THEME tag is a container just like the INTRO tag, it should only be used in theme files. The INFO tag is also a container, it contains information on the theme name and author. This is most useful for GUIs that build themes, as it is only displayed by DreamInducer on the debug console. The AUTHOR tag is just like it sounds, provide your name in the VALUE paramater. The TITLE tag provides the name of the theme, same syntax as the AUTHOR tag. <FONT> The FONT tag causes DreamInducer to load a png containing the font to be used with this theme. Anti-aliased fonts are the best for scaling. The FONT tag takes one paramater, SRC. Use the supplied font.png as a reference, font images may be 128x128, 256x256, or 512x512. Use 128x128 for 6x12, 256x256 for 12x24, and 512x512 for 24x48 native font sizes. Usually letting the PVR scale a font up to 3x its native size and down to 1/2 its native size produces a nice result. Your eyes may be more picky than mine. <LAYOUT> The LAYOUT tag is a container for the actual theme layout. It takes one paramater, ELEMENTS, which is the number of tags it contains. <IMAGE> The IMAGE tag is pretty self explanatory, it accepts a SRC paramater, X Y and Z coordanates, W & H (width & height), and A R G & B dimming paramaters (0-255). <SCREENSHOT> The SCREENSHOT tag takes all the same paramaters as the IMAGE tag, except for the SRC paramater, which is acquired from the current list entry. <LIST> The LIST tag defines the area that the menu will appear in, it takes the same paramaters as SCREENSHOT, with the addition of the FONT paramater which provides the font size to be used. <DESC> The DESC tag defines the area that the description of the current list item will be displayed. It takes the same paramaters as the LIST tag. <TIME> The TIME tag displays the current time on the screen, it takes the same paramaters as the LIST & DESC tags, except it has no W or H paramater, and has an AMPM paramater that changes between 24 and 12 hour modes (0=24, 1=12). Sample Theme: <?xml version='1.0' encoding='UTF-8'?> <THEME> <FONT SRC="/cd/font.png"/> <LAYOUT ELEMENTS="3"> <IMAGE X="0" Y="0" Z="8" W="640" H="480" SRC="/cd/themes/gsdi/back.png"/> <SCREENSHOT X="160" Y="120" Z="16" W="320" H="240"/> <LIST X="160" Y="360" W="320" H="24"/> </LAYOUT> </THEME> List Files ---------- List files are your friends, they provide the contents for your menus, and allow you to link multiple menus together. The first list file to be loaded upon starting DreamInducer is mainmenu.dxl. Any other list files will be linked from it. <LIST> The LIST tag is a container tag, it takes the required paramaters of ENTRIES, the number of list items, and THEME, the theme associated with this list file. <LINK> The LINK tag provides a way of changing lists. It accepts the TITLE, SCREENSHOT, DESCRIPTION, TARGET, and PREROLL paramaters. SCREENSHOT is a png file displayed in the theme's SCREENSHOT element. DESCRIPTION is a text field containing the information to be displayed in the theme's DESC box. TARGET is the list to be loaded. PREROLL is the optional .dxi file to be played before loading the list. <ITEM> You will use the ITEM tag most often, it provides information on a binary program on the cd to be loaded by DreamInducer upon selection. It takes the same paramaters as the LINK tag. <MOVIE> The MOVIE tag is used to play DivX movies from the menu, with this element it is possible to create a disc similar to a DVD with multiple video tracks. It takes the same paramaters as the LINK & ITEM tags, with the addition of a POSTROLL paramater that starts a .dxi once the movie is complete. This concludes the format descriptions for DreamInducer 1.0.