Get game to build again.

This commit is contained in:
King_DuckZ 2015-08-16 22:29:34 +02:00
commit 78312526ac
10 changed files with 38 additions and 37 deletions

View file

@ -27,7 +27,7 @@ namespace dk {
template <uint32_t D>
template <typename T>
void BaseMapSource<D>::fetch (std::vector<T>& parOut, const coords& parFrom, const coords& parTo) {
const auto tile_count = tile_volume(parFrom, parTo);
const auto tile_count = tile_volume<D>(parTo - parFrom + 1);
const std::size_t casted_tile_count = static_cast<std::size_t>(tile_count);
DK_ASSERT(static_cast<decltype(tile_count)>(casted_tile_count) == tile_count);

View file

@ -6,18 +6,17 @@
namespace dk {
template <uint32_t D>
typename Vector<D>::value_type tile_volume ( const Vector<D>& parFrom, const Vector<D>& parTo ) a_pure;
typename Vector<D>::scalar_type tile_volume ( const Vector<D>& parVec ) a_pure;
template <uint32_t D>
inline
typename Vector<D>::value_type tile_volume (const Vector<D>& parFrom, const Vector<D>& parTo) {
typedef typename Vector<D>::value_type scalar_type;
typename Vector<D>::scalar_type tile_volume (const Vector<D>& parVec) {
typedef typename Vector<D>::scalar_type scalar_type;
scalar_type ret_val((1));
for (uint32_t z = 0; z < D; ++z) {
const auto dist(parTo[z] - parFrom[z] + 1);
ret_val *= dist;
ret_val *= parVec[z];
}
return ret_val;
}

View file

@ -44,7 +44,7 @@ namespace dk {
///--------------------------------------------------------------------------
template <typename T, uint32_t D>
typename Layer<T, D>::iterator Layer<T, D>::end() {
return iterator(&m_tiles, implem::buildPastEndCoordinate<D>(coords(0), this->m_count), this->m_count);
return iterator(&m_tiles, this->m_count, this->m_count);
}
///--------------------------------------------------------------------------

View file

@ -11,7 +11,7 @@ namespace dk {
///--------------------------------------------------------------------------
///--------------------------------------------------------------------------
template <uint32_t D>
typename Tyler<D>::coords::value_type Tyler<D>::tiles_count() const {
typename Tyler<D>::coords::scalar_type Tyler<D>::tiles_count() const {
typename coords::value_type retval = 1;
for (size_t d = 0; d < D; ++d) {
retval *= m_size[d];

View file

@ -1,34 +1,31 @@
namespace dkh {
template <uint32_t D>
TylerMapSource<D>::TylerMapSource (const char* parFilename) :
base_class(m_stream->tellg()),
m_stream(new std::ifstream(parFilename))
base_class(new std::ifstream(parFilename))
{
parse_map_data(*m_stream);
parse_map_data();
}
template <uint32_t D>
TylerMapSource<D>::TylerMapSource (const std::string& parFilename) :
base_class(m_stream->tellg()),
m_stream(new std::ifstream(parFilename))
base_class( new std::ifstream(parFilename))
{
parse_map_data(*m_stream);
parse_map_data();
}
template <uint32_t D>
TylerMapSource<D>::TylerMapSource (std::istream* parData) :
base_class(m_stream->tellg()),
m_stream(parData)
base_class(parData)
{
parse_map_data(*m_stream);
parse_map_data();
}
template <uint32_t D>
void TylerMapSource<D>::parse_map_data (std::istream& parSrc) {
void TylerMapSource<D>::parse_map_data() {
std::vector<uint32_t> map_dims;
std::vector<uint16_t> tile_dims;
parseMapHeaders(parSrc, D, map_dims, tile_dims);
parseMapHeaders(D, map_dims, tile_dims);
DK_ASSERT(map_dims.size() == D);
DK_ASSERT(tile_dims.size() == D);
for (std::size_t z = 0; z < D; ++z) {
@ -49,6 +46,8 @@ namespace dkh {
template <uint32_t D>
void TylerMapSource<D>::fetch_raw (char* parOut, const coords& parFrom, const coords& parTo, std::size_t parSize) {
//TODO: implement
DK_ASSERT(false);
(void)parOut;
(void)parFrom;
(void)parTo;

View file

@ -28,7 +28,7 @@ namespace dk {
typename Layer<T, D>::iterator Viewport<D>::end (Layer<T, D>& parLayer) const {
typedef typename Layer<T, D>::iterator IterType;
const auto to(m_position + m_size);
return IterType(&parLayer.m_tiles, implem::buildPastEndCoordinate(m_position, to), to, coords(0), m_tyler.map_size());
return IterType(&parLayer.m_tiles, m_tyler.map_size(), m_tyler.map_size());
}
template <uint32_t D>
@ -47,7 +47,7 @@ namespace dk {
template <typename T>
typename Layer<T, D>::const_iterator Viewport<D>::cbegin (const Layer<T, D>& parLayer) const {
typedef typename Layer<T, D>::const_iterator IterType;
return IterType(&parLayer.m_tiles, m_position, m_position + m_size, coords(0), m_tyler.map_size());
return IterType(&parLayer.m_tiles, m_position, m_position + m_size, m_tyler.map_size());
}
template <uint32_t D>
@ -55,7 +55,7 @@ namespace dk {
typename Layer<T, D>::const_iterator Viewport<D>::cend (const Layer<T, D>& parLayer) const {
typedef typename Layer<T, D>::const_iterator IterType;
const auto to(m_position + m_size);
return IterType(&parLayer.m_tiles, implem::buildPastEndCoordinate(m_position, to), to, coords(0), m_tyler.map_size());
return IterType(&parLayer.m_tiles, m_tyler.map_size(), m_tyler.map_size());
}
template <uint32_t D>