diff options
| author | Japa | 2010-06-24 10:21:25 +0000 |
|---|---|---|
| committer | Japa | 2010-06-24 10:21:25 +0000 |
| commit | 313d5fd88087eded7fb9cfa24419b34d2fdaf23f (patch) | |
| tree | a40e4d80f10f0421aa9bf1161a6b266cda03112f /SpriteMaps.cpp | |
| parent | 7973416e41f0e27600706a0fda42282daae52d82 (diff) | |
| download | stonesense-313d5fd88087eded7fb9cfa24419b34d2fdaf23f.tar.gz stonesense-313d5fd88087eded7fb9cfa24419b34d2fdaf23f.tar.bz2 stonesense-313d5fd88087eded7fb9cfa24419b34d2fdaf23f.tar.xz | |
Moved more stuff to OO sprites.
Much is commented out.
Diffstat (limited to 'SpriteMaps.cpp')
| -rw-r--r-- | SpriteMaps.cpp | 52 |
1 files changed, 25 insertions, 27 deletions
diff --git a/SpriteMaps.cpp b/SpriteMaps.cpp index ef4cc66..c4636e5 100644 --- a/SpriteMaps.cpp +++ b/SpriteMaps.cpp @@ -4,7 +4,7 @@ #include "ContentLoader.h"
-t_SpriteWithOffset GetTerrainSpriteMap(int in, t_matglossPair material, vector<TerrainConfiguration*>& configTable, uint16_t form)
+c_sprite * GetTerrainSpriteMap(int in, t_matglossPair material, vector<TerrainConfiguration*>& configTable, uint16_t form)
{
int tempform;
if(form == constr_bar)
@@ -16,13 +16,10 @@ t_SpriteWithOffset GetTerrainSpriteMap(int in, t_matglossPair material, vector<T if(form == constr_logs)
tempform = FORM_LOG;
// in case we need to return nothing
- t_SpriteWithOffset defaultSprite = {
- UNCONFIGURED_INDEX,
- 0,
- 0,
- INVALID_INDEX,
- 0,
- ALL_FRAMES};
+ c_sprite * defaultSprite = new c_sprite;
+ defaultSprite->set_sheetindex(UNCONFIGURED_INDEX);
+ defaultSprite->set_fileindex(INVALID_INDEX);
+
// first check the input is sane
if( in < 0 || in >= (int)configTable.size() )
{
@@ -37,52 +34,52 @@ t_SpriteWithOffset GetTerrainSpriteMap(int in, t_matglossPair material, vector<T // check material sanity
if (material.type<0 || material.type >= (int16_t)terrain->terrainMaterials.size())
{
- if(terrain->defaultSprite[tempform].sheetIndex == UNCONFIGURED_INDEX)
- return terrain->defaultSprite[0];
- else return terrain->defaultSprite[tempform];
+ if(terrain->defaultSprite[tempform].get_sheetindex() == UNCONFIGURED_INDEX)
+ return &(terrain->defaultSprite[0]);
+ else return &(terrain->defaultSprite[tempform]);
}
// find mat config
TerrainMaterialConfiguration* terrainMat = terrain->terrainMaterials[material.type];
if (terrainMat == NULL)
{
- if(terrain->defaultSprite[tempform].sheetIndex == UNCONFIGURED_INDEX)
- return terrain->defaultSprite[0];
- else return terrain->defaultSprite[tempform];
+ if(terrain->defaultSprite[tempform].get_sheetindex() == UNCONFIGURED_INDEX)
+ return &(terrain->defaultSprite[0]);
+ else return &(terrain->defaultSprite[tempform]);
}
if(material.index == -1)
{
- if(terrainMat->defaultSprite[tempform].sheetIndex == UNCONFIGURED_INDEX)
- return terrainMat->defaultSprite[0];
- else return terrainMat->defaultSprite[tempform];
+ if(terrainMat->defaultSprite[tempform].get_sheetindex() == UNCONFIGURED_INDEX)
+ return &(terrainMat->defaultSprite[0]);
+ else return &(terrainMat->defaultSprite[tempform]);
}
// return subtype, type default or terrain default as available
// do map lookup
- map<int,t_SpriteWithOffset>::iterator it = terrainMat->overridingMaterials[tempform].find(material.index);
+ map<int,c_sprite>::iterator it = terrainMat->overridingMaterials[tempform].find(material.index);
if (it != terrainMat->overridingMaterials[tempform].end())
{
- return it->second;
+ return &(it->second);
}
- if (terrainMat->defaultSprite[tempform].sheetIndex != UNCONFIGURED_INDEX)
+ if (terrainMat->defaultSprite[tempform].get_sheetindex() != UNCONFIGURED_INDEX)
{
- return terrainMat->defaultSprite[tempform];
+ return &(terrainMat->defaultSprite[tempform]);
}
it = terrainMat->overridingMaterials[0].find(material.index);
if (it != terrainMat->overridingMaterials[0].end())
{
- return it->second;
+ return &(it->second);
}
- if (terrainMat->defaultSprite[0].sheetIndex != UNCONFIGURED_INDEX)
+ if (terrainMat->defaultSprite[0].get_sheetindex() != UNCONFIGURED_INDEX)
{
- return terrainMat->defaultSprite[0];
+ return &(terrainMat->defaultSprite[0]);
}
- return terrain->defaultSprite[0];
+ return &(terrain->defaultSprite[0]);
}
-t_SpriteWithOffset GetFloorSpriteMap(int in, t_matglossPair material, uint16_t form){
+c_sprite * GetFloorSpriteMap(int in, t_matglossPair material, uint16_t form){
return GetTerrainSpriteMap(in, material, contentLoader.terrainFloorConfigs, form);
}
-t_SpriteWithOffset GetBlockSpriteMap(int in, t_matglossPair material, uint16_t form){
+c_sprite * GetBlockSpriteMap(int in, t_matglossPair material, uint16_t form){
return GetTerrainSpriteMap(in, material, contentLoader.terrainBlockConfigs, form);
}
@@ -125,6 +122,7 @@ c_sprite * GetSpriteVegetation( TileClass type, int index) break;
default:
c_sprite * defaultSprite = new c_sprite;
+ defaultSprite->set_sheetindex(SPRITEOBJECT_BLANK);
return defaultSprite;
}
|
