42 |
42 |
43 {$IFDEF HWLIBRARY} |
43 {$IFDEF HWLIBRARY} |
44 procedure preInitEverything(); |
44 procedure preInitEverything(); |
45 procedure initEverything(complete:boolean); |
45 procedure initEverything(complete:boolean); |
46 procedure freeEverything(complete:boolean); |
46 procedure freeEverything(complete:boolean); |
47 procedure Game(gameArgs: PPChar); cdecl; export; |
47 procedure Game(argc: LongInt; argv: PPChar); cdecl; export; |
48 procedure GenLandPreview(port: Longint); cdecl; export; |
48 procedure GenLandPreview(port: Longint); cdecl; export; |
49 |
49 |
50 implementation |
50 implementation |
51 {$ELSE} |
51 {$ELSE} |
52 procedure preInitEverything(); forward; |
52 procedure preInitEverything(); forward; |
53 procedure initEverything(complete:boolean); forward; |
53 procedure initEverything(complete:boolean); forward; |
54 procedure freeEverything(complete:boolean); forward; |
54 procedure freeEverything(complete:boolean); forward; |
55 {$ENDIF} |
55 {$ENDIF} |
|
56 |
|
57 {$INCLUDE "ArgParsers.inc"} |
56 |
58 |
57 /////////////////////////////////////////////////////////////////////////////// |
59 /////////////////////////////////////////////////////////////////////////////// |
58 function DoTimer(Lag: LongInt): boolean; |
60 function DoTimer(Lag: LongInt): boolean; |
59 var s: shortstring; |
61 var s: shortstring; |
60 begin |
62 begin |
319 StopVideoRecording(); |
321 StopVideoRecording(); |
320 end; |
322 end; |
321 {$ENDIF} |
323 {$ENDIF} |
322 |
324 |
323 /////////////////////////////////////////////////////////////////////////////// |
325 /////////////////////////////////////////////////////////////////////////////// |
324 procedure Game{$IFDEF HWLIBRARY}(gameArgs: PPChar); cdecl; export{$ENDIF}; |
326 procedure Game{$IFDEF HWLIBRARY}(argc: LongInt; argv: PPChar); cdecl; export{$ENDIF}; |
325 var p: TPathType; |
327 var p: TPathType; |
326 s: shortstring; |
328 s: shortstring; |
327 i: LongInt; |
329 i: LongInt; |
328 begin |
330 begin |
329 {$IFDEF HWLIBRARY} |
331 {$IFDEF HWLIBRARY} |
330 preInitEverything(); |
332 preInitEverything(); |
331 cShowFPS:= {$IFDEF DEBUGFILE}true{$ELSE}false{$ENDIF}; |
333 parseCommandLine(argc, argv); |
332 ipcPort:= StrToInt(gameArgs[0]); |
|
333 cScreenWidth:= StrToInt(gameArgs[1]); |
|
334 cScreenHeight:= StrToInt(gameArgs[2]); |
|
335 cReducedQuality:= StrToInt(gameArgs[3]); |
|
336 cLocaleFName:= gameArgs[4]; |
|
337 UserNick:= gameArgs[5]; |
|
338 SetSound(gameArgs[6] = '1'); |
|
339 SetMusic(gameArgs[7] = '1'); |
|
340 cAltDamage:= gameArgs[8] = '1'; |
|
341 PathPrefix:= gameArgs[9]; |
|
342 {$IFDEF IPHONEOS} |
|
343 UserPathPrefix:= '../Documents'; |
|
344 {$ENDIF} |
|
345 recordFileName:= gameArgs[10]; |
|
346 {$ENDIF} |
334 {$ENDIF} |
347 initEverything(true); |
335 initEverything(true); |
348 WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')'); |
336 WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')'); |
349 AddFileLog('Prefix: "' + PathPrefix +'"'); |
337 AddFileLog('Prefix: "' + PathPrefix +'"'); |
350 AddFileLog('UserPrefix: "' + UserPathPrefix +'"'); |
338 AddFileLog('UserPrefix: "' + UserPathPrefix +'"'); |
543 freeEverything(false); |
531 freeEverything(false); |
544 end; |
532 end; |
545 |
533 |
546 {$IFNDEF HWLIBRARY} |
534 {$IFNDEF HWLIBRARY} |
547 |
535 |
548 {$INCLUDE "ArgParsers.inc"} |
|
549 |
|
550 /////////////////////////////////////////////////////////////////////////////// |
536 /////////////////////////////////////////////////////////////////////////////// |
551 /////////////////////////////////// m a i n /////////////////////////////////// |
537 /////////////////////////////////// m a i n /////////////////////////////////// |
552 /////////////////////////////////////////////////////////////////////////////// |
538 /////////////////////////////////////////////////////////////////////////////// |
553 begin |
539 begin |
554 preInitEverything(); |
540 preInitEverything(); |