diff -r bd74fd83929a hedgewars/uGears.pas --- a/hedgewars/uGears.pas Tue Dec 28 10:31:48 2010 +0100 +++ b/hedgewars/uGears.pas Thu Jan 06 10:11:34 2011 -0500 @@ -1830,7 +1830,7 @@ if (x < 4) and (TeamsArray[t] <> nil) then begin // if team matches current hedgehog team, default to current hedgehog - if (i = 0) and (CurrentHedgehog^.Team = TeamsArray[t]) then hh:= CurrentHedgehog + if (i = 0) and (CurrentHedgehog <> nil) and (CurrentHedgehog^.Team = TeamsArray[t]) then hh:= CurrentHedgehog else begin // otherwise use the first living hog or the hog amongs the remaining ones indicated by i @@ -1847,12 +1847,15 @@ inc(j) end end; - if hh <> nil then Gear:= AddVisualGear(0, 0, vgtSpeechBubble); - if Gear <> nil then + if hh <> nil then begin - Gear^.Hedgehog:= hh; - Gear^.Text:= text; - Gear^.FrameTicks:= x + Gear:= AddVisualGear(0, 0, vgtSpeechBubble); + if Gear <> nil then + begin + Gear^.Hedgehog:= hh; + Gear^.Text:= text; + Gear^.FrameTicks:= x + end end //else ParseCommand('say ' + text, true) end diff -r bd74fd83929a hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Tue Dec 28 10:31:48 2010 +0100 +++ b/hedgewars/uGearsRender.pas Thu Jan 06 10:11:34 2011 -0500 @@ -186,7 +186,7 @@ if (Gear^.State and gstHHDeath) <> 0 then begin DrawSprite(sprHHDeath, ox - 16, oy - 26, Gear^.Pos); - Tint(HH^.Team^.Clan^.Color); + Tint(HH^.Team^.Clan^.Color shl 8 or $FF); DrawSprite(sprHHDeath, ox - 16, oy - 26, Gear^.Pos + 8); Tint($FF, $FF, $FF, $FF); exit @@ -353,7 +353,7 @@ i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle); if HatTex^.w > 64 then begin - Tint(HH^.Team^.Clan^.Color); + Tint(HH^.Team^.Clan^.Color shl 8 or $FF); DrawRotatedTextureF(HatTex, 1.0, -1.0, -6.0, ox, oy, 32, i, 32, 32, i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle); Tint($FF, $FF, $FF, $FF) @@ -383,7 +383,7 @@ 32); if HatTex^.w > 64 then begin - Tint(HH^.Team^.Clan^.Color); + Tint(HH^.Team^.Clan^.Color shl 8 or $FF); DrawTextureF(HatTex, 1, sx, @@ -705,7 +705,7 @@ 32); if HatTex^.w > 64 then begin - Tint(HH^.Team^.Clan^.Color); + Tint(HH^.Team^.Clan^.Color shl 8 or $FF); DrawTextureF(HatTex, HatVisibility, sx, @@ -729,7 +729,7 @@ 32); if HatTex^.w > 64 then begin - Tint(HH^.Team^.Clan^.Color); + Tint(HH^.Team^.Clan^.Color shl 8 or $FF); DrawTextureF(HatTex, HatVisibility, sx, diff -r bd74fd83929a hedgewars/uStore.pas --- a/hedgewars/uStore.pas Tue Dec 28 10:31:48 2010 +0100 +++ b/hedgewars/uStore.pas Thu Jan 06 10:11:34 2011 -0500 @@ -274,7 +274,7 @@ for ii:= Low(TSprite) to High(TSprite) do with SpritesData[ii] do // FIXME - add a sprite attribute - if ((cReducedQuality and rqNoBackground) = 0) or (not (ii in [sprSky, sprSkyL, sprSkyR, sprHorizont, sprHorizontL, sprHorizontR, sprFlake, sprSplash, sprDroplet])) then // FIXME: hack + if ((cReducedQuality and rqNoBackground) = 0) or (not (ii in [sprSky, sprSkyL, sprSkyR, sprHorizont, sprHorizontL, sprHorizontR, sprFlake, sprSplash, sprDroplet]) or (((Theme = 'Snow') or (Theme = 'Christmas')) and (ii = sprFlake))) then // FIXME: hack begin if AltPath = ptNone then if ii in [sprHorizontL, sprHorizontR, sprSkyL, sprSkyR] then // FIXME: hack diff -r bd74fd83929a hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Tue Dec 28 10:31:48 2010 +0100 +++ b/hedgewars/uWorld.pas Thu Jan 06 10:11:34 2011 -0500 @@ -742,7 +742,7 @@ highlight:= bShowFinger and (CurrentTeam = TeamsArray[t]) and ((RealTicks mod 1000) < 500); if highlight then - Tint(Clan^.Color); + Tint(Clan^.Color shl 8 or $FF); // draw name DrawTexture(-NameTagTex^.w - 16, cScreenHeight + DrawHealthY, NameTagTex);