equal
deleted
inserted
replaced
38 procedure preInitEverything(); |
38 procedure preInitEverything(); |
39 procedure initEverything(complete:boolean); |
39 procedure initEverything(complete:boolean); |
40 procedure freeEverything(complete:boolean); |
40 procedure freeEverything(complete:boolean); |
41 |
41 |
42 implementation |
42 implementation |
|
43 uses uFLUICallback, uFLTypes; |
43 |
44 |
44 /////////////////////////////////////////////////////////////////////////////// |
45 /////////////////////////////////////////////////////////////////////////////// |
45 function DoTimer(Lag: LongInt): boolean; |
46 function DoTimer(Lag: LongInt): boolean; |
46 var s: shortstring; |
47 var s: shortstring; |
47 t: LongWord; |
48 t: LongWord; |
516 WriteLnToConsole('Preview sent, disconnect'); |
517 WriteLnToConsole('Preview sent, disconnect'); |
517 freeEverything(false); |
518 freeEverything(false); |
518 end; |
519 end; |
519 |
520 |
520 function EngineThread(p: pointer): Longint; cdecl; export; |
521 function EngineThread(p: pointer): Longint; cdecl; export; |
|
522 var e: TFLIBEvent; |
521 begin |
523 begin |
522 if GameType = gmtLandPreview then |
524 if GameType = gmtLandPreview then |
523 GenLandPreview() |
525 GenLandPreview() |
524 else Game(); |
526 else Game(); |
525 |
527 |
|
528 e:= flibGameFinished; |
|
529 sendUI(mtFlibEvent, @e, sizeof(e)); |
526 EngineThread:= 0 |
530 EngineThread:= 0 |
527 end; |
531 end; |
528 |
532 |
529 |
533 |
530 function RunEngine(argc: LongInt; argv: PPChar): Longint; cdecl; export; |
534 function RunEngine(argc: LongInt; argv: PPChar): Longint; cdecl; export; |
|
535 var t: PSDL_Thread; |
531 begin |
536 begin |
532 operatingsystem_parameter_argc:= argc; |
537 operatingsystem_parameter_argc:= argc; |
533 operatingsystem_parameter_argv:= argv; |
538 operatingsystem_parameter_argv:= argv; |
534 |
539 |
535 {$IFDEF PAS2C} |
540 {$IFDEF PAS2C} |
543 if GameType = gmtSyntax then |
548 if GameType = gmtSyntax then |
544 RunEngine:= HaltUsageError |
549 RunEngine:= HaltUsageError |
545 else |
550 else |
546 begin |
551 begin |
547 SDL_CreateThread(@EngineThread, 'engine', nil); |
552 SDL_CreateThread(@EngineThread, 'engine', nil); |
|
553 SDL_DetachThread(t); |
548 RunEngine:= 0 |
554 RunEngine:= 0 |
549 end |
555 end |
550 end; |
556 end; |
551 |
557 |
552 end. |
558 end. |