hedgewars/GSHandlers.inc
changeset 2042 905c554d62e6
parent 2033 860b9aea5e86
child 2052 1f67933cb620
equal deleted inserted replaced
2041:9e0b5a6bcecf 2042:905c554d62e6
   281 
   281 
   282 if hwRound(Gear^.Y) < cWaterLine then
   282 if hwRound(Gear^.Y) < cWaterLine then
   283 	Gear^.doStep:= @doStepHealthTagWork
   283 	Gear^.doStep:= @doStepHealthTagWork
   284 else
   284 else
   285 	Gear^.doStep:= @doStepHealthTagWorkUnderWater;
   285 	Gear^.doStep:= @doStepHealthTagWorkUnderWater;
   286 
       
   287 Gear^.Y:= Gear^.Y - int2hwFloat(Gear^.Tex^.h)
       
   288 end;
       
   289 
       
   290 procedure doStepSpeechBubbleWork(Gear: PGear);
       
   291 begin
       
   292 dec(Gear^.Timer);
       
   293 
       
   294 if (PHedgehog(Gear^.Hedgehog)^.Gear <> nil) then
       
   295     begin
       
   296     Gear^.X:= PHedgehog(Gear^.Hedgehog)^.Gear^.X+int2hwFloat(Gear^.Tex^.w div 2  - Gear^.State);
       
   297     Gear^.Y:= PHedgehog(Gear^.Hedgehog)^.Gear^.Y-int2hwFloat(16+Gear^.Tex^.h);
       
   298     end;
       
   299 
       
   300 if Gear^.Timer = 0 then
       
   301     begin
       
   302     CurrentHedgehog^.SpeechGear:= nil;
       
   303 	DeleteGear(Gear)
       
   304     end;
       
   305 end;
       
   306 
       
   307 procedure doStepSpeechBubble(Gear: PGear);
       
   308 begin
       
   309 if (CurrentHedgehog^.SpeechGear <> nil) then DeleteGear(CurrentHedgehog^.SpeechGear);
       
   310 CurrentHedgehog^.SpeechGear:= Gear;
       
   311 
       
   312 Gear^.Timer:= max(Length(Gear^.Text)*150,3000);
       
   313 
       
   314 Gear^.Tex:= RenderSpeechBubbleTex(Gear^.Text, Gear^.State, fnt16);
       
   315 
       
   316 // Arbitrary offsets added to the widths based on shape of current tails
       
   317 case Gear^.State of
       
   318     1: Gear^.State:= SpritesData[sprSpeechTail].Width-28;
       
   319     2: Gear^.State:= SpritesData[sprThoughtTail].Width-20;
       
   320     3: Gear^.State:= SpritesData[sprShoutTail].Width-10;
       
   321     end;
       
   322 
       
   323 Gear^.doStep:= @doStepSpeechBubbleWork;
       
   324 
   286 
   325 Gear^.Y:= Gear^.Y - int2hwFloat(Gear^.Tex^.h)
   287 Gear^.Y:= Gear^.Y - int2hwFloat(Gear^.Tex^.h)
   326 end;
   288 end;
   327 
   289 
   328 ////////////////////////////////////////////////////////////////////////////////
   290 ////////////////////////////////////////////////////////////////////////////////