Level
When HaptiCast starts, it looks for a level.xml file to tell it information about creating the 3D haptically-enabled virtual world. For the default distribution, this file is located in level.zip. You may specify a zip file which contains the level.xml file and all 3D meshes, textures, sounds, etc... by using the '-zip' option when you start HaptiCast. For example:
HaptiCast.exe -zip level.zip
Settings
This section contains information about configuring HaptiCast to work on your system.
All settings are loaded from the settings.xml, which should be located in the same folder as the game executable. This file may be edited using a plain text editor.
hcGameSettings
Used to configure gameplay settings.
- players - an integer indicating how many players will partake in the game. Currently, 1 or 2 players are supported.
hcDeviceSettings
Used to configure display and other hardware settings.
- width - screen width (in pixels)
- height - screen height (in pixels)
- bpp - bits per pixel. Supported values are 16 and 32.
- fullscreen - run the game in fullscreen or a window? Use true or false.
hcPlayerSettings
Used to configure setting per player.
- player - player number, starting at 0.
- type - type of device for this player. mouse = mouse haptic device emulator, phantom = Phantom Omni device.
- forward,backward,right,left,lstrafe,rstrafe,jump,look,next,prev,toggle - key codes controlling various player actions. (see below). Use integer value from Irrlicht.
Here's an example settings.xml file:
<?xml version="1.0" encoding="UTF-8"? >
<hcGameSettings players="2" />
<hcDeviceSettings width="512" height="768" bpp="32"
fullscreen="false"
/>
<hcPlayerSettings player="0" type="phantom" device="PHANToM Left"
forward="87" backward="83" left="65" right="68" lstrafe="81"
rstrafe="69" jump="32" look="17" next="84" prev="82" toggle="9" />
<hcPlayerSettings player="1" type="mouse" device="PHANToM Right"
forward="38" backward="40" left="" right="" lstrafe="37"
rstrafe="39" jump="13" look="16" next="190" prev="188" toggle="45" />
<hcDummy />
Here is a list of the key codes used by Irrlicht (taken from the Irrlicht source code):
KEY_LBUTTON = 0x01, // Left mouse button KEY_RBUTTON = 0x02, // Right mouse button KEY_CANCEL = 0x03, // Control-break processing KEY_MBUTTON = 0x04, // Middle mouse button (three-button mouse) KEY_XBUTTON1 = 0x05, // Windows 2000/XP: X1 mouse button KEY_XBUTTON2 = 0x06, // Windows 2000/XP: X2 mouse button KEY_BACK = 0x08, // BACKSPACE key KEY_TAB = 0x09, // TAB key KEY_CLEAR = 0x0C, // CLEAR key KEY_RETURN = 0x0D, // ENTER key KEY_SHIFT = 0x10, // SHIFT key KEY_CONTROL = 0x11, // CTRL key KEY_MENU = 0x12, // ALT key KEY_PAUSE = 0x13, // PAUSE key KEY_CAPITAL = 0x14, // CAPS LOCK key KEY_KANA = 0x15, // IME Kana mode KEY_HANGUEL = 0x15, // IME Hanguel mode (maintained for compatibility use KEY_HANGUL) KEY_HANGUL = 0x15, // IME Hangul mode KEY_JUNJA = 0x17, // IME Junja mode KEY_FINAL = 0x18, // IME final mode KEY_HANJA = 0x19, // IME Hanja mode KEY_KANJI = 0x19, // IME Kanji mode KEY_ESCAPE = 0x1B, // ESC key KEY_CONVERT = 0x1C, // IME convert KEY_NONCONVERT = 0x1D, // IME nonconvert KEY_ACCEPT = 0x1E, // IME accept KEY_MODECHANGE = 0x1F, // IME mode change request KEY_SPACE = 0x20, // SPACEBAR KEY_PRIOR = 0x21, // PAGE UP key KEY_NEXT = 0x22, // PAGE DOWN key KEY_END = 0x23, // END key KEY_HOME = 0x24, // HOME key KEY_LEFT = 0x25, // LEFT ARROW key KEY_UP = 0x26, // UP ARROW key KEY_RIGHT = 0x27, // RIGHT ARROW key KEY_DOWN = 0x28, // DOWN ARROW key KEY_SELECT = 0x29, // SELECT key KEY_PRINT = 0x2A, // PRINT key KEY_EXECUT = 0x2B, // EXECUTE key KEY_SNAPSHOT = 0x2C, // PRINT SCREEN key KEY_INSERT = 0x2D, // INS key KEY_DELETE = 0x2E, // DEL key KEY_HELP = 0x2F, // HELP key KEY_KEY_0 = 0x30, // 0 key KEY_KEY_1 = 0x31, // 1 key KEY_KEY_2 = 0x32, // 2 key KEY_KEY_3 = 0x33, // 3 key KEY_KEY_4 = 0x34, // 4 key KEY_KEY_5 = 0x35, // 5 key KEY_KEY_6 = 0x36, // 6 key KEY_KEY_7 = 0x37, // 7 key KEY_KEY_8 = 0x38, // 8 key KEY_KEY_9 = 0x39, // 9 key KEY_KEY_A = 0x41, // A key KEY_KEY_B = 0x42, // B key KEY_KEY_C = 0x43, // C key KEY_KEY_D = 0x44, // D key KEY_KEY_E = 0x45, // E key KEY_KEY_F = 0x46, // F key KEY_KEY_G = 0x47, // G key KEY_KEY_H = 0x48, // H key KEY_KEY_I = 0x49, // I key KEY_KEY_J = 0x4A, // J key KEY_KEY_K = 0x4B, // K key KEY_KEY_L = 0x4C, // L key KEY_KEY_M = 0x4D, // M key KEY_KEY_N = 0x4E, // N key KEY_KEY_O = 0x4F, // O key KEY_KEY_P = 0x50, // P key KEY_KEY_Q = 0x51, // Q key KEY_KEY_R = 0x52, // R key KEY_KEY_S = 0x53, // S key KEY_KEY_T = 0x54, // T key KEY_KEY_U = 0x55, // U key KEY_KEY_V = 0x56, // V key KEY_KEY_W = 0x57, // W key KEY_KEY_X = 0x58, // X key KEY_KEY_Y = 0x59, // Y key KEY_KEY_Z = 0x5A, // Z key KEY_LWIN = 0x5B, // Left Windows key (Microsoft® Natural® keyboard) KEY_RWIN = 0x5C, // Right Windows key (Natural keyboard) KEY_APPS = 0x5D, //Applications key (Natural keyboard) KEY_SLEEP = 0x5F, // Computer Sleep key KEY_NUMPAD0 = 0x60, // Numeric keypad 0 key KEY_NUMPAD1 = 0x61, // Numeric keypad 1 key KEY_NUMPAD2 = 0x62, // Numeric keypad 2 key KEY_NUMPAD3 = 0x63, // Numeric keypad 3 key KEY_NUMPAD4 = 0x64, // Numeric keypad 4 key KEY_NUMPAD5 = 0x65, // Numeric keypad 5 key KEY_NUMPAD6 = 0x66, // Numeric keypad 6 key KEY_NUMPAD7 = 0x67, // Numeric keypad 7 key KEY_NUMPAD8 = 0x68, // Numeric keypad 8 key KEY_NUMPAD9 = 0x69, // Numeric keypad 9 key KEY_MULTIPLY = 0x6A, // Multiply key KEY_ADD = 0x6B, // Add key KEY_SEPARATOR = 0x6C, // Separator key KEY_SUBTRACT = 0x6D, // Subtract key KEY_DECIMAL = 0x6E, // Decimal key KEY_DIVIDE = 0x6F, // Divide key KEY_F1 = 0x70, // F1 key KEY_F2 = 0x71, // F2 key KEY_F3 = 0x72, // F3 key KEY_F4 = 0x73, // F4 key KEY_F5 = 0x74, // F5 key KEY_F6 = 0x75, // F6 key KEY_F7 = 0x76, // F7 key KEY_F8 = 0x77, // F8 key KEY_F9 = 0x78, // F9 key KEY_F10 = 0x79, // F10 key KEY_F11 = 0x7A, // F11 key KEY_F12 = 0x7B, // F12 key KEY_F13 = 0x7C, // F13 key KEY_F14 = 0x7D, // F14 key KEY_F15 = 0x7E, // F15 key KEY_F16 = 0x7F, // F16 key KEY_F17 = 0x80, // F17 key KEY_F18 = 0x81, // F18 key KEY_F19 = 0x82, // F19 key KEY_F20 = 0x83, // F20 key KEY_F21 = 0x84, // F21 key KEY_F22 = 0x85, // F22 key KEY_F23 = 0x86, // F23 key KEY_F24 = 0x87, // F24 key KEY_NUMLOCK = 0x90, // NUM LOCK key KEY_SCROLL = 0x91, // SCROLL LOCK key KEY_LSHIFT = 0xA0, // Left SHIFT key KEY_RSHIFT = 0xA1, // Right SHIFT key KEY_LCONTROL = 0xA2, // Left CONTROL key KEY_RCONTROL = 0xA3, // Right CONTROL key KEY_LMENU = 0xA4, // Left MENU key KEY_RMENU = 0xA5, // Right MENU key KEY_COMMA = 0xBC, // Comma Key (,) KEY_PLUS = 0xBB, // Plus Key (+) KEY_MINUS = 0xBD, // Minus Key (-) KEY_PERIOD = 0xBE, // Period Key (.) KEY_ATTN = 0xF6, // Attn key KEY_CRSEL = 0xF7, // CrSel key KEY_EXSEL = 0xF8, // ExSel key KEY_EREOF = 0xF9, // Erase EOF key KEY_PLAY = 0xFA, // Play key KEY_ZOOM = 0xFB, // Zoom key KEY_PA1 = 0xFD, // PA1 key KEY_OEM_CLEAR = 0xFE, // Clear key
You'll have to do the conversion of hexadecimal to decimal yourself. :)