225 vgtSplash: begin |
224 vgtSplash: begin |
226 spriteData:= GetSpriteData(sprSplash, sprSDSplash); |
225 spriteData:= GetSpriteData(sprSplash, sprSDSplash); |
227 if Gear^.Angle <> 0 then |
226 if Gear^.Angle <> 0 then |
228 DrawTextureRotatedF(spriteData^.Texture, Gear^.scale, 0, 0, round(Gear^.X + WorldDx + (((spriteData^.Height+8)*Gear^.Scale)/2) * (Gear^.Angle / abs(Gear^.Angle))), round(Gear^.Y + WorldDy), 19 - (Gear^.FrameTicks div Gear^.Timer div 37), 1, spriteData^.Width, spriteData^.Height, Gear^.Angle) |
227 DrawTextureRotatedF(spriteData^.Texture, Gear^.scale, 0, 0, round(Gear^.X + WorldDx + (((spriteData^.Height+8)*Gear^.Scale)/2) * (Gear^.Angle / abs(Gear^.Angle))), round(Gear^.Y + WorldDy), 19 - (Gear^.FrameTicks div Gear^.Timer div 37), 1, spriteData^.Width, spriteData^.Height, Gear^.Angle) |
229 else |
228 else |
230 //DrawSprite(sprite, round(Gear^.X) + WorldDx - 40, round(Gear^.Y) + WorldDy - 58, 19 - (Gear^.FrameTicks div 37)) |
|
231 DrawTextureF(spriteData^.Texture, Gear^.scale, round(Gear^.X + WorldDx), round(Gear^.Y + WorldDy - ((spriteData^.Height+8)*Gear^.Scale)/2), 19 - (Gear^.FrameTicks div Gear^.Timer div 37), 1, spriteData^.Width, spriteData^.Height); |
229 DrawTextureF(spriteData^.Texture, Gear^.scale, round(Gear^.X + WorldDx), round(Gear^.Y + WorldDy - ((spriteData^.Height+8)*Gear^.Scale)/2), 19 - (Gear^.FrameTicks div Gear^.Timer div 37), 1, spriteData^.Width, spriteData^.Height); |
232 end; |
230 end; |
233 vgtDroplet: begin |
231 vgtDroplet: begin |
234 sprite:= GetSprite(sprDroplet, sprSDDroplet); |
232 sprite:= GetSprite(sprDroplet, sprSDDroplet); |
235 DrawSprite(sprite, round(Gear^.X) + WorldDx - 8, round(Gear^.Y) + WorldDy - 8, Gear^.Frame); |
233 DrawSprite(sprite, round(Gear^.X) + WorldDx - 8, round(Gear^.Y) + WorldDy - 8, Gear^.Frame); |
236 end; |
234 end; |
237 vgtBubble: DrawSprite(sprBubbles, round(Gear^.X) + WorldDx - 8, round(Gear^.Y) + WorldDy - 8, Gear^.Frame);//(RealTicks div 64 + Gear^.Frame) mod 8); |
235 vgtBubble: DrawSprite(sprBubbles, round(Gear^.X) + WorldDx - 8, round(Gear^.Y) + WorldDy - 8, Gear^.Frame); |
238 vgtStraightShot: begin |
236 vgtStraightShot: begin |
239 if Gear^.dX < 0 then |
237 if Gear^.dX < 0 then |
240 i:= -1 |
238 i:= -1 |
241 else |
239 else |
242 i:= 1; |
240 i:= 1; |
243 DrawTextureRotatedF(SpritesData[TSprite(Gear^.State)].Texture, Gear^.Scale, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, i, SpritesData[TSprite(Gear^.State)].Width, SpritesData[TSprite(Gear^.State)].Height, Gear^.Angle); |
241 DrawTextureRotatedF(SpritesData[TSprite(Gear^.State)].Texture, Gear^.Scale, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, i, SpritesData[TSprite(Gear^.State)].Width, SpritesData[TSprite(Gear^.State)].Height, Gear^.Angle); |
244 end; |
242 end; |
245 end; |
243 end; |
246 //if (Gear^.Tint <> $FFFFFFFF) or tinted then untint; |
|
247 if (Gear^.Tint <> $FFFFFFFF) then |
244 if (Gear^.Tint <> $FFFFFFFF) then |
248 untint; |
245 untint; |
249 Gear:= Gear^.NextGear |
246 Gear:= Gear^.NextGear |
250 end |
247 end |
251 end; |
248 end; |
256 begin |
253 begin |
257 tinted:= false; |
254 tinted:= false; |
258 if Gear^.Tint <> $FFFFFFFF then |
255 if Gear^.Tint <> $FFFFFFFF then |
259 Tint(Gear^.Tint); |
256 Tint(Gear^.Tint); |
260 case Gear^.Kind of |
257 case Gear^.Kind of |
261 (* |
|
262 vgtFlake: begin |
|
263 sprite:= GetSprite(sprFlake, sprSDFlake); |
|
264 if speedlessFlakes then |
|
265 DrawSprite(sprite, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame) |
|
266 else |
|
267 DrawSpriteRotatedF(sprite, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, Gear^.Angle) |
|
268 end;*) |
|
269 vgtSpeechBubble: if (Gear^.Angle <> 0) then |
258 vgtSpeechBubble: if (Gear^.Angle <> 0) then |
270 // ^ Before this gear renders, Angle must be set to mark it ready (e.g. coordinates properly initialized) |
259 // ^ Before this gear renders, Angle must be set to mark it ready (e.g. coordinates properly initialized) |
271 if (Gear^.Tex <> nil) and (((Gear^.State = 0) and (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Team <> CurrentTeam)) or (Gear^.State = 1)) then |
260 if (Gear^.Tex <> nil) and (((Gear^.State = 0) and (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Team <> CurrentTeam)) or (Gear^.State = 1)) then |
272 begin |
261 begin |
273 tinted:= true; |
262 tinted:= true; |