Timestamp:
Apr 16, 2021, 6:01:30 PM (3 years ago)
Author:
wraitii
Message:

Rework rP25266

Following comments by @vladislavbelov.

Differential Revision: https://code.wildfiregames.com/D3860

File:
1 edited

Legend:

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

    r25266 r25278  
    119119void CTerrain::CalcPosition(ssize_t i, ssize_t j, CVector3D& pos) const
    120120{
    121     ssize_t hi = Clamp(i, 0, m_MapSize - 1);
    122     ssize_t hj = Clamp(j, 0, m_MapSize - 1);
     121    ssize_t hi = Clamp(i, 0, m_MapSize - 1);
     122    ssize_t hj = Clamp(j, 0, m_MapSize - 1);
    123123    u16 height = m_Heightmap[hj*m_MapSize + hi];
    124124    pos.X = float(i*TERRAIN_TILE_SIZE);
     
    131131void CTerrain::CalcPositionFixed(ssize_t i, ssize_t j, CFixedVector3D& pos) const
    132132{
    133     ssize_t hi = Clamp(i, 0, m_MapSize - 1);
    134     ssize_t hj = Clamp(j, 0, m_MapSize - 1);
     133    ssize_t hi = Clamp(i, 0, m_MapSize - 1);
     134    ssize_t hj = Clamp(j, 0, m_MapSize - 1);
    135135    u16 height = m_Heightmap[hj*m_MapSize + hi];
    136136    pos.X = fixed::FromInt(i) * (int)TERRAIN_TILE_SIZE;
     
    309309float CTerrain::GetVertexGroundLevel(ssize_t i, ssize_t j) const
    310310{
    311     i = Clamp(i, 0, m_MapSize - 1);
    312     j = Clamp(j, 0, m_MapSize - 1);
     311    i = Clamp(i, 0, m_MapSize - 1);
     312    j = Clamp(j, 0, m_MapSize - 1);
    313313    return HEIGHT_SCALE * m_Heightmap[j*m_MapSize + i];
    314314}
     
    316316fixed CTerrain::GetVertexGroundLevelFixed(ssize_t i, ssize_t j) const
    317317{
    318     i = Clamp(i, 0, m_MapSize - 1);
    319     j = Clamp(j, 0, m_MapSize - 1);
     318    i = Clamp(i, 0, m_MapSize - 1);
     319    j = Clamp(j, 0, m_MapSize - 1);
    320320    // Convert to fixed metres (being careful to avoid intermediate overflows)
    321321    return fixed::FromInt(m_Heightmap[j*m_MapSize + i] / 2) / (int)(HEIGHT_UNITS_PER_METRE / 2);
     
    325325{
    326326    // Clamp to size-2 so we can use the tiles (i,j)-(i+1,j+1)
    327     i = Clamp(i, 0, m_MapSize - 2);
    328     j = Clamp(j, 0, m_MapSize - 2);
     327    i = Clamp(i, 0, m_MapSize - 2);
     328    j = Clamp(j, 0, m_MapSize - 2);
    329329
    330330    u16 h00 = m_Heightmap[j*m_MapSize + i];
     
    481481{
    482482    // Clamp to size-2 so we can use the tiles (i,j)-(i+1,j+1)
    483     i = Clamp(i, 0, m_MapSize - 2);
    484     j = Clamp(j, 0, m_MapSize - 2);
     483    i = Clamp(i, 0, m_MapSize - 2);
     484    j = Clamp(j, 0, m_MapSize - 2);
    485485
    486486    int h00 = m_Heightmap[j*m_MapSize + i];
     
    775775{
    776776    // Finds the inclusive limits of the patches that include the specified range of tiles
    777     ssize_t pi0 = Clamp( i0   /PATCH_SIZE, 0, m_MapSizePatches-1);
    778     ssize_t pi1 = Clamp((i1-1)/PATCH_SIZE, 0, m_MapSizePatches-1);
    779     ssize_t pj0 = Clamp( j0   /PATCH_SIZE, 0, m_MapSizePatches-1);
    780     ssize_t pj1 = Clamp((j1-1)/PATCH_SIZE, 0, m_MapSizePatches-1);
     777    ssize_t pi0 = Clamp( i0   /PATCH_SIZE, 0, m_MapSizePatches-1);
     778    ssize_t pi1 = Clamp((i1-1)/PATCH_SIZE, 0, m_MapSizePatches-1);
     779    ssize_t pj0 = Clamp( j0   /PATCH_SIZE, 0, m_MapSizePatches-1);
     780    ssize_t pj1 = Clamp((j1-1)/PATCH_SIZE, 0, m_MapSizePatches-1);
    781781
    782782    for (ssize_t j = pj0; j <= pj1; j++)
     
    794794    {
    795795        m_HeightMipmap.Update(m_Heightmap,
    796             Clamp(i0, 0, m_MapSize - 1),
    797             Clamp(j0, 0, m_MapSize - 1),
    798             Clamp(i1, 1, m_MapSize),
    799             Clamp(j1, 1, m_MapSize)
     796            Clamp(i0, 0, m_MapSize - 1),
     797            Clamp(j0, 0, m_MapSize - 1),
     798            Clamp(i1, 1, m_MapSize),
     799            Clamp(j1, 1, m_MapSize)
    800800        );
    801801    }
     
    821821CBoundingBoxAligned CTerrain::GetVertexesBound(ssize_t i0, ssize_t j0, ssize_t i1, ssize_t j1)
    822822{
    823     i0 = Clamp(i0, 0, m_MapSize - 1);
    824     j0 = Clamp(j0, 0, m_MapSize - 1);
    825     i1 = Clamp(i1, 0, m_MapSize - 1);
    826     j1 = Clamp(j1, 0, m_MapSize - 1);
     823    i0 = Clamp(i0, 0, m_MapSize - 1);
     824    j0 = Clamp(j0, 0, m_MapSize - 1);
     825    i1 = Clamp(i1, 0, m_MapSize - 1);
     826    j1 = Clamp(j1, 0, m_MapSize - 1);
    827827
    828828    u16 minH = 65535;
Note: See TracChangeset for help on using the changeset viewer.