hedgewars/uWorld.pas
changeset 3390 1d4926d10a9e
parent 3381 f8800c44b3de
child 3395 095273ad0e08
equal deleted inserted replaced
3389:9b97b9240c22 3390:1d4926d10a9e
   378 glTexCoordPointer(2, GL_FLOAT, 0, @TextureBuffer[0]);
   378 glTexCoordPointer(2, GL_FLOAT, 0, @TextureBuffer[0]);
   379 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer));
   379 glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer));
   380 
   380 
   381 glDisableClientState(GL_TEXTURE_COORD_ARRAY);
   381 glDisableClientState(GL_TEXTURE_COORD_ARRAY);
   382 glDisableClientState(GL_VERTEX_ARRAY);
   382 glDisableClientState(GL_VERTEX_ARRAY);
   383 Tint($FFFFFFFF);
   383 Tint($FF, $FF, $FF, $FF);
   384 
   384 
   385 {for i:= -1 to cWaterSprCount do
   385 {for i:= -1 to cWaterSprCount do
   386     DrawSprite(sprWater,
   386     DrawSprite(sprWater,
   387         i * cWaveWidth + ((WorldDx + (RealTicks shr 6) * Dir + dX) mod cWaveWidth) - (cScreenWidth div 2),
   387         i * cWaveWidth + ((WorldDx + (RealTicks shr 6) * Dir + dX) mod cWaveWidth) - (cScreenWidth div 2),
   388         cWaterLine + WorldDy + dY,
   388         cWaterLine + WorldDy + dY,
   650    with TeamsArray[t]^ do
   650    with TeamsArray[t]^ do
   651       begin
   651       begin
   652       highlight:= bShowFinger and (CurrentTeam = TeamsArray[t]) and ((RealTicks mod 1000) < 500);
   652       highlight:= bShowFinger and (CurrentTeam = TeamsArray[t]) and ((RealTicks mod 1000) < 500);
   653       
   653       
   654       if highlight then
   654       if highlight then
   655          Tint(Clan^.Color);
   655          Tint(((Clan^.Color shr 16) and $FF), ((Clan^.Color shr 8) and $FF), (Clan^.Color and $FF), $FF);
   656 
   656 
   657       // draw name
   657       // draw name
   658       DrawTexture(-NameTagTex^.w - 16, cScreenHeight + DrawHealthY, NameTagTex);
   658       DrawTexture(-NameTagTex^.w - 16, cScreenHeight + DrawHealthY, NameTagTex);
   659       
   659       
   660       // draw flag
   660       // draw flag
   673       DrawFromRect(TeamHealthBarWidth + 16, cScreenHeight + DrawHealthY, @r, HealthTex);
   673       DrawFromRect(TeamHealthBarWidth + 16, cScreenHeight + DrawHealthY, @r, HealthTex);
   674       // if highlighted, draw flag and other contents again to keep their colors
   674       // if highlighted, draw flag and other contents again to keep their colors
   675       // this approach should be faster than drawing all borders one by one tinted or not
   675       // this approach should be faster than drawing all borders one by one tinted or not
   676       if highlight then
   676       if highlight then
   677          begin
   677          begin
   678          Tint($FFFFFFFF);
   678          Tint($FF, $FF, $FF, $FF);
   679 
   679 
   680          // draw name
   680          // draw name
   681          r.x:= 2;
   681          r.x:= 2;
   682          r.y:= 2;
   682          r.y:= 2;
   683          r.w:= NameTagTex^.w - 4;
   683          r.w:= NameTagTex^.w - 4;
   843         glEnableClientState(GL_VERTEX_ARRAY);
   843         glEnableClientState(GL_VERTEX_ARRAY);
   844         glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]);
   844         glVertexPointer(2, GL_FLOAT, 0, @VertexBuffer[0]);
   845         glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer));
   845         glDrawArrays(GL_TRIANGLE_FAN, 0, Length(VertexBuffer));
   846         glDisableClientState(GL_VERTEX_ARRAY);
   846         glDisableClientState(GL_VERTEX_ARRAY);
   847         glEnable(GL_TEXTURE_2D);
   847         glEnable(GL_TEXTURE_2D);
   848         Tint($FFFFFFFF);
   848         Tint($FF, $FF, $FF, $FF);
   849         if not isFirstFrame and ((ScreenFadeValue = 0) or (ScreenFadeValue = sfMax)) then ScreenFade:= sfNone
   849         if not isFirstFrame and ((ScreenFadeValue = 0) or (ScreenFadeValue = sfMax)) then ScreenFade:= sfNone
   850         end
   850         end
   851     end;
   851     end;
   852 
   852 
   853 SetScale(zoom);
   853 SetScale(zoom);