This Trac instance is not used for development anymore!

We migrated our development workflow to git and Gitea.
To test the future redirection, replace trac by ariadne in the page URL.

Changeset 10019 for ps


Ignore:
Timestamp:
08/17/11 01:39:16 (13 years ago)
Author:
philip
Message:

Be less grossly inefficient when computing minimap territory texture

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ps/trunk/source/graphics/TerritoryTexture.cpp

    r9932 r10019  
    177177    CmpPtr<ICmpPlayerManager> cmpPlayerManager(m_Simulation, SYSTEM_ENTITY);
    178178
     179    std::vector<CColor> colors;
     180    i32 numPlayers = cmpPlayerManager->GetNumPlayers();
     181    for (i32 p = 0; p < numPlayers; ++p)
     182    {
     183        CColor color(1, 0, 1, 1);
     184        CmpPtr<ICmpPlayer> cmpPlayer(m_Simulation, cmpPlayerManager->GetPlayerByID(p));
     185        if (!cmpPlayer.null())
     186            color = cmpPlayer->GetColour();
     187        colors.push_back(color);
     188    }
     189
    179190    u8* p = bitmap;
    180191    for (ssize_t j = 0; j < h; ++j)
     
    185196
    186197            CColor color(1, 0, 1, 1);
    187             if (!cmpPlayerManager.null())
    188             {
    189                 CmpPtr<ICmpPlayer> cmpPlayer(m_Simulation, cmpPlayerManager->GetPlayerByID(val));
    190                 if (!cmpPlayer.null())
    191                     color = cmpPlayer->GetColour();
    192             }
     198            if (val < colors.size())
     199                color = colors[val];
    193200
    194201            *p++ = (int)(color.b*255.f);
Note: See TracChangeset for help on using the changeset viewer.