1 /*
2  * OpenBOR - http://www.LavaLit.com
3  * -----------------------------------------------------------------------
4  * Licensed under the BSD license, see LICENSE in OpenBOR root for details.
5  *
6  * Copyright (c) 2004 - 2011 OpenBOR Team
7  */
8 
9 #ifndef CUSTOM_LAUNCH_PARAMS_H
10 #define CUSTOM_LAUNCH_PARAMS_H
11 
12 #include <XBApp.h>
13 
14 
15 #define CUSTOM_LAUNCH_MAGIC 0xEE456777
16 
17 #define COUNTRY_TYPE_AUTODETECT 0
18 #define COUNTRY_TYPE_USA 1
19 #define COUNTRY_TYPE_JAPAN 2
20 #define COUNTRY_TYPE_EUROPE 3
21 #define COUNTRY_TYPE_OTHER 4
22 
23 typedef struct _CUSTOM_LAUNCH_DATA
24 {
25 	DWORD magic ;							//populate this with CUSTOM_LAUNCH_MAGIC so we know we are using this special structure
26 	char szFilename[300] ;					//this is the path to the game to load upon startup
27 	char szLaunchXBEOnExit[100] ;			//this is the XBE name that should be launched when exiting the emu  ( "FILE.XBE" )
28 	char szRemap_D_As[350] ;				//this is what D drive should be mapped to in order to launch the XBE specified in szLaunchXBEOnExit  ( "\\Device\\Harddisk0\\Partition1\\GAMES" )
29 	BYTE country ;							//country code to use
30 	BYTE launchInsertedMedia ;				//should we auto-run the inserted CD/DVD ?
31 	BYTE executionType ;					//generic variable that determines how the emulator is run - for example, if you wish to run FMSXBOX as MSX1 or MSX2 or MSX2+
32 	char reserved[MAX_LAUNCH_DATA_SIZE-757] ;	//MAX_LAUNCH_DATA_SIZE is 3KB
33 
34 } CUSTOM_LAUNCH_DATA, *PCUSTOM_LAUNCH_DATA;
35 
36 extern CUSTOM_LAUNCH_DATA g_launchData  ;
37 extern int g_autoLaunchGame  ;
38 extern int g_launchReturnXBE  ;
39 
40 
41 int XGetCustomLaunchData() ;
42 void XReturnToLaunchingXBE( );
43 void XLaunchNewImageWithParams( char *szXBEName, char *szMap_D_As, PCUSTOM_LAUNCH_DATA pLaunchData );
44 
45 #endif
46