From 0c7513f433cab1c800a4a5a9fcb2237f95e4024a Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Mon, 9 Aug 2010 20:38:47 +0200 Subject: load trees and grass always from file --- linden/indra/newview/app_settings/grass.xml | 6 +++++ linden/indra/newview/app_settings/trees.xml | 42 ++++++++++++++--------------- linden/indra/newview/llvograss.cpp | 16 ++++------- linden/indra/newview/llvotree.cpp | 7 ++++- linden/indra/newview/llvotree.h | 1 + 5 files changed, 39 insertions(+), 33 deletions(-) diff --git a/linden/indra/newview/app_settings/grass.xml b/linden/indra/newview/app_settings/grass.xml index bdfa603..6ae2ed5 100644 --- a/linden/indra/newview/app_settings/grass.xml +++ b/linden/indra/newview/app_settings/grass.xml @@ -4,6 +4,7 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/linden/indra/newview/llvograss.cpp b/linden/indra/newview/llvograss.cpp index d0a36b0..8b63163 100644 --- a/linden/indra/newview/llvograss.cpp +++ b/linden/indra/newview/llvograss.cpp @@ -163,19 +163,13 @@ void LLVOGrass::initClass() GrassSpeciesData* newGrass = new GrassSpeciesData(); - static LLStdStringHandle texture_id_string = LLXmlTree::addAttributeString("texture_id"); - grass_def->getFastAttributeUUID(texture_id_string, id); - newGrass->mTextureID = id; + std::string textureName; - if (newGrass->mTextureID.isNull()) - { - std::string textureName; + static LLStdStringHandle texture_name_string = LLXmlTree::addAttributeString("texture_name"); + success &= grass_def->getFastAttributeString(texture_name_string, textureName); + LLViewerImage* grass_image = gImageList.getImageFromFile(textureName); + newGrass->mTextureID = grass_image->getID(); - static LLStdStringHandle texture_name_string = LLXmlTree::addAttributeString("texture_name"); - success &= grass_def->getFastAttributeString(texture_name_string, textureName); - LLViewerImage* grass_image = gImageList.getImageFromFile(textureName); - newGrass->mTextureID = grass_image->getID(); - } static LLStdStringHandle blade_sizex_string = LLXmlTree::addAttributeString("blade_size_x"); success &= grass_def->getFastAttributeF32(blade_sizex_string, F32_val); diff --git a/linden/indra/newview/llvotree.cpp b/linden/indra/newview/llvotree.cpp index 237f581..208086f 100644 --- a/linden/indra/newview/llvotree.cpp +++ b/linden/indra/newview/llvotree.cpp @@ -158,6 +158,11 @@ void LLVOTree::initClass() static LLStdStringHandle texture_id_string = LLXmlTree::addAttributeString("texture_id"); success &= tree_def->getFastAttributeUUID(texture_id_string, id); newTree->mTextureID = id; + + std::string texname; + static LLStdStringHandle texture_name = LLXmlTree::addAttributeString("texture_name"); + success &= tree_def->getFastAttributeString(texture_name, texname); + newTree->mTextureName = texname; static LLStdStringHandle droop_string = LLXmlTree::addAttributeString("droop"); success &= tree_def->getFastAttributeF32(droop_string, F32_val); @@ -319,7 +324,7 @@ U32 LLVOTree::processUpdateMessage(LLMessageSystem *mesgsys, // // Load Species-Specific data // - mTreeImagep = gImageList.getImage(sSpeciesTable[mSpecies]->mTextureID); + mTreeImagep = gImageList.getImageFromFile(sSpeciesTable[mSpecies]->mTextureName); if (mTreeImagep) { gGL.getTexUnit(0)->bind(mTreeImagep.get()); diff --git a/linden/indra/newview/llvotree.h b/linden/indra/newview/llvotree.h index df0b5a9..855c612 100644 --- a/linden/indra/newview/llvotree.h +++ b/linden/indra/newview/llvotree.h @@ -129,6 +129,7 @@ public: struct TreeSpeciesData { LLUUID mTextureID; + std::string mTextureName; F32 mBranchLength; // Scale (length) of tree branches F32 mDroop; // Droop from vertical (degrees) at each branch recursion -- cgit v1.1