Tested RegionPager, removed trace statements, fixed logic errors

This commit is contained in:
Kayne Ruse
2014-03-01 00:39:39 +11:00
parent 4629b7302b
commit dc8f594eec
7 changed files with 14 additions and 28 deletions
-4
View File
@@ -21,14 +21,10 @@
*/
#include "map_file_format.hpp"
#include <iostream>
void MapFileFormat::Load(Region** const ptr, int x, int y) {
//TODO
std::cout << "Load" << std::endl;
}
void MapFileFormat::Save(Region* const ptr) {
//TODO
std::cout << "Save" << std::endl;
}
-4
View File
@@ -21,14 +21,10 @@
*/
#include "map_generator.hpp"
#include <iostream>
void MapGenerator::Create(Region** const ptr, int width, int height, int depth, int x, int y) {
(*ptr) = new Region(width, height, depth, x, y);
std::cout << "Create" << std::endl;
}
void MapGenerator::Unload(Region* const ptr) {
delete ptr;
std::cout << "Unload" << std::endl;
}
-2
View File
@@ -21,8 +21,6 @@
*/
#include "region.hpp"
#include <cstdlib>
Region::Region(int argWidth, int argHeight, int argDepth, int argX, int argY):
width(argWidth),
height(argHeight),
+2 -5
View File
@@ -23,8 +23,6 @@
#include "utility.hpp"
#include <iostream>
RegionPagerBase::RegionPagerBase(int argWidth, int argHeight, int argDepth):
regionWidth(argWidth),
regionHeight(argHeight),
@@ -34,18 +32,17 @@ RegionPagerBase::RegionPagerBase(int argWidth, int argHeight, int argDepth):
}
RegionPagerBase::~RegionPagerBase() {
std::cout << "final size: " << regionList.size() << std::endl;
//EMPTY
}
int RegionPagerBase::SetTile(int x, int y, int z, int v) {
Region* ptr = GetRegion(x, y);
return ptr->SetTile(x - ptr->GetX(), y = ptr->GetY(), z, v);
return ptr->SetTile(x - ptr->GetX(), y - ptr->GetY(), z, v);
}
int RegionPagerBase::GetTile(int x, int y, int z) {
Region* ptr = GetRegion(x, y);
return ptr->GetTile(x - ptr->GetX(), y = ptr->GetY(), z);
return ptr->GetTile(x - ptr->GetX(), y - ptr->GetY(), z);
}
Region* RegionPagerBase::GetRegion(int x, int y) {
+2 -2
View File
@@ -27,9 +27,9 @@ int snapToBase(int base, int x) {
//snap to a grid
if (x < 0) {
x++;
return x - x % base - base;
return x / base * base - base;
}
return x - x % base;
return x / base * base;
}
std::string truncatePath(std::string pathname) {
+7 -10
View File
@@ -35,7 +35,7 @@ using namespace std;
EditorScene::EditorScene(ConfigUtility* const arg1):
config(*arg1),
region(20, 20, 3, 0, 0)
pager(20, 20, 3)
{
//create the debugging "window"
debugInfo.CreateSurface(256, 256);
@@ -58,9 +58,6 @@ EditorScene::EditorScene(ConfigUtility* const arg1):
//debug
tsheet.Load("rsc\\graphics\\tilesets\\sand.bmp", 12, 3);
cout << region.GetWidth() << endl;
cout << region.GetHeight() << endl;
cout << region.GetDepth() << endl;
}
EditorScene::~EditorScene() {
@@ -85,14 +82,14 @@ void EditorScene::FrameEnd() {
void EditorScene::Render(SDL_Surface* const screen) {
//debug
for (int i = 0; i < region.GetWidth(); i++) {
for (int j = 0; j < region.GetHeight(); j++) {
for (int k = 0; k < region.GetDepth(); k++) {
for (int i = 0; i < pager.GetRegionWidth()*2; i++) {
for (int j = 0; j < pager.GetRegionHeight()*2; j++) {
for (int k = 0; k < pager.GetRegionDepth(); k++) {
tsheet.DrawTo(
screen,
i*tsheet.GetTileW()+region.GetX()-camera.x,
j*tsheet.GetTileH()+region.GetY()-camera.y,
region.GetTile(i,j,k)
i*tsheet.GetTileW()-camera.x,
j*tsheet.GetTileH()-camera.y,
pager.GetTile(i,j,k)
);
}
}
+3 -1
View File
@@ -30,6 +30,8 @@
#include "menu_bar.hpp"
#include "region_pager.hpp"
#include "map_generator.hpp"
#include "map_file_format.hpp"
#include "tile_sheet.hpp"
class EditorScene : public BaseScene {
@@ -68,7 +70,7 @@ protected:
int x = 0, y = 0;
} camera;
Region region;
RegionPager<MapGenerator, MapFileFormat> pager;
TileSheet tsheet;
};