Added width & height members to Tile, moved local functions to utility.*pp
I've added more members to the Tile structure, namely the width & height of the tile. This is to fix a circular logic problem, which is too abstract for this commit message ;) I've also moved the local/static/inline/etc. utility functions to their own module in the common directory, because this is just cleaner that redefining the same code a dozen times. The map's logic is still the same, but I need to keep moving; I've been procrastinating far too much.
This commit is contained in:
+23
-16
@@ -1,22 +1,29 @@
|
||||
/* Copyright: (c) Kayne Ruse 2013
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
*
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
*
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*/
|
||||
#include "tile_sheet.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <stdexcept>
|
||||
#include "utility.hpp"
|
||||
|
||||
static inline std::string truncatePath(std::string pathname) {
|
||||
//TODO: move this into a utilities module?
|
||||
return std::string(
|
||||
std::find_if(
|
||||
pathname.rbegin(),
|
||||
pathname.rend(),
|
||||
[](char ch) -> bool {
|
||||
//windows only
|
||||
return ch == '/' || ch == '\\';
|
||||
// //unix only
|
||||
// return ch == '/';
|
||||
}).base(),
|
||||
pathname.end());
|
||||
}
|
||||
#include <stdexcept>
|
||||
|
||||
SDL_Surface* TileSheet::LoadSurface(std::string fname, Uint16 w, Uint16 h) {
|
||||
//setup the image
|
||||
|
||||
Reference in New Issue
Block a user