cocoaTouch/GameSetup.m
changeset 2694 dcd248e04f3d
parent 2693 3207e0eacd43
child 2696 41aa7b56c17b
equal deleted inserted replaced
2693:3207e0eacd43 2694:dcd248e04f3d
     9 #import "GameSetup.h"
     9 #import "GameSetup.h"
    10 #import "SDL_uikitappdelegate.h"
    10 #import "SDL_uikitappdelegate.h"
    11 #import "SDL_net.h"
    11 #import "SDL_net.h"
    12 #import "PascalImports.h"
    12 #import "PascalImports.h"
    13 
    13 
    14 #define IPC_PORT 51342
    14 
    15 #define IPC_PORT_STR "51342"
       
    16 #define BUFFER_SIZE 256
    15 #define BUFFER_SIZE 256
    17 
    16 
    18 
    17 
    19 // they should go in the interface
    18 // they should go in the interface
    20 TCPsocket sd, csd; /* Socket descriptor, Client socket descriptor */
    19 TCPsocket sd, csd; /* Socket descriptor, Client socket descriptor */
       
    20 NSInteger ipcPort;
       
    21 
    21 int sendToEngine (NSString * string) {
    22 int sendToEngine (NSString * string) {
    22 	Uint8 length = [string length];
    23 	Uint8 length = [string length];
    23 	
    24 	
    24 	SDLNet_TCP_Send(csd, &length , 1);
    25 	SDLNet_TCP_Send(csd, &length , 1);
    25 	return SDLNet_TCP_Send(csd, [string UTF8String], length);
    26 	return SDLNet_TCP_Send(csd, [string UTF8String], length);
    26 }
    27 }
    27 
    28 
    28 
    29 
    29 @implementation GameSetup
    30 @implementation GameSetup
    30 
    31 
    31 @synthesize locale, engineProtocolStarted;
    32 @synthesize localeString, systemSettings;
    32 
    33 
    33 -(id) init {
    34 -(id) init {
    34 	self = [super init];
    35 	self = [super init];
    35 	self.locale = [NSLocale currentLocale];
    36 	self.localeString = [[[NSLocale currentLocale] localeIdentifier] stringByAppendingString:@".txt"];
    36 	self.engineProtocolStarted = NO;
    37 	self.systemSettings = nil;
       
    38 	engineProtocolStarted = NO;
       
    39 	ipcPort = 51342;
    37 	return self;
    40 	return self;
    38 }
    41 }
    39 
    42 
    40 -(void) startThread: (NSString *) selector {
    43 -(void) startThread: (NSString *) selector {
    41 	SEL usage = NSSelectorFromString(selector);
    44 	SEL usage = NSSelectorFromString(selector);
    60 		fprintf(stderr, "SDLNet_Init: %s\n", SDLNet_GetError());
    63 		fprintf(stderr, "SDLNet_Init: %s\n", SDLNet_GetError());
    61 		exit(EXIT_FAILURE);
    64 		exit(EXIT_FAILURE);
    62 	}
    65 	}
    63 	
    66 	
    64 	/* Resolving the host using NULL make network interface to listen */
    67 	/* Resolving the host using NULL make network interface to listen */
    65 	if (SDLNet_ResolveHost(&ip, NULL, IPC_PORT) < 0) {
    68 	if (SDLNet_ResolveHost(&ip, NULL, ipcPort) < 0) {
    66 		fprintf(stderr, "SDLNet_ResolveHost: %s\n", SDLNet_GetError());
    69 		fprintf(stderr, "SDLNet_ResolveHost: %s\n", SDLNet_GetError());
    67 		exit(EXIT_FAILURE);
    70 		exit(EXIT_FAILURE);
    68 	}
    71 	}
    69 	
    72 	
    70 	/* Open a connection with the IP provided (listen on the host's port) */
    73 	/* Open a connection with the IP provided (listen on the host's port) */
   236 	[pool release];
   239 	[pool release];
   237 	[NSThread exit];
   240 	[NSThread exit];
   238 }
   241 }
   239 
   242 
   240 -(void) setArgsForLocalPlay {
   243 -(void) setArgsForLocalPlay {
   241 	NSString *localeString = [[self.locale localeIdentifier] stringByAppendingString:@".txt"];
   244 	NSString *portNumber = [[NSString alloc] initWithFormat:@"%d",ipcPort];
   242 	NSLog(localeString);
   245 	/*for (NSString *theString in [NSLocale ISOLanguageCodes]) {
       
   246 		NSLog(theString);
       
   247 	}*/
       
   248 	
   243 	
   249 	
   244 	memset(forward_argv, 0, forward_argc);
   250 	memset(forward_argv, 0, forward_argc);
   245 	
   251 	
   246 	forward_argc = 18;
   252 	forward_argc = 18;
   247 	forward_argv = (char **)realloc(forward_argv, forward_argc * sizeof(char *));
   253 	forward_argv = (char **)realloc(forward_argv, forward_argc * sizeof(char *));
   248 	//forward_argv[i] = malloc( (strlen(argv[i])+1) * sizeof(char));
   254 	//forward_argv[i] = malloc( (strlen(argv[i])+1) * sizeof(char));
   249 	forward_argv[ 1] = forward_argv[0];	// (UNUSED)
   255 	forward_argv[ 1] = forward_argv[0];					// (UNUSED)
   250 	forward_argv[ 2] = "320";			// cScreenWidth (NO EFFECT)
   256 	forward_argv[ 2] = "320";							// cScreenWidth
   251 	forward_argv[ 3] = "480";			// cScreenHeight (NO EFFECT)
   257 	forward_argv[ 3] = "480";							// cScreenHeight
   252 	forward_argv[ 4] = "32";			// cBitsStr
   258 	forward_argv[ 4] = "16";							// cBitsStr
   253 	forward_argv[ 5] = IPC_PORT_STR;	// ipcPort;
   259 	forward_argv[ 5] = [portNumber UTF8String];			// ipcPort;
   254 	forward_argv[ 6] = "1";				// cFullScreen (NO EFFECT)
   260 	forward_argv[ 6] = "1";								// cFullScreen (NO EFFECT)
   255 	forward_argv[ 7] = "0";				// isSoundEnabled (TOSET)
   261 	forward_argv[ 7] = "0";				// isSoundEnabled (TOSET)
   256 	forward_argv[ 8] = "1";				// cVSyncInUse (UNUSED)
   262 	forward_argv[ 8] = "1";								// cVSyncInUse (UNUSED)
   257 	forward_argv[ 9] = [localeString UTF8String];		// cLocaleFName
   263 	forward_argv[ 9] = [localeString UTF8String];		// cLocaleFName
   258 	forward_argv[10] = "100";			// cInitVolume (TOSET)
   264 	forward_argv[10] = "100";			// cInitVolume (TOSET)
   259 	forward_argv[11] = "8";				// cTimerInterval
   265 	forward_argv[11] = "8";								// cTimerInterval
   260 	forward_argv[12] = "Data";			// PathPrefix
   266 	forward_argv[12] = "Data";							// PathPrefix
   261 	forward_argv[13] = "1";				// cShowFPS (TOSET?)
   267 	forward_argv[13] = "1";				// cShowFPS (TOSET?)
   262 	forward_argv[14] = "0";				// cAltDamage (TOSET)
   268 	forward_argv[14] = "0";				// cAltDamage (TOSET)
   263 	forward_argv[15] = "Koda";			// UserNick (DecodeBase64(ParamStr(15)) FTW) <- TODO
   269 	forward_argv[15] = "Koda";			// UserNick (DecodeBase64(ParamStr(15)) FTW) <- TODO
   264 	forward_argv[16] = "0";				// isMusicEnabled (TOSET)
   270 	forward_argv[16] = "0";				// isMusicEnabled (TOSET)
   265 	forward_argv[17] = "0";				// cReducedQuality
   271 	forward_argv[17] = "0";								// cReducedQuality
   266 
   272 
   267 fprintf(stderr, forward_argv[9]);
   273 	[portNumber release];
   268 	return;
   274 	return;
   269 }
   275 }
   270 
   276 
   271 
   277 
   272 /*
   278 
   273  -(void) dealloc {
   279 -(void) dealloc {
       
   280 	[self.systemSettings release];
       
   281 	[self.localeString autorelease];
   274 	[super dealloc];
   282 	[super dealloc];
   275 }
   283 }
   276  */
   284 
   277 
   285 
   278 
   286 
   279 @end
   287 @end