hedgewars/CCHandlers.inc
branchexperimental3D
changeset 4004 b1c2c2f6fc5e
parent 3969 5f4ef3db0a65
child 4099 af612377fcba
equal deleted inserted replaced
3698:793386610068 4004:b1c2c2f6fc5e
   160     SplitBySpace(s, id);
   160     SplitBySpace(s, id);
   161     val(s, Gear^.Health);
   161     val(s, Gear^.Health);
   162     TryDo(Gear^.Health > 0, 'Invalid hedgehog health', true);
   162     TryDo(Gear^.Health > 0, 'Invalid hedgehog health', true);
   163     PHedgehog(Gear^.Hedgehog)^.Team:= CurrentTeam;
   163     PHedgehog(Gear^.Hedgehog)^.Team:= CurrentTeam;
   164     if (GameFlags and gfSharedAmmo) <> 0 then CurrentHedgehog^.AmmoStore:= Clan^.ClanIndex
   164     if (GameFlags and gfSharedAmmo) <> 0 then CurrentHedgehog^.AmmoStore:= Clan^.ClanIndex
       
   165     else if (GameFlags and gfPerHogAmmo) <> 0 then
       
   166         begin
       
   167         AddAmmoStore;
       
   168         CurrentHedgehog^.AmmoStore:= StoreCnt - 1
       
   169         end
   165     else CurrentHedgehog^.AmmoStore:= TeamsCount - 1;
   170     else CurrentHedgehog^.AmmoStore:= TeamsCount - 1;
   166     CurrentHedgehog^.Gear:= Gear;
   171     CurrentHedgehog^.Gear:= Gear;
   167     CurrentHedgehog^.Name:= id;
   172     CurrentHedgehog^.Name:= id;
   168     CurrHedgehog:= HedgehogsNumber;
   173     CurrHedgehog:= HedgehogsNumber;
   169     inc(HedgehogsNumber)
   174     inc(HedgehogsNumber)
   288 
   293 
   289 procedure chLeft_p(var s: shortstring);
   294 procedure chLeft_p(var s: shortstring);
   290 begin
   295 begin
   291 s:= s; // avoid compiler hint
   296 s:= s; // avoid compiler hint
   292 if CheckNoTeamOrHH or isPaused then exit;
   297 if CheckNoTeamOrHH or isPaused then exit;
   293 bShowFinger:= false;
       
   294 if not CurrentTeam^.ExtDriven then SendIPC('L');
   298 if not CurrentTeam^.ExtDriven then SendIPC('L');
   295 with CurrentHedgehog^.Gear^ do
   299 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   296     Message:= Message or gm_Left
   300 bShowFinger:= false;
       
   301 with CurrentHedgehog^.Gear^ do
       
   302     Message:= Message or gmLeft
   297 end;
   303 end;
   298 
   304 
   299 procedure chLeft_m(var s: shortstring);
   305 procedure chLeft_m(var s: shortstring);
   300 begin
   306 begin
   301 s:= s; // avoid compiler hint
   307 s:= s; // avoid compiler hint
   302 if CheckNoTeamOrHH then exit;
   308 if CheckNoTeamOrHH then exit;
   303 if not CurrentTeam^.ExtDriven then SendIPC('l');
   309 if not CurrentTeam^.ExtDriven then SendIPC('l');
   304 with CurrentHedgehog^.Gear^ do
   310 with CurrentHedgehog^.Gear^ do
   305     Message:= Message and not gm_Left
   311     Message:= Message and not gmLeft
   306 end;
   312 end;
   307 
   313 
   308 procedure chRight_p(var s: shortstring);
   314 procedure chRight_p(var s: shortstring);
   309 begin
   315 begin
   310 s:= s; // avoid compiler hint
   316 s:= s; // avoid compiler hint
   311 if CheckNoTeamOrHH or isPaused then exit;
   317 if CheckNoTeamOrHH or isPaused then exit;
   312 bShowFinger:= false;
       
   313 if not CurrentTeam^.ExtDriven then SendIPC('R');
   318 if not CurrentTeam^.ExtDriven then SendIPC('R');
   314 with CurrentHedgehog^.Gear^ do
   319 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   315     Message:= Message or gm_Right
   320 bShowFinger:= false;
       
   321 with CurrentHedgehog^.Gear^ do
       
   322     Message:= Message or gmRight
   316 end;
   323 end;
   317 
   324 
   318 procedure chRight_m(var s: shortstring);
   325 procedure chRight_m(var s: shortstring);
   319 begin
   326 begin
   320 s:= s; // avoid compiler hint
   327 s:= s; // avoid compiler hint
   321 if CheckNoTeamOrHH then exit;
   328 if CheckNoTeamOrHH then exit;
   322 if not CurrentTeam^.ExtDriven then SendIPC('r');
   329 if not CurrentTeam^.ExtDriven then SendIPC('r');
   323 with CurrentHedgehog^.Gear^ do
   330 with CurrentHedgehog^.Gear^ do
   324     Message:= Message and not gm_Right
   331     Message:= Message and not gmRight
   325 end;
   332 end;
   326 
   333 
   327 procedure chUp_p(var s: shortstring);
   334 procedure chUp_p(var s: shortstring);
   328 begin
   335 begin
   329 s:= s; // avoid compiler hint
   336 s:= s; // avoid compiler hint
   330 if CheckNoTeamOrHH or isPaused then exit;
   337 if CheckNoTeamOrHH or isPaused then exit;
   331 bShowFinger:= false;
       
   332 if not CurrentTeam^.ExtDriven then SendIPC('U');
   338 if not CurrentTeam^.ExtDriven then SendIPC('U');
   333 with CurrentHedgehog^.Gear^ do
   339 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   334     Message:= Message or gm_Up
   340 bShowFinger:= false;
       
   341 with CurrentHedgehog^.Gear^ do
       
   342     Message:= Message or gmUp
   335 end;
   343 end;
   336 
   344 
   337 procedure chUp_m(var s: shortstring);
   345 procedure chUp_m(var s: shortstring);
   338 begin
   346 begin
   339 s:= s; // avoid compiler hint
   347 s:= s; // avoid compiler hint
   340 if CheckNoTeamOrHH then exit;
   348 if CheckNoTeamOrHH then exit;
   341 if not CurrentTeam^.ExtDriven then SendIPC('u');
   349 if not CurrentTeam^.ExtDriven then SendIPC('u');
   342 with CurrentHedgehog^.Gear^ do
   350 with CurrentHedgehog^.Gear^ do
   343     Message:= Message and not gm_Up
   351     Message:= Message and not gmUp
   344 end;
   352 end;
   345 
   353 
   346 procedure chDown_p(var s: shortstring);
   354 procedure chDown_p(var s: shortstring);
   347 begin
   355 begin
   348 s:= s; // avoid compiler hint
   356 s:= s; // avoid compiler hint
   349 if CheckNoTeamOrHH or isPaused then exit;
   357 if CheckNoTeamOrHH or isPaused then exit;
   350 bShowFinger:= false;
       
   351 if not CurrentTeam^.ExtDriven then SendIPC('D');
   358 if not CurrentTeam^.ExtDriven then SendIPC('D');
   352 with CurrentHedgehog^.Gear^ do
   359 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   353     Message:= Message or gm_Down
   360 bShowFinger:= false;
       
   361 with CurrentHedgehog^.Gear^ do
       
   362     Message:= Message or gmDown
   354 end;
   363 end;
   355 
   364 
   356 procedure chDown_m(var s: shortstring);
   365 procedure chDown_m(var s: shortstring);
   357 begin
   366 begin
   358 s:= s; // avoid compiler hint
   367 s:= s; // avoid compiler hint
   359 if CheckNoTeamOrHH then exit;
   368 if CheckNoTeamOrHH then exit;
   360 if not CurrentTeam^.ExtDriven then SendIPC('d');
   369 if not CurrentTeam^.ExtDriven then SendIPC('d');
   361 with CurrentHedgehog^.Gear^ do
   370 with CurrentHedgehog^.Gear^ do
   362     Message:= Message and not gm_Down
   371     Message:= Message and not gmDown
   363 end;
   372 end;
   364 
   373 
   365 procedure chPrecise_p(var s: shortstring);
   374 procedure chPrecise_p(var s: shortstring);
   366 begin
   375 begin
   367 s:= s; // avoid compiler hint
   376 s:= s; // avoid compiler hint
   368 if CheckNoTeamOrHH or isPaused then exit;
   377 if CheckNoTeamOrHH or isPaused then exit;
   369 bShowFinger:= false;
       
   370 if not CurrentTeam^.ExtDriven then SendIPC('Z');
   378 if not CurrentTeam^.ExtDriven then SendIPC('Z');
   371 with CurrentHedgehog^.Gear^ do
   379 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   372     Message:= Message or gm_Precise
   380 bShowFinger:= false;
       
   381 with CurrentHedgehog^.Gear^ do
       
   382     Message:= Message or gmPrecise
   373 end;
   383 end;
   374 
   384 
   375 procedure chPrecise_m(var s: shortstring);
   385 procedure chPrecise_m(var s: shortstring);
   376 begin
   386 begin
   377 s:= s; // avoid compiler hint
   387 s:= s; // avoid compiler hint
   378 if CheckNoTeamOrHH then exit;
   388 if CheckNoTeamOrHH then exit;
   379 if not CurrentTeam^.ExtDriven then SendIPC('z');
   389 if not CurrentTeam^.ExtDriven then SendIPC('z');
   380 with CurrentHedgehog^.Gear^ do
   390 with CurrentHedgehog^.Gear^ do
   381     Message:= Message and not gm_Precise
   391     Message:= Message and not gmPrecise
   382 end;
   392 end;
   383 
   393 
   384 procedure chLJump(var s: shortstring);
   394 procedure chLJump(var s: shortstring);
   385 begin
   395 begin
   386 s:= s; // avoid compiler hint
   396 s:= s; // avoid compiler hint
   387 if CheckNoTeamOrHH or isPaused then exit;
   397 if CheckNoTeamOrHH or isPaused then exit;
   388 bShowFinger:= false;
       
   389 if not CurrentTeam^.ExtDriven then SendIPC('j');
   398 if not CurrentTeam^.ExtDriven then SendIPC('j');
   390 with CurrentHedgehog^.Gear^ do
   399 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   391     Message:= Message or gm_LJump
   400 bShowFinger:= false;
       
   401 with CurrentHedgehog^.Gear^ do
       
   402     Message:= Message or gmLJump
   392 end;
   403 end;
   393 
   404 
   394 procedure chHJump(var s: shortstring);
   405 procedure chHJump(var s: shortstring);
   395 begin
   406 begin
   396 s:= s; // avoid compiler hint
   407 s:= s; // avoid compiler hint
   397 if CheckNoTeamOrHH or isPaused then exit;
   408 if CheckNoTeamOrHH or isPaused then exit;
   398 bShowFinger:= false;
       
   399 if not CurrentTeam^.ExtDriven then SendIPC('J');
   409 if not CurrentTeam^.ExtDriven then SendIPC('J');
   400 with CurrentHedgehog^.Gear^ do
   410 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   401     Message:= Message or gm_HJump
   411 bShowFinger:= false;
       
   412 with CurrentHedgehog^.Gear^ do
       
   413     Message:= Message or gmHJump
   402 end;
   414 end;
   403 
   415 
   404 procedure chAttack_p(var s: shortstring);
   416 procedure chAttack_p(var s: shortstring);
   405 begin
   417 begin
   406 s:= s; // avoid compiler hint
   418 s:= s; // avoid compiler hint
   407 if CheckNoTeamOrHH or isPaused then exit;
   419 if CheckNoTeamOrHH or isPaused then exit;
       
   420 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   408 bShowFinger:= false;
   421 bShowFinger:= false;
   409 with CurrentHedgehog^.Gear^ do
   422 with CurrentHedgehog^.Gear^ do
   410     begin
   423     begin
   411     {$IFDEF DEBUGFILE}AddFileLog('/+attack: hedgehog''s Gear^.State = '+inttostr(State));{$ENDIF}
   424     {$IFDEF DEBUGFILE}AddFileLog('/+attack: hedgehog''s Gear^.State = '+inttostr(State));{$ENDIF}
   412     if ((State and gstHHDriven) <> 0) then
   425     if ((State and gstHHDriven) <> 0) then
   413         begin
   426         begin
   414         FollowGear:= CurrentHedgehog^.Gear;
   427         FollowGear:= CurrentHedgehog^.Gear;
   415         if not CurrentTeam^.ExtDriven then SendIPC('A');
   428         if not CurrentTeam^.ExtDriven then SendIPC('A');
   416         Message:= Message or gm_Attack
   429         Message:= Message or gmAttack
   417         end
   430         end
   418     end
   431     end
   419 end;
   432 end;
   420 
   433 
   421 procedure chAttack_m(var s: shortstring);
   434 procedure chAttack_m(var s: shortstring);
   423 s:= s; // avoid compiler hint
   436 s:= s; // avoid compiler hint
   424 if CheckNoTeamOrHH then exit;
   437 if CheckNoTeamOrHH then exit;
   425 with CurrentHedgehog^.Gear^ do
   438 with CurrentHedgehog^.Gear^ do
   426     begin
   439     begin
   427     if not CurrentTeam^.ExtDriven and
   440     if not CurrentTeam^.ExtDriven and
   428         ((Message and gm_Attack) <> 0) then SendIPC('a');
   441         ((Message and gmAttack) <> 0) then SendIPC('a');
   429     Message:= Message and not gm_Attack
   442     Message:= Message and not gmAttack
   430     end
   443     end
   431 end;
   444 end;
   432 
   445 
   433 procedure chSwitch(var s: shortstring);
   446 procedure chSwitch(var s: shortstring);
   434 begin
   447 begin
   435 s:= s; // avoid compiler hint
   448 s:= s; // avoid compiler hint
   436 if CheckNoTeamOrHH or isPaused then exit;
   449 if CheckNoTeamOrHH or isPaused then exit;
   437 if not CurrentTeam^.ExtDriven then SendIPC('S');
   450 if not CurrentTeam^.ExtDriven then SendIPC('S');
   438 with CurrentHedgehog^.Gear^ do
   451 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   439     Message:= Message or gm_Switch
   452 bShowFinger:= false;
       
   453 with CurrentHedgehog^.Gear^ do
       
   454     Message:= Message or gmSwitch
   440 end;
   455 end;
   441 
   456 
   442 procedure chNextTurn(var s: shortstring);
   457 procedure chNextTurn(var s: shortstring);
   443 begin
   458 begin
   444     s:= s; // avoid compiler hint
   459     s:= s; // avoid compiler hint
   446 
   461 
   447     if not CurrentTeam^.ExtDriven then SendIPC('N');
   462     if not CurrentTeam^.ExtDriven then SendIPC('N');
   448 {$IFDEF DEBUGFILE}
   463 {$IFDEF DEBUGFILE}
   449     AddFileLog('Doing SwitchHedgehog: time '+inttostr(GameTicks));
   464     AddFileLog('Doing SwitchHedgehog: time '+inttostr(GameTicks));
   450 {$ENDIF}
   465 {$ENDIF}
   451 {$IFDEF IPHONEOS}
   466     perfExt_NewTurnBeginning();
   452     clearView();
       
   453 {$ENDIF}
       
   454 end;
   467 end;
   455 
   468 
   456 procedure chSay(var s: shortstring);
   469 procedure chSay(var s: shortstring);
   457 begin
   470 begin
   458 SendIPC('s' + s);
   471 SendIPC('s' + s);
   475 end;
   488 end;
   476 
   489 
   477 procedure chTimer(var s: shortstring);
   490 procedure chTimer(var s: shortstring);
   478 begin
   491 begin
   479 if (s[0] <> #1) or (s[1] < '1') or (s[1] > '5') or CheckNoTeamOrHH then exit;
   492 if (s[0] <> #1) or (s[1] < '1') or (s[1] > '5') or CheckNoTeamOrHH then exit;
   480 bShowFinger:= false;
       
   481 
   493 
   482 if not CurrentTeam^.ExtDriven then SendIPC(s);
   494 if not CurrentTeam^.ExtDriven then SendIPC(s);
   483 with CurrentHedgehog^.Gear^ do
   495 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   484     begin
   496 bShowFinger:= false;
   485     Message:= Message or gm_Timer;
   497 with CurrentHedgehog^.Gear^ do
       
   498     begin
       
   499     Message:= Message or gmTimer;
   486     MsgParam:= byte(s[1]) - ord('0')
   500     MsgParam:= byte(s[1]) - ord('0')
   487     end
   501     end
   488 end;
   502 end;
   489 
   503 
   490 procedure chSlot(var s: shortstring);
   504 procedure chSlot(var s: shortstring);
   491 var slot: LongWord;
   505 var slot: LongWord;
   492 begin
   506 begin
   493 if (s[0] <> #1) or CheckNoTeamOrHH then exit;
   507 if (s[0] <> #1) or CheckNoTeamOrHH then exit;
   494 bShowFinger:= false;
       
   495 slot:= byte(s[1]) - 49;
   508 slot:= byte(s[1]) - 49;
   496 if slot > cMaxSlotIndex then exit;
   509 if slot > cMaxSlotIndex then exit;
   497 if not CurrentTeam^.ExtDriven then SendIPC(char(byte(s[1]) + 79));
   510 if not CurrentTeam^.ExtDriven then SendIPC(char(byte(s[1]) + 79));
   498 with CurrentHedgehog^.Gear^ do
   511 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   499     begin
   512 bShowFinger:= false;
   500     Message:= Message or gm_Slot;
   513 with CurrentHedgehog^.Gear^ do
       
   514     begin
       
   515     Message:= Message or gmSlot;
   501     MsgParam:= slot
   516     MsgParam:= slot
   502     end
   517     end
   503 end;
   518 end;
   504 
   519 
   505 procedure chSetWeapon(var s: shortstring);
   520 procedure chSetWeapon(var s: shortstring);
   510 
   525 
   511     if not CurrentTeam^.ExtDriven then SendIPC('w' + s);
   526     if not CurrentTeam^.ExtDriven then SendIPC('w' + s);
   512 
   527 
   513     with CurrentHedgehog^.Gear^ do
   528     with CurrentHedgehog^.Gear^ do
   514     begin
   529     begin
   515         Message:= Message or gm_Weapon;
   530         Message:= Message or gmWeapon;
   516         MsgParam:= byte(s[1]);
   531         MsgParam:= byte(s[1]);
   517     end;
   532     end;
   518 end;
   533 end;
   519 
   534 
   520 procedure chTaunt(var s: shortstring);
   535 procedure chTaunt(var s: shortstring);
   525 
   540 
   526 if not CurrentTeam^.ExtDriven then SendIPC('t' + s);
   541 if not CurrentTeam^.ExtDriven then SendIPC('t' + s);
   527 
   542 
   528 with CurrentHedgehog^.Gear^ do
   543 with CurrentHedgehog^.Gear^ do
   529     begin
   544     begin
   530     Message:= Message or gm_Animate;
   545     Message:= Message or gmAnimate;
   531     MsgParam:= byte(s[1])
   546     MsgParam:= byte(s[1])
   532     end
   547     end
   533 end;
   548 end;
   534 
   549 
   535 procedure chHogSay(var s: shortstring);
   550 procedure chHogSay(var s: shortstring);
   562     SpeechText:= text
   577     SpeechText:= text
   563     end;
   578     end;
   564 
   579 
   565 end;
   580 end;
   566 
   581 
   567 procedure chNewGrave;
       
   568 begin
       
   569 if CheckNoTeamOrHH or isPaused then exit;
       
   570 
       
   571 if not CurrentTeam^.ExtDriven then SendIPC('g');
       
   572 
       
   573 AddGear(hwRound(CurrentHedgehog^.Gear^.X), hwRound(CurrentHedgehog^.Gear^.Y), gtGrave, 0, _0, _0, 0)
       
   574 end;
       
   575 
       
   576 procedure doPut(putX, putY: LongInt; fromAI: boolean);
   582 procedure doPut(putX, putY: LongInt; fromAI: boolean);
   577 begin
   583 begin
   578 if CheckNoTeamOrHH or isPaused then exit;
   584 if CheckNoTeamOrHH or isPaused then exit;
       
   585 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
       
   586 bShowFinger:= false;
   579 if not CurrentTeam^.ExtDriven and bShowAmmoMenu then
   587 if not CurrentTeam^.ExtDriven and bShowAmmoMenu then
   580     begin
   588     begin
   581     bSelected:= true;
   589     bSelected:= true;
   582     exit
   590     exit
   583     end;
   591     end;
   605             TargetPoint.X:= putX;
   613             TargetPoint.X:= putX;
   606             TargetPoint.Y:= putY
   614             TargetPoint.Y:= putY
   607             end;
   615             end;
   608         {$IFDEF DEBUGFILE}AddFilelog('put: ' + inttostr(TargetPoint.X) + ', ' + inttostr(TargetPoint.Y));{$ENDIF}
   616         {$IFDEF DEBUGFILE}AddFilelog('put: ' + inttostr(TargetPoint.X) + ', ' + inttostr(TargetPoint.Y));{$ENDIF}
   609         State:= State and not gstHHChooseTarget;
   617         State:= State and not gstHHChooseTarget;
   610         if (Ammo^[CurSlot, CurAmmo].Propz and ammoprop_AttackingPut) <> 0 then
   618         if (Ammoz[CurAmmoType].Ammo.Propz and ammoprop_AttackingPut) <> 0 then
   611             Message:= Message or gm_Attack;
   619             Message:= Message or gmAttack;
   612         end
   620         end
   613     else
   621     else
   614         if CurrentTeam^.ExtDriven then
   622         if CurrentTeam^.ExtDriven then
   615             OutError('got /put while not being in choose target mode', false)
   623             OutError('got /put while not being in choose target mode', false)
   616 end;
   624 end;
   664 end;
   672 end;
   665 
   673 
   666 procedure chAmmoMenu(var s: shortstring);
   674 procedure chAmmoMenu(var s: shortstring);
   667 begin
   675 begin
   668 s:= s; // avoid compiler hint
   676 s:= s; // avoid compiler hint
   669 if CheckNoTeamOrHH then 
   677 if CheckNoTeamOrHH then
   670 bShowAmmoMenu:= true
   678     bShowAmmoMenu:= true
   671 else
   679 else
   672 with CurrentTeam^ do
   680     begin
       
   681     with CurrentTeam^ do
   673         with Hedgehogs[CurrHedgehog] do
   682         with Hedgehogs[CurrHedgehog] do
   674             begin
   683             begin
   675             bSelected:= false;
   684             bSelected:= false;
   676 
   685 
   677             if bShowAmmoMenu then bShowAmmoMenu:= false
   686             if bShowAmmoMenu then bShowAmmoMenu:= false
   678             else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or 
   687             else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or 
   679                     ((MultiShootAttacks > 0) and ((Ammo^[CurSlot, CurAmmo].Propz and ammoprop_NoRoundEndHint) = 0)) or
   688                     ((MultiShootAttacks > 0) and ((Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEndHint) = 0)) or
   680                     ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true
   689                     ((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true
   681             end
   690             end;
       
   691     if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1
       
   692     end
   682 end;
   693 end;
   683 
   694 
   684 procedure chFullScr(var s: shortstring);
   695 procedure chFullScr(var s: shortstring);
   685 var flags: Longword = 0;
   696 var flags: Longword = 0;
   686     ico: PSDL_Surface;
   697     ico: PSDL_Surface;
   777 end;
   788 end;
   778 
   789 
   779 procedure chPause(var s: shortstring);
   790 procedure chPause(var s: shortstring);
   780 begin
   791 begin
   781 s:= s; // avoid compiler hint
   792 s:= s; // avoid compiler hint
       
   793 if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
   782 if gameType <> gmtNet then
   794 if gameType <> gmtNet then
   783     isPaused:= not isPaused;
   795     isPaused:= not isPaused;
   784 SDL_ShowCursor(ord(isPaused))
   796 SDL_ShowCursor(ord(isPaused))
   785 end;
   797 end;
   786 
   798 
   822     ZoomValue:= cDefaultZoomLevel;
   834     ZoomValue:= cDefaultZoomLevel;
   823 end;
   835 end;
   824 
   836 
   825 procedure chChat(var s: shortstring);
   837 procedure chChat(var s: shortstring);
   826 begin
   838 begin
   827 s:= s; // avoid compiler hint
   839     s:= s; // avoid compiler hint
   828 GameState:= gsChat;
   840     GameState:= gsChat;
   829 KeyPressChat(27)
   841     KeyPressChat(27)
   830 end;
   842 end;
   831 
   843 
   832 procedure chHistory(var s: shortstring);
   844 procedure chHistory(var s: shortstring);
   833 begin
   845 begin
   834 s:= s; // avoid compiler hint
   846     s:= s; // avoid compiler hint
   835 uChat.showAll:= not uChat.showAll
   847     uChat.showAll:= not uChat.showAll
   836 end;
   848 end;