mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-19 20:53:52 +00:00
Merge remote branch 'lgro/master'
This commit is contained in:
commit
6fd3d5c776
3 changed files with 35 additions and 2 deletions
|
@ -98,7 +98,10 @@ namespace MWRender
|
|||
ESM::Land* land = mEnvironment.mWorld->getStore().lands.search(cellX, cellY);
|
||||
if ( land != NULL )
|
||||
{
|
||||
land->loadData();
|
||||
if (!land->dataLoaded)
|
||||
{
|
||||
land->loadData();
|
||||
}
|
||||
}
|
||||
|
||||
//split the cell terrain into four segments
|
||||
|
@ -420,7 +423,11 @@ namespace MWRender
|
|||
ESM::Land* land = mEnvironment.mWorld->getStore().lands.search(cellX, cellY);
|
||||
if ( land != NULL )
|
||||
{
|
||||
land->loadData();
|
||||
if (!land->dataLoaded)
|
||||
{
|
||||
land->loadData();
|
||||
}
|
||||
|
||||
return land->landData
|
||||
->textures[y * ESM::Land::LAND_TEXTURE_SIZE + x];
|
||||
}
|
||||
|
|
|
@ -2,6 +2,24 @@
|
|||
|
||||
namespace ESM
|
||||
{
|
||||
|
||||
Land::Land()
|
||||
: flags(0)
|
||||
, X(0)
|
||||
, Y(0)
|
||||
, mEsm(NULL)
|
||||
, hasData(false)
|
||||
, dataLoaded(false)
|
||||
, landData(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
Land::~Land()
|
||||
{
|
||||
delete landData;
|
||||
}
|
||||
|
||||
|
||||
void Land::load(ESMReader &esm)
|
||||
{
|
||||
mEsm = &esm;
|
||||
|
|
|
@ -11,6 +11,9 @@ namespace ESM
|
|||
|
||||
struct Land
|
||||
{
|
||||
Land();
|
||||
~Land();
|
||||
|
||||
int flags; // Only first four bits seem to be used, don't know what
|
||||
// they mean.
|
||||
int X, Y; // Map coordinates.
|
||||
|
@ -77,6 +80,11 @@ struct Land
|
|||
* Frees memory allocated for land data
|
||||
*/
|
||||
void unloadData();
|
||||
|
||||
private:
|
||||
Land(const Land& land);
|
||||
Land& operator=(const Land& land);
|
||||
};
|
||||
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue