equal
deleted
inserted
replaced
144 end; |
144 end; |
145 |
145 |
146 //////////////////// |
146 //////////////////// |
147 procedure OnDestroy; |
147 procedure OnDestroy; |
148 begin |
148 begin |
149 {$IFDEF DEBUGFILE}AddFileLog('Freeing resources...');{$ENDIF} |
149 WriteLnToConsole('Freeing resources...'); |
150 if isSoundEnabled then ReleaseSound(); |
150 if isSoundEnabled then ReleaseSound(); |
151 StoreRelease(); |
151 StoreRelease(); |
152 FreeLand(); |
152 FreeLand(); |
|
153 ControllerClose(); |
153 SendKB(); |
154 SendKB(); |
154 CloseIPC(); |
155 CloseIPC(); |
155 TTF_Quit(); |
156 TTF_Quit(); |
156 //{$IFNDEF IPHONEOS} |
|
157 // TODO: don't halt and don't clean, return to the previous view |
|
158 SDL_Quit(); |
157 SDL_Quit(); |
|
158 {$IFDEF IPHONEOS} |
|
159 IPH_returnFrontend(); |
|
160 {$ELSE} |
159 halt(); |
161 halt(); |
160 //{$ENDIF} |
162 {$ENDIF} |
161 end; |
163 end; |
162 |
164 |
163 /////////////////// |
165 /////////////////// |
164 procedure MainLoop; |
166 procedure MainLoop; |
165 var PrevTime, |
167 var PrevTime, |
476 isDeveloperMode:= false; |
478 isDeveloperMode:= false; |
477 |
479 |
478 TryDo(InitStepsFlags = cifAllInited, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true); |
480 TryDo(InitStepsFlags = cifAllInited, 'Some parameters not set (flags = ' + inttostr(InitStepsFlags) + ')', true); |
479 |
481 |
480 MainLoop; |
482 MainLoop; |
481 ControllerClose |
483 ControllerClose(); |
482 end; |
484 end; |
483 |
485 |
484 ///////////////////////// |
486 ///////////////////////// |
485 procedure GenLandPreview; |
487 procedure GenLandPreview; |
486 var Preview: TPreview; |
488 var Preview: TPreview; |
494 WriteLnToConsole('Sending preview...'); |
496 WriteLnToConsole('Sending preview...'); |
495 SendIPCRaw(@Preview, sizeof(Preview)); |
497 SendIPCRaw(@Preview, sizeof(Preview)); |
496 h:= MaxHedgehogs; |
498 h:= MaxHedgehogs; |
497 SendIPCRaw(@h, sizeof(h)); |
499 SendIPCRaw(@h, sizeof(h)); |
498 WriteLnToConsole('Preview sent, disconnect'); |
500 WriteLnToConsole('Preview sent, disconnect'); |
499 CloseIPC |
501 CloseIPC(); |
500 end; |
502 end; |
501 |
503 |
502 //////////////////////////////////////////////////////////////////////////////// |
504 //////////////////////////////////////////////////////////////////////////////// |
503 /////////////////////////////// m a i n //////////////////////////////////////// |
505 /////////////////////////////// m a i n //////////////////////////////////////// |
504 //////////////////////////////////////////////////////////////////////////////// |
506 //////////////////////////////////////////////////////////////////////////////// |
505 |
507 |
506 begin |
508 begin |
507 WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')'); |
509 WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')'); |
508 GetParams; |
510 GetParams; |
509 |
511 |
510 Randomize; |
512 Randomize; |
511 |
513 |
512 if GameType = gmtLandPreview then GenLandPreview |
514 if GameType = gmtLandPreview then GenLandPreview |
513 else Game |
515 else Game; |
|
516 // ExitCode := 100; |
514 end. |
517 end. |
515 |
518 |