X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FTerrain.cpp;h=1683dfc88c0426cd7d2ab8b79bfd903e565a2d0e;hb=1aef858f5ecb3dc8fd816e0155635371ed3632f2;hp=0ba1ddda95d67b811f6805e553d6076bdea70403;hpb=36cc3af3e5074215817ddee16defde754e2ad67f;p=lugaru.git diff --git a/Source/Terrain.cpp b/Source/Terrain.cpp index 0ba1ddd..1683dfc 100644 --- a/Source/Terrain.cpp +++ b/Source/Terrain.cpp @@ -1,6 +1,27 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#include "Game.h" #include "Terrain.h" #include "Objects.h" -#include "Game.h" extern XYZ viewer; extern float viewdistance; extern float lightambient[3],lightbrightness[3]; @@ -350,7 +371,7 @@ void Terrain::UpdateVertexArray(int whichx, int whichy){ } -bool Terrain::load(char *fileName) +bool Terrain::load(const char *fileName) { static long i,j; static long x,y; @@ -359,8 +380,12 @@ bool Terrain::load(char *fileName) float temptexdetail=texdetail; texdetail=terraindetail; //LoadTGA( fileName ); + + // Fixing filename so that it works with its own os + char * FixedFN = ConvertFileName(fileName); + unsigned char fileNamep[256]; - CopyCStringToPascal(fileName,fileNamep); + CopyCStringToPascal(FixedFN, fileNamep); //Load Image upload_image( fileNamep ,0); @@ -1495,7 +1520,7 @@ Terrain::Terrain() memset(patchobjectnum, 0, sizeof(patchobjectnum)); memset(patchobjects, 0, sizeof(patchobjects)); - scale = 0; + scale = 1.0f; type = 0; memset(heightmap, 0, sizeof(heightmap)); memset(normals, 0, sizeof(normals)); @@ -1530,12 +1555,12 @@ Terrain::Terrain() } Terrain::~Terrain() { - if(terraintexture)glDeleteTextures( 1, (const unsigned long *)&terraintexture ); - if(shadowtexture) glDeleteTextures( 1, (const unsigned long *)&shadowtexture ); - if(bodyprinttexture) glDeleteTextures( 1, (const unsigned long *)&bodyprinttexture ); - if(footprinttexture) glDeleteTextures( 1, (const unsigned long *)&footprinttexture ); - if(bloodtexture) glDeleteTextures( 1, (const unsigned long *)&bloodtexture ); - if(bloodtexture2) glDeleteTextures( 1, (const unsigned long *)&bloodtexture2 ); - if(breaktexture) glDeleteTextures( 1, (const unsigned long *)&breaktexture ); + if(terraintexture)glDeleteTextures( 1, &terraintexture ); + if(shadowtexture) glDeleteTextures( 1, &shadowtexture ); + if(bodyprinttexture) glDeleteTextures( 1, &bodyprinttexture ); + if(footprinttexture) glDeleteTextures( 1, &footprinttexture ); + if(bloodtexture) glDeleteTextures( 1, &bloodtexture ); + if(bloodtexture2) glDeleteTextures( 1, &bloodtexture2 ); + if(breaktexture) glDeleteTextures( 1, &breaktexture ); }