README.TXT XTREME INTERFACE (XI) SOFTWARE ARCHITECTURE VERSION: BETA 3.0 DATE: 6.22.99 AUTHOR: Andre' LaMothe, CEO Xtreme Games LLC, CEO@xgames3d.com PURPOSE: This document describes the XI (Xtreme Interface) and its operation. I. OVERVIEW ************************************************************************** The XI is a fairly simple application. Its primary function is to allow the user to browse the games, that is, view a screen shot, read a text file, and install the game if desired. The XI is very flexible since it reads the games out of a database, hence, new games can be added, deleted, or modified without re-compilation or any programming skill. You simply add the game data to the database, along with the directory containing the data in the correct format, and the XI will load the game into the interface and allow it to be browsed. Moreover, due to the high programmability of the XI, both game collections use the exact same program with changes only to the initialization files and of course the game data -- that's the beauty of the juice weazle! The XI is composed of 3 main parts: 1. The interface program itself: MENU.EXE 2. The directories containing the game files and their respective installation programs, a screen shots, and informational .txt files. 3. A directory MENUDATA\ which contains all the run-information, bitmaps, sounds, and other files that the XI reads. II. SYSTEM FILE STRUCTURE ************************************************************* Here is the file structure that must exist for the XI to operate correctly: ROOT_DIRECTORY\ or DRIVE: MENU.EXE - the main .exe which runs the XI. MENUDATA\ - contains run-time files for the XI (more on this later). GAMEDIRECTORY_1\ - contains the game installer, a .BMP, and .TXT for the game GAMEDIRECTORY_2\ GAMEDIRECTORY_3\ GAMEDIRECTORY_4\ . . . GAMEDIRECTORY_n\ Note: "GAMEDIRECTORY_[1..n]" can have any name like "DRONE\", "ASTEROIDS\", and so forth. Howevever, they must be under the main executable MENU.EXE. III. SYSTEM RUN-TIME FILES WITHIN MENUDATA\ ***************************************************** The directory MENUDATA\ contains all the programmable files, splash screens, sound fx, ,help file, about text, and database information that the XI uses. Much of it is programmable and can be changed. Let's begin by looking at each of the files and their purpose and then we will discuss the database file GAMELISTDB.INI and how the entries are created. The files in the directory (that are important) are: menu.ini - This file is in plain ASCII contains initialization information for the XI. Currently the only data that is kept here is the name of the product which is rendered on the title bar of the XI. menuhelp.txt - This plain ASCII text is loaded and displayed by the XI when the user clicks the HELP button. It can be any length and is standard .TXT format. menuabout.txt - This plain ASCII text is loaded and displayed by the XI when the user clicks the ABOUT button. The text need not be formatted since it will be word wrapped, but there are limits to the length of the text, the about box can only hold a few lines. gamelistdb.ini - This is the primary database that contains a record for each game that the user can browse and load. Each record is represented by a collection of strings that describe various data such as installer path, screen shot, text file, and so forth. The file is a standard .INI file and hence is in plain ASCII. More on the format shortly. dx61eng.exe - The DirectX 6.1 run-time installer. EXPERTLOGOBANNER.BMP - The Expert banner dislayed in the XI, 24-bit color, must be the same size. EXPERTLOGO640480.BMP - Expert splash displayed on start-up. Must be 640x480x24 bit color. database1.wav - XI sound effect played during start up. MENUITEM.WAV - XI sound effect played on button press. Note: all of the above files MUST have the exact names (case insensitive though). Changing them would be cause for re-compilation of main XI program. IV. DATABASE FORMAT: gamelistdb.ini ********************************************************** The primary database for the XI contains information and links for all of the games that the XI has access to. There is no limit to the number of games that the XI can handle. Currently there are 30+ games in the database file. Here is a short excerpt from it showing the first few entries for the mind games collection. The remaining entries are of course similar: ;; DATABASE FILE FOR MINDGAMES COLLECTION ;; CREATED 6.12.99 ;; XTREME GAMES LLC ;; Beta 1.0 ;; DATA RECORD FORMAT ;; ;; [NAME OF GAME] ;; path =PATH TO DIRECTORY OF GAME ;; size = SIZE STRING ;; type = TYPE STRING ;; installer=FULL PATH TO INSTALLER ;; info =FULL PATH TO .TXT FILE ;; pic =FULL PATH TO .BMP FILE (320X240 MAX) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; BEGIN GAME LIST [2 Power] path =2Power size = 982KB type = Logic installer=installer/2Power.exe info =2Powerinfo.txt pic =2Powerpic.bmp [3 Peak Perfection] path =3peak size = 839 KB type = Solitaire installer=installer/3peakinstall.exe info =3peakinfo.txt pic =3peakpic.bmp [4 in a Row] path =4inrow size =826KB type =Logic installer=installer/4inarow.exe info =4inrowinfo.txt pic =4inrowpic.bmp [5 in a Row] path =5inarow size =48KB type =Othello/Multiplayer installer=installer/5inarowinstall.exe info =5inarowinfo.txt pic =5inarowpic.bmp [Battle Board] path =battleboard size =13MB type =Archon/Chess installer=installer/battlereg.exe info =battleboardinfo.txt pic =battleboardpic.bmp As you can see each entry is nothing more than string info and a few paths to the installer screen shot and text file. The screen shots must be no larger than 320x240, and can be in any color depth. The info text file can be any length, but must be in plain ASCII format. V. PUTTING THE SYSTEM TOGETHER You may put the entire system into any directory that you wish since all paths are relative to the root path that the MENU.EXE is placed in. For the most part, you should only have to make minimal changes (if any) to the database since I have already done all the work; written all the installers, created all the screen shots, and text files, etc. You may want to make changes to the menuabout.txt, menuhelp.txt, and the menu.ini files though since they contain text that is displayed and are there for your personalization in the first place :) And of course, the expert logo files can be whatever you wish them to be -- naked Pam Ann or whatever :) We were never sent the logo bitmaps, so we obtained them from another product.