diff options
Diffstat (limited to 'indra/newview/llcloud.cpp')
-rw-r--r-- | indra/newview/llcloud.cpp | 62 |
1 files changed, 29 insertions, 33 deletions
diff --git a/indra/newview/llcloud.cpp b/indra/newview/llcloud.cpp index ee793bf6e4..cda0f6e4a2 100644 --- a/indra/newview/llcloud.cpp +++ b/indra/newview/llcloud.cpp @@ -2,30 +2,25 @@ * @file llcloud.cpp * @brief Implementation of viewer LLCloudLayer class * - * $LicenseInfo:firstyear=2001&license=viewergpl$ - * - * Copyright (c) 2001-2007, Linden Research, Inc. - * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlife.com/developers/opensource/gplv2 + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at http://secondlife.com/developers/opensource/flossexception + * This library 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 + * Lesser General Public License for more details. * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -36,6 +31,7 @@ #include "v3math.h" #include "v4math.h" #include "llquaternion.h" +#include "llrand.h" #include "v4color.h" #include "llwind.h" @@ -121,7 +117,7 @@ void LLCloudGroup::updatePuffs(const F32 dt) mVOCloudsp->setScale(LLVector3(256.f/CLOUD_GROUPS_PER_EDGE + CLOUD_PUFF_WIDTH, 256.f/CLOUD_GROUPS_PER_EDGE + CLOUD_PUFF_WIDTH, CLOUD_HEIGHT_RANGE + CLOUD_PUFF_HEIGHT)*0.5f); - gPipeline.addObject(mVOCloudsp); + gPipeline.createObject(mVOCloudsp); } LLVector3 velocity; @@ -157,7 +153,7 @@ void LLCloudGroup::updatePuffOwnership() } //llinfos << "Cloud moving to new group" << llendl; - LLCloudGroup *new_cgp = gWorldPointer->findCloudGroup(mCloudPuffs[i]); + LLCloudGroup *new_cgp = LLWorld::getInstance()->findCloudGroup(mCloudPuffs[i]); if (!new_cgp) { //llinfos << "Killing puff not in group" << llendl; @@ -327,16 +323,7 @@ void LLCloudLayer::setRegion(LLViewerRegion *regionp) void LLCloudLayer::destroy() { - // Kill all of the existing puffs - S32 i, j; - - for (i = 0; i < CLOUD_GROUPS_PER_EDGE; i++) - { - for (j = 0; j < CLOUD_GROUPS_PER_EDGE; j++) - { - mCloudGroups[i][j].cleanup(); - } - } + reset(); delete [] mDensityp; mDensityp = NULL; @@ -346,8 +333,17 @@ void LLCloudLayer::destroy() void LLCloudLayer::reset() { -} + // Kill all of the existing puffs + S32 i, j; + for (i = 0; i < CLOUD_GROUPS_PER_EDGE; i++) + { + for (j = 0; j < CLOUD_GROUPS_PER_EDGE; j++) + { + mCloudGroups[i][j].cleanup(); + } + } +} void LLCloudLayer::setWindPointer(LLWind *windp) { |