hedgewars/uVisualGearsHandlers.pas
changeset 9763 be63ead5085e
parent 9762 938d1c08d0d1
child 9764 8dc9d268330f
equal deleted inserted replaced
9762:938d1c08d0d1 9763:be63ead5085e
   586 begin
   586 begin
   587 if Gear^.Timer > Steps then dec(Gear^.Timer, Steps) else Gear^.Timer:= 0;
   587 if Gear^.Timer > Steps then dec(Gear^.Timer, Steps) else Gear^.Timer:= 0;
   588 
   588 
   589 if (Gear^.Hedgehog^.Gear <> nil) then
   589 if (Gear^.Hedgehog^.Gear <> nil) then
   590     begin
   590     begin
   591     Gear^.X:= hwFloat2Float(Gear^.Hedgehog^.Gear^.X) + (Gear^.Tex^.w div 2  - Gear^.FrameTicks);
   591     Gear^.X:= hwFloat2Float(Gear^.Hedgehog^.Gear^.X) + (Gear^.Tex^.w div 2  - Gear^.Tag);
   592     Gear^.Y:= hwFloat2Float(Gear^.Hedgehog^.Gear^.Y) - (16 + Gear^.Tex^.h);
   592     Gear^.Y:= hwFloat2Float(Gear^.Hedgehog^.Gear^.Y) - (16 + Gear^.Tex^.h);
   593     Gear^.X:= max(((-cScreenWidth + 16) / zoom) + Gear^.Tex^.w div 2, min(((cScreenWidth - 16) / zoom) - Gear^.Tex^.w div 2, Gear^.X + WorldDx));
   593     Gear^.X:= max(((-cScreenWidth + 16) / zoom) + Gear^.Tex^.w div 2, min(((cScreenWidth - 16) / zoom) - Gear^.Tex^.w div 2, Gear^.X + WorldDx));
   594     Gear^.Y:= max(cScreenHeight div 2 - ((cScreenHeight - 16) / (zoom)), min(cScreenHeight div 2 - ((-cScreenHeight + Gear^.Tex^.h) / (zoom)) - 64, Gear^.Y + WorldDy));
   594     Gear^.Y:= max(cScreenHeight div 2 - ((cScreenHeight - 16) / (zoom)), min(cScreenHeight div 2 - ((-cScreenHeight + Gear^.Tex^.h) / (zoom)) - 64, Gear^.Y + WorldDy));
   595     end;
   595     end;
   596 
   596 
   616 
   616 
   617 Gear^.Tex:= RenderSpeechBubbleTex(Gear^.Text, Gear^.FrameTicks, fnt16);
   617 Gear^.Tex:= RenderSpeechBubbleTex(Gear^.Text, Gear^.FrameTicks, fnt16);
   618 
   618 
   619 // FrameTicks cannot hold negative values
   619 // FrameTicks cannot hold negative values
   620 case Gear^.FrameTicks of
   620 case Gear^.FrameTicks of
   621     1: Gear^.FrameTicks:= max(0,SpritesData[sprSpeechTail].Width-28);
   621     1: Gear^.Tag:= SpritesData[sprSpeechTail].Width-28;
   622     2: Gear^.FrameTicks:= max(0,SpritesData[sprThoughtTail].Width-20);
   622     2: Gear^.Tag:= SpritesData[sprThoughtTail].Width-20;
   623     3: Gear^.FrameTicks:= max(0,SpritesData[sprShoutTail].Width-10);
   623     3: Gear^.Tag:= SpritesData[sprShoutTail].Width-10;
   624     end;
   624     end;
   625 
   625 
   626 Gear^.doStep:= @doStepSpeechBubbleWork;
   626 Gear^.doStep:= @doStepSpeechBubbleWork;
   627 
   627 
   628 Gear^.Y:= Gear^.Y - Gear^.Tex^.h
   628 Gear^.Y:= Gear^.Y - Gear^.Tex^.h