hedgewars/uGears.pas
changeset 7395 d0d38cd0d27c
parent 7391 588eabb4b384
child 7400 09427dbec1d8
equal deleted inserted replaced
7394:789d7831ec53 7395:d0d38cd0d27c
   180         Gear:= Gear^.NextGear
   180         Gear:= Gear^.NextGear
   181     end;
   181     end;
   182 end;
   182 end;
   183 
   183 
   184 procedure ProcessGears;
   184 procedure ProcessGears;
   185 var Gear, t: PGear;
   185 var t: PGear;
   186     i, AliveCount: LongInt;
   186     i, AliveCount: LongInt;
   187     s: shortstring;
   187     s: shortstring;
   188 begin
   188 begin
   189 PrvInactive:= AllInactive;
   189 PrvInactive:= AllInactive;
   190 AllInactive:= true;
   190 AllInactive:= true;
   201     dec(StepSoundTimer, 1);
   201     dec(StepSoundTimer, 1);
   202 
   202 
   203 t:= GearsList;
   203 t:= GearsList;
   204 while t <> nil do
   204 while t <> nil do
   205     begin
   205     begin
   206     Gear:= t;
   206     curHandledGear:= t;
   207     t:= Gear^.NextGear;
   207     t:= curHandledGear^.NextGear;
   208 
   208 
   209     if Gear^.Active then
   209     if curHandledGear^.Active then
   210         begin
   210         begin
   211         if Gear^.RenderTimer and (Gear^.Timer > 500) and ((Gear^.Timer mod 1000) = 0) then
   211         if curHandledGear^.RenderTimer and (curHandledGear^.Timer > 500) and ((curHandledGear^.Timer mod 1000) = 0) then
   212             begin
   212             begin
   213             FreeTexture(Gear^.Tex);
   213             FreeTexture(curHandledGear^.Tex);
   214             Gear^.Tex:= RenderStringTex(inttostr(Gear^.Timer div 1000), cWhiteColor, fntSmall);
   214             curHandledGear^.Tex:= RenderStringTex(inttostr(curHandledGear^.Timer div 1000), cWhiteColor, fntSmall);
   215             end;
   215             end;
   216         Gear^.doStep(Gear);
   216         curHandledGear^.doStep(curHandledGear);
   217         // might be useful later
   217         // might be useful later
   218         //ScriptCall('onGearStep', Gear^.uid);
   218         //ScriptCall('onGearStep', Gear^.uid);
   219         end
   219         end
   220     end;
   220     end;
       
   221 curHandledGear:= nil;
   221 
   222 
   222 if AllInactive then
   223 if AllInactive then
   223 case step of
   224 case step of
   224     stDelay:
   225     stDelay:
   225         begin
   226         begin
  1321     RegisterVariable('skip', @chSkip, false);
  1322     RegisterVariable('skip', @chSkip, false);
  1322     RegisterVariable('hogsay', @chHogSay, true );
  1323     RegisterVariable('hogsay', @chHogSay, true );
  1323 
  1324 
  1324     CurAmmoGear:= nil;
  1325     CurAmmoGear:= nil;
  1325     GearsList:= nil;
  1326     GearsList:= nil;
       
  1327     curHandledGear:= nil;
       
  1328 
  1326     KilledHHs:= 0;
  1329     KilledHHs:= 0;
  1327     SuddenDeath:= false;
  1330     SuddenDeath:= false;
  1328     SuddenDeathDmg:= false;
  1331     SuddenDeathDmg:= false;
  1329     SpeechType:= 1;
  1332     SpeechType:= 1;
  1330     skipFlag:= false;
  1333     skipFlag:= false;