X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FTilemap.cc;fp=src%2Ftilemap.cc;h=6accbd167d3b3fc638cf0443ee1facd59fb84fdd;hp=4a55c65eef9f7fa7871507b9dad8808a05e362d6;hb=c2321281bf12a7efaedde930422c7ddbc92080d4;hpb=87bc17e55b0c1dc73ecc66df856d3f08fd7a7724 diff --git a/src/tilemap.cc b/src/Moof/Tilemap.cc similarity index 64% rename from src/tilemap.cc rename to src/Moof/Tilemap.cc index 4a55c65..6accbd1 100644 --- a/src/tilemap.cc +++ b/src/Moof/Tilemap.cc @@ -26,22 +26,21 @@ *******************************************************************************/ -#include "deserializer.hh" -#include "mippleton.hh" -#include "opengl.hh" -#include "serializable.hh" +#include "Deserializer.hh" +#include "Mippleton.hh" +#include "OpenGL.hh" +#include "Serializable.hh" +#include "Tilemap.hh" -#include "tilemap.hh" +namespace Mf { -namespace dc { - -class tilemap::tilemap_impl : public mippleton +class Tilemap::TilemapImpl : public Mippleton { public: - tilemap_impl(const std::string& name) : - mippleton(name), + TilemapImpl(const std::string& name) : + Mippleton(name), tilesU_(1), tilesV_(1), minFilter_(GL_NEAREST), @@ -54,19 +53,19 @@ public: void loadFromFile() { - deserializer in(tilemap::getPathToResource(getName())); + Deserializer deserializer(Tilemap::getPathToResource(getName())); - serializable_ptr root = in.deserialize(); + SerializablePtr root = deserializer.deserialize(); if (root) { - std::map rootMap; + std::map rootObj; - if (root->get(rootMap)) + if (root->get(rootObj)) { - std::map::iterator it; + std::map::iterator it; - if ((it = rootMap.find("TilesU")) != rootMap.end()) + if ((it = rootObj.find("TilesU")) != rootObj.end()) { long value; if ((*it).second->get(value)) @@ -74,7 +73,7 @@ public: tilesU_ = unsigned(value); } } - if ((it = rootMap.find("TilesV")) != rootMap.end()) + if ((it = rootObj.find("TilesV")) != rootObj.end()) { long value; if ((*it).second->get(value)) @@ -82,7 +81,7 @@ public: tilesV_ = unsigned(value); } } - if ((it = rootMap.find("MinFilter")) != rootMap.end()) + if ((it = rootObj.find("MinFilter")) != rootObj.end()) { std::string value; if ((*it).second->get(value)) @@ -93,7 +92,7 @@ public: } } } - if ((it = rootMap.find("MaxFilter")) != rootMap.end()) + if ((it = rootObj.find("MaxFilter")) != rootObj.end()) { std::string value; if ((*it).second->get(value)) @@ -104,7 +103,7 @@ public: } } } - if ((it = rootMap.find("WrapU")) != rootMap.end()) + if ((it = rootObj.find("WrapU")) != rootObj.end()) { std::string value; if ((*it).second->get(value)) @@ -115,7 +114,7 @@ public: } } } - if ((it = rootMap.find("WrapV")) != rootMap.end()) + if ((it = rootObj.find("WrapV")) != rootObj.end()) { std::string value; if ((*it).second->get(value)) @@ -130,37 +129,38 @@ public: } } - unsigned tilesU_; - unsigned tilesV_; - GLuint minFilter_; - GLuint maxFilter_; - GLuint wrapU_; - GLuint wrapV_; + unsigned tilesU_; + unsigned tilesV_; + GLuint minFilter_; + GLuint maxFilter_; + GLuint wrapU_; + GLuint wrapV_; }; -tilemap::tilemap(const std::string& name) : - texture(name), - impl(tilemap::tilemap_impl::retain(name), &tilemap::tilemap_impl::release) +Tilemap::Tilemap(const std::string& name) : + Texture(name), + impl_(Tilemap::TilemapImpl::retain(name), &Tilemap::TilemapImpl::release) { - setMinFilter(impl->minFilter_); - setMaxFilter(impl->maxFilter_); - setWrapU(impl->wrapU_); - setWrapV(impl->wrapV_); + setMinFilter(impl_->minFilter_); + setMaxFilter(impl_->maxFilter_); + setWrapU(impl_->wrapU_); + setWrapV(impl_->wrapV_); applyChanges(); } -bool tilemap::getTileCoords(unsigned index, scalar coords[8]) +bool Tilemap::getTileCoords(unsigned index, Scalar coords[8]) { // make sure the index represents a real tile - if (index >= impl->tilesU_ * impl->tilesV_) return false; + if (index >= impl_->tilesU_ * impl_->tilesV_) return false; - scalar w = 1.0 / scalar(impl->tilesU_); - scalar h = 1.0 / scalar(impl->tilesV_); + Scalar w = 1.0 / Scalar(impl_->tilesU_); + Scalar h = 1.0 / Scalar(impl_->tilesV_); - coords[0] = scalar(index % impl->tilesU_) * w; - coords[1] = (scalar(impl->tilesV_ - 1) - scalar(index / impl->tilesU_)) * h; + coords[0] = Scalar(index % impl_->tilesU_) * w; + coords[1] = (Scalar(impl_->tilesV_ - 1) - + Scalar(index / impl_->tilesU_)) * h; coords[2] = coords[0] + w; coords[3] = coords[1]; coords[4] = coords[2]; @@ -171,11 +171,12 @@ bool tilemap::getTileCoords(unsigned index, scalar coords[8]) return true; } -bool tilemap::getTileCoords(unsigned index, scalar coords[8], orientation what) +bool Tilemap::getTileCoords(unsigned index, Scalar coords[8], + Orientation orientation) { if (getTileCoords(index, coords)) { - if (what & flip) + if (orientation & FLIP) { // this looks kinda weird, but it's just swapping in a way that // doesn't require an intermediate variable @@ -184,7 +185,7 @@ bool tilemap::getTileCoords(unsigned index, scalar coords[8], orientation what) coords[3] = coords[7]; coords[7] = coords[5]; } - if (what & reverse) + if (orientation & REVERSE) { coords[0] = coords[2]; coords[2] = coords[6]; @@ -199,13 +200,13 @@ bool tilemap::getTileCoords(unsigned index, scalar coords[8], orientation what) } -std::string tilemap::getPathToResource(const std::string& name) +std::string Tilemap::getPathToResource(const std::string& name) { - return resource::getPathToResource("tilemaps/" + name + ".json"); + return Resource::getPathToResource("tilemaps/" + name + ".json"); } -} // namespace dc +} // namespace Mf /** vim: set ts=4 sw=4 tw=80: *************************************************/