hedgewars/uVisualGears.pas
changeset 2045 b0588498bc3a
parent 2044 8548f5be2d72
child 2047 805f7b62cff6
equal deleted inserted replaced
2044:8548f5be2d72 2045:b0588498bc3a
    24 {$ELSE}
    24 {$ELSE}
    25 	GL,
    25 	GL,
    26 {$ENDIF}
    26 {$ENDIF}
    27 	uFloat;
    27 	uFloat;
    28 {$INCLUDE options.inc}
    28 {$INCLUDE options.inc}
    29 const AllInactive: boolean = false;
       
    30 
    29 
    31 type PVisualGear = ^TVisualGear;
    30 type PVisualGear = ^TVisualGear;
    32 	TVGearStepProcedure = procedure (Gear: PVisualGear; Steps: Longword);
    31 	TVGearStepProcedure = procedure (Gear: PVisualGear; Steps: Longword);
    33 	TVisualGear = record
    32 	TVisualGear = record
    34 		NextGear, PrevGear: PVisualGear;
    33 		NextGear, PrevGear: PVisualGear;
   252 	Gear^.Y:= PHedgehog(Gear^.Hedgehog)^.Gear^.Y - int2hwFloat(16 + Gear^.Tex^.h);
   251 	Gear^.Y:= PHedgehog(Gear^.Hedgehog)^.Gear^.Y - int2hwFloat(16 + Gear^.Tex^.h);
   253 	end;
   252 	end;
   254 
   253 
   255 if Gear^.Timer = 0 then
   254 if Gear^.Timer = 0 then
   256 	begin
   255 	begin
   257 	CurrentHedgehog^.SpeechGear:= nil;
   256 	PHedgehog(Gear^.Hedgehog)^.SpeechGear:= nil;
   258 	DeleteVisualGear(Gear)
   257 	DeleteVisualGear(Gear)
   259 	end;
   258 	end;
   260 end;
   259 end;
   261 
   260 
   262 procedure doStepSpeechBubble(Gear: PVisualGear; Steps: Longword);
   261 procedure doStepSpeechBubble(Gear: PVisualGear; Steps: Longword);
   263 begin
   262 begin
   264 if (CurrentHedgehog^.SpeechGear <> nil) then DeleteVisualGear(CurrentHedgehog^.SpeechGear);
   263 if (PHedgehog(Gear^.Hedgehog)^.SpeechGear <> nil) then DeleteVisualGear(PHedgehog(Gear^.Hedgehog)^.SpeechGear);
   265 CurrentHedgehog^.SpeechGear:= Gear;
   264 PHedgehog(Gear^.Hedgehog)^.SpeechGear:= Gear;
   266 
   265 
   267 Gear^.Timer:= max(Length(Gear^.Text)*150,3000);
   266 Gear^.Timer:= max(Length(Gear^.Text)*150,3000);
   268 
   267 
   269 Gear^.Tex:= RenderSpeechBubbleTex(Gear^.Text, Gear^.FrameTicks, fnt16);
   268 Gear^.Tex:= RenderSpeechBubbleTex(Gear^.Text, Gear^.FrameTicks, fnt16);
   270 
   269