hedgewars/hwengine.pas
changeset 3365 37ac593e9027
parent 3312 6d8f1c76756d
child 3369 c7289e42f0ee
equal deleted inserted replaced
3364:e5403e2bf02c 3365:37ac593e9027
   322     if alsoShutdownFrontend then halt;
   322     if alsoShutdownFrontend then halt;
   323 end;
   323 end;
   324 
   324 
   325 procedure initEverything;
   325 procedure initEverything;
   326 begin
   326 begin
       
   327     Randomize();
       
   328 
   327     uConsts.initModule;
   329     uConsts.initModule;
   328     uMisc.initModule;
   330     uMisc.initModule;
   329     uConsole.initModule;    // MUST happen after uMisc
   331     uConsole.initModule;    // MUST happen after uMisc
   330     
   332     
   331     uAI.initModule;
   333     uAI.initModule;
   393     uMisc.freeModule;
   395     uMisc.freeModule;
   394 
   396 
   395 end;
   397 end;
   396 
   398 
   397 /////////////////////////
   399 /////////////////////////
   398 procedure GenLandPreview;
   400 procedure GenLandPreview{$IFDEF IPHONEOS}(port: LongInt){$ENDIF}; {$IFDEF HWLIBRARY}cdecl; export;{$ENDIF}
   399 var Preview: TPreview;
   401 var Preview: TPreview;
   400     h: byte;
   402 begin
   401 begin
   403 {$IFDEF IPHONEOS}
       
   404     initEverything();
       
   405     WriteLnToConsole('Preview connecting on port ' + inttostr(port));
       
   406     ipcPort:= port;
       
   407 {$ENDIF}
   402     InitIPC;
   408     InitIPC;
   403     IPCWaitPongEvent;
   409     IPCWaitPongEvent;
   404     TryDo(InitStepsFlags = cifRandomize, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true);
   410     TryDo(InitStepsFlags = cifRandomize, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true);
   405 
   411 
   406     Preview:= GenPreview;
   412     Preview:= GenPreview();
   407     WriteLnToConsole('Sending preview...');
   413     WriteLnToConsole('Sending preview...');
   408     SendIPCRaw(@Preview, sizeof(Preview));
   414     SendIPCRaw(@Preview, sizeof(Preview));
   409     h:= MaxHedgehogs;
   415     SendIPCRaw(@MaxHedgehogs, sizeof(byte));
   410     SendIPCRaw(@h, sizeof(h));
       
   411     WriteLnToConsole('Preview sent, disconnect');
   416     WriteLnToConsole('Preview sent, disconnect');
   412     CloseIPC();
   417     CloseIPC();
       
   418 {$IFDEF IPHONEOS}
       
   419     freeEverything();
       
   420 {$ENDIF}
   413 end;
   421 end;
   414 
   422 
   415 {$IFNDEF HWLIBRARY}
   423 {$IFNDEF HWLIBRARY}
   416 ////////////////////////////////
   424 ////////////////////////////////
   417 procedure Resize(w, h: LongInt);
   425 procedure Resize(w, h: LongInt);
   578 begin
   586 begin
   579     initEverything();
   587     initEverything();
   580     WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')');
   588     WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')');
   581     
   589     
   582     GetParams();
   590     GetParams();
   583     Randomize();
       
   584 
   591 
   585     if GameType = gmtLandPreview then GenLandPreview()
   592     if GameType = gmtLandPreview then GenLandPreview()
   586     else if GameType = gmtSyntax then DisplayUsage()
   593     else if GameType = gmtSyntax then DisplayUsage()
   587     else Game();
   594     else Game();
   588     
   595