X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FTerrain.cpp;h=34da00ea94b2fd1d3071e1f755dee31de2fc2b3c;hb=64560867a9b6486d601784a2fe4ba6149d31b7aa;hp=08a9f71111efa8242613c4df86efedfc250e4139;hpb=34ce0cdd42f673a04aa29ae148d2206420dfd813;p=lugaru.git diff --git a/Source/Terrain.cpp b/Source/Terrain.cpp index 08a9f71..34da00e 100644 --- a/Source/Terrain.cpp +++ b/Source/Terrain.cpp @@ -1,5 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games +Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -20,6 +21,8 @@ along with Lugaru. If not, see . #include "Game.h" #include "Terrain.h" #include "Objects.h" +#include "Utils/Folders.h" + extern XYZ viewer; extern float viewdistance; extern float fadestart; @@ -34,7 +37,6 @@ extern bool decals; extern float blurness; extern float targetblurness; extern Objects objects; -extern ImageRec texture; extern bool visibleloading; extern bool skyboxtexture; extern int tutoriallevel; @@ -197,7 +199,6 @@ void Terrain::UpdateTransparency(int whichx, int whichy) void Terrain::UpdateTransparencyother(int whichx, int whichy) { - static XYZ vertex; static int i, j, a, b, c, d, patch_size, stepsize; patch_size = size / subdivision; @@ -397,7 +398,7 @@ void Terrain::UpdateVertexArray(int whichx, int whichy) } -bool Terrain::load(const char *fileName) +bool Terrain::load(const std::string& fileName) { static long i, j; static long x, y; @@ -405,8 +406,12 @@ bool Terrain::load(const char *fileName) float temptexdetail = texdetail; + ImageRec texture; + //Load Image - upload_image(ConvertFileName(fileName)); + if (!load_image(Folders::getResourcePath(fileName).c_str(), texture)) { + return false; + } //Is it valid? if (texture.bpp > 24) { @@ -640,7 +645,7 @@ bool Terrain::load(const char *fileName) patch_elements = (patch_size) * (patch_size) * 54; CalculateNormals(); - return 1; + return true; } void Terrain::CalculateNormals() @@ -802,7 +807,7 @@ void Terrain::drawpatchotherother(int whichx, int whichy, float opacity) float Terrain::getHeight(float pointx, float pointz) { static int tilex, tiley; - static XYZ startpoint, endpoint, intersect, triangle[3], average; + static XYZ startpoint, endpoint, intersect, triangle[3]; pointx /= scale; pointz /= scale;