hedgewars/hwengine.pas
changeset 8327 a6f3452f5f94
parent 8325 ecd51650d5d8
child 8330 aaefa587e277
child 8345 9d9b498cfb03
child 8346 3443e0de2c9d
equal deleted inserted replaced
8326:023a71940f26 8327:a6f3452f5f94
    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();