diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/English.lproj/InfoPlist.strings | 4 | ||||
-rw-r--r-- | indra/newview/Info-SecondLife.plist | 2 | ||||
-rw-r--r-- | indra/newview/linux_tools/client-readme.txt | 11 | ||||
-rwxr-xr-x | indra/newview/linux_tools/wrapper.sh | 3 | ||||
-rw-r--r-- | indra/newview/lldrawpoolwater.cpp | 10 | ||||
-rw-r--r-- | indra/newview/llpanellogin.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llpolymesh.cpp | 16 | ||||
-rw-r--r-- | indra/newview/llpolymesh.h | 9 | ||||
-rw-r--r-- | indra/newview/llstartup.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llviewermenu.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 18 | ||||
-rw-r--r-- | indra/newview/llvoavatar.cpp | 48 | ||||
-rw-r--r-- | indra/newview/macview_Prefix.h | 2 | ||||
-rw-r--r-- | indra/newview/pipeline.cpp | 5 |
14 files changed, 81 insertions, 50 deletions
diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings index da8951428a..85f7e2530f 100644 --- a/indra/newview/English.lproj/InfoPlist.strings +++ b/indra/newview/English.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ /* Localized versions of Info.plist keys */ CFBundleName = "Second Life"; -CFBundleShortVersionString = "Second Life version 1.18.5.3"; -CFBundleGetInfoString = "Second Life version 1.18.5.3, Copyright 2004-2007 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 1.18.6.0"; +CFBundleGetInfoString = "Second Life version 1.18.6.0, Copyright 2004-2007 Linden Research, Inc."; diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist index 427651ccba..59822a1e4c 100644 --- a/indra/newview/Info-SecondLife.plist +++ b/indra/newview/Info-SecondLife.plist @@ -32,7 +32,7 @@ </dict> </array> <key>CFBundleVersion</key> - <string>1.18.5.3</string> + <string>1.18.6.0</string> <key>CSResourcesFileMapped</key> <true/> </dict> diff --git a/indra/newview/linux_tools/client-readme.txt b/indra/newview/linux_tools/client-readme.txt index 641705da53..832dff4209 100644 --- a/indra/newview/linux_tools/client-readme.txt +++ b/indra/newview/linux_tools/client-readme.txt @@ -50,15 +50,18 @@ Please enjoy! Minimum requirements: * Internet Connection: Cable or DSL - * Computer Processor: 800MHz Pentium III or Athlon, or better - * Computer Memory: 256MB or better (strongly recommend more!) + * Computer Processor: 800MHz Pentium III or Athlon or better + (recommended: 1.5GHz or more) + * Computer Memory: 512MB (recommended: 768MB or more) * Linux Operating System: A reasonably modern 32-bit Linux environment is required. If you are running a 64-bit Linux distribution then you will need its 32-bit compatibility environment installed. * Video/Graphics Card: - o nVidia GeForce 2, GeForce 4mx, or better + o nVidia GeForce 2, GeForce 4mx, or better (recommend one of the + following: 6700, 6800, 7600, 7800, 7900, 8400, 8500, 8600, + 8800, Go 7400, Go 7600, Go 7800, Go 7900) o OR ATI Radeon 8500, 9250, or better - (nVidia cards are strongly recommended for the Linux client) + (nVidia cards are recommended for the Linux client) **NOTE**: Second Life absolutely requires you to have recent, correctly- configured OpenGL 3D drivers for your hardware - the graphics drivers diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh index 638a0f0b76..35efbc13b8 100755 --- a/indra/newview/linux_tools/wrapper.sh +++ b/indra/newview/linux_tools/wrapper.sh @@ -59,7 +59,8 @@ fi ## Nothing worth editing below this line. ##------------------------------------------------------------------- -RUN_PATH=`dirname "$0" || echo .` +SCRIPTSRC=`readlink -f "$0" || echo "$0"` +RUN_PATH=`dirname "${SCRIPTSRC}" || echo .` cd "${RUN_PATH}" # Re-register the secondlife:// protocol handler every launch, for now. diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp index 4a7760f15c..d7fc716c55 100644 --- a/indra/newview/lldrawpoolwater.cpp +++ b/indra/newview/lldrawpoolwater.cpp @@ -567,7 +567,15 @@ void LLDrawPoolWater::shade() LLCubeMap* skyMap = gSky.mVOSkyp->getCubeMap(); gWaterProgram.enableTexture(LLShaderMgr::ENVIRONMENT_MAP, GL_TEXTURE_CUBE_MAP_ARB); - skyMap->bind(); + + if (skyMap) + { + skyMap->bind(); + } + else + { + llwarns << "NULL gSky.mVOSkyp->getCubeMap(), not binding." << llendl; + } //bind normal map S32 bumpTex = gWaterProgram.enableTexture(LLShaderMgr::BUMP_MAP); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 7f846c2791..bc297354f7 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -38,7 +38,6 @@ #include "llfontgl.h" #include "llmd5.h" #include "llsecondlifeurls.h" -#include "llwindow.h" // shell_open() #include "llversionviewer.h" #include "v4color.h" diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp index 492e590173..dc67ff48ea 100644 --- a/indra/newview/llpolymesh.cpp +++ b/indra/newview/llpolymesh.cpp @@ -862,14 +862,6 @@ void LLPolyMesh::dumpDiagInfo() llinfos << buf << llendl; llinfos << "-----------------------------------------------------" << llendl; } - -//----------------------------------------------------------------------------- -// getCoords() -//----------------------------------------------------------------------------- -const LLVector3 *LLPolyMesh::getCoords() const -{ - return mCoords; -} //----------------------------------------------------------------------------- // getWritableCoords() @@ -985,14 +977,6 @@ void LLPolyMesh::deleteAllMorphData() } //----------------------------------------------------------------------------- -// getWeights() -//----------------------------------------------------------------------------- -const F32* LLPolyMesh::getWeights() const -{ - return mSharedData->mWeights; -} - -//----------------------------------------------------------------------------- // getWritableWeights() //----------------------------------------------------------------------------- F32* LLPolyMesh::getWritableWeights() const diff --git a/indra/newview/llpolymesh.h b/indra/newview/llpolymesh.h index 3cf4acb0fa..8003c4a89d 100644 --- a/indra/newview/llpolymesh.h +++ b/indra/newview/llpolymesh.h @@ -224,7 +224,9 @@ public: } // Get coords - const LLVector3 *getCoords() const; + const LLVector3 *getCoords() const{ + return mCoords; + } // non const version LLVector3 *getWritableCoords(); @@ -273,7 +275,10 @@ public: } // Get weights - const F32 *getWeights() const; + const F32 *getWeights() const { + llassert (mSharedData); + return mSharedData->mWeights; + } F32 *getWritableWeights() const; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 302291ab52..f12f5763ef 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -70,7 +70,6 @@ #include "lluserrelations.h" #include "llversionviewer.h" #include "llvfs.h" -#include "llwindow.h" // for shell_open #include "llxorcipher.h" // saved password, MAC address #include "message.h" #include "v3math.h" diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7aa25266fe..2fccdcd153 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -60,7 +60,6 @@ #include "lltimer.h" #include "llvfile.h" #include "llvolumemgr.h" -#include "llwindow.h" // for shell_open() // newview includes #include "llagent.h" diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index fa92bfb217..ebb0da016f 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -59,7 +59,6 @@ #include "llteleportflags.h" #include "lltracker.h" #include "lltransactionflags.h" -#include "llwindow.h" // shell_open() #include "llxfermanager.h" #include "message.h" #include "sound_ids.h" @@ -1199,7 +1198,22 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task) LLString::format_map_t args; args["[OBJECTNAME]"] = info->mDesc; - args["[OBJECTTYPE]"] = LLAssetType::lookupHumanReadable(info->mType); + // must protect against a NULL return from lookupHumanReadable() + const char* typestr = LLAssetType::lookupHumanReadable(info->mType); + if (typestr) + { + args["[OBJECTTYPE]"] = typestr; + } + else + { + llwarns << "LLAssetType::lookupHumanReadable() returned NULL - probably bad asset type: " << info->mType << llendl; + args["[OBJECTTYPE]"] = ""; + + // This seems safest, rather than propagating bogosity + llwarns << "Forcing an inventory-decline for probably-bad asset type." << llendl; + inventory_offer_callback(IOR_DECLINE, info); + return; + } // Name cache callbacks don't store userdata, so can't save // off the LLOfferInfo. Argh. JC diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 7a225c8a12..fc159ddc48 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -311,7 +311,13 @@ class LLBodyNoiseMotion : { public: // Constructor - LLBodyNoiseMotion(const LLUUID &id) : LLMotion(id) {mName = "body_noise";} + LLBodyNoiseMotion(const LLUUID &id) + : LLMotion(id) + { + mName = "body_noise"; + + mTorsoState = new LLJointState; + } // Destructor virtual ~LLBodyNoiseMotion() { } @@ -354,14 +360,14 @@ public: // must return true to indicate success and be available for activation virtual LLMotionInitStatus onInitialize(LLCharacter *character) { - if( !mTorsoState.setJoint( character->getJoint("mTorso") )) + if( !mTorsoState->setJoint( character->getJoint("mTorso") )) { return STATUS_FAILURE; } - mTorsoState.setUsage(LLJointState::ROT); + mTorsoState->setUsage(LLJointState::ROT); - addJointState( &mTorsoState ); + addJointState( mTorsoState ); return STATUS_SUCCESS; } @@ -388,7 +394,7 @@ public: F32 ry = TORSO_NOISE_AMOUNT * DEG_TO_RAD * noiseY / 0.42f; LLQuaternion tQn; tQn.setQuat( rx, ry, 0.0f ); - mTorsoState.setRotation( tQn ); + mTorsoState->setRotation( tQn ); return TRUE; } @@ -400,7 +406,7 @@ public: //------------------------------------------------------------------------- // joint states to be animated //------------------------------------------------------------------------- - LLJointState mTorsoState; + LLPointer<LLJointState> mTorsoState; }; //----------------------------------------------------------------------------- @@ -417,6 +423,8 @@ public: mCharacter(NULL) { mName = "breathe_rot"; + + mChestState = new LLJointState; } // Destructor @@ -463,12 +471,12 @@ public: mCharacter = character; bool success = true; - if ( !mChestState.setJoint( character->getJoint( "mChest" ) ) ) { success = false; } + if ( !mChestState->setJoint( character->getJoint( "mChest" ) ) ) { success = false; } if ( success ) { - mChestState.setUsage(LLJointState::ROT); - addJointState( &mChestState ); + mChestState->setUsage(LLJointState::ROT); + addJointState( mChestState ); } if ( success ) @@ -495,7 +503,7 @@ public: F32 breathe_amt = (sinf(mBreatheRate * time) * BREATHE_ROT_MOTION_STRENGTH); - mChestState.setRotation(LLQuaternion(breathe_amt, LLVector3(0.f, 1.f, 0.f))); + mChestState->setRotation(LLQuaternion(breathe_amt, LLVector3(0.f, 1.f, 0.f))); return TRUE; } @@ -507,7 +515,7 @@ public: //------------------------------------------------------------------------- // joint states to be animated //------------------------------------------------------------------------- - LLJointState mChestState; + LLPointer<LLJointState> mChestState; F32 mBreatheRate; LLCharacter* mCharacter; }; @@ -520,7 +528,13 @@ class LLPelvisFixMotion : { public: // Constructor - LLPelvisFixMotion(const LLUUID &id) : LLMotion(id), mCharacter(NULL) {mName = "pelvis_fix";} + LLPelvisFixMotion(const LLUUID &id) + : LLMotion(id), mCharacter(NULL) + { + mName = "pelvis_fix"; + + mPelvisState = new LLJointState; + } // Destructor virtual ~LLPelvisFixMotion() { } @@ -565,14 +579,14 @@ public: { mCharacter = character; - if (!mPelvisState.setJoint( character->getJoint("mPelvis"))) + if (!mPelvisState->setJoint( character->getJoint("mPelvis"))) { return STATUS_FAILURE; } - mPelvisState.setUsage(LLJointState::POS); + mPelvisState->setUsage(LLJointState::POS); - addJointState( &mPelvisState ); + addJointState( mPelvisState ); return STATUS_SUCCESS; } @@ -586,7 +600,7 @@ public: // must return FALSE when the motion is completed. virtual BOOL onUpdate(F32 time, U8* joint_mask) { - mPelvisState.setPosition(LLVector3::zero); + mPelvisState->setPosition(LLVector3::zero); return TRUE; } @@ -598,7 +612,7 @@ public: //------------------------------------------------------------------------- // joint states to be animated //------------------------------------------------------------------------- - LLJointState mPelvisState; + LLPointer<LLJointState> mPelvisState; LLCharacter* mCharacter; }; diff --git a/indra/newview/macview_Prefix.h b/indra/newview/macview_Prefix.h index 4d982f1897..08c59bcedd 100644 --- a/indra/newview/macview_Prefix.h +++ b/indra/newview/macview_Prefix.h @@ -221,7 +221,7 @@ #include "indra_constants.h" // for key and mask constants #include "llfontgl.h" #include "v4color.h" -#include "llwindow_impl.h" // shell_open() +#include "llwindow_impl.h" #include "llbutton.h" #include "llcheckboxctrl.h" diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index e9faccb4da..b16a9fb02b 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -3667,6 +3667,11 @@ void LLPipeline::clearRenderMap() void LLPipeline::resetVertexBuffers(LLDrawable* drawable) { + if (!drawable) + { + return; + } + for (S32 i = 0; i < drawable->getNumFaces(); i++) { LLFace* facep = drawable->getFace(i); |