From a6a2c8a80af57b99e08da36c4e64b0a0b868636f Mon Sep 17 00:00:00 2001 From: Nicholaz Beresford Date: Tue, 16 Sep 2008 02:08:45 -0500 Subject: Applied VWR-3878: Purging cache textures causes viewer to pause for many seconds, with heavy disk activity. --- ChangeLog.txt | 7 ++++ linden/indra/newview/lltexturecache.cpp | 65 ++++++++++++++++++++++++++++++--- linden/indra/newview/lltexturecache.h | 5 +++ 3 files changed, 71 insertions(+), 6 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index e69de29..da78f78 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -0,0 +1,7 @@ +2008-09-16 Nicholaz Beresford + + * linden/indra/newview/lltexturecache.cpp: + VWR-3878: Purging cache textures causes viewer to pause for many + seconds, with heavy disk activity. + * linden/indra/newview/lltexturecache.h: + Ditto. diff --git a/linden/indra/newview/lltexturecache.cpp b/linden/indra/newview/lltexturecache.cpp index 22cb6c1..0fbb3d9 100644 --- a/linden/indra/newview/lltexturecache.cpp +++ b/linden/indra/newview/lltexturecache.cpp @@ -881,6 +881,8 @@ LLTextureCache::LLTextureCache(bool threaded) LLTextureCache::~LLTextureCache() { + purgeTextureFilesTimeSliced(TRUE); // force-flush all pending file deletes + apr_pool_destroy(mFileAPRPool); } @@ -1187,7 +1189,7 @@ void LLTextureCache::purgeTextures(bool validate) return; } - LL_DEBUGS("TextureCache") << "TEXTURE CACHE: Reading Entries..." << LL_ENDL; + LL_DEBUGS("TextureCache") << "TEXTURE CACHE: Reading " << num_entries << " Entries from " << mTexturesDirEntriesFileName << LL_ENDL; std::map entry_idx_map; S64 total_size = 0; @@ -1216,7 +1218,7 @@ void LLTextureCache::purgeTextures(bool validate) LL_DEBUGS("TextureCache") << "TEXTURE CACHE: Validating: " << validate_idx << LL_ENDL; } - S64 min_cache_size = (sCacheMaxTexturesSize * 9) / 10; + S64 min_cache_size = sCacheMaxTexturesSize / 100 * 95; S32 purge_count = 0; S32 next_idx = 0; for (S32 idx=0; idx max_time_per_pass) + { + break; + } + } + + if (!mFilesToDelete.empty()) + { + llinfos << "TEXTURE CACHE: "<< howmany << " files deleted (" + << mFilesToDelete.size() << " files left for next pass)" + << llendl; + } + + mTimeLastFileDelete.reset(); +} + + + ////////////////////////////////////////////////////////////////////////////// // call lockWorkers() first! @@ -1462,6 +1511,10 @@ LLTextureCache::handle_t LLTextureCache::writeToCache(const LLUUID& id, U32 prio purgeTextures(false); mDoPurge = FALSE; } + + purgeTextureFilesTimeSliced(); // purge textures from cache in a non-hiccup-way + + if (datasize >= TEXTURE_CACHE_ENTRY_SIZE) { LLMutexLock lock(&mWorkersMutex); diff --git a/linden/indra/newview/lltexturecache.h b/linden/indra/newview/lltexturecache.h index f083dd0..e15a88b 100644 --- a/linden/indra/newview/lltexturecache.h +++ b/linden/indra/newview/lltexturecache.h @@ -119,6 +119,7 @@ private: void readHeaderCache(apr_pool_t* poolp = NULL); void purgeAllTextures(bool purge_directories); void purgeTextures(bool validate); + void purgeTextureFilesTimeSliced(BOOL force_all = FALSE); S32 getHeaderCacheEntry(const LLUUID& id, bool touch, S32* imagesize = NULL); bool removeHeaderCacheEntry(const LLUUID& id); void lockHeaders() { mHeaderMutex.lock(); } @@ -140,6 +141,10 @@ private: typedef std::vector, bool> > responder_list_t; responder_list_t mCompletedList; + + typedef std::list filename_list_t; + filename_list_t mFilesToDelete; + LLTimer mTimeLastFileDelete; BOOL mReadOnly; -- cgit v1.1 From d98f0844bd9d3dc6740d45960a65dd4e8f11e9ec Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Tue, 16 Sep 2008 12:20:16 -0500 Subject: Skip "N files scheduled for deletion" message when nothing scheduled. --- ChangeLog.txt | 5 +++++ linden/indra/newview/lltexturecache.cpp | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index da78f78..4b154b2 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,8 @@ +2008-09-16 Jacek Antonelli + + * linden/indra/newview/lltexturecache.cpp (purgeTextureFilesTimeSliced): + Skip "N files scheduled for deletion" message when nothing scheduled. + 2008-09-16 Nicholaz Beresford * linden/indra/newview/lltexturecache.cpp: diff --git a/linden/indra/newview/lltexturecache.cpp b/linden/indra/newview/lltexturecache.cpp index 0fbb3d9..ac956e2 100644 --- a/linden/indra/newview/lltexturecache.cpp +++ b/linden/indra/newview/lltexturecache.cpp @@ -1315,7 +1315,10 @@ void LLTextureCache::purgeTextureFilesTimeSliced(BOOL force_all) LLTimer timer; S32 howmany = 0; - llinfos << "TEXTURE CACHE: " << mFilesToDelete.size() << " files scheduled for deletion" << llendl; + if (mFilesToDelete.size() > 0) + { + llinfos << "TEXTURE CACHE: " << mFilesToDelete.size() << " files scheduled for deletion" << llendl; + } for (LLTextureCache::filename_list_t::iterator iter = mFilesToDelete.begin(); iter!=mFilesToDelete.end(); ) { -- cgit v1.1 From 5c920015e999cfe9860e769105632891db3e1916 Mon Sep 17 00:00:00 2001 From: Nicholaz Beresford Date: Wed, 17 Sep 2008 01:49:35 -0500 Subject: VWR-2003: Possible crash in lltooldraganddrop.cpp. --- ChangeLog.txt | 4 ++++ linden/indra/newview/lltooldraganddrop.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog.txt b/ChangeLog.txt index e69de29..376a749 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -0,0 +1,4 @@ +2008-09-17 Nicholaz Beresford + + * linden/indra/newview/lltooldraganddrop.cpp (dragOrDrop): + VWR-2003: Possible crash in lltooldraganddrop.cpp. diff --git a/linden/indra/newview/lltooldraganddrop.cpp b/linden/indra/newview/lltooldraganddrop.cpp index c492c7b..7a378a9 100644 --- a/linden/indra/newview/lltooldraganddrop.cpp +++ b/linden/indra/newview/lltooldraganddrop.cpp @@ -929,6 +929,12 @@ void LLToolDragAndDrop::dragOrDrop( S32 x, S32 y, MASK mask, BOOL drop, { LLInventoryObject* cargo = locateInventory(item, cat); + if (!cargo) + { + handled = FALSE; + break; + } + EAcceptance item_acceptance = ACCEPT_NO; handled = handled && root_view->handleDragAndDrop(x, y, mask, FALSE, mCargoTypes[mCurItemIndex], -- cgit v1.1 From 36e67d5a189529f14ffde674da9ea24bdccd3023 Mon Sep 17 00:00:00 2001 From: Nicholaz Beresford Date: Wed, 17 Sep 2008 02:09:44 -0500 Subject: VWR-2685: Possible crash in bounding box (getBoundingBoxAgent()) from hud attachments. --- ChangeLog.txt | 5 +++++ linden/indra/newview/llviewerjointattachment.h | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index e69de29..2cc6cca 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -0,0 +1,5 @@ +2008-09-17 Nicholaz Beresford + + * linden/indra/newview/llviewerjointattachment.h (LLViewerJoint): + VWR-2685: Possible crash in bounding box (getBoundingBoxAgent()) + from hud attachments. diff --git a/linden/indra/newview/llviewerjointattachment.h b/linden/indra/newview/llviewerjointattachment.h index 8e665aa..a69c10c 100644 --- a/linden/indra/newview/llviewerjointattachment.h +++ b/linden/indra/newview/llviewerjointattachment.h @@ -98,8 +98,7 @@ protected: void calcLOD(); protected: - // Backlink only; don't make this an LLPointer. - LLViewerObject* mAttachedObject; + LLPointer mAttachedObject; BOOL mVisibleInFirst; LLVector3 mOriginalPos; S32 mGroup; -- cgit v1.1 From bd0eb5fde3c408c6e66a80101c38edd605528380 Mon Sep 17 00:00:00 2001 From: Nicholaz Beresford Date: Wed, 17 Sep 2008 02:16:50 -0500 Subject: VWR-2683: Possible crash accessing dead llviewerregion. --- ChangeLog.txt | 6 ++++++ linden/indra/newview/llfloateractivespeakers.cpp | 4 ++-- linden/indra/newview/llviewerobjectlist.cpp | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index e69de29..36a5be0 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -0,0 +1,6 @@ +2008-09-17 Nicholaz Beresford + + * linden/indra/newview/llfloateractivespeakers.cpp (updateSpeakerList): + VWR-2683: Possible crash accessing dead llviewerregion. + * linden/indra/newview/llviewerobjectlist.cpp (killObjects): + Ditto. diff --git a/linden/indra/newview/llfloateractivespeakers.cpp b/linden/indra/newview/llfloateractivespeakers.cpp index ed2f9f8..9aa21d5 100644 --- a/linden/indra/newview/llfloateractivespeakers.cpp +++ b/linden/indra/newview/llfloateractivespeakers.cpp @@ -1342,7 +1342,7 @@ void LLLocalSpeakerMgr::updateSpeakerList() for(avatar_it = LLCharacter::sInstances.begin(); avatar_it != LLCharacter::sInstances.end(); ++avatar_it) { LLVOAvatar* avatarp = (LLVOAvatar*)*avatar_it; - if (dist_vec(avatarp->getPositionAgent(), gAgent.getPositionAgent()) <= CHAT_NORMAL_RADIUS) + if (!avatarp->isDead() && dist_vec(avatarp->getPositionAgent(), gAgent.getPositionAgent()) <= CHAT_NORMAL_RADIUS) { setSpeaker(avatarp->getID()); } @@ -1356,7 +1356,7 @@ void LLLocalSpeakerMgr::updateSpeakerList() if (speakerp->mStatus == LLSpeaker::STATUS_TEXT_ONLY) { LLVOAvatar* avatarp = (LLVOAvatar*)gObjectList.findObject(speaker_id); - if (!avatarp || dist_vec(avatarp->getPositionAgent(), gAgent.getPositionAgent()) > CHAT_NORMAL_RADIUS) + if (!avatarp || avatarp->isDead() || dist_vec(avatarp->getPositionAgent(), gAgent.getPositionAgent()) > CHAT_NORMAL_RADIUS) { speakerp->mStatus = LLSpeaker::STATUS_NOT_IN_CHANNEL; speakerp->mDotColor = INACTIVE_COLOR; diff --git a/linden/indra/newview/llviewerobjectlist.cpp b/linden/indra/newview/llviewerobjectlist.cpp index bd8ed97..dec7ced 100644 --- a/linden/indra/newview/llviewerobjectlist.cpp +++ b/linden/indra/newview/llviewerobjectlist.cpp @@ -859,6 +859,10 @@ void LLViewerObjectList::killObjects(LLViewerRegion *regionp) if (objectp->mRegionp == regionp) { killObject(objectp); + + // invalidate region pointer. region will become invalid, but + // refcounted objects may survive the cleanDeadObjects() call below + objectp->mRegionp = NULL; } } -- cgit v1.1 From 5c59f5fdb33b70d032e1b6578c9fb583b97070ca Mon Sep 17 00:00:00 2001 From: Nicholaz Beresford Date: Tue, 16 Sep 2008 21:49:15 -0500 Subject: VWR-3877: A nasty possible memory overwrite and two minor leaks. --- ChangeLog.txt | 4 +++ linden/indra/llmessage/llassetstorage.cpp | 41 ++++++++++++++++--------------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index e69de29..e06910f 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -0,0 +1,4 @@ +2008-09-16 Nicholaz Beresford + + * linden/indra/llmessage/llassetstorage.cpp: + VWR-3877: A nasty possible memory overwrite and two minor leaks. diff --git a/linden/indra/llmessage/llassetstorage.cpp b/linden/indra/llmessage/llassetstorage.cpp index a6077e5..83026ba 100644 --- a/linden/indra/llmessage/llassetstorage.cpp +++ b/linden/indra/llmessage/llassetstorage.cpp @@ -515,16 +515,19 @@ void LLAssetStorage::downloadCompleteCallback( S32 result, const LLUUID& file_id, LLAssetType::EType file_type, - void* user_data, LLExtStat ext_status) + void* callback_parm_req, LLExtStat ext_status) { lldebugs << "LLAssetStorage::downloadCompleteCallback() for " << file_id << "," << LLAssetType::lookup(file_type) << llendl; - LLAssetRequest* req = (LLAssetRequest*)user_data; + + // be careful! req may be a ptr to memory already freed (a timeout does this) + LLAssetRequest* req = (LLAssetRequest*)callback_parm_req; if(!req) { llwarns << "LLAssetStorage::downloadCompleteCallback called without" "a valid request." << llendl; - return; + // we can live with a null pointer, we're not allowed to deref the ptr anyway (see above) + // return; } if (!gAssetStorage) { @@ -532,12 +535,10 @@ void LLAssetStorage::downloadCompleteCallback( return; } - req->setUUID(file_id); - req->setType(file_type); if (LL_ERR_NOERR == result) { // we might have gotten a zero-size file - LLVFile vfile(gAssetStorage->mVFS, req->getUUID(), req->getType()); + LLVFile vfile(gAssetStorage->mVFS, file_id, file_type); if (vfile.getSize() <= 0) { llwarns << "downloadCompleteCallback has non-existent or zero-size asset " << req->getUUID() << llendl; @@ -556,7 +557,7 @@ void LLAssetStorage::downloadCompleteCallback( { request_list_t::iterator curiter = iter++; LLAssetRequest* tmp = *curiter; - if ((tmp->getUUID() == req->getUUID()) && (tmp->getType()== req->getType())) + if ((tmp->getUUID() == file_id) && (tmp->getType() == file_type)) { requests.push_front(tmp); iter = gAssetStorage->mPendingDownloads.erase(curiter); @@ -569,7 +570,7 @@ void LLAssetStorage::downloadCompleteCallback( LLAssetRequest* tmp = *curiter; if (tmp->mDownCallback) { - tmp->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), tmp->mUserData, result, ext_status); + tmp->mDownCallback(gAssetStorage->mVFS, tmp->getUUID(), tmp->getType(), tmp->mUserData, result, ext_status); } delete tmp; } @@ -665,10 +666,10 @@ void LLAssetStorage::downloadEstateAssetCompleteCallback( S32 result, const LLUUID& file_id, LLAssetType::EType file_type, - void* user_data, + void* callback_parm_req, LLExtStat ext_status) { - LLEstateAssetRequest *req = (LLEstateAssetRequest*)user_data; + LLEstateAssetRequest *req = (LLEstateAssetRequest*)callback_parm_req; if(!req) { llwarns << "LLAssetStorage::downloadEstateAssetCompleteCallback called" @@ -682,12 +683,10 @@ void LLAssetStorage::downloadEstateAssetCompleteCallback( return; } - req->setUUID(file_id); - req->setType(file_type); if (LL_ERR_NOERR == result) { // we might have gotten a zero-size file - LLVFile vfile(gAssetStorage->mVFS, req->getUUID(), req->getAType()); + LLVFile vfile(gAssetStorage->mVFS, file_id, file_type); if (vfile.getSize() <= 0) { llwarns << "downloadCompleteCallback has non-existent or zero-size asset!" << llendl; @@ -697,7 +696,9 @@ void LLAssetStorage::downloadEstateAssetCompleteCallback( } } - req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getAType(), req->mUserData, result, ext_status); + req->mDownCallback(gAssetStorage->mVFS, file_id, file_type, req->mUserData, result, ext_status); + + delete req; } void LLAssetStorage::getInvItemAsset(const LLHost &object_sim, const LLUUID &agent_id, const LLUUID &session_id, @@ -802,10 +803,10 @@ void LLAssetStorage::downloadInvItemCompleteCallback( S32 result, const LLUUID& file_id, LLAssetType::EType file_type, - void* user_data, + void* callback_parm_req, LLExtStat ext_status) { - LLInvItemRequest *req = (LLInvItemRequest*)user_data; + LLInvItemRequest *req = (LLInvItemRequest*)callback_parm_req; if(!req) { llwarns << "LLAssetStorage::downloadEstateAssetCompleteCallback called" @@ -818,12 +819,10 @@ void LLAssetStorage::downloadInvItemCompleteCallback( return; } - req->setUUID(file_id); - req->setType(file_type); if (LL_ERR_NOERR == result) { // we might have gotten a zero-size file - LLVFile vfile(gAssetStorage->mVFS, req->getUUID(), req->getType()); + LLVFile vfile(gAssetStorage->mVFS, file_id, file_type); if (vfile.getSize() <= 0) { llwarns << "downloadCompleteCallback has non-existent or zero-size asset!" << llendl; @@ -833,7 +832,9 @@ void LLAssetStorage::downloadInvItemCompleteCallback( } } - req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), req->mUserData, result, ext_status); + req->mDownCallback(gAssetStorage->mVFS, file_id, file_type, req->mUserData, result, ext_status); + + delete req; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// -- cgit v1.1 From 72d6261a1c1db3045971dd851652289b41696b01 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Wed, 1 Oct 2008 17:19:53 -0500 Subject: Changed viewer and channel name to "Imprudence". --- ChangeLog.txt | 11 +++++++++++ linden/indra/cmake/Variables.cmake | 2 +- linden/indra/llcommon/llversionviewer.h | 5 ++++- linden/indra/newview/app_settings/settings.xml | 2 +- linden/indra/newview/llappviewer.cpp | 8 ++++---- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 84ff38c..e633431 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,14 @@ +2008-10-01 Jacek Antonelli + + * linden/indra/llcommon/llversionviewer.h: + Changed viewer and channel name to "Imprudence". + * linden/indra/newview/llappviewer.cpp: + Ditto. + * linden/indra/cmake/Variables.cmake: + Ditto. + * linden/indra/newview/app_settings/settings.xml: + Ditto. + 2008-09-28 Jacek Antonelli * linden/indra/newview/llviewermenu.cpp: diff --git a/linden/indra/cmake/Variables.cmake b/linden/indra/cmake/Variables.cmake index 5868e4d..8f33a95 100644 --- a/linden/indra/cmake/Variables.cmake +++ b/linden/indra/cmake/Variables.cmake @@ -79,7 +79,7 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(GRID agni CACHE STRING "Target Grid") set(VIEWER ON CACHE BOOL "Build Second Life viewer.") -set(VIEWER_CHANNEL "Developer" CACHE STRING "Viewer Channel Name") +set(VIEWER_CHANNEL "Imprudence" CACHE STRING "Viewer Channel Name") set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for A/B Testing") set(STANDALONE OFF CACHE BOOL "Do not use Linden-supplied prebuilt libraries.") diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h index f357b76..2c6f951 100644 --- a/linden/indra/llcommon/llversionviewer.h +++ b/linden/indra/llcommon/llversionviewer.h @@ -37,6 +37,9 @@ const S32 LL_VERSION_MINOR = 21; const S32 LL_VERSION_PATCH = 2; const S32 LL_VERSION_BUILD = 0; -const char * const LL_CHANNEL = "Second Life Release"; +const char * const LL_CHANNEL = "Imprudence"; + +const char * const LL_VIEWER_NAME = "Second Life"; +const char * const IMP_VIEWER_NAME = "Imprudence"; #endif diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 17698d7..be78dd7 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -9533,7 +9533,7 @@ Type String Value - Second Life Release + Imprudence VertexShaderEnable diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 9851e47..90d0429 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -308,7 +308,7 @@ const char *VFS_INDEX_FILE_BASE = "index.db2.x."; static std::string gSecondLife; static std::string gWindowTitle; #ifdef LL_WINDOWS - static char sWindowClass[] = "Second Life"; + static char sWindowClass[] = IMP_VIEWER_NAME; #endif std::string gLoginPage; @@ -1569,7 +1569,7 @@ bool LLAppViewer::initConfiguration() gSavedSettings.setString("ClientSettingsFile", gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, getSettingsFileName("Global"))); - gSavedSettings.setString("VersionChannelName", LL_CHANNEL); + gSavedSettings.setString("VersionChannelName", IMP_VIEWER_NAME); #ifndef LL_RELEASE_FOR_DOWNLOAD gSavedSettings.setBOOL("ShowConsoleWindow", TRUE); @@ -1836,7 +1836,7 @@ bool LLAppViewer::initConfiguration() mYieldTime = gSavedSettings.getS32("YieldTime"); // XUI:translate - gSecondLife = "Second Life"; + gSecondLife = IMP_VIEWER_NAME; // Read skin/branding settings if specified. //if (! gDirUtilp->getSkinDir().empty() ) @@ -2082,7 +2082,7 @@ bool LLAppViewer::initWindow() // always start windowed BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth"); - gViewerWindow = new LLViewerWindow(gWindowTitle, "Second Life", + gViewerWindow = new LLViewerWindow(gWindowTitle, gWindowTitle, gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"), gSavedSettings.getS32("WindowWidth"), gSavedSettings.getS32("WindowHeight"), FALSE, ignorePixelDepth); -- cgit v1.1 From 061abd8263b1fa91c344b8de7e254221cf3b4d58 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Wed, 1 Oct 2008 20:21:57 -0500 Subject: Added Imprudence-specific version numbers. --- ChangeLog.txt | 10 ++++++++++ linden/indra/llcommon/llversionviewer.h | 4 ++++ linden/indra/newview/llappviewer.cpp | 16 ++++++++++++---- linden/indra/newview/llfloaterabout.cpp | 13 ++++++++----- linden/indra/newview/llpanellogin.cpp | 17 +++++++++++++---- 5 files changed, 47 insertions(+), 13 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index e633431..8c3a030 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,6 +1,16 @@ 2008-10-01 Jacek Antonelli * linden/indra/llcommon/llversionviewer.h: + Added Imprudence-specific version numbers. + * linden/indra/newview/llappviewer.cpp: + Ditto. + * linden/indra/newview/llpanellogin.cpp: + Ditto. + * linden/indra/newview/llfloaterabout.cpp: + Ditto. + + + * linden/indra/llcommon/llversionviewer.h: Changed viewer and channel name to "Imprudence". * linden/indra/newview/llappviewer.cpp: Ditto. diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h index 2c6f951..385a3e9 100644 --- a/linden/indra/llcommon/llversionviewer.h +++ b/linden/indra/llcommon/llversionviewer.h @@ -42,4 +42,8 @@ const char * const LL_CHANNEL = "Imprudence"; const char * const LL_VIEWER_NAME = "Second Life"; const char * const IMP_VIEWER_NAME = "Imprudence"; +const S32 IMP_VERSION_MAJOR = 1; +const S32 IMP_VERSION_MINOR = 0; +const S32 IMP_VERSION_PATCH = 0; + #endif diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 90d0429..3ef3894 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -602,8 +602,12 @@ bool LLAppViewer::init() writeSystemInfo(); // Build a string representing the current version number. - gCurrentVersion = llformat("%s %d.%d.%d.%d", + gCurrentVersion = llformat("%s %d.%d.%d / %s %d.%d.%d.%d", gSavedSettings.getString("VersionChannelName").c_str(), + IMP_VERSION_MAJOR, + IMP_VERSION_MINOR, + IMP_VERSION_PATCH, + LL_VIEWER_NAME, LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, @@ -2216,6 +2220,9 @@ void LLAppViewer::writeSystemInfo() gDebugInfo["SLLog"] = LLError::logFileName(); gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName"); + gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR; + gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR; + gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH; gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; @@ -2245,9 +2252,7 @@ void LLAppViewer::writeSystemInfo() #endif // Dump some debugging info - LL_INFOS("SystemInfo") << gSecondLife - << " version " << LL_VERSION_MAJOR << "." << LL_VERSION_MINOR << "." << LL_VERSION_PATCH - << LL_ENDL; + LL_INFOS("SystemInfo") << gCurrentVersion << LL_ENDL; // Dump the local time and time zone time_t now; @@ -2298,6 +2303,9 @@ void LLAppViewer::handleViewerCrash() //to check against no matter what gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName"); + gDebugInfo["ClientInfo"]["ImpMajorVersion"] = IMP_VERSION_MAJOR; + gDebugInfo["ClientInfo"]["ImpMinorVersion"] = IMP_VERSION_MINOR; + gDebugInfo["ClientInfo"]["ImpPatchVersion"] = IMP_VERSION_PATCH; gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; diff --git a/linden/indra/newview/llfloaterabout.cpp b/linden/indra/newview/llfloaterabout.cpp index a90edb4..0486f57 100644 --- a/linden/indra/newview/llfloaterabout.cpp +++ b/linden/indra/newview/llfloaterabout.cpp @@ -109,11 +109,14 @@ LLFloaterAbout::LLFloaterAbout() viewer_link_style->setColor(gSavedSettings.getColor4("HTMLLinkColor")); // Version string - std::string version = LLAppViewer::instance()->getSecondLifeTitle() - + llformat(" %d.%d.%d (%d) %s %s (%s)\n", - LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD, - __DATE__, __TIME__, - gSavedSettings.getString("VersionChannelName").c_str()); + std::string version = llformat( + "%s %d.%d.%d / %s %d.%d.%d (%d), %s %s\n", + IMP_VIEWER_NAME, + IMP_VERSION_MAJOR, IMP_VERSION_MINOR, IMP_VERSION_PATCH, + LL_VIEWER_NAME, + LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD, + __DATE__, __TIME__); + support_widget->appendColoredText(version, FALSE, FALSE, gColors.getColor("TextFgReadOnlyColor")); support_widget->appendStyledText(LLTrans::getString("ReleaseNotes"), FALSE, FALSE, &viewer_link_style); diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp index ffee058..61bf215 100644 --- a/linden/indra/newview/llpanellogin.cpp +++ b/linden/indra/newview/llpanellogin.cpp @@ -419,15 +419,24 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, // childSetAction("quit_btn", onClickQuit, this); - std::string channel = gSavedSettings.getString("VersionChannelName"); - std::string version = llformat("%d.%d.%d (%d)", + std::string imp_channel = gSavedSettings.getString("VersionChannelName"); + std::string imp_version = llformat("%d.%d.%d", + IMP_VERSION_MAJOR, + IMP_VERSION_MINOR, + IMP_VERSION_PATCH ); + + std::string ll_channel = LL_VIEWER_NAME; + std::string ll_version = llformat("%d.%d.%d (%d)", LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD ); + LLTextBox* channel_text = getChild("channel_text"); - channel_text->setTextArg("[CHANNEL]", channel); - channel_text->setTextArg("[VERSION]", version); + channel_text->setTextArg("[CHANNEL]", imp_channel); + channel_text->setTextArg("[VERSION]", imp_version); + channel_text->setTextArg("[ALT_CHANNEL]", ll_channel); + channel_text->setTextArg("[ALT_VERSION]", ll_version); channel_text->setClickedCallback(onClickVersion); channel_text->setCallbackUserData(this); -- cgit v1.1 From 6ed8d75324849ecb36b0b911de0143348755f8bb Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Tue, 14 Oct 2008 20:25:17 -0500 Subject: Rebranded platform-independent/shared installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. --- ChangeLog.txt | 21 +++++++++++ linden/indra/CMakeLists.txt | 4 +-- linden/indra/cmake/00-Common.cmake | 2 +- linden/indra/develop.py | 8 ++--- linden/indra/llcrashlogger/llcrashlogger.cpp | 6 ++-- linden/indra/newview/CMakeLists.txt | 54 ++++++++++++++-------------- linden/indra/newview/ViewerInstall.cmake | 2 +- linden/indra/newview/llappviewer.cpp | 20 +++++------ linden/indra/newview/viewer_manifest.py | 52 +++++++++++++-------------- 9 files changed, 95 insertions(+), 74 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 8c3a030..8cf8b07 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,24 @@ +2008-10-14 Jacek Antonelli + + * linden/indra/CMakeLists.txt: + Rebranded platform-independent/shared installer/support files. + Replaced instances of "Second Life" with "Imprudence", etc. + * linden/indra/cmake/00-Common.cmake: + Ditto. + * linden/indra/develop.py: + Ditto. + * linden/indra/llcrashlogger/llcrashlogger.cpp: + Ditto. + * linden/indra/newview/CMakeLists.txt: + Ditto. + * linden/indra/newview/ViewerInstall.cmake: + Ditto. + * linden/indra/newview/llappviewer.cpp: + Ditto. + * linden/indra/newview/viewer_manifest.py: + Ditto. + + 2008-10-01 Jacek Antonelli * linden/indra/llcommon/llversionviewer.h: diff --git a/linden/indra/CMakeLists.txt b/linden/indra/CMakeLists.txt index fac2afa..eb06191 100644 --- a/linden/indra/CMakeLists.txt +++ b/linden/indra/CMakeLists.txt @@ -13,7 +13,7 @@ if(COMMAND cmake_policy) cmake_policy(SET CMP0003 OLD) endif(COMMAND cmake_policy) -project(SecondLife) +project(Imprudence) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") @@ -77,7 +77,7 @@ if (VIEWER) endif (LINUX) add_subdirectory(${VIEWER_PREFIX}newview) - add_dependencies(viewer secondlife-bin) + add_dependencies(viewer imprudence-bin) endif (VIEWER) # Linux builds the viewer and server in 2 separate projects diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake index 240853a..977e588 100644 --- a/linden/indra/cmake/00-Common.cmake +++ b/linden/indra/cmake/00-Common.cmake @@ -146,7 +146,7 @@ if (LINUX) endif (SERVER) if (VIEWER) - add_definitions(-DAPPID=secondlife) + add_definitions(-DAPPID=imprudence) add_definitions(-fvisibility=hidden) if (NOT STANDALONE) # this stops us requiring a really recent glibc at runtime diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 8edfccc..a0b11c6 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -503,10 +503,10 @@ class WindowsSetup(PlatformSetup): if self.gens[self.generator]['ver'] in [ r'8.0', r'9.0' ]: config = '\"%s|Win32\"' % config - return "buildconsole Secondlife.sln /build %s" % config + return "buildconsole Imprudence.sln /build %s" % config # devenv.com is CLI friendly, devenv.exe... not so much. - return ('"%sdevenv.com" Secondlife.sln /build %s' % + return ('"%sdevenv.com" Imprudence.sln /build %s' % (self.find_visual_studio(), self.build_type)) # this override of run exists because the PlatformSetup version @@ -527,9 +527,9 @@ class WindowsSetup(PlatformSetup): for build_dir in self.build_dirs(): vstool_cmd = os.path.join('tools','vstool','VSTool.exe') \ + ' --solution ' \ - + os.path.join(build_dir,'SecondLife.sln') \ + + os.path.join(build_dir,'Imprudence.sln') \ + ' --config RelWithDebInfo' \ - + ' --startup secondlife-bin' + + ' --startup imprudence-bin' print 'Running %r in %r' % (vstool_cmd, os.getcwd()) self.run(vstool_cmd) diff --git a/linden/indra/llcrashlogger/llcrashlogger.cpp b/linden/indra/llcrashlogger/llcrashlogger.cpp index 57fa33b..4c8859a 100755 --- a/linden/indra/llcrashlogger/llcrashlogger.cpp +++ b/linden/indra/llcrashlogger/llcrashlogger.cpp @@ -172,7 +172,7 @@ void LLCrashLogger::gatherFiles() { // Figure out the filename of the second life log LLCurl::setCAFile(gDirUtilp->getCAFile()); - mFileMap["SecondLifeLog"] = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"SecondLife.log"); + mFileMap["SecondLifeLog"] = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"Imprudence.log"); mFileMap["SettingsXml"] = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS,"settings.xml"); } @@ -293,7 +293,7 @@ bool LLCrashLogger::sendCrashLogs() updateApplication("Sending reports..."); std::string dump_path = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, - "SecondLifeCrashReport"); + "ImprudenceCrashReport"); std::string report_file = dump_path + ".log"; std::ofstream out_file(report_file.c_str()); @@ -330,7 +330,7 @@ bool LLCrashLogger::init() gDirUtilp->initAppDirs("SecondLife"); // Default to the product name "Second Life" (this is overridden by the -name argument) - mProductName = "Second Life"; + mProductName = "Imprudence"; mCrashSettings.declareS32(CRASH_BEHAVIOR_SETTING, CRASH_BEHAVIOR_ASK, "Controls behavior when viewer crashes " "(0 = ask before sending crash report, 1 = always send crash report, 2 = never send crash report)"); diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index ae0feb6..af7812c 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt @@ -1265,15 +1265,15 @@ list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES}) set_source_files_properties(${viewer_HEADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) -add_executable(secondlife-bin +add_executable(imprudence-bin WIN32 MACOSX_BUNDLE ${viewer_SOURCE_FILES} ) -check_message_template(secondlife-bin) +check_message_template(imprudence-bin) if (LLKDU_LIBRARY) - add_dependencies(secondlife-bin ${LLKDU_LIBRARY}) + add_dependencies(imprudence-bin ${LLKDU_LIBRARY}) endif (LLKDU_LIBRARY) set(PACKAGE OFF CACHE BOOL @@ -1281,12 +1281,12 @@ set(PACKAGE OFF CACHE BOOL if (WINDOWS) if(MSVC71) - set(release_flags "/MAP:Release/secondlife-bin.map /MAPINFO:LINES") + set(release_flags "/MAP:Release/imprudence-bin.map /MAPINFO:LINES") else(MSVC71) - set(release_flags "/MAP:Release/secondlife-bin.map") + set(release_flags "/MAP:Release/imprudence-bin.map") endif(MSVC71) - set_target_properties(secondlife-bin + set_target_properties(imprudence-bin PROPERTIES LINK_FLAGS "/debug /NODEFAULTLIB:MSVCRT /SUBSYSTEM:WINDOWS" LINK_FLAGS_DEBUG "/NODEFAULTLIB:LIBCMT /NODEFAULTLIB:MSVCRTD" @@ -1296,20 +1296,20 @@ if (WINDOWS) # sets the 'working directory' for debugging from visual studio. if (NOT UNATTENDED) add_custom_command( - TARGET secondlife-bin PRE_BUILD + TARGET imprudence-bin PRE_BUILD COMMAND ${CMAKE_SOURCE_DIR}/tools/vstool/vstool.exe ARGS --solution ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.sln --workingdir - secondlife-bin + imprudence-bin ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Setting the secondlife-bin working directory for debugging." + COMMENT "Setting the imprudence-bin working directory for debugging." ) endif (NOT UNATTENDED) add_custom_command( - TARGET secondlife-bin PRE_BUILD + TARGET imprudence-bin PRE_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E @@ -1320,7 +1320,7 @@ if (WINDOWS) ) add_custom_command( - TARGET secondlife-bin PRE_BUILD + TARGET imprudence-bin PRE_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E @@ -1330,10 +1330,10 @@ if (WINDOWS) COMMENT "Copying message.xml to the runtime folder." ) - add_dependencies(secondlife-bin copy_win_libs) + add_dependencies(imprudence-bin copy_win_libs) if (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) - add_dependencies(secondlife-bin copy_win_scripts) + add_dependencies(imprudence-bin copy_win_scripts) endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) add_custom_command( @@ -1350,7 +1350,7 @@ if (WINDOWS) --build=${CMAKE_CURRENT_BINARY_DIR} --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/touched.bat - DEPENDS secondlife-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + DEPENDS imprudence-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) if (PACKAGE) add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) @@ -1358,7 +1358,7 @@ if (WINDOWS) endif (PACKAGE) endif (WINDOWS) -target_link_libraries(secondlife-bin +target_link_libraries(imprudence-bin ${LLAUDIO_LIBRARIES} ${LLCHARACTER_LIBRARIES} ${LLIMAGE_LIBRARIES} @@ -1403,13 +1403,13 @@ set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH if (LINUX) add_custom_command( - OUTPUT secondlife-stripped + OUTPUT imprudence-stripped COMMAND strip - ARGS --strip-debug -o secondlife-stripped secondlife-bin - DEPENDS secondlife-bin + ARGS --strip-debug -o imprudence-stripped imprudence-bin + DEPENDS imprudence-bin ) - set(product SecondLife-${ARCH}-${viewer_VERSION}) + set(product Imprudence-${ARCH}-${viewer_VERSION}) add_custom_command( OUTPUT ${product}.tar.bz2 @@ -1426,7 +1426,7 @@ if (LINUX) --build=${CMAKE_CURRENT_BINARY_DIR} --dest=${CMAKE_CURRENT_BINARY_DIR}/packaged --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched - DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + DEPENDS imprudence-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) if (NOT INSTALL) @@ -1436,23 +1436,23 @@ if (LINUX) endif (LINUX) if (DARWIN) - set(product "Second Life") + set(product "Imprudence") set_target_properties( - secondlife-bin + imprudence-bin PROPERTIES OUTPUT_NAME "${product}" MACOSX_BUNDLE_INFO_STRING "info string - localize me" MACOSX_BUNDLE_ICON_FILE "secondlife.icns" - MACOSX_BUNDLE_GUI_IDENTIFIER "Second Life" + MACOSX_BUNDLE_GUI_IDENTIFIER "Imprudence" MACOSX_BUNDLE_LONG_VERSION_STRING "ververver" - MACOSX_BUNDLE_BUNDLE_NAME "Second Life" + MACOSX_BUNDLE_BUNDLE_NAME "Imprudence" MACOSX_BUNDLE_SHORT_VERSION_STRING "asdf" MACOSX_BUNDLE_BUNDLE_VERSION "asdf" MACOSX_BUNDLE_COPYRIGHT "copyright linden lab 2007 - localize me and run me through a legal wringer" ) add_custom_command( - TARGET secondlife-bin POST_BUILD + TARGET imprudence-bin POST_BUILD COMMAND ${PYTHON_EXECUTABLE} ARGS ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py @@ -1463,7 +1463,7 @@ if (DARWIN) --artwork=${ARTWORK_DIR} --build=${CMAKE_CURRENT_BINARY_DIR} --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app - DEPENDS secondlife-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py + DEPENDS imprudence-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) if (PACKAGE) @@ -1481,7 +1481,7 @@ if (DARWIN) --dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app --touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched DEPENDS - secondlife-bin + imprudence-bin ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) add_dependencies(package mac-updater mac-crash-logger) diff --git a/linden/indra/newview/ViewerInstall.cmake b/linden/indra/newview/ViewerInstall.cmake index 55069ad..bc839c4 100644 --- a/linden/indra/newview/ViewerInstall.cmake +++ b/linden/indra/newview/ViewerInstall.cmake @@ -1,4 +1,4 @@ -install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/secondlife-bin +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/imprudence-bin DESTINATION ${APP_BINARY_DIR} ) diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 3ef3894..5b3e38d 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -293,10 +293,10 @@ BOOL gLogoutInProgress = FALSE; // Internal globals... that should be removed. static std::string gArgs; -const std::string MARKER_FILE_NAME("SecondLife.exec_marker"); -const std::string ERROR_MARKER_FILE_NAME("SecondLife.error_marker"); -const std::string LLERROR_MARKER_FILE_NAME("SecondLife.llerror_marker"); -const std::string LOGOUT_MARKER_FILE_NAME("SecondLife.logout_marker"); +const std::string MARKER_FILE_NAME("Imprudence.exec_marker"); +const std::string ERROR_MARKER_FILE_NAME("Imprudence.error_marker"); +const std::string LLERROR_MARKER_FILE_NAME("Imprudence.llerror_marker"); +const std::string LOGOUT_MARKER_FILE_NAME("Imprudence.logout_marker"); static BOOL gDoDisconnect = FALSE; static std::string gLaunchFileOnQuit; @@ -1468,15 +1468,15 @@ bool LLAppViewer::initLogging() // Remove the last ".old" log file. std::string old_log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, - "SecondLife.old"); + "Imprudence.old"); LLFile::remove(old_log_file); // Rename current log file to ".old" std::string log_file = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, - "SecondLife.log"); + "Imprudence.log"); LLFile::rename(log_file, old_log_file); - // Set the log file to SecondLife.log + // Set the log file to Imprudence.log LLError::logToFile(log_file); @@ -1658,7 +1658,7 @@ bool LLAppViewer::initConfiguration() llinfos << "Command line usage:\n" << clp << llendl; std::ostringstream msg; - msg << "Second Life found an error parsing the command line. \n" + msg << gSecondLife << " found an error parsing the command line. \n" << "Please see: http://wiki.secondlife.com/wiki/Client_parameters \n" << "Error: " << clp.getErrorMessage(); @@ -2654,7 +2654,7 @@ bool LLAppViewer::initCache() std::string cache_dir = gDirUtilp->getOSUserAppDir(); std::string new_cache_dir = gDirUtilp->getOSCacheDir(); cache_dir = cache_dir + "/cache"; - new_cache_dir = new_cache_dir + "/" + gSecondLife; + new_cache_dir = new_cache_dir + "/" + "SecondLife"; if (gDirUtilp->fileExists(cache_dir)) { gDirUtilp->setCacheDir(cache_dir); @@ -2947,7 +2947,7 @@ void LLAppViewer::badNetworkHandler() message << "The viewer has detected mangled network data indicative\n" "of a bad upstream network connection or an incomplete\n" - "local installation of " << LLAppViewer::instance()->getSecondLifeTitle() << ". \n" + "local installation of " << gSecondLife << ". \n" " \n" "Try uninstalling and reinstalling to see if this resolves \n" "the issue. \n" diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index fe894a7..2533e6a 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py @@ -139,9 +139,9 @@ class WindowsManifest(ViewerManifest): def final_exe(self): if self.default_channel(): if self.default_grid(): - return "SecondLife.exe" + return "Imprudence.exe" else: - return "SecondLifePreview.exe" + return "ImprudencePreview.exe" else: return ''.join(self.channel().split()) + '.exe' @@ -150,7 +150,7 @@ class WindowsManifest(ViewerManifest): super(WindowsManifest, self).construct() # the final exe is complicated because we're not sure where it's coming from, # nor do we have a fixed name for the executable - self.path(self.find_existing_file('debug/secondlife-bin.exe', 'release/secondlife-bin.exe', 'relwithdebinfo/secondlife-bin.exe'), dst=self.final_exe()) + self.path(self.find_existing_file('debug/imprudence-bin.exe', 'release/imprudence-bin.exe', 'relwithdebinfo/imprudence-bin.exe'), dst=self.final_exe()) # need to get the kdu dll from any of the build directories as well self.path(self.find_existing_file( # *FIX:Mani we need to add support for packaging specific targets. @@ -299,36 +299,36 @@ class WindowsManifest(ViewerManifest): if self.default_channel(): if self.default_grid(): # release viewer - installer_file = "Second_Life_%(version_dashes)s_Setup.exe" + installer_file = "Imprudence_%(version_dashes)s_Setup.exe" grid_vars_template = """ OutFile "%(installer_file)s" !define INSTFLAGS "%(flags)s" - !define INSTNAME "SecondLife" - !define SHORTCUT "Second Life" - !define URLNAME "secondlife" - Caption "Second Life ${VERSION}" + !define INSTNAME "Imprudence" + !define SHORTCUT "Imprudence" + !define URLNAME "imprudence" + Caption "Imprudence ${VERSION}" """ else: # beta grid viewer - installer_file = "Second_Life_%(version_dashes)s_(%(grid_caps)s)_Setup.exe" + installer_file = "Imprudence_%(version_dashes)s_(%(grid_caps)s)_Setup.exe" grid_vars_template = """ OutFile "%(installer_file)s" !define INSTFLAGS "%(flags)s" - !define INSTNAME "SecondLife%(grid_caps)s" - !define SHORTCUT "Second Life (%(grid_caps)s)" - !define URLNAME "secondlife%(grid)s" + !define INSTNAME "Imprudence%(grid_caps)s" + !define SHORTCUT "Imprudence (%(grid_caps)s)" + !define URLNAME "imprudence%(grid)s" !define UNINSTALL_SETTINGS 1 - Caption "Second Life %(grid)s ${VERSION}" + Caption "Imprudence %(grid)s ${VERSION}" """ else: # some other channel on some grid - installer_file = "Second_Life_%(version_dashes)s_%(channel_oneword)s_Setup.exe" + installer_file = "Imprudence_%(version_dashes)s_%(channel_oneword)s_Setup.exe" grid_vars_template = """ OutFile "%(installer_file)s" !define INSTFLAGS "%(flags)s" - !define INSTNAME "SecondLife%(channel_oneword)s" + !define INSTNAME "Imprudence%(channel_oneword)s" !define SHORTCUT "%(channel)s" - !define URLNAME "secondlife" + !define URLNAME "imprudence" !define UNINSTALL_SETTINGS 1 Caption "%(channel)s ${VERSION}" """ @@ -338,7 +338,7 @@ class WindowsManifest(ViewerManifest): installer_file = installer_file % substitution_strings substitution_strings['installer_file'] = installer_file - tempfile = "secondlife_setup_tmp.nsi" + tempfile = "imprudence_setup_tmp.nsi" # the following replaces strings in the nsi template # it also does python-style % substitution self.replace_in("installers/windows/installer_template.nsi", tempfile, { @@ -358,7 +358,7 @@ class WindowsManifest(ViewerManifest): class DarwinManifest(ViewerManifest): def construct(self): # copy over the build result (this is a no-op if run within the xcode script) - self.path(self.args['configuration'] + "/Second Life.app", dst="") + self.path(self.args['configuration'] + "/Imprudence.app", dst="") if self.prefix(src="", dst="Contents"): # everything goes in Contents # Expand the tar file containing the assorted mozilla bits into @@ -437,16 +437,16 @@ class DarwinManifest(ViewerManifest): def package_finish(self): - channel_standin = 'Second Life' # hah, our default channel is not usable on its own + channel_standin = 'Imprudence' # hah, our default channel is not usable on its own if not self.default_channel(): channel_standin = self.channel() - imagename="SecondLife_" + '_'.join(self.args['version']) + imagename="Imprudence_" + '_'.join(self.args['version']) # MBW -- If the mounted volume name changes, it breaks the .DS_Store's background image and icon positioning. # If we really need differently named volumes, we'll need to create multiple DS_Store file images, or use some other trick. - volname="Second Life Installer" # DO NOT CHANGE without understanding comment above + volname="Imprudence Installer" # DO NOT CHANGE without understanding comment above if self.default_channel(): if not self.default_grid(): @@ -473,7 +473,7 @@ class DarwinManifest(ViewerManifest): # Copy everything in to the mounted .dmg if self.default_channel() and not self.default_grid(): - app_name = "Second Life " + self.args['grid'] + app_name = "Imprudence " + self.args['grid'] else: app_name = channel_standin.strip() @@ -533,7 +533,7 @@ class LinuxManifest(ViewerManifest): if self.prefix("linux_tools", dst=""): self.path("client-readme.txt","README-linux.txt") self.path("client-readme-voice.txt","README-linux-voice.txt") - self.path("wrapper.sh","secondlife") + self.path("wrapper.sh","imprudence") self.path("handle_secondlifeprotocol.sh") self.path("register_secondlifeprotocol.sh") self.end_prefix("linux_tools") @@ -553,7 +553,7 @@ class LinuxManifest(ViewerManifest): if 'installer_name' in self.args: installer_name = self.args['installer_name'] else: - installer_name_components = ['SecondLife_', self.args.get('arch')] + installer_name_components = ['Imprudence_', self.args.get('arch')] installer_name_components.extend(self.args['version']) installer_name = "_".join(installer_name_components) if self.default_channel(): @@ -598,7 +598,7 @@ class LinuxManifest(ViewerManifest): class Linux_i686Manifest(LinuxManifest): def construct(self): super(Linux_i686Manifest, self).construct() - self.path("secondlife-stripped","bin/do-not-directly-run-secondlife-bin") + self.path("imprudence-stripped","bin/do-not-directly-run-imprudence-bin") # self.path("../linux_crash_logger/linux-crash-logger-stripped","linux-crash-logger.bin") self.path("linux_tools/launch_url.sh","launch_url.sh") if self.prefix("res-sdl"): @@ -643,7 +643,7 @@ class Linux_i686Manifest(LinuxManifest): class Linux_x86_64Manifest(LinuxManifest): def construct(self): super(Linux_x86_64Manifest, self).construct() - self.path("secondlife-stripped","bin/do-not-directly-run-secondlife-bin") + self.path("imprudence-stripped","bin/do-not-directly-run-imprudence-bin") # self.path("../linux_crash_logger/linux-crash-logger-stripped","linux-crash-logger.bin") self.path("linux_tools/launch_url.sh","launch_url.sh") if self.prefix("res-sdl"): -- cgit v1.1 From d9efc718418e6b16cd390aaaeea9cc82cdf151c4 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Tue, 14 Oct 2008 20:04:32 -0500 Subject: Rebranded Linux-specific installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. --- ChangeLog.txt | 11 +++++++++++ linden/indra/cmake/UnixInstall.cmake | 4 ++-- linden/indra/linux_crash_logger/llcrashloggerlinux.cpp | 6 +++--- .../indra/newview/linux_tools/handle_secondlifeprotocol.sh | 2 +- linden/indra/newview/linux_tools/wrapper.sh | 14 +++----------- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 8cf8b07..04a6fad 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,16 @@ 2008-10-14 Jacek Antonelli + * linden/indra/cmake/UnixInstall.cmake: + Rebranded Linux-specific installer/support files. + Replaced instances of "Second Life" with "Imprudence", etc. + * linden/indra/linux_crash_logger/llcrashloggerlinux.cpp: + Ditto. + * linden/indra/newview/linux_tools/handle_secondlifeprotocol.sh: + Ditto. + * linden/indra/newview/linux_tools/wrapper.sh: + Ditto. + + * linden/indra/CMakeLists.txt: Rebranded platform-independent/shared installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. diff --git a/linden/indra/cmake/UnixInstall.cmake b/linden/indra/cmake/UnixInstall.cmake index 139be0a..0234dee 100644 --- a/linden/indra/cmake/UnixInstall.cmake +++ b/linden/indra/cmake/UnixInstall.cmake @@ -21,11 +21,11 @@ if (INSTALL) set(INSTALL_SHARE_DIR ${INSTALL_PREFIX}/share CACHE PATH "Installation directory for read-only shared files.") - set(APP_BINARY_DIR ${INSTALL_LIBRARY_DIR}/secondlife-${viewer_VERSION} + set(APP_BINARY_DIR ${INSTALL_LIBRARY_DIR}/imprudence-${viewer_VERSION} CACHE PATH "Installation directory for binaries.") - set(APP_SHARE_DIR ${INSTALL_SHARE_DIR}/secondlife-${viewer_VERSION} + set(APP_SHARE_DIR ${INSTALL_SHARE_DIR}/imprudence-${viewer_VERSION} CACHE PATH "Installation directory for read-only data files.") endif (INSTALL) diff --git a/linden/indra/linux_crash_logger/llcrashloggerlinux.cpp b/linden/indra/linux_crash_logger/llcrashloggerlinux.cpp index aa2b82c..6ac9831 100644 --- a/linden/indra/linux_crash_logger/llcrashloggerlinux.cpp +++ b/linden/indra/linux_crash_logger/llcrashloggerlinux.cpp @@ -53,13 +53,13 @@ // These need to be localized. static const char dialog_text[] = -"Second Life appears to have crashed or frozen last time it ran.\n" -"This crash reporter collects information about your computer's hardware, operating system, and some Second Life logs, all of which are used for debugging purposes only.\n" +"Imprudence appears to have crashed or frozen last time it ran.\n" +"This crash reporter collects information about your computer's hardware, operating system, and some Imprudence logs, all of which are used for debugging purposes only.\n" "\n" "Send crash report?"; static const char dialog_title[] = -"Second Life Crash Logger"; +"Imprudence Crash Logger"; #if LL_GTK static void response_callback (GtkDialog *dialog, diff --git a/linden/indra/newview/linux_tools/handle_secondlifeprotocol.sh b/linden/indra/newview/linux_tools/handle_secondlifeprotocol.sh index 7ff86d1..3613070 100755 --- a/linden/indra/newview/linux_tools/handle_secondlifeprotocol.sh +++ b/linden/indra/newview/linux_tools/handle_secondlifeprotocol.sh @@ -13,5 +13,5 @@ fi RUN_PATH=`dirname "$0" || echo .` cd "${RUN_PATH}" -exec ./secondlife -url \'"${URL}"\' +exec ./imprudence -url \'"${URL}"\' diff --git a/linden/indra/newview/linux_tools/wrapper.sh b/linden/indra/newview/linux_tools/wrapper.sh index 9d2e06b..e1c68b9 100755 --- a/linden/indra/newview/linux_tools/wrapper.sh +++ b/linden/indra/newview/linux_tools/wrapper.sh @@ -103,7 +103,7 @@ if [ -n "$LL_TCMALLOC" ]; then fi export SL_ENV='LD_LIBRARY_PATH="`pwd`"/lib:"`pwd`"/app_settings/mozilla-runtime-linux-i686:"${LD_LIBRARY_PATH}"' -export SL_CMD='$LL_WRAPPER bin/do-not-directly-run-secondlife-bin' +export SL_CMD='$LL_WRAPPER bin/do-not-directly-run-imprudence-bin' export SL_OPT="`cat gridargs.dat` $@" # Run the program @@ -118,9 +118,9 @@ if [ -n "$LL_RUN_ERR" ]; then if [ "`uname -m`" = "x86_64" ]; then echo cat << EOFMARKER -You are running the Second Life Viewer on a x86_64 platform. The +You are running the Imprudence Viewer on a x86_64 platform. The most common problems when launching the Viewer (particularly -'bin/do-not-directly-run-secondlife-bin: not found' and 'error while +'bin/do-not-directly-run-imprudence-bin: not found' and 'error while loading shared libraries') may be solved by installing your Linux distribution's 32-bit compatibility packages. For example, on Ubuntu and other Debian-based Linuxes you might run: @@ -129,11 +129,3 @@ EOFMARKER fi fi fi - - -echo -echo '*******************************************************' -echo 'This is a BETA release of the Second Life linux client.' -echo 'Thank you for testing!' -echo 'Please see README-linux.txt before reporting problems.' -echo -- cgit v1.1 From e9d939e0e612f8c6b6c435eb99a6803207e081b2 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Tue, 14 Oct 2008 19:55:17 -0500 Subject: Rebranded Mac-specific installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. --- ChangeLog.txt | 11 + linden/indra/mac_updater/mac_updater.cpp | 10 +- .../indra/newview/English.lproj/InfoPlist.strings | 12 +- linden/indra/newview/Info-SecondLife.plist | 78 ++-- linden/indra/newview/SecondLife.nib/objects.xib | 518 ++++++++++----------- 5 files changed, 320 insertions(+), 309 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 04a6fad..c766533 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,16 @@ 2008-10-14 Jacek Antonelli + * linden/indra/mac_updater/mac_updater.cpp: + Rebranded Mac-specific installer/support files. + Replaced instances of "Second Life" with "Imprudence", etc. + * linden/indra/newview/English.lproj/InfoPlist.strings: + Ditto. + * linden/indra/newview/Info-SecondLife.plist: + Ditto. + * linden/indra/newview/SecondLife.nib/objects.xib: + Ditto. + + * linden/indra/cmake/UnixInstall.cmake: Rebranded Linux-specific installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. diff --git a/linden/indra/mac_updater/mac_updater.cpp b/linden/indra/mac_updater/mac_updater.cpp index c2f9f4d..7bffff5 100644 --- a/linden/indra/mac_updater/mac_updater.cpp +++ b/linden/indra/mac_updater/mac_updater.cpp @@ -378,7 +378,7 @@ int main(int argc, char **argv) } else { - gProductName = "Second Life"; + gProductName = "Imprudence"; } } @@ -471,7 +471,7 @@ int main(int argc, char **argv) err = CreateStandardAlert( kAlertStopAlert, CFSTR("Error"), - CFSTR("An error occurred while updating Second Life. Please download the latest version from www.secondlife.com."), + CFSTR("An error occurred while updating Imprudence. Please download the latest version from http://imprudenceviewer.org/download/"), ¶ms, &alert); @@ -934,7 +934,7 @@ void *updatethreadproc(void*) #endif // 0 *HACK for DEV-11935 - strncat(temp, "/SecondLifeUpdate_XXXXXX", (sizeof(temp) - strlen(temp)) - 1); + strncat(temp, "/ImprudenceUpdate_XXXXXX", (sizeof(temp) - strlen(temp)) - 1); if(mkdtemp(temp) == NULL) { throw 0; @@ -952,7 +952,7 @@ void *updatethreadproc(void*) chdir(tempDir); - snprintf(temp, sizeof(temp), "SecondLife.dmg"); + snprintf(temp, sizeof(temp), "Imprudence.dmg"); downloadFile = LLFile::fopen(temp, "wb"); /* Flawfinder: ignore */ if(downloadFile == NULL) @@ -999,7 +999,7 @@ void *updatethreadproc(void*) // NOTE: we could add -private at the end of this command line to keep the image from showing up in the Finder, // but if our cleanup fails, this makes it much harder for the user to unmount the image. std::string mountOutput; - FILE* mounter = popen("hdiutil attach SecondLife.dmg -mountpoint mnt", "r"); /* Flawfinder: ignore */ + FILE* mounter = popen("hdiutil attach Imprudence.dmg -mountpoint mnt", "r"); /* Flawfinder: ignore */ if(mounter == NULL) { diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings index 881483e..784a1b7 100644 --- a/linden/indra/newview/English.lproj/InfoPlist.strings +++ b/linden/indra/newview/English.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* Localized versions of Info.plist keys */ - -CFBundleName = "Second Life"; -CFBundleShortVersionString = "Second Life version 1.20.9.87416"; -CFBundleGetInfoString = "Second Life version 1.20.9.87416, Copyright 2004-2008 Linden Research, Inc."; - +/* Localized versions of Info.plist keys */ + +CFBundleName = "Imprudence"; +CFBundleShortVersionString = "Imprudence version 1.0.0"; +CFBundleGetInfoString = "Imprudence version 1.0.0, Copyright 2004-2008 Linden Research, Inc."; + diff --git a/linden/indra/newview/Info-SecondLife.plist b/linden/indra/newview/Info-SecondLife.plist index b889d45..32bba70 100644 --- a/linden/indra/newview/Info-SecondLife.plist +++ b/linden/indra/newview/Info-SecondLife.plist @@ -1,39 +1,39 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - Second Life - CFBundleIconFile - secondlife.icns - CFBundleIdentifier - com.secondlife.indra.viewer - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Second Life - CFBundlePackageType - APPL - CFBundleSignature - ???? - CFBundleURLTypes - - - CFBundleURLName - Second Life URL - CFBundleURLSchemes - - secondlife - - LSIsAppleDefaultForScheme - - - - CFBundleVersion - 1.20.9.87416 - CSResourcesFileMapped - - - + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Imprudence + CFBundleIconFile + secondlife.icns + CFBundleIdentifier + com.secondlife.indra.viewer + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Imprudence + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleURLTypes + + + CFBundleURLName + Second Life URL + CFBundleURLSchemes + + secondlife + + LSIsAppleDefaultForScheme + + + + CFBundleVersion + 1.0.0 + CSResourcesFileMapped + + + diff --git a/linden/indra/newview/SecondLife.nib/objects.xib b/linden/indra/newview/SecondLife.nib/objects.xib index b7ff30f..07af643 100644 --- a/linden/indra/newview/SecondLife.nib/objects.xib +++ b/linden/indra/newview/SecondLife.nib/objects.xib @@ -1,259 +1,259 @@ - - - IBCarbonFramework - - NSApplication - - - - SecondLife - - - Second Life - - Second Life - - - TRUE - TRUE - About Second Life - 0 - abou - - - _NSAppleMenu - - - - File - - File - - - - Edit - - Edit - - - TRUE - Undo - z - undo - - - TRUE - Redo - Z - redo - - - TRUE - - - TRUE - Cut - x - cut - - - TRUE - Copy - c - copy - - - TRUE - Paste - v - past - - - TRUE - Delete - clea - - - TRUE - Select All - a - sall - - - TRUE - - - TRUE - Special Characters… - chrp - - - - - - Window - - Window - - - TRUE - TRUE - Minimize Window - m - mini - - - TRUE - TRUE - Minimize All Windows - m - 1572864 - mina - - - TRUE - Zoom - zoom - - - TRUE - - - TRUE - TRUE - Bring All to Front - bfrt - - - TRUE - TRUE - Arrange in Front - 1572864 - frnt - - - _NSWindowsMenu - - - - _NSMainMenu - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 482 694 - 0 0 694 482 - - - 442 604 462 674 - 604 442 70 20 - OK - ok - - 2 - 2 - - 1 - - - 20 20 422 674 - 20 20 654 402 - - - 20 20 422 659 - 0 0 639 402 - text - 5 - TRUE - - - FALSE - - - - - 84 72 566 766 - Release Notes - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - TRUE - 4 - 1 - FALSE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Files Owner - - MenuBar - - Release Notes - - - 202 - + + + IBCarbonFramework + + NSApplication + + + + Imprudence + + + Imprudence + + Imprudence + + + TRUE + TRUE + About Imprudence + 0 + abou + + + _NSAppleMenu + + + + File + + File + + + + Edit + + Edit + + + TRUE + Undo + z + undo + + + TRUE + Redo + Z + redo + + + TRUE + + + TRUE + Cut + x + cut + + + TRUE + Copy + c + copy + + + TRUE + Paste + v + past + + + TRUE + Delete + clea + + + TRUE + Select All + a + sall + + + TRUE + + + TRUE + Special Characters… + chrp + + + + + + Window + + Window + + + TRUE + TRUE + Minimize Window + m + mini + + + TRUE + TRUE + Minimize All Windows + m + 1572864 + mina + + + TRUE + Zoom + zoom + + + TRUE + + + TRUE + TRUE + Bring All to Front + bfrt + + + TRUE + TRUE + Arrange in Front + 1572864 + frnt + + + _NSWindowsMenu + + + + _NSMainMenu + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 0 482 694 + 0 0 694 482 + + + 442 604 462 674 + 604 442 70 20 + OK + ok + + 2 + 2 + + 1 + + + 20 20 422 674 + 20 20 654 402 + + + 20 20 422 659 + 0 0 639 402 + text + 5 + TRUE + + + FALSE + + + + + 84 72 566 766 + Release Notes + + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + TRUE + 4 + 1 + FALSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Files Owner + + MenuBar + + Release Notes + + + 202 + -- cgit v1.1 From 89c04d80c842c3ea04b3b6b504938cf60c2f9d65 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Tue, 14 Oct 2008 19:46:56 -0500 Subject: Rebranded Windows-specific installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. --- ChangeLog.txt | 19 + linden/indra/copy_win_scripts/start-client.py | 2 +- .../installers/windows/installer_template.nsi | 1968 ++++++++++---------- .../indra/newview/installers/windows/lang_de.nsi | 114 +- .../newview/installers/windows/lang_en-us.nsi | 104 +- .../indra/newview/installers/windows/lang_ja.nsi | 114 +- .../indra/newview/installers/windows/lang_ko.nsi | 114 +- linden/indra/newview/res/viewerRes.rc | 576 +++--- linden/indra/win_updater/updater.cpp | 10 +- 9 files changed, 1520 insertions(+), 1501 deletions(-) mode change 100644 => 100755 linden/indra/copy_win_scripts/start-client.py diff --git a/ChangeLog.txt b/ChangeLog.txt index c766533..ff648bf 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,24 @@ 2008-10-14 Jacek Antonelli + * linden/indra/newview/installers/windows/installer_template.nsi: + Rebranded Windows-specific installer/support files. + Replaced instances of "Second Life" with "Imprudence", etc. + * linden/indra/newview/installers/windows/lang_de.nsi: + Ditto. + * linden/indra/newview/installers/windows/lang_en-us.nsi: + Ditto. + * linden/indra/newview/installers/windows/lang_ja.nsi: + Ditto. + * linden/indra/newview/installers/windows/lang_ko.nsi: + Ditto. + * linden/indra/newview/res/viewerRes.rc: + Ditto. + * linden/indra/copy_win_scripts/start-client.py: + Ditto. + * linden/indra/win_updater/updater.cpp: + Ditto. + + * linden/indra/mac_updater/mac_updater.cpp: Rebranded Mac-specific installer/support files. Replaced instances of "Second Life" with "Imprudence", etc. diff --git a/linden/indra/copy_win_scripts/start-client.py b/linden/indra/copy_win_scripts/start-client.py old mode 100644 new mode 100755 index 5f7ff2f..ea2b67a --- a/linden/indra/copy_win_scripts/start-client.py +++ b/linden/indra/copy_win_scripts/start-client.py @@ -32,7 +32,7 @@ def start_client(grid, slurl, build_config, my_args): f = open("start-client.log", "w") print >>f, "Viewer startup arguments:" llstart.start("viewer", "../../newview", - "%s/newview/%s/secondlife-bin.exe" % (build_path, build_config), + "%s/newview/%s/imprudence-bin.exe" % (build_path, build_config), viewer_args, f) f.close() diff --git a/linden/indra/newview/installers/windows/installer_template.nsi b/linden/indra/newview/installers/windows/installer_template.nsi index ec4fd85..9da45dc 100644 --- a/linden/indra/newview/installers/windows/installer_template.nsi +++ b/linden/indra/newview/installers/windows/installer_template.nsi @@ -1,984 +1,984 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; secondlife setup.nsi -;; Copyright 2004-2007, Linden Research, Inc. -;; For info, see http://www.nullsoft.com/free/nsis/ -;; -;; NSIS 2.22 or higher required -;; Author: James Cook, Don Kjer, Callum Prentice -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Detect NSIS compiler version -!define "NSIS${NSIS_VERSION}" -!ifdef "NSISv2.02" | "NSISv2.03" | "NSISv2.04" | "NSISv2.05" | "NSISv2.06" - ;; before 2.07 defaulted lzma to solid (whole file) - SetCompressor lzma -!else - ;; after 2.07 required /solid for whole file compression - SetCompressor /solid lzma -!endif - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Compiler flags -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SetOverwrite on ; overwrite files -SetCompress auto ; compress iff saves space -SetDatablockOptimize off ; only saves us 0.1%, not worth it -XPStyle on ; add an XP manifest to the installer - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Project flags -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -%%VERSION%% - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; - language files - one for each language (or flavor thereof) -;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the -;; application directory so we have to add a path to these include files) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -!include "%%SOURCE%%\installers\windows\lang_de.nsi" -!include "%%SOURCE%%\installers\windows\lang_en-us.nsi" -!include "%%SOURCE%%\installers\windows\lang_ja.nsi" -!include "%%SOURCE%%\installers\windows\lang_ko.nsi" - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Tweak for different servers/builds (this placeholder is replaced by viewer_manifest.py) -%%GRID_VARS%% - -Name ${INSTNAME} - -SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text - -BrandingText " " ; bottom of window text -Icon %%SOURCE%%\res\install_icon.ico ; our custom icon -UninstallIcon %%SOURCE%%\res\uninstall_icon.ico ; our custom icon -WindowIcon on ; show our icon in left corner -BGGradient off ; no big background window -CRCCheck on ; make sure CRC is OK -InstProgressFlags smooth colored ; new colored smooth look -ShowInstDetails nevershow ; no details, no "show" button -SetOverwrite on ; stomp files by default -AutoCloseWindow true ; after all files install, close window - -InstallDir "$PROGRAMFILES\${INSTNAME}" -InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "" -!ifdef UPDATE -DirText $(DirectoryChooseTitle) $(DirectoryChooseUpdate) -!else -DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup) -!endif - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Variables -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Var INSTPROG -Var INSTEXE -Var INSTFLAGS -Var LANGFLAGS -Var INSTSHORTCUT - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Sections -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Section "" ; (default section) - -SetShellVarContext all ; install for all users (if you change this, change it in the uninstall as well) - -; Start with some default values. -StrCpy $INSTFLAGS "${INSTFLAGS}" -StrCpy $INSTPROG "${INSTNAME}" -StrCpy $INSTEXE "${INSTEXE}" -StrCpy $INSTSHORTCUT "${SHORTCUT}" - -IfSilent +2 -Goto NOT_SILENT - Call CheckStartupParams ; Figure out where, what and how to install. -NOT_SILENT: -Call CheckWindowsVersion ; warn if on Windows 98/ME -Call CheckIfAdministrator ; Make sure the user can install/uninstall -Call CheckIfAlreadyCurrent ; Make sure that we haven't already installed this version -Call CloseSecondLife ; Make sure we're not running -Call RemoveNSIS ; Check for old NSIS install to remove - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Don't remove cache files during a regular install, removing the inventory cache on upgrades results in lots of damage to the servers. -;Call RemoveCacheFiles ; Installing over removes potentially corrupted - ; VFS and cache files. - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Need to clean out shader files from previous installs to fix DEV-5663 -Call RemoveOldShaders - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Need to clean out old XUI files that predate skinning -Call RemoveOldXUI - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Clear out old releasenotes.txt files. These are now on the public wiki. -Call RemoveOldReleaseNotes - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Files -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py -%%INSTALL_FILES%% - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; If this is a silent update, we don't need to re-create these shortcuts or registry entries. -IfSilent POST_INSTALL - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Shortcuts in start menu -CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT" -SetOutPath "$INSTDIR" -CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \ - "$INSTDIR\$INSTEXE" "$INSTFLAGS" - -!ifdef MUSEUM -CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum.lnk" \ - - "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple" -CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum Spanish.lnk" \ - - "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish" -!endif - -WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Trial Account.url" \ - "InternetShortcut" "URL" \ - "http://www.secondlife.com/registration/" -WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \ - "InternetShortcut" "URL" \ - "http://www.secondlife.com/account/" -CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\SL Scripting Language Help.lnk" \ - "$INSTDIR\lsl_guide.html" -CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \ - '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Other shortcuts -SetOutPath "$INSTDIR" -CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" -CreateShortCut "$INSTDIR\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" -CreateShortCut "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" \ - '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' - -!ifdef MUSEUM -CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple" - -CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish" - -CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple" - -CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish" - -!endif - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Write registry -WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR" -WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}" -WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" "$INSTFLAGS" -WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" "$INSTSHORTCUT" -WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" "$INSTEXE" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG (remove only)" -WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe" /P="$INSTPROG"' - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Write URL registry info -WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life" -WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" "" -WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$INSTEXE"' -WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$INSTEXE" $INSTFLAGS -url "%1"' - -Goto WRITE_UNINST - -POST_INSTALL: -; Run a post-executable script if necessary. -Call PostInstallExe - -WRITE_UNINST: -; write out uninstaller -WriteUninstaller "$INSTDIR\uninst.exe" - -; end of default section -SectionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; PostInstallExe -; This just runs any post installation scripts. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function PostInstallExe -push $0 - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "PostInstallExe" - ;MessageBox MB_OK '$0' - ExecWait '$0' -pop $0 -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; CheckStartupParameters -; Sets INSTFLAGS, INSTPROG, and INSTEXE. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function CheckStartupParams -push $0 -push $R0 - - ; Look for a registry entry with info about where to update. - Call GetProgramName - pop $R0 - StrCpy $INSTPROG "$R0" - StrCpy $INSTEXE "$R0.exe" - - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" - ; If key doesn't exist, skip install - IfErrors ABORT - StrCpy $INSTDIR "$0" - - ; We now have a directory to install to. Get the startup parameters and shortcut as well. - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" - IfErrors +2 - StrCpy $INSTFLAGS "$0" - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" - IfErrors +2 - StrCpy $INSTSHORTCUT "$0" - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" - IfErrors +2 - StrCpy $INSTEXE "$0" - Goto FINISHED - -ABORT: - MessageBox MB_OK $(CheckStartupParamsMB) - Quit - -FINISHED: - ;MessageBox MB_OK "INSTPROG: $INSTPROG, INSTEXE: $INSTEXE, INSTFLAGS: $INSTFLAGS" -pop $R0 -pop $0 -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function un.CheckStartupParams -push $0 -push $R0 - - ; Look for a registry entry with info about where to update. - Call un.GetProgramName - pop $R0 - StrCpy $INSTPROG "$R0" - StrCpy $INSTEXE "$R0.exe" - - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" - ; If key doesn't exist, skip install - IfErrors ABORT - StrCpy $INSTDIR "$0" - - ; We now have a directory to install to. Get the startup parameters and shortcut as well. - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" - IfErrors +2 - StrCpy $INSTFLAGS "$0" - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" - IfErrors +2 - StrCpy $INSTSHORTCUT "$0" - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" - IfErrors +2 - StrCpy $INSTEXE "$0" - Goto FINISHED - -ABORT: - MessageBox MB_OK $(CheckStartupParamsMB) - Quit - -FINISHED: - ;MessageBox MB_OK "INSTPROG: $INSTPROG, INSTEXE: $INSTEXE, INSTFLAGS: $INSTFLAGS" -pop $R0 -pop $0 -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; After install completes, offer readme file -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function .onInstSuccess - MessageBox MB_YESNO \ - $(InstSuccesssQuestion) /SD IDYES IDNO NoReadme - ; Assumes SetOutPath $INSTDIR - Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS' - NoReadme: -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Remove old NSIS version. Modifies no variables. -; Does NOT delete the LindenWorld directory, or any -; user files in that directory. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function RemoveNSIS - Push $0 - ; Grab the installation directory of the old version - DetailPrint $(RemoveOldNSISVersion) - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" - - ; If key doesn't exist, skip uninstall - IfErrors NO_NSIS - - ; Clean up legacy beta shortcuts - Delete "$SMPROGRAMS\Second Life Beta.lnk" - Delete "$DESKTOP\Second Life Beta.lnk" - Delete "$SMPROGRAMS\Second Life.lnk" - - ; Clean up old newview.exe file - Delete "$INSTDIR\newview.exe" - - ; Intentionally don't delete the stuff in - ; Documents and Settings, so we keep the user's settings - - NO_NSIS: - Pop $0 -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Make sure we're not on Windows 98 / ME -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function CheckWindowsVersion - DetailPrint "Checking Windows version..." - Call GetWindowsVersion - Pop $R0 - ; Just get first two characters, ignore 4.0 part of "NT 4.0" - StrCpy $R0 $R0 2 - ; Blacklist certain OS versions - StrCmp $R0 "95" win_ver_bad - StrCmp $R0 "98" win_ver_bad - StrCmp $R0 "ME" win_ver_bad - StrCmp $R0 "NT" win_ver_bad - Return -win_ver_bad: - MessageBox MB_YESNO $(CheckWindowsVersionMB) IDNO win_ver_abort - Return -win_ver_abort: - Quit -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Make sure the user can install/uninstall -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function CheckIfAdministrator - DetailPrint $(CheckAdministratorInstDP) - UserInfo::GetAccountType - Pop $R0 - StrCmp $R0 "Admin" is_admin - MessageBox MB_OK $(CheckAdministratorInstMB) - Quit -is_admin: - Return -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function un.CheckIfAdministrator - DetailPrint $(CheckAdministratorUnInstDP) - UserInfo::GetAccountType - Pop $R0 - StrCmp $R0 "Admin" is_admin - MessageBox MB_OK $(CheckAdministratorUnInstMB) - Quit -is_admin: - Return -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Checks to see if the current version has already been installed (according to the registry). -; If it has, allow user to bail out of install process. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function CheckIfAlreadyCurrent - Push $0 - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" - StrCmp $0 ${VERSION_LONG} 0 DONE - MessageBox MB_OKCANCEL $(CheckIfCurrentMB) /SD IDOK IDOK DONE - Quit - - DONE: - Pop $0 - Return -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Close the program, if running. Modifies no variables. -; Allows user to bail out of install process. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function CloseSecondLife - Push $0 - FindWindow $0 "Second Life" "" - IntCmp $0 0 DONE - MessageBox MB_OKCANCEL $(CloseSecondLifeInstMB) IDOK CLOSE IDCANCEL CANCEL_INSTALL - - CANCEL_INSTALL: - Quit - - CLOSE: - DetailPrint $(CloseSecondLifeInstDP) - SendMessage $0 16 0 0 - - LOOP: - FindWindow $0 "Second Life" "" - IntCmp $0 0 DONE - Sleep 500 - Goto LOOP - - DONE: - Pop $0 - Return -FunctionEnd - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Delete files in Documents and Settings\\SecondLife\cache -; Delete files in Documents and Settings\All Users\SecondLife\cache -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;Function RemoveCacheFiles -; -;; Delete files in Documents and Settings\\SecondLife -;Push $0 -;Push $1 -;Push $2 -; DetailPrint $(RemoveCacheFilesDP) -; -; StrCpy $0 0 ; Index number used to iterate via EnumRegKey -; -; LOOP: -; EnumRegKey $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $0 -; StrCmp $1 "" DONE ; no more users -; -; ReadRegStr $2 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$1" "ProfileImagePath" -; StrCmp $2 "" CONTINUE 0 ; "ProfileImagePath" value is missing -; -; ; Required since ProfileImagePath is of type REG_EXPAND_SZ -; ExpandEnvStrings $2 $2 -; -; ; When explicitly uninstalling, everything goes away -; RMDir /r "$2\Application Data\SecondLife\cache" -; -; CONTINUE: -; IntOp $0 $0 + 1 -; Goto LOOP -; DONE: -;Pop $2 -;Pop $1 -;Pop $0 -; -;; Delete files in Documents and Settings\All Users\SecondLife -;Push $0 -; ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData" -; StrCmp $0 "" +2 -; RMDir /r "$0\SecondLife\cache" -;Pop $0 -; -;; Delete filse in C:\Windows\Application Data\SecondLife -;; If the user is running on a pre-NT system, Application Data lives here instead of -;; in Documents and Settings. -;RMDir /r "$WINDIR\Application Data\SecondLife\cache" -; -;FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Delete the installed shader files -;;; Since shaders are in active development, we'll likely need to shuffle them -;;; around a bit from build to build. This ensures that shaders that we move -;;; or rename in the dev tree don't get left behind in the install. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function RemoveOldShaders - -;; Remove old shader files first so fallbacks will work. see DEV-5663 -RMDir /r "$INSTDIR\app_settings\shaders\*" - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Delete the installed XUI files -;;; We've changed the directory hierarchy for skins, putting all XUI and texture -;;; files under a specific skin directory, i.e. skins/default/xui/en-us as opposed -;;; to skins/xui/en-us. Need to clean up the old path when upgrading -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function RemoveOldXUI - -;; remove old XUI and texture files -RmDir /r "$INSTDIR\skins\html" -RmDir /r "$INSTDIR\skins\xui" -RmDir /r "$INSTDIR\skins\textures" -Delete "$INSTDIR\skins\*.txt" - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Remove any releasenotes files. -;;; We are no longer including release notes with the viewer. This will delete -;;; any that were left behind by an older installer. Delete will not fail if -;;; the files do not exist -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function RemoveOldReleaseNotes - -;; remove releasenotes.txt file from application directory, and the shortcut -;; from the start menu. -Delete "$SMPROGRAMS\$INSTSHORTCUT\SL Release Notes.lnk" -Delete "$INSTDIR\releasenotes.txt" - -FunctionEnd - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Delete files in Documents and Settings\\SecondLife -; Delete files in Documents and Settings\All Users\SecondLife -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function un.DocumentsAndSettingsFolder - -; Delete files in Documents and Settings\\SecondLife -Push $0 -Push $1 -Push $2 - - DetailPrint "Deleting files in Documents and Settings folder" - - StrCpy $0 0 ; Index number used to iterate via EnumRegKey - - LOOP: - EnumRegKey $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $0 - StrCmp $1 "" DONE ; no more users - - ReadRegStr $2 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$1" "ProfileImagePath" - StrCmp $2 "" CONTINUE 0 ; "ProfileImagePath" value is missing - - ; Required since ProfileImagePath is of type REG_EXPAND_SZ - ExpandEnvStrings $2 $2 - - ; If uninstalling a normal install remove everything - ; Otherwise (preview/dmz etc) just remove cache - StrCmp $INSTFLAGS "" RM_ALL RM_CACHE - RM_ALL: - RMDir /r "$2\Application Data\SecondLife" - GoTo CONTINUE - RM_CACHE: - RMDir /r "$2\Application Data\SecondLife\Cache" - Delete "$2\Application Data\SecondLife\user_settings\settings_windlight.xml" - - CONTINUE: - IntOp $0 $0 + 1 - Goto LOOP - DONE: - -Pop $2 -Pop $1 -Pop $0 - -; Delete files in Documents and Settings\All Users\SecondLife -Push $0 - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData" - StrCmp $0 "" +2 - RMDir /r "$0\SecondLife" -Pop $0 - -; Delete filse in C:\Windows\Application Data\SecondLife -; If the user is running on a pre-NT system, Application Data lives here instead of -; in Documents and Settings. -RMDir /r "$WINDIR\Application Data\SecondLife" - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Close the program, if running. Modifies no variables. -; Allows user to bail out of uninstall process. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function un.CloseSecondLife - Push $0 - FindWindow $0 "Second Life" "" - IntCmp $0 0 DONE - MessageBox MB_OKCANCEL $(CloseSecondLifeUnInstMB) IDOK CLOSE IDCANCEL CANCEL_UNINSTALL - - CANCEL_UNINSTALL: - Quit - - CLOSE: - DetailPrint $(CloseSecondLifeUnInstDP) - SendMessage $0 16 0 0 - - LOOP: - FindWindow $0 "Second Life" "" - IntCmp $0 0 DONE - Sleep 500 - Goto LOOP - - DONE: - Pop $0 - Return -FunctionEnd - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; -; Delete the stored password for the current Windows user -; DEV-10821 -- Unauthorised user can gain access to an SL account after a real user has uninstalled -; -Function un.RemovePassword - -DetailPrint "Removing Second Life password" - -SetShellVarContext current -Delete "$APPDATA\SecondLife\user_settings\password.dat" -SetShellVarContext all - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Delete the installed files -;;; This deletes the uninstall executable, but it works -;;; because it is copied to temp directory before running -;;; -;;; Note: You must list all files here, because we only -;;; want to delete our files, not things users left in the -;;; application directories. -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function un.ProgramFiles - -;; Remove mozilla file first so recursive directory deletion doesn't get hung up -Delete "$INSTDIR\app_settings\mozilla\components" - -;; This placeholder is replaced by the complete list of files to uninstall by viewer_manifest.py -%%DELETE_FILES%% - -;; Optional/obsolete files. Delete won't fail if they don't exist. -Delete "$INSTDIR\dronesettings.ini" -Delete "$INSTDIR\message_template.msg" -Delete "$INSTDIR\newview.pdb" -Delete "$INSTDIR\newview.map" -Delete "$INSTDIR\SecondLife.pdb" -Delete "$INSTDIR\SecondLife.map" -Delete "$INSTDIR\comm.dat" -Delete "$INSTDIR\*.glsl" -Delete "$INSTDIR\motions\*.lla" -Delete "$INSTDIR\trial\*.html" -Delete "$INSTDIR\newview.exe" -;; Remove entire help directory -Delete "$INSTDIR\help\Advanced\*" -RMDir "$INSTDIR\help\Advanced" -Delete "$INSTDIR\help\basics\*" -RMDir "$INSTDIR\help\basics" -Delete "$INSTDIR\help\Concepts\*" -RMDir "$INSTDIR\help\Concepts" -Delete "$INSTDIR\help\welcome\*" -RMDir "$INSTDIR\help\welcome" -Delete "$INSTDIR\help\*" -RMDir "$INSTDIR\help" - -Delete "$INSTDIR\uninst.exe" -RMDir "$INSTDIR" - -IfFileExists "$INSTDIR" FOLDERFOUND NOFOLDER - -FOLDERFOUND: - MessageBox MB_YESNO $(DeleteProgramFilesMB) IDNO NOFOLDER - RMDir /r "$INSTDIR" - -NOFOLDER: - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Uninstall settings -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -UninstallText $(UninstallTextMsg) -ShowUninstDetails show - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Uninstall section -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Section Uninstall - -; Start with some default values. -StrCpy $INSTFLAGS "" -StrCpy $INSTPROG "${INSTNAME}" -StrCpy $INSTEXE "${INSTEXE}" -StrCpy $INSTSHORTCUT "${SHORTCUT}" -Call un.CheckStartupParams ; Figure out where, what and how to uninstall. -Call un.CheckIfAdministrator ; Make sure the user can install/uninstall - -; uninstall for all users (if you change this, change it in the install as well) -SetShellVarContext all - -; Make sure we're not running -Call un.CloseSecondLife - -; Clean up registry keys (these should all be !defines somewhere) -DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" -DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" -DeleteRegKey HKEY_LOCAL_MACHINE "Software\Linden Research, Inc.\Installer Language" - -; Clean up shortcuts -Delete "$SMPROGRAMS\$INSTSHORTCUT\*.*" -RMDir "$SMPROGRAMS\$INSTSHORTCUT" - -Delete "$DESKTOP\$INSTSHORTCUT.lnk" -Delete "$INSTDIR\$INSTSHORTCUT.lnk" -Delete "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" - -; Clean up cache and log files. -; Leave them in-place for non AGNI installs. - -!ifdef UNINSTALL_SETTINGS -Call un.DocumentsAndSettingsFolder -!endif - -; remove stored password on uninstall -Call un.RemovePassword - -Call un.ProgramFiles - -SectionEnd ; end of uninstall section - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; (From the NSIS wiki, DK) -; GetParameterValue -; -; Usage: -; !insertmacro GetParameterValue "/L=" "1033" -; pop $R0 -; -; Returns on top of stack -; -; Example command lines: -; foo.exe /S /L=1033 /D=C:\Program Files\Foo -; or: -; foo.exe /S "/L=1033" /D="C:\Program Files\Foo" -; gpv "/L=" "1033" -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - - !macro GetParameterValue SWITCH DEFAULT - Push $0 - Push $1 - Push $2 - Push $3 - Push $4 - - ;$CMDLINE='"My Setup\Setup.exe" /L=1033 /S' - Push "$CMDLINE" - Push '${SWITCH}"' - !insertmacro StrStr - Pop $0 - StrCmp "$0" "" gpv_notquoted - ;$0='/L="1033" /S' - StrLen $2 "$0" - Strlen $1 "${SWITCH}" - IntOp $1 $1 + 1 - StrCpy $0 "$0" $2 $1 - ;$0='1033" /S' - Push "$0" - Push '"' - !insertmacro StrStr - Pop $1 - StrLen $2 "$0" - StrLen $3 "$1" - IntOp $4 $2 - $3 - StrCpy $0 $0 $4 0 - Goto gpv_done - - gpv_notquoted: - Push "$CMDLINE" - Push "${SWITCH}" - !insertmacro StrStr - Pop $0 - StrCmp "$0" "" gpv_done - ;$0='/L="1033" /S' - StrLen $2 "$0" - Strlen $1 "${SWITCH}" - StrCpy $0 "$0" $2 $1 - ;$0=1033 /S' - Push "$0" - Push ' ' - !insertmacro StrStr - Pop $1 - StrLen $2 "$0" - StrLen $3 "$1" - IntOp $4 $2 - $3 - StrCpy $0 $0 $4 0 - Goto gpv_done - - gpv_done: - StrCmp "$0" "" 0 +2 - StrCpy $0 "${DEFAULT}" - - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Exch $0 - !macroend - -; And I had to modify StrStr a tiny bit. -; Possible upgrade switch the goto's to use ${__LINE__} - -!macro STRSTR - Exch $R1 ; st=haystack,old$R1, $R1=needle - Exch ; st=old$R1,haystack - Exch $R2 ; st=old$R1,old$R2, $R2=haystack - Push $R3 - Push $R4 - Push $R5 - StrLen $R3 $R1 - StrCpy $R4 0 - ; $R1=needle - ; $R2=haystack - ; $R3=len(needle) - ; $R4=cnt - ; $R5=tmp - ; loop; - StrCpy $R5 $R2 $R3 $R4 - StrCmp $R5 $R1 +4 - StrCmp $R5 "" +3 - IntOp $R4 $R4 + 1 - Goto -4 - ; done; - StrCpy $R1 $R2 "" $R4 - Pop $R5 - Pop $R4 - Pop $R3 - Pop $R2 - Exch $R1 -!macroend - -Function GetProgramName - !insertmacro GetParameterValue "/P=" "SecondLife" -FunctionEnd - -Function un.GetProgramName - !insertmacro GetParameterValue "/P=" "SecondLife" -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; (From the NSIS documentation, JC) -; GetWindowsVersion -; -; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/ -; Updated by Joost Verburg -; -; Returns on top of stack -; -; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003) -; or -; '' (Unknown Windows Version) -; -; Usage: -; Call GetWindowsVersion -; Pop $R0 -; ; at this point $R0 is "NT 4.0" or whatnot -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function GetWindowsVersion - - Push $R0 - Push $R1 - - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion - - IfErrors 0 lbl_winnt - - ; we are not NT - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber - - StrCpy $R1 $R0 1 - StrCmp $R1 '4' 0 lbl_error - - StrCpy $R1 $R0 3 - - StrCmp $R1 '4.0' lbl_win32_95 - StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 - - lbl_win32_95: - StrCpy $R0 '95' - Goto lbl_done - - lbl_win32_98: - StrCpy $R0 '98' - Goto lbl_done - - lbl_win32_ME: - StrCpy $R0 'ME' - Goto lbl_done - - lbl_winnt: - - StrCpy $R1 $R0 1 - - StrCmp $R1 '3' lbl_winnt_x - StrCmp $R1 '4' lbl_winnt_x - - StrCpy $R1 $R0 3 - - StrCmp $R1 '5.0' lbl_winnt_2000 - StrCmp $R1 '5.1' lbl_winnt_XP - StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error - - lbl_winnt_x: - StrCpy $R0 "NT $R0" 6 - Goto lbl_done - - lbl_winnt_2000: - Strcpy $R0 '2000' - Goto lbl_done - - lbl_winnt_XP: - Strcpy $R0 'XP' - Goto lbl_done - - lbl_winnt_2003: - Strcpy $R0 '2003' - Goto lbl_done - - lbl_error: - Strcpy $R0 '' - lbl_done: - - Pop $R1 - Exch $R0 - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Note: to add new languages, add a language file include to the list -;; at the top of this file, add an entry to the menu and then add an -;; entry to the language ID selector below -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function .onInit - - ; read the language from registry (ok if not there) and set langauge menu - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" - StrCpy $LANGUAGE $0 - - Push "" - Push ${LANG_ENGLISH} - Push English - Push ${LANG_GERMAN} - Push German - Push ${LANG_JAPANESE} - Push Japanese - Push ${LANG_KOREAN} - Push Korean - Push A ; A means auto count languages for the auto count to work the first empty push (Push "") must remain - LangDLL::LangDialog "Installer Language" "Please select the language of the installer" - Pop $LANGUAGE - StrCmp $LANGUAGE "cancel" 0 +2 - Abort - - ; save language in registry - WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" $LANGUAGE -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Function un.onInit - - ; read language from registry and set for ininstaller - ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" - StrCpy $LANGUAGE $0 - -FunctionEnd - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EOF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; imprudence setup.nsi +;; Copyright 2004-2007, Linden Research, Inc. +;; For info, see http://www.nullsoft.com/free/nsis/ +;; +;; NSIS 2.22 or higher required +;; Author: James Cook, Don Kjer, Callum Prentice +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Detect NSIS compiler version +!define "NSIS${NSIS_VERSION}" +!ifdef "NSISv2.02" | "NSISv2.03" | "NSISv2.04" | "NSISv2.05" | "NSISv2.06" + ;; before 2.07 defaulted lzma to solid (whole file) + SetCompressor lzma +!else + ;; after 2.07 required /solid for whole file compression + SetCompressor /solid lzma +!endif + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Compiler flags +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SetOverwrite on ; overwrite files +SetCompress auto ; compress iff saves space +SetDatablockOptimize off ; only saves us 0.1%, not worth it +XPStyle on ; add an XP manifest to the installer + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Project flags +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +%%VERSION%% + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; - language files - one for each language (or flavor thereof) +;; (these files are in the same place as the nsi template but the python script generates a new nsi file in the +;; application directory so we have to add a path to these include files) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +!include "%%SOURCE%%\installers\windows\lang_de.nsi" +!include "%%SOURCE%%\installers\windows\lang_en-us.nsi" +!include "%%SOURCE%%\installers\windows\lang_ja.nsi" +!include "%%SOURCE%%\installers\windows\lang_ko.nsi" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Tweak for different servers/builds (this placeholder is replaced by viewer_manifest.py) +%%GRID_VARS%% + +Name ${INSTNAME} + +SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text + +BrandingText " " ; bottom of window text +Icon %%SOURCE%%\res\install_icon.ico ; our custom icon +UninstallIcon %%SOURCE%%\res\uninstall_icon.ico ; our custom icon +WindowIcon on ; show our icon in left corner +BGGradient off ; no big background window +CRCCheck on ; make sure CRC is OK +InstProgressFlags smooth colored ; new colored smooth look +ShowInstDetails nevershow ; no details, no "show" button +SetOverwrite on ; stomp files by default +AutoCloseWindow true ; after all files install, close window + +InstallDir "$PROGRAMFILES\${INSTNAME}" +InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "" +!ifdef UPDATE +DirText $(DirectoryChooseTitle) $(DirectoryChooseUpdate) +!else +DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup) +!endif + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Variables +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Var INSTPROG +Var INSTEXE +Var INSTFLAGS +Var LANGFLAGS +Var INSTSHORTCUT + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Sections +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Section "" ; (default section) + +SetShellVarContext all ; install for all users (if you change this, change it in the uninstall as well) + +; Start with some default values. +StrCpy $INSTFLAGS "${INSTFLAGS}" +StrCpy $INSTPROG "${INSTNAME}" +StrCpy $INSTEXE "${INSTEXE}" +StrCpy $INSTSHORTCUT "${SHORTCUT}" + +IfSilent +2 +Goto NOT_SILENT + Call CheckStartupParams ; Figure out where, what and how to install. +NOT_SILENT: +Call CheckWindowsVersion ; warn if on Windows 98/ME +Call CheckIfAdministrator ; Make sure the user can install/uninstall +Call CheckIfAlreadyCurrent ; Make sure that we haven't already installed this version +Call CloseSecondLife ; Make sure we're not running +Call RemoveNSIS ; Check for old NSIS install to remove + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Don't remove cache files during a regular install, removing the inventory cache on upgrades results in lots of damage to the servers. +;Call RemoveCacheFiles ; Installing over removes potentially corrupted + ; VFS and cache files. + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Need to clean out shader files from previous installs to fix DEV-5663 +Call RemoveOldShaders + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Need to clean out old XUI files that predate skinning +Call RemoveOldXUI + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Clear out old releasenotes.txt files. These are now on the public wiki. +Call RemoveOldReleaseNotes + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Files +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py +%%INSTALL_FILES%% + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; If this is a silent update, we don't need to re-create these shortcuts or registry entries. +IfSilent POST_INSTALL + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Shortcuts in start menu +CreateDirectory "$SMPROGRAMS\$INSTSHORTCUT" +SetOutPath "$INSTDIR" +CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT.lnk" \ + "$INSTDIR\$INSTEXE" "$INSTFLAGS" + +!ifdef MUSEUM +CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum.lnk" \ + + "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple" +CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\$INSTSHORTCUT Museum Spanish.lnk" \ + + "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish" +!endif + +WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Create Trial Account.url" \ + "InternetShortcut" "URL" \ + "http://www.secondlife.com/registration/" +WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \ + "InternetShortcut" "URL" \ + "http://www.secondlife.com/account/" +CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\SL Scripting Language Help.lnk" \ + "$INSTDIR\lsl_guide.html" +CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \ + '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Other shortcuts +SetOutPath "$INSTDIR" +CreateShortCut "$DESKTOP\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" +CreateShortCut "$INSTDIR\$INSTSHORTCUT.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS" +CreateShortCut "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" \ + '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' + +!ifdef MUSEUM +CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple" + +CreateShortCut "$DESKTOP\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish" + +CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple" + +CreateShortCut "$INSTDIR\$INSTSHORTCUT Museum Spanish.lnk" "$INSTDIR\$INSTEXE" "$INSTFLAGS -simple -spanish" + +!endif + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Write registry +WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" "$INSTDIR" +WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" "${VERSION_LONG}" +WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" "$INSTFLAGS" +WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" "$INSTSHORTCUT" +WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" "$INSTEXE" +WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "DisplayName" "$INSTPROG (remove only)" +WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" "UninstallString" '"$INSTDIR\uninst.exe" /P="$INSTPROG"' + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Write URL registry info +WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life" +WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" "" +WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$INSTEXE"' +WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$INSTEXE" $INSTFLAGS -url "%1"' + +Goto WRITE_UNINST + +POST_INSTALL: +; Run a post-executable script if necessary. +Call PostInstallExe + +WRITE_UNINST: +; write out uninstaller +WriteUninstaller "$INSTDIR\uninst.exe" + +; end of default section +SectionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; PostInstallExe +; This just runs any post installation scripts. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function PostInstallExe +push $0 + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "PostInstallExe" + ;MessageBox MB_OK '$0' + ExecWait '$0' +pop $0 +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; CheckStartupParameters +; Sets INSTFLAGS, INSTPROG, and INSTEXE. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function CheckStartupParams +push $0 +push $R0 + + ; Look for a registry entry with info about where to update. + Call GetProgramName + pop $R0 + StrCpy $INSTPROG "$R0" + StrCpy $INSTEXE "$R0.exe" + + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" + ; If key doesn't exist, skip install + IfErrors ABORT + StrCpy $INSTDIR "$0" + + ; We now have a directory to install to. Get the startup parameters and shortcut as well. + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" + IfErrors +2 + StrCpy $INSTFLAGS "$0" + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" + IfErrors +2 + StrCpy $INSTSHORTCUT "$0" + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" + IfErrors +2 + StrCpy $INSTEXE "$0" + Goto FINISHED + +ABORT: + MessageBox MB_OK $(CheckStartupParamsMB) + Quit + +FINISHED: + ;MessageBox MB_OK "INSTPROG: $INSTPROG, INSTEXE: $INSTEXE, INSTFLAGS: $INSTFLAGS" +pop $R0 +pop $0 +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function un.CheckStartupParams +push $0 +push $R0 + + ; Look for a registry entry with info about where to update. + Call un.GetProgramName + pop $R0 + StrCpy $INSTPROG "$R0" + StrCpy $INSTEXE "$R0.exe" + + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" + ; If key doesn't exist, skip install + IfErrors ABORT + StrCpy $INSTDIR "$0" + + ; We now have a directory to install to. Get the startup parameters and shortcut as well. + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Flags" + IfErrors +2 + StrCpy $INSTFLAGS "$0" + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Shortcut" + IfErrors +2 + StrCpy $INSTSHORTCUT "$0" + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" + IfErrors +2 + StrCpy $INSTEXE "$0" + Goto FINISHED + +ABORT: + MessageBox MB_OK $(CheckStartupParamsMB) + Quit + +FINISHED: + ;MessageBox MB_OK "INSTPROG: $INSTPROG, INSTEXE: $INSTEXE, INSTFLAGS: $INSTFLAGS" +pop $R0 +pop $0 +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; After install completes, offer readme file +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function .onInstSuccess + MessageBox MB_YESNO \ + $(InstSuccesssQuestion) /SD IDYES IDNO NoReadme + ; Assumes SetOutPath $INSTDIR + Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS' + NoReadme: +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Remove old NSIS version. Modifies no variables. +; Does NOT delete the LindenWorld directory, or any +; user files in that directory. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function RemoveNSIS + Push $0 + ; Grab the installation directory of the old version + DetailPrint $(RemoveOldNSISVersion) + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "" + + ; If key doesn't exist, skip uninstall + IfErrors NO_NSIS + + ; Clean up legacy beta shortcuts + Delete "$SMPROGRAMS\Second Life Beta.lnk" + Delete "$DESKTOP\Second Life Beta.lnk" + Delete "$SMPROGRAMS\Second Life.lnk" + + ; Clean up old newview.exe file + Delete "$INSTDIR\newview.exe" + + ; Intentionally don't delete the stuff in + ; Documents and Settings, so we keep the user's settings + + NO_NSIS: + Pop $0 +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Make sure we're not on Windows 98 / ME +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function CheckWindowsVersion + DetailPrint "Checking Windows version..." + Call GetWindowsVersion + Pop $R0 + ; Just get first two characters, ignore 4.0 part of "NT 4.0" + StrCpy $R0 $R0 2 + ; Blacklist certain OS versions + StrCmp $R0 "95" win_ver_bad + StrCmp $R0 "98" win_ver_bad + StrCmp $R0 "ME" win_ver_bad + StrCmp $R0 "NT" win_ver_bad + Return +win_ver_bad: + MessageBox MB_YESNO $(CheckWindowsVersionMB) IDNO win_ver_abort + Return +win_ver_abort: + Quit +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Make sure the user can install/uninstall +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function CheckIfAdministrator + DetailPrint $(CheckAdministratorInstDP) + UserInfo::GetAccountType + Pop $R0 + StrCmp $R0 "Admin" is_admin + MessageBox MB_OK $(CheckAdministratorInstMB) + Quit +is_admin: + Return +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function un.CheckIfAdministrator + DetailPrint $(CheckAdministratorUnInstDP) + UserInfo::GetAccountType + Pop $R0 + StrCmp $R0 "Admin" is_admin + MessageBox MB_OK $(CheckAdministratorUnInstMB) + Quit +is_admin: + Return +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Checks to see if the current version has already been installed (according to the registry). +; If it has, allow user to bail out of install process. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function CheckIfAlreadyCurrent + Push $0 + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Version" + StrCmp $0 ${VERSION_LONG} 0 DONE + MessageBox MB_OKCANCEL $(CheckIfCurrentMB) /SD IDOK IDOK DONE + Quit + + DONE: + Pop $0 + Return +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Close the program, if running. Modifies no variables. +; Allows user to bail out of install process. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function CloseSecondLife + Push $0 + FindWindow $0 "Imprudence" "" + IntCmp $0 0 DONE + MessageBox MB_OKCANCEL $(CloseSecondLifeInstMB) IDOK CLOSE IDCANCEL CANCEL_INSTALL + + CANCEL_INSTALL: + Quit + + CLOSE: + DetailPrint $(CloseSecondLifeInstDP) + SendMessage $0 16 0 0 + + LOOP: + FindWindow $0 "Imprudence" "" + IntCmp $0 0 DONE + Sleep 500 + Goto LOOP + + DONE: + Pop $0 + Return +FunctionEnd + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Delete files in Documents and Settings\\SecondLife\cache +; Delete files in Documents and Settings\All Users\SecondLife\cache +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;Function RemoveCacheFiles +; +;; Delete files in Documents and Settings\\SecondLife +;Push $0 +;Push $1 +;Push $2 +; DetailPrint $(RemoveCacheFilesDP) +; +; StrCpy $0 0 ; Index number used to iterate via EnumRegKey +; +; LOOP: +; EnumRegKey $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $0 +; StrCmp $1 "" DONE ; no more users +; +; ReadRegStr $2 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$1" "ProfileImagePath" +; StrCmp $2 "" CONTINUE 0 ; "ProfileImagePath" value is missing +; +; ; Required since ProfileImagePath is of type REG_EXPAND_SZ +; ExpandEnvStrings $2 $2 +; +; ; When explicitly uninstalling, everything goes away +; RMDir /r "$2\Application Data\SecondLife\cache" +; +; CONTINUE: +; IntOp $0 $0 + 1 +; Goto LOOP +; DONE: +;Pop $2 +;Pop $1 +;Pop $0 +; +;; Delete files in Documents and Settings\All Users\SecondLife +;Push $0 +; ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData" +; StrCmp $0 "" +2 +; RMDir /r "$0\SecondLife\cache" +;Pop $0 +; +;; Delete filse in C:\Windows\Application Data\SecondLife +;; If the user is running on a pre-NT system, Application Data lives here instead of +;; in Documents and Settings. +;RMDir /r "$WINDIR\Application Data\SecondLife\cache" +; +;FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Delete the installed shader files +;;; Since shaders are in active development, we'll likely need to shuffle them +;;; around a bit from build to build. This ensures that shaders that we move +;;; or rename in the dev tree don't get left behind in the install. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function RemoveOldShaders + +;; Remove old shader files first so fallbacks will work. see DEV-5663 +RMDir /r "$INSTDIR\app_settings\shaders\*" + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Delete the installed XUI files +;;; We've changed the directory hierarchy for skins, putting all XUI and texture +;;; files under a specific skin directory, i.e. skins/default/xui/en-us as opposed +;;; to skins/xui/en-us. Need to clean up the old path when upgrading +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function RemoveOldXUI + +;; remove old XUI and texture files +RmDir /r "$INSTDIR\skins\html" +RmDir /r "$INSTDIR\skins\xui" +RmDir /r "$INSTDIR\skins\textures" +Delete "$INSTDIR\skins\*.txt" + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Remove any releasenotes files. +;;; We are no longer including release notes with the viewer. This will delete +;;; any that were left behind by an older installer. Delete will not fail if +;;; the files do not exist +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function RemoveOldReleaseNotes + +;; remove releasenotes.txt file from application directory, and the shortcut +;; from the start menu. +Delete "$SMPROGRAMS\$INSTSHORTCUT\SL Release Notes.lnk" +Delete "$INSTDIR\releasenotes.txt" + +FunctionEnd + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Delete files in Documents and Settings\\SecondLife +; Delete files in Documents and Settings\All Users\SecondLife +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function un.DocumentsAndSettingsFolder + +; Delete files in Documents and Settings\\SecondLife +Push $0 +Push $1 +Push $2 + + DetailPrint "Deleting files in Documents and Settings folder" + + StrCpy $0 0 ; Index number used to iterate via EnumRegKey + + LOOP: + EnumRegKey $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" $0 + StrCmp $1 "" DONE ; no more users + + ReadRegStr $2 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$1" "ProfileImagePath" + StrCmp $2 "" CONTINUE 0 ; "ProfileImagePath" value is missing + + ; Required since ProfileImagePath is of type REG_EXPAND_SZ + ExpandEnvStrings $2 $2 + + ; If uninstalling a normal install remove everything + ; Otherwise (preview/dmz etc) just remove cache + StrCmp $INSTFLAGS "" RM_ALL RM_CACHE + RM_ALL: + RMDir /r "$2\Application Data\SecondLife" + GoTo CONTINUE + RM_CACHE: + RMDir /r "$2\Application Data\SecondLife\Cache" + Delete "$2\Application Data\SecondLife\user_settings\settings_windlight.xml" + + CONTINUE: + IntOp $0 $0 + 1 + Goto LOOP + DONE: + +Pop $2 +Pop $1 +Pop $0 + +; Delete files in Documents and Settings\All Users\SecondLife +Push $0 + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData" + StrCmp $0 "" +2 + RMDir /r "$0\SecondLife" +Pop $0 + +; Delete filse in C:\Windows\Application Data\SecondLife +; If the user is running on a pre-NT system, Application Data lives here instead of +; in Documents and Settings. +RMDir /r "$WINDIR\Application Data\SecondLife" + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Close the program, if running. Modifies no variables. +; Allows user to bail out of uninstall process. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function un.CloseSecondLife + Push $0 + FindWindow $0 "Imprudence" "" + IntCmp $0 0 DONE + MessageBox MB_OKCANCEL $(CloseSecondLifeUnInstMB) IDOK CLOSE IDCANCEL CANCEL_UNINSTALL + + CANCEL_UNINSTALL: + Quit + + CLOSE: + DetailPrint $(CloseSecondLifeUnInstDP) + SendMessage $0 16 0 0 + + LOOP: + FindWindow $0 "Imprudence" "" + IntCmp $0 0 DONE + Sleep 500 + Goto LOOP + + DONE: + Pop $0 + Return +FunctionEnd + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; +; Delete the stored password for the current Windows user +; DEV-10821 -- Unauthorised user can gain access to an SL account after a real user has uninstalled +; +Function un.RemovePassword + +DetailPrint "Removing Second Life password" + +SetShellVarContext current +Delete "$APPDATA\SecondLife\user_settings\password.dat" +SetShellVarContext all + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Delete the installed files +;;; This deletes the uninstall executable, but it works +;;; because it is copied to temp directory before running +;;; +;;; Note: You must list all files here, because we only +;;; want to delete our files, not things users left in the +;;; application directories. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function un.ProgramFiles + +;; Remove mozilla file first so recursive directory deletion doesn't get hung up +Delete "$INSTDIR\app_settings\mozilla\components" + +;; This placeholder is replaced by the complete list of files to uninstall by viewer_manifest.py +%%DELETE_FILES%% + +;; Optional/obsolete files. Delete won't fail if they don't exist. +Delete "$INSTDIR\dronesettings.ini" +Delete "$INSTDIR\message_template.msg" +Delete "$INSTDIR\newview.pdb" +Delete "$INSTDIR\newview.map" +Delete "$INSTDIR\SecondLife.pdb" +Delete "$INSTDIR\SecondLife.map" +Delete "$INSTDIR\comm.dat" +Delete "$INSTDIR\*.glsl" +Delete "$INSTDIR\motions\*.lla" +Delete "$INSTDIR\trial\*.html" +Delete "$INSTDIR\newview.exe" +;; Remove entire help directory +Delete "$INSTDIR\help\Advanced\*" +RMDir "$INSTDIR\help\Advanced" +Delete "$INSTDIR\help\basics\*" +RMDir "$INSTDIR\help\basics" +Delete "$INSTDIR\help\Concepts\*" +RMDir "$INSTDIR\help\Concepts" +Delete "$INSTDIR\help\welcome\*" +RMDir "$INSTDIR\help\welcome" +Delete "$INSTDIR\help\*" +RMDir "$INSTDIR\help" + +Delete "$INSTDIR\uninst.exe" +RMDir "$INSTDIR" + +IfFileExists "$INSTDIR" FOLDERFOUND NOFOLDER + +FOLDERFOUND: + MessageBox MB_YESNO $(DeleteProgramFilesMB) IDNO NOFOLDER + RMDir /r "$INSTDIR" + +NOFOLDER: + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Uninstall settings +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +UninstallText $(UninstallTextMsg) +ShowUninstDetails show + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Uninstall section +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Section Uninstall + +; Start with some default values. +StrCpy $INSTFLAGS "" +StrCpy $INSTPROG "${INSTNAME}" +StrCpy $INSTEXE "${INSTEXE}" +StrCpy $INSTSHORTCUT "${SHORTCUT}" +Call un.CheckStartupParams ; Figure out where, what and how to uninstall. +Call un.CheckIfAdministrator ; Make sure the user can install/uninstall + +; uninstall for all users (if you change this, change it in the install as well) +SetShellVarContext all + +; Make sure we're not running +Call un.CloseSecondLife + +; Clean up registry keys (these should all be !defines somewhere) +DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" +DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$INSTPROG" +DeleteRegKey HKEY_LOCAL_MACHINE "Software\Linden Research, Inc.\Installer Language" + +; Clean up shortcuts +Delete "$SMPROGRAMS\$INSTSHORTCUT\*.*" +RMDir "$SMPROGRAMS\$INSTSHORTCUT" + +Delete "$DESKTOP\$INSTSHORTCUT.lnk" +Delete "$INSTDIR\$INSTSHORTCUT.lnk" +Delete "$INSTDIR\Uninstall $INSTSHORTCUT.lnk" + +; Clean up cache and log files. +; Leave them in-place for non AGNI installs. + +!ifdef UNINSTALL_SETTINGS +Call un.DocumentsAndSettingsFolder +!endif + +; remove stored password on uninstall +Call un.RemovePassword + +Call un.ProgramFiles + +SectionEnd ; end of uninstall section + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; (From the NSIS wiki, DK) +; GetParameterValue +; +; Usage: +; !insertmacro GetParameterValue "/L=" "1033" +; pop $R0 +; +; Returns on top of stack +; +; Example command lines: +; foo.exe /S /L=1033 /D=C:\Program Files\Foo +; or: +; foo.exe /S "/L=1033" /D="C:\Program Files\Foo" +; gpv "/L=" "1033" +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + !macro GetParameterValue SWITCH DEFAULT + Push $0 + Push $1 + Push $2 + Push $3 + Push $4 + + ;$CMDLINE='"My Setup\Setup.exe" /L=1033 /S' + Push "$CMDLINE" + Push '${SWITCH}"' + !insertmacro StrStr + Pop $0 + StrCmp "$0" "" gpv_notquoted + ;$0='/L="1033" /S' + StrLen $2 "$0" + Strlen $1 "${SWITCH}" + IntOp $1 $1 + 1 + StrCpy $0 "$0" $2 $1 + ;$0='1033" /S' + Push "$0" + Push '"' + !insertmacro StrStr + Pop $1 + StrLen $2 "$0" + StrLen $3 "$1" + IntOp $4 $2 - $3 + StrCpy $0 $0 $4 0 + Goto gpv_done + + gpv_notquoted: + Push "$CMDLINE" + Push "${SWITCH}" + !insertmacro StrStr + Pop $0 + StrCmp "$0" "" gpv_done + ;$0='/L="1033" /S' + StrLen $2 "$0" + Strlen $1 "${SWITCH}" + StrCpy $0 "$0" $2 $1 + ;$0=1033 /S' + Push "$0" + Push ' ' + !insertmacro StrStr + Pop $1 + StrLen $2 "$0" + StrLen $3 "$1" + IntOp $4 $2 - $3 + StrCpy $0 $0 $4 0 + Goto gpv_done + + gpv_done: + StrCmp "$0" "" 0 +2 + StrCpy $0 "${DEFAULT}" + + Pop $4 + Pop $3 + Pop $2 + Pop $1 + Exch $0 + !macroend + +; And I had to modify StrStr a tiny bit. +; Possible upgrade switch the goto's to use ${__LINE__} + +!macro STRSTR + Exch $R1 ; st=haystack,old$R1, $R1=needle + Exch ; st=old$R1,haystack + Exch $R2 ; st=old$R1,old$R2, $R2=haystack + Push $R3 + Push $R4 + Push $R5 + StrLen $R3 $R1 + StrCpy $R4 0 + ; $R1=needle + ; $R2=haystack + ; $R3=len(needle) + ; $R4=cnt + ; $R5=tmp + ; loop; + StrCpy $R5 $R2 $R3 $R4 + StrCmp $R5 $R1 +4 + StrCmp $R5 "" +3 + IntOp $R4 $R4 + 1 + Goto -4 + ; done; + StrCpy $R1 $R2 "" $R4 + Pop $R5 + Pop $R4 + Pop $R3 + Pop $R2 + Exch $R1 +!macroend + +Function GetProgramName + !insertmacro GetParameterValue "/P=" "Imprudence" +FunctionEnd + +Function un.GetProgramName + !insertmacro GetParameterValue "/P=" "Imprudence" +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; (From the NSIS documentation, JC) +; GetWindowsVersion +; +; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/ +; Updated by Joost Verburg +; +; Returns on top of stack +; +; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003) +; or +; '' (Unknown Windows Version) +; +; Usage: +; Call GetWindowsVersion +; Pop $R0 +; ; at this point $R0 is "NT 4.0" or whatnot +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function GetWindowsVersion + + Push $R0 + Push $R1 + + ReadRegStr $R0 HKLM \ + "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion + + IfErrors 0 lbl_winnt + + ; we are not NT + ReadRegStr $R0 HKLM \ + "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber + + StrCpy $R1 $R0 1 + StrCmp $R1 '4' 0 lbl_error + + StrCpy $R1 $R0 3 + + StrCmp $R1 '4.0' lbl_win32_95 + StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 + + lbl_win32_95: + StrCpy $R0 '95' + Goto lbl_done + + lbl_win32_98: + StrCpy $R0 '98' + Goto lbl_done + + lbl_win32_ME: + StrCpy $R0 'ME' + Goto lbl_done + + lbl_winnt: + + StrCpy $R1 $R0 1 + + StrCmp $R1 '3' lbl_winnt_x + StrCmp $R1 '4' lbl_winnt_x + + StrCpy $R1 $R0 3 + + StrCmp $R1 '5.0' lbl_winnt_2000 + StrCmp $R1 '5.1' lbl_winnt_XP + StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error + + lbl_winnt_x: + StrCpy $R0 "NT $R0" 6 + Goto lbl_done + + lbl_winnt_2000: + Strcpy $R0 '2000' + Goto lbl_done + + lbl_winnt_XP: + Strcpy $R0 'XP' + Goto lbl_done + + lbl_winnt_2003: + Strcpy $R0 '2003' + Goto lbl_done + + lbl_error: + Strcpy $R0 '' + lbl_done: + + Pop $R1 + Exch $R0 + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Note: to add new languages, add a language file include to the list +;; at the top of this file, add an entry to the menu and then add an +;; entry to the language ID selector below +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function .onInit + + ; read the language from registry (ok if not there) and set langauge menu + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" + StrCpy $LANGUAGE $0 + + Push "" + Push ${LANG_ENGLISH} + Push English + Push ${LANG_GERMAN} + Push German + Push ${LANG_JAPANESE} + Push Japanese + Push ${LANG_KOREAN} + Push Korean + Push A ; A means auto count languages for the auto count to work the first empty push (Push "") must remain + LangDLL::LangDialog "Installer Language" "Please select the language of the installer" + Pop $LANGUAGE + StrCmp $LANGUAGE "cancel" 0 +2 + Abort + + ; save language in registry + WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" $LANGUAGE +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Function un.onInit + + ; read language from registry and set for ininstaller + ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" + StrCpy $LANGUAGE $0 + +FunctionEnd + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EOF ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/linden/indra/newview/installers/windows/lang_de.nsi b/linden/indra/newview/installers/windows/lang_de.nsi index c410128..6be219e 100644 --- a/linden/indra/newview/installers/windows/lang_de.nsi +++ b/linden/indra/newview/installers/windows/lang_de.nsi @@ -1,57 +1,57 @@ -; First is default -LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf" - -; subtitle on license text caption (setup new version or update current one -LangString LicenseSubTitleUpdate ${LANG_GERMAN} " Update" -LangString LicenseSubTitleSetup ${LANG_GERMAN} " Setup" - -; description on license page -LangString LicenseDescUpdate ${LANG_GERMAN} "Dieses Paket wird das bereits installierte Second Life mit Version ${VERSION_LONG}. ersetzen." -LangString LicenseDescSetup ${LANG_GERMAN} "Dieses Paket wird Second Life auf Ihrem Computer installieren." -LangString LicenseDescNext ${LANG_GERMAN} "Weiter" - -; installation directory text -LangString DirectoryChooseTitle ${LANG_GERMAN} "Installations-Ordner" -LangString DirectoryChooseUpdate ${LANG_GERMAN} "Whlen Sie den Second Life Ordner fr dieses Update:" -LangString DirectoryChooseSetup ${LANG_GERMAN} "Pfad in dem Second Life installieren werden soll:" - -; CheckStartupParams message box -LangString CheckStartupParamsMB ${LANG_GERMAN} "Konnte Programm '$INSTPROG' nicht finden. Stilles Update fehlgeschlagen." - -; installation success dialog -LangString InstSuccesssQuestion ${LANG_GERMAN} "Second Life starten?" - -; remove old NSIS version -LangString RemoveOldNSISVersion ${LANG_GERMAN} "berprfe alte Version ..." - -; check windows version -LangString CheckWindowsVersionDP ${LANG_GERMAN} "berprfung der Windows Version ..." -LangString CheckWindowsVersionMB ${LANG_GERMAN} 'Second Life untersttzt nur Windows XP, Windows 2000 und Mac OS X.$\n$\nDer Versuch es auf Windows $R0 zu installieren, knnte zu unvorhersehbaren Abstrzen und Datenverlust fhren.$\n$\nTrotzdem installieren?' - -; checkifadministrator function (install) -LangString CheckAdministratorInstDP ${LANG_GERMAN} "berprfung der Installations-Berechtigungen ..." -LangString CheckAdministratorInstMB ${LANG_GERMAN} 'Sie besitzen ungengende Berechtigungen.$\nSie mssen ein "administrator" sein, um Second Life installieren zu knnen.' - -; checkifadministrator function (uninstall) -LangString CheckAdministratorUnInstDP ${LANG_GERMAN} "berprfung der Entfernungs-Berechtigungen ..." -LangString CheckAdministratorUnInstMB ${LANG_GERMAN} 'Sie besitzen ungengende Berechtigungen.$\nSie mssen ein "administrator" sein, um Second Life entfernen zu knnen..' - -; checkifalreadycurrent -LangString CheckIfCurrentMB ${LANG_GERMAN} "Anscheinend ist Second Life ${VERSION_LONG} bereits installiert.$\n$\nWrden Sie es gerne erneut installieren?" - -; closesecondlife function (install) -LangString CloseSecondLifeInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Second Life ..." -LangString CloseSecondLifeInstMB ${LANG_GERMAN} "Second Life kann nicht installiert oder ersetzt werden, wenn es bereits luft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Second Life zu beenden.$\nKlicken Sie CANCEL, um die Installation abzubrechen." - -; closesecondlife function (uninstall) -LangString CloseSecondLifeUnInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Second Life ..." -LangString CloseSecondLifeUnInstMB ${LANG_GERMAN} "Second Life kann nicht entfernt werden, wenn es bereits luft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Second Life zu beenden.$\nKlicken Sie CANCEL, um abzubrechen." - -; removecachefiles -LangString RemoveCacheFilesDP ${LANG_GERMAN} "Lschung aller Cache Dateien in Dokumente und Einstellungen." - -; delete program files -LangString DeleteProgramFilesMB ${LANG_GERMAN} "Es existieren weiterhin Dateien in Ihrem SecondLife Programm Ordner.$\n$\nDies sind mglicherweise Dateien, die sie modifiziert oder bewegt haben:$\n$INSTDIR$\n$\nMchten Sie diese ebenfalls lschen?" - -; uninstall text -LangString UninstallTextMsg ${LANG_GERMAN} "Dies wird Second Life ${VERSION_LONG} von Ihrem System entfernen." +; First is default +LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf" + +; subtitle on license text caption (setup new version or update current one +LangString LicenseSubTitleUpdate ${LANG_GERMAN} " Update" +LangString LicenseSubTitleSetup ${LANG_GERMAN} " Setup" + +; description on license page +LangString LicenseDescUpdate ${LANG_GERMAN} "Dieses Paket wird das bereits installierte Imprudence mit Version ${VERSION_LONG}. ersetzen." +LangString LicenseDescSetup ${LANG_GERMAN} "Dieses Paket wird Imprudence auf Ihrem Computer installieren." +LangString LicenseDescNext ${LANG_GERMAN} "Weiter" + +; installation directory text +LangString DirectoryChooseTitle ${LANG_GERMAN} "Installations-Ordner" +LangString DirectoryChooseUpdate ${LANG_GERMAN} "Whlen Sie den Imprudence Ordner fr dieses Update:" +LangString DirectoryChooseSetup ${LANG_GERMAN} "Pfad in dem Imprudence installieren werden soll:" + +; CheckStartupParams message box +LangString CheckStartupParamsMB ${LANG_GERMAN} "Konnte Programm '$INSTPROG' nicht finden. Stilles Update fehlgeschlagen." + +; installation success dialog +LangString InstSuccesssQuestion ${LANG_GERMAN} "Imprudence starten?" + +; remove old NSIS version +LangString RemoveOldNSISVersion ${LANG_GERMAN} "berprfe alte Version ..." + +; check windows version +LangString CheckWindowsVersionDP ${LANG_GERMAN} "berprfung der Windows Version ..." +LangString CheckWindowsVersionMB ${LANG_GERMAN} 'Imprudence untersttzt nur Windows XP, Windows 2000 und Mac OS X.$\n$\nDer Versuch es auf Windows $R0 zu installieren, knnte zu unvorhersehbaren Abstrzen und Datenverlust fhren.$\n$\nTrotzdem installieren?' + +; checkifadministrator function (install) +LangString CheckAdministratorInstDP ${LANG_GERMAN} "berprfung der Installations-Berechtigungen ..." +LangString CheckAdministratorInstMB ${LANG_GERMAN} 'Sie besitzen ungengende Berechtigungen.$\nSie mssen ein "administrator" sein, um Imprudence installieren zu knnen.' + +; checkifadministrator function (uninstall) +LangString CheckAdministratorUnInstDP ${LANG_GERMAN} "berprfung der Entfernungs-Berechtigungen ..." +LangString CheckAdministratorUnInstMB ${LANG_GERMAN} 'Sie besitzen ungengende Berechtigungen.$\nSie mssen ein "administrator" sein, um Imprudence entfernen zu knnen..' + +; checkifalreadycurrent +LangString CheckIfCurrentMB ${LANG_GERMAN} "Anscheinend ist Imprudence ${VERSION_LONG} bereits installiert.$\n$\nWrden Sie es gerne erneut installieren?" + +; closeimprudence function (install) +LangString CloseSecondLifeInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Imprudence ..." +LangString CloseSecondLifeInstMB ${LANG_GERMAN} "Imprudence kann nicht installiert oder ersetzt werden, wenn es bereits luft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Imprudence zu beenden.$\nKlicken Sie CANCEL, um die Installation abzubrechen." + +; closeimprudence function (uninstall) +LangString CloseSecondLifeUnInstDP ${LANG_GERMAN} "Warten auf die Beendigung von Imprudence ..." +LangString CloseSecondLifeUnInstMB ${LANG_GERMAN} "Imprudence kann nicht entfernt werden, wenn es bereits luft.$\n$\nBeenden Sie, was Sie gerade tun und klicken Sie OK, um Imprudence zu beenden.$\nKlicken Sie CANCEL, um abzubrechen." + +; removecachefiles +LangString RemoveCacheFilesDP ${LANG_GERMAN} "Lschung aller Cache Dateien in Dokumente und Einstellungen." + +; delete program files +LangString DeleteProgramFilesMB ${LANG_GERMAN} "Es existieren weiterhin Dateien in Ihrem Imprudence Programm Ordner.$\n$\nDies sind mglicherweise Dateien, die sie modifiziert oder bewegt haben:$\n$INSTDIR$\n$\nMchten Sie diese ebenfalls lschen?" + +; uninstall text +LangString UninstallTextMsg ${LANG_GERMAN} "Dies wird Imprudence ${VERSION_LONG} von Ihrem System entfernen." diff --git a/linden/indra/newview/installers/windows/lang_en-us.nsi b/linden/indra/newview/installers/windows/lang_en-us.nsi index 218f1c6..e203fb6 100644 --- a/linden/indra/newview/installers/windows/lang_en-us.nsi +++ b/linden/indra/newview/installers/windows/lang_en-us.nsi @@ -1,52 +1,52 @@ -; First is default -LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" - -; subtitle on license text caption -LangString LicenseSubTitleUpdate ${LANG_ENGLISH} " Update" -LangString LicenseSubTitleSetup ${LANG_ENGLISH} " Setup" - -; installation directory text -LangString DirectoryChooseTitle ${LANG_ENGLISH} "Installation Directory" -LangString DirectoryChooseUpdate ${LANG_ENGLISH} "Select the Second Life directory to update to version ${VERSION_LONG}.(XXX):" -LangString DirectoryChooseSetup ${LANG_ENGLISH} "Select the directory to install Second Life in:" - -; CheckStartupParams message box -LangString CheckStartupParamsMB ${LANG_ENGLISH} "Could not find the program '$INSTPROG'. Silent update failed." - -; installation success dialog -LangString InstSuccesssQuestion ${LANG_ENGLISH} "Start Second Life now?" - -; remove old NSIS version -LangString RemoveOldNSISVersion ${LANG_ENGLISH} "Checking for old version..." - -; check windows version -LangString CheckWindowsVersionDP ${LANG_ENGLISH} "Checking Windows version..." -LangString CheckWindowsVersionMB ${LANG_ENGLISH} 'Second Life only supports Windows XP, Windows 2000, and Mac OS X.$\n$\nAttempting to install on Windows $R0 can result in crashes and data loss.$\n$\nInstall anyway?' - -; checkifadministrator function (install) -LangString CheckAdministratorInstDP ${LANG_ENGLISH} "Checking for permission to install..." -LangString CheckAdministratorInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to install Second Life.' - -; checkifadministrator function (uninstall) -LangString CheckAdministratorUnInstDP ${LANG_ENGLISH} "Checking for permission to uninstall..." -LangString CheckAdministratorUnInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to uninstall Second Life.' - -; checkifalreadycurrent -LangString CheckIfCurrentMB ${LANG_ENGLISH} "It appears that Second Life ${VERSION_LONG} is already installed.$\n$\nWould you like to install it again?" - -; closesecondlife function (install) -LangString CloseSecondLifeInstDP ${LANG_ENGLISH} "Waiting for Second Life to shut down..." -LangString CloseSecondLifeInstMB ${LANG_ENGLISH} "Second Life can't be installed while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel installation." - -; closesecondlife function (uninstall) -LangString CloseSecondLifeUnInstDP ${LANG_ENGLISH} "Waiting for Second Life to shut down..." -LangString CloseSecondLifeUnInstMB ${LANG_ENGLISH} "Second Life can't be uninstalled while it is already running.$\n$\nFinish what you're doing then select OK to close Second Life and continue.$\nSelect CANCEL to cancel." - -; removecachefiles -LangString RemoveCacheFilesDP ${LANG_ENGLISH} "Deleting cache files in Documents and Settings folder" - -; delete program files -LangString DeleteProgramFilesMB ${LANG_ENGLISH} "There are still files in your SecondLife program directory.$\n$\nThese are possibly files you created or moved to:$\n$INSTDIR$\n$\nDo you want to remove them?" - -; uninstall text -LangString UninstallTextMsg ${LANG_ENGLISH} "This will uninstall Second Life ${VERSION_LONG} from your system." +; First is default +LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf" + +; subtitle on license text caption +LangString LicenseSubTitleUpdate ${LANG_ENGLISH} " Update" +LangString LicenseSubTitleSetup ${LANG_ENGLISH} " Setup" + +; installation directory text +LangString DirectoryChooseTitle ${LANG_ENGLISH} "Installation Directory" +LangString DirectoryChooseUpdate ${LANG_ENGLISH} "Select the Imprudence directory to update to version ${VERSION_LONG}.(XXX):" +LangString DirectoryChooseSetup ${LANG_ENGLISH} "Select the directory to install Imprudence in:" + +; CheckStartupParams message box +LangString CheckStartupParamsMB ${LANG_ENGLISH} "Could not find the program '$INSTPROG'. Silent update failed." + +; installation success dialog +LangString InstSuccesssQuestion ${LANG_ENGLISH} "Start Imprudence now?" + +; remove old NSIS version +LangString RemoveOldNSISVersion ${LANG_ENGLISH} "Checking for old version..." + +; check windows version +LangString CheckWindowsVersionDP ${LANG_ENGLISH} "Checking Windows version..." +LangString CheckWindowsVersionMB ${LANG_ENGLISH} 'Imprudence only supports Windows XP, Windows 2000, and Mac OS X.$\n$\nAttempting to install on Windows $R0 can result in crashes and data loss.$\n$\nInstall anyway?' + +; checkifadministrator function (install) +LangString CheckAdministratorInstDP ${LANG_ENGLISH} "Checking for permission to install..." +LangString CheckAdministratorInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to install Imprudence.' + +; checkifadministrator function (uninstall) +LangString CheckAdministratorUnInstDP ${LANG_ENGLISH} "Checking for permission to uninstall..." +LangString CheckAdministratorUnInstMB ${LANG_ENGLISH} 'You appear to be using a "limited" account.$\nYou must be an "administrator" to uninstall Imprudence.' + +; checkifalreadycurrent +LangString CheckIfCurrentMB ${LANG_ENGLISH} "It appears that Imprudence ${VERSION_LONG} is already installed.$\n$\nWould you like to install it again?" + +; closeimprudence function (install) +LangString CloseSecondLifeInstDP ${LANG_ENGLISH} "Waiting for Imprudence to shut down..." +LangString CloseSecondLifeInstMB ${LANG_ENGLISH} "Imprudence can't be installed while it is already running.$\n$\nFinish what you're doing then select OK to close Imprudence and continue.$\nSelect CANCEL to cancel installation." + +; closeimprudence function (uninstall) +LangString CloseSecondLifeUnInstDP ${LANG_ENGLISH} "Waiting for Imprudence to shut down..." +LangString CloseSecondLifeUnInstMB ${LANG_ENGLISH} "Imprudence can't be uninstalled while it is already running.$\n$\nFinish what you're doing then select OK to close Imprudence and continue.$\nSelect CANCEL to cancel." + +; removecachefiles +LangString RemoveCacheFilesDP ${LANG_ENGLISH} "Deleting cache files in Documents and Settings folder" + +; delete program files +LangString DeleteProgramFilesMB ${LANG_ENGLISH} "There are still files in your Imprudence program directory.$\n$\nThese are possibly files you created or moved to:$\n$INSTDIR$\n$\nDo you want to remove them?" + +; uninstall text +LangString UninstallTextMsg ${LANG_ENGLISH} "This will uninstall Imprudence ${VERSION_LONG} from your system." diff --git a/linden/indra/newview/installers/windows/lang_ja.nsi b/linden/indra/newview/installers/windows/lang_ja.nsi index 5e0496e..f59957a 100644 --- a/linden/indra/newview/installers/windows/lang_ja.nsi +++ b/linden/indra/newview/installers/windows/lang_ja.nsi @@ -1,57 +1,57 @@ -; First is default -LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf" - -; subtitle on license text caption -LangString LicenseSubTitleUpdate ${LANG_JAPANESE} " Abvf[g" -LangString LicenseSubTitleSetup ${LANG_JAPANESE} " ZbgAbv" - -; description on license page -LangString LicenseDescUpdate ${LANG_JAPANESE} "̃pbP[W̓ZJhCto[W${VERSION_LONG}.ɃAbvf[g܂B" -LangString LicenseDescSetup ${LANG_JAPANESE} "̃pbP[W͂Ȃ̃Rs[^ɃZJhCtCXg[܂B" -LangString LicenseDescNext ${LANG_JAPANESE} "" - -; installation directory text -LangString DirectoryChooseTitle ${LANG_JAPANESE} "CXg[EfBNg" -LangString DirectoryChooseUpdate ${LANG_JAPANESE} "Abvf[gZJhCt̃fBNgIĂB:" -LangString DirectoryChooseSetup ${LANG_JAPANESE} "ZJhCtCXg[fBNgIĂB: " - -; CheckStartupParams message box -LangString CheckStartupParamsMB ${LANG_JAPANESE} "vO'$INSTPROG'‚܂BTCgEAbvf[gɎs܂B" - -; installation success dialog -LangString InstSuccesssQuestion ${LANG_JAPANESE} "ɃZJhCtJn܂H " - -; remove old NSIS version -LangString RemoveOldNSISVersion ${LANG_JAPANESE} "Âo[W`FbNłc" - -; check windows version -LangString CheckWindowsVersionDP ${LANG_JAPANESE} "EBhEỸo[W`FbNł..." -LangString CheckWindowsVersionMB ${LANG_JAPANESE} "ZJhCtWindows XPAWindows 2000AMac OS X݂̂T|[gĂ܂BWindows $R0CXg[鎖́Af[^̏NbV̌ɂȂ”\܂BCXg[𑱂܂H" - -; checkifadministrator function (install) -LangString CheckAdministratorInstDP ${LANG_JAPANESE} "CXg[̂߂̌`FbNł..." -LangString CheckAdministratorInstMB ${LANG_JAPANESE} "ZJhCtCXg[ɂ͊ǗҌKvłB" - -; checkifadministrator function (uninstall) -LangString CheckAdministratorUnInstDP ${LANG_JAPANESE} "ACXg[̂߂̌`FbNł..." -LangString CheckAdministratorUnInstMB ${LANG_JAPANESE} "ZJhCtACXg[ɂ͊ǗҌKvłB" - -; checkifalreadycurrent -LangString CheckIfCurrentMB ${LANG_JAPANESE} "ZJhCt${VERSION_LONG} ̓CXg[ς݂łBēxCXg[܂H " - -; closesecondlife function (install) -LangString CloseSecondLifeInstDP ${LANG_JAPANESE} "ZJhCtIł..." -LangString CloseSecondLifeInstMB ${LANG_JAPANESE} "ZJhCt̋NɃCXg[͏o܂BɃZJhCtIăCXg[JnꍇOK{^ĂBCANCELƒ~܂B" - -; closesecondlife function (uninstall) -LangString CloseSecondLifeUnInstDP ${LANG_JAPANESE} "ZJhCtIł..." -LangString CloseSecondLifeUnInstMB ${LANG_JAPANESE} "ZJhCt̋NɃACXg[͏o܂BɃZJhCtIăACXg[JnꍇOK{^ĂBCANCELƒ~܂B" - -; removecachefiles -LangString RemoveCacheFilesDP ${LANG_JAPANESE} " Documents and Settings tH_̃LbVt@Cf[głB" - -; delete program files -LangString DeleteProgramFilesMB ${LANG_JAPANESE} "ZJhCt̃fBNgɂ́A܂t@CcĂ܂B$\n$INSTDIR$\nɂȂ쐬A܂͈ړt@C”\܂BSč폜܂H " - -; uninstall text -LangString UninstallTextMsg ${LANG_JAPANESE} "ZJhCt${VERSION_LONG}ACXg[܂B" +; First is default +LoadLanguageFile "${NSISDIR}\Contrib\Language files\Japanese.nlf" + +; subtitle on license text caption +LangString LicenseSubTitleUpdate ${LANG_JAPANESE} " Abvf[g" +LangString LicenseSubTitleSetup ${LANG_JAPANESE} " ZbgAbv" + +; description on license page +LangString LicenseDescUpdate ${LANG_JAPANESE} "̃pbP[W̓ZJhCto[W${VERSION_LONG}.ɃAbvf[g܂B" +LangString LicenseDescSetup ${LANG_JAPANESE} "̃pbP[W͂Ȃ̃Rs[^ɃZJhCtCXg[܂B" +LangString LicenseDescNext ${LANG_JAPANESE} "" + +; installation directory text +LangString DirectoryChooseTitle ${LANG_JAPANESE} "CXg[EfBNg" +LangString DirectoryChooseUpdate ${LANG_JAPANESE} "Abvf[gZJhCt̃fBNgIĂB:" +LangString DirectoryChooseSetup ${LANG_JAPANESE} "ZJhCtCXg[fBNgIĂB: " + +; CheckStartupParams message box +LangString CheckStartupParamsMB ${LANG_JAPANESE} "vO'$INSTPROG'‚܂BTCgEAbvf[gɎs܂B" + +; installation success dialog +LangString InstSuccesssQuestion ${LANG_JAPANESE} "ɃZJhCtJn܂H " + +; remove old NSIS version +LangString RemoveOldNSISVersion ${LANG_JAPANESE} "Âo[W`FbNłc" + +; check windows version +LangString CheckWindowsVersionDP ${LANG_JAPANESE} "EBhEỸo[W`FbNł..." +LangString CheckWindowsVersionMB ${LANG_JAPANESE} "ZJhCtWindows XPAWindows 2000AMac OS X݂̂T|[gĂ܂BWindows $R0CXg[鎖́Af[^̏NbV̌ɂȂ”\܂BCXg[𑱂܂H" + +; checkifadministrator function (install) +LangString CheckAdministratorInstDP ${LANG_JAPANESE} "CXg[̂߂̌`FbNł..." +LangString CheckAdministratorInstMB ${LANG_JAPANESE} "ZJhCtCXg[ɂ͊ǗҌKvłB" + +; checkifadministrator function (uninstall) +LangString CheckAdministratorUnInstDP ${LANG_JAPANESE} "ACXg[̂߂̌`FbNł..." +LangString CheckAdministratorUnInstMB ${LANG_JAPANESE} "ZJhCtACXg[ɂ͊ǗҌKvłB" + +; checkifalreadycurrent +LangString CheckIfCurrentMB ${LANG_JAPANESE} "ZJhCt${VERSION_LONG} ̓CXg[ς݂łBēxCXg[܂H " + +; closeimprudence function (install) +LangString CloseSecondLifeInstDP ${LANG_JAPANESE} "ZJhCtIł..." +LangString CloseSecondLifeInstMB ${LANG_JAPANESE} "ZJhCt̋NɃCXg[͏o܂BɃZJhCtIăCXg[JnꍇOK{^ĂBCANCELƒ~܂B" + +; closeimprudence function (uninstall) +LangString CloseSecondLifeUnInstDP ${LANG_JAPANESE} "ZJhCtIł..." +LangString CloseSecondLifeUnInstMB ${LANG_JAPANESE} "ZJhCt̋NɃACXg[͏o܂BɃZJhCtIăACXg[JnꍇOK{^ĂBCANCELƒ~܂B" + +; removecachefiles +LangString RemoveCacheFilesDP ${LANG_JAPANESE} " Documents and Settings tH_̃LbVt@Cf[głB" + +; delete program files +LangString DeleteProgramFilesMB ${LANG_JAPANESE} "ZJhCt̃fBNgɂ́A܂t@CcĂ܂B$\n$INSTDIR$\nɂȂ쐬A܂͈ړt@C”\܂BSč폜܂H " + +; uninstall text +LangString UninstallTextMsg ${LANG_JAPANESE} "ZJhCt${VERSION_LONG}ACXg[܂B" diff --git a/linden/indra/newview/installers/windows/lang_ko.nsi b/linden/indra/newview/installers/windows/lang_ko.nsi index b570315..2530e4b 100644 --- a/linden/indra/newview/installers/windows/lang_ko.nsi +++ b/linden/indra/newview/installers/windows/lang_ko.nsi @@ -1,57 +1,57 @@ -; First is default -LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf" - -; subtitle on license text caption -LangString LicenseSubTitleUpdate ${LANG_KOREAN} "Ʈ" -LangString LicenseSubTitleSetup ${LANG_KOREAN} " ġϱ" - -; description on license page -LangString LicenseDescUpdate ${LANG_KOREAN} " Ű ${VERSION_LONG}. Ʈ մϴ. " -LangString LicenseDescSetup ${LANG_KOREAN} " Ű ǻͿ ġմϴ." -LangString LicenseDescNext ${LANG_KOREAN} "" - -; installation directory text -LangString DirectoryChooseTitle ${LANG_KOREAN} "ġ 丮" -LangString DirectoryChooseUpdate ${LANG_KOREAN} " Ʈ 丮 ϼ. " -LangString DirectoryChooseSetup ${LANG_KOREAN} " ġ 丮 ϼ:" - -; CheckStartupParams message box -LangString CheckStartupParamsMB ${LANG_KOREAN} " $INSTPROG α׷ ã ߽ϴ. ڵ Ʈ ߽ϴ." - -; installation success dialog -LangString InstSuccesssQuestion ${LANG_KOREAN} " ϰڽϱ?" - -; remove old NSIS version -LangString RemoveOldNSISVersion ${LANG_KOREAN} " ã ֽϴ١ " - -; check windows version -LangString CheckWindowsVersionDP ${LANG_KOREAN} " Ȯϰ ֽϴ." -LangString CheckWindowsVersionMB ${LANG_KOREAN} " XP, 2000, ׸ OS X մϴ. $R0 ġ õϸ ۵ н Ͼ ֽϴ. ġϰڽϱ? " - -; checkifadministrator function (install) -LangString CheckAdministratorInstDP ${LANG_KOREAN} "ġ Ȯ Դϴ... " -LangString CheckAdministratorInstMB ${LANG_KOREAN} " մԡ Դϴ. ġϱ ؼ ڡ ؾ մϴ." - -; checkifadministrator function (uninstall) -LangString CheckAdministratorUnInstDP ${LANG_KOREAN} " Ȯ Դϴ. " -LangString CheckAdministratorUnInstMB ${LANG_KOREAN} " մԡ Դϴ. ϱ ؼ ڡ ؾ մϴ. " - -; checkifalreadycurrent -LangString CheckIfCurrentMB ${LANG_KOREAN} " ${VERSION_LONG} ̹ ġǾ ֽϴ. ٽ ġϽðڽϱ? " - -; closesecondlife function (install) -LangString CloseSecondLifeInstDP ${LANG_KOREAN} " ߡ " -LangString CloseSecondLifeInstMB ${LANG_KOREAN} " ̹ ۵ ġ ϴ. ۾ ߰ ȮΡ ϱ ٶϴ. ġ Ϸ ҡ ." - -; closesecondlife function (uninstall) -LangString CloseSecondLifeUnInstDP ${LANG_KOREAN} " ߡ" -LangString CloseSecondLifeUnInstMB ${LANG_KOREAN} " ̹ ۵ Ÿ ϴ. ۾ ߰ ȮΡ ϱ ٶϴ. ġ Ϸ ҡ . " - -; removecachefiles -LangString RemoveCacheFilesDP ${LANG_KOREAN} " Documents and Settings ij ϵ ϴ." - -; delete program files -LangString DeleteProgramFilesMB ${LANG_KOREAN} " α׷ 丮 ϵ ֽϴ. ϵ ڰ ͵̰ų$\n$INSTDIR$\n$\n ̵ ϵ ֽϴ. ϵ ϰڽϱ?" - -; uninstall text -LangString UninstallTextMsg ${LANG_KOREAN} "${VERSION_LONG} ýۿ մϴ." +; First is default +LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf" + +; subtitle on license text caption +LangString LicenseSubTitleUpdate ${LANG_KOREAN} "Ʈ" +LangString LicenseSubTitleSetup ${LANG_KOREAN} " ġϱ" + +; description on license page +LangString LicenseDescUpdate ${LANG_KOREAN} " Ű ${VERSION_LONG}. Ʈ մϴ. " +LangString LicenseDescSetup ${LANG_KOREAN} " Ű ǻͿ ġմϴ." +LangString LicenseDescNext ${LANG_KOREAN} "" + +; installation directory text +LangString DirectoryChooseTitle ${LANG_KOREAN} "ġ 丮" +LangString DirectoryChooseUpdate ${LANG_KOREAN} " Ʈ 丮 ϼ. " +LangString DirectoryChooseSetup ${LANG_KOREAN} " ġ 丮 ϼ:" + +; CheckStartupParams message box +LangString CheckStartupParamsMB ${LANG_KOREAN} " $INSTPROG α׷ ã ߽ϴ. ڵ Ʈ ߽ϴ." + +; installation success dialog +LangString InstSuccesssQuestion ${LANG_KOREAN} " ϰڽϱ?" + +; remove old NSIS version +LangString RemoveOldNSISVersion ${LANG_KOREAN} " ã ֽϴ١ " + +; check windows version +LangString CheckWindowsVersionDP ${LANG_KOREAN} " Ȯϰ ֽϴ." +LangString CheckWindowsVersionMB ${LANG_KOREAN} " XP, 2000, ׸ OS X մϴ. $R0 ġ õϸ ۵ н Ͼ ֽϴ. ġϰڽϱ? " + +; checkifadministrator function (install) +LangString CheckAdministratorInstDP ${LANG_KOREAN} "ġ Ȯ Դϴ... " +LangString CheckAdministratorInstMB ${LANG_KOREAN} " մԡ Դϴ. ġϱ ؼ ڡ ؾ մϴ." + +; checkifadministrator function (uninstall) +LangString CheckAdministratorUnInstDP ${LANG_KOREAN} " Ȯ Դϴ. " +LangString CheckAdministratorUnInstMB ${LANG_KOREAN} " մԡ Դϴ. ϱ ؼ ڡ ؾ մϴ. " + +; checkifalreadycurrent +LangString CheckIfCurrentMB ${LANG_KOREAN} " ${VERSION_LONG} ̹ ġǾ ֽϴ. ٽ ġϽðڽϱ? " + +; closeimprudence function (install) +LangString CloseSecondLifeInstDP ${LANG_KOREAN} " ߡ " +LangString CloseSecondLifeInstMB ${LANG_KOREAN} " ̹ ۵ ġ ϴ. ۾ ߰ ȮΡ ϱ ٶϴ. ġ Ϸ ҡ ." + +; closeimprudence function (uninstall) +LangString CloseSecondLifeUnInstDP ${LANG_KOREAN} " ߡ" +LangString CloseSecondLifeUnInstMB ${LANG_KOREAN} " ̹ ۵ Ÿ ϴ. ۾ ߰ ȮΡ ϱ ٶϴ. ġ Ϸ ҡ . " + +; removecachefiles +LangString RemoveCacheFilesDP ${LANG_KOREAN} " Documents and Settings ij ϵ ϴ." + +; delete program files +LangString DeleteProgramFilesMB ${LANG_KOREAN} " α׷ 丮 ϵ ֽϴ. ϵ ڰ ͵̰ų$\n$INSTDIR$\n$\n ̵ ϵ ֽϴ. ϵ ϰڽϱ?" + +; uninstall text +LangString UninstallTextMsg ${LANG_KOREAN} "${VERSION_LONG} ýۿ մϴ." diff --git a/linden/indra/newview/res/viewerRes.rc b/linden/indra/newview/res/viewerRes.rc index a39bb9f..2082405 100644 --- a/linden/indra/newview/res/viewerRes.rc +++ b/linden/indra/newview/res/viewerRes.rc @@ -1,288 +1,288 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#ifdef IDC_STATIC -#undef IDC_STATIC -#endif -#define IDC_STATIC (-1) -#include "winresrc.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -// Commented out because it only compiles if you have MFC installed. -//#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_LL_ICON ICON "ll_icon.ico" -IDI_INSTALL_ICON ICON "install_icon.ico" -IDI_LCD_LL_ICON ICON "icon1.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -CONNECTBOX DIALOGEX 32, 32, 187, 246 -STYLE DS_SETFONT | DS_SETFOREGROUND | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | - WS_VISIBLE | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN - CONTROL 149,IDC_STATIC,"Static",SS_BITMAP,0,0,187,246 - EDITTEXT IDC_EDIT_FIRSTNAME,9,180,80,13,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_LASTNAME,98,180,80,13,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_PASSWORD,9,210,80,13,ES_PASSWORD | - ES_AUTOHSCROLL - CONTROL "Remember password",IDC_REMEMBER_PASSWORD,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,9,229,80,10 - DEFPUSHBUTTON "Connect...",IDOK,98,210,80,13 - CONTROL "Full screen",IDC_FULL_SCREEN,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,100,229,50,10 - COMBOBOX IDC_COMBO_SERVER,98,6,84,30,CBS_DROPDOWNLIST | CBS_SORT | - WS_VSCROLL | WS_TABSTOP -END - -CONNECTBOXIP DIALOG 32, 32, 282, 174 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | - WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - LTEXT "First name:",IDC_STATIC_FIRSTNAME,152,24,36,10,NOT - WS_GROUP - EDITTEXT IDC_EDIT_FIRSTNAME,152,37,58,13,ES_AUTOHSCROLL - LTEXT "Last name:",IDC_STATIC_LASTNAME,218,24,38,10,NOT - WS_GROUP - EDITTEXT IDC_EDIT_LASTNAME,218,37,57,13,ES_AUTOHSCROLL - LTEXT "Password:",IDC_STATIC_PASSWORD,152,55,38,10 - EDITTEXT IDC_EDIT_PASSWORD,152,71,123,13,ES_PASSWORD | - ES_AUTOHSCROLL - CONTROL "Remember password for next time",IDC_REMEMBER_PASSWORD, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,84,123,10 - LTEXT "Return to:",IDC_STATIC,152,97,32,8 - CONTROL "Last location",IDC_RADIO_LAST,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,152,109,56,10 - CONTROL "Home",IDC_RADIO_HOME,"Button",BS_AUTORADIOBUTTON | - WS_TABSTOP,218,109,35,10 - LTEXT "Server:",IDC_STATIC_SERVER,152,119,38,10,NOT WS_GROUP - COMBOBOX IDC_COMBO_SERVER,152,134,88,43,CBS_DROPDOWN | WS_VSCROLL | - WS_TABSTOP - PUSHBUTTON "Quit",IDCANCEL,152,152,50,14 - DEFPUSHBUTTON "Connect...",IDOK,225,152,50,14 - CONTROL 140,IDB_BITMAP1,"Static",SS_BITMAP,8,7,133,157 - LTEXT "Connect to Second Life",IDC_STATIC,152,7,78,8 -END - -SPLASHSCREEN DIALOG 32, 32, 144, 34 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 - LTEXT "Loading Second Life...",666,36,13,91,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - "CONNECTBOX", DIALOG - BEGIN - LEFTMARGIN, 8 - RIGHTMARGIN, 180 - VERTGUIDE, 152 - TOPMARGIN, 7 - BOTTOMMARGIN, 239 - HORZGUIDE, 44 - HORZGUIDE, 57 - HORZGUIDE, 123 - END - - "CONNECTBOXIP", DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 275 - VERTGUIDE, 152 - VERTGUIDE, 218 - TOPMARGIN, 7 - BOTTOMMARGIN, 166 - HORZGUIDE, 12 - HORZGUIDE, 17 - HORZGUIDE, 24 - HORZGUIDE, 50 - HORZGUIDE, 55 - HORZGUIDE, 84 - HORZGUIDE, 105 - HORZGUIDE, 119 - END - - "SPLASHSCREEN", DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 137 - VERTGUIDE, 36 - TOPMARGIN, 7 - BOTTOMMARGIN, 27 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU1 MENU -BEGIN - POPUP "testmenu" - BEGIN - MENUITEM "test", ID_TESTMENU_TEST - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Cursor -// - -TOOLGRAB CURSOR "lltoolgrab.cur" -TOOLLAND CURSOR "lltoolland.cur" -TOOLZOOMIN CURSOR "lltoolzoomin.cur" -TOOLCREATE CURSOR "lltoolcreate.cur" -ARROWDRAG CURSOR "llarrowdrag.cur" -ARROW CURSOR "llarrow.cur" -NOLOCKED CURSOR "llnolocked.cur" -ARROWLOCKED CURSOR "llarrowlocked.cur" -GRABLOCKED CURSOR "llgrablocked.cur" -TOOLROTATE CURSOR "lltoolrotate.cur" -TOOLTRANSLATE CURSOR "lltooltranslate.cur" -TOOLSCALE CURSOR "lltoolscale.cur" -TOOLCAMERA CURSOR "lltoolcamera.cur" -TOOLPAN CURSOR "lltoolpan.cur" -TOOLFOCUS CURSOR "lltoolfocus.cur" -TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" -ARROWCOPY CURSOR "arrowcop.cur" -ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" -ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" -TOOLSIT CURSOR "toolsit.cur" -TOOLBUY CURSOR "toolbuy.cur" -TOOLPAY CURSOR "toolpay.cur" -TOOLOPEN CURSOR "toolopen.cur" -TOOLPIPETTE CURSOR "toolpipette.cur" -TOOLPLAY CURSOR "toolplay.cur" -TOOLPAUSE CURSOR "toolpause.cur" -TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,20,9,87416 - PRODUCTVERSION 1,20,9,87416 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Linden Lab" - VALUE "FileDescription", "Second Life" - VALUE "FileVersion", "1.20.9.87416" - VALUE "InternalName", "Second Life" - VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." - VALUE "OriginalFilename", "SecondLife.exe" - VALUE "ProductName", "Second Life" - VALUE "ProductVersion", "1.20.9.87416" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_BITMAP2 BITMAP "bitmap2.bmp" -IDB_LOGIN BITMAP "loginbackground.bmp" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#ifdef IDC_STATIC +#undef IDC_STATIC +#endif +#define IDC_STATIC (-1) +#include "winresrc.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +// Commented out because it only compiles if you have MFC installed. +//#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_LL_ICON ICON "ll_icon.ico" +IDI_INSTALL_ICON ICON "install_icon.ico" +IDI_LCD_LL_ICON ICON "icon1.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +CONNECTBOX DIALOGEX 32, 32, 187, 246 +STYLE DS_SETFONT | DS_SETFOREGROUND | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | + WS_VISIBLE | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + CONTROL 149,IDC_STATIC,"Static",SS_BITMAP,0,0,187,246 + EDITTEXT IDC_EDIT_FIRSTNAME,9,180,80,13,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_LASTNAME,98,180,80,13,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_PASSWORD,9,210,80,13,ES_PASSWORD | + ES_AUTOHSCROLL + CONTROL "Remember password",IDC_REMEMBER_PASSWORD,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,9,229,80,10 + DEFPUSHBUTTON "Connect...",IDOK,98,210,80,13 + CONTROL "Full screen",IDC_FULL_SCREEN,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,100,229,50,10 + COMBOBOX IDC_COMBO_SERVER,98,6,84,30,CBS_DROPDOWNLIST | CBS_SORT | + WS_VSCROLL | WS_TABSTOP +END + +CONNECTBOXIP DIALOG 32, 32, 282, 174 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | + WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "First name:",IDC_STATIC_FIRSTNAME,152,24,36,10,NOT + WS_GROUP + EDITTEXT IDC_EDIT_FIRSTNAME,152,37,58,13,ES_AUTOHSCROLL + LTEXT "Last name:",IDC_STATIC_LASTNAME,218,24,38,10,NOT + WS_GROUP + EDITTEXT IDC_EDIT_LASTNAME,218,37,57,13,ES_AUTOHSCROLL + LTEXT "Password:",IDC_STATIC_PASSWORD,152,55,38,10 + EDITTEXT IDC_EDIT_PASSWORD,152,71,123,13,ES_PASSWORD | + ES_AUTOHSCROLL + CONTROL "Remember password for next time",IDC_REMEMBER_PASSWORD, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,84,123,10 + LTEXT "Return to:",IDC_STATIC,152,97,32,8 + CONTROL "Last location",IDC_RADIO_LAST,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,152,109,56,10 + CONTROL "Home",IDC_RADIO_HOME,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,218,109,35,10 + LTEXT "Server:",IDC_STATIC_SERVER,152,119,38,10,NOT WS_GROUP + COMBOBOX IDC_COMBO_SERVER,152,134,88,43,CBS_DROPDOWN | WS_VSCROLL | + WS_TABSTOP + PUSHBUTTON "Quit",IDCANCEL,152,152,50,14 + DEFPUSHBUTTON "Connect...",IDOK,225,152,50,14 + CONTROL 140,IDB_BITMAP1,"Static",SS_BITMAP,8,7,133,157 + LTEXT "Connect to Second Life",IDC_STATIC,152,7,78,8 +END + +SPLASHSCREEN DIALOG 32, 32, 144, 34 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 + LTEXT "Loading Second Life...",666,36,13,91,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + "CONNECTBOX", DIALOG + BEGIN + LEFTMARGIN, 8 + RIGHTMARGIN, 180 + VERTGUIDE, 152 + TOPMARGIN, 7 + BOTTOMMARGIN, 239 + HORZGUIDE, 44 + HORZGUIDE, 57 + HORZGUIDE, 123 + END + + "CONNECTBOXIP", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 275 + VERTGUIDE, 152 + VERTGUIDE, 218 + TOPMARGIN, 7 + BOTTOMMARGIN, 166 + HORZGUIDE, 12 + HORZGUIDE, 17 + HORZGUIDE, 24 + HORZGUIDE, 50 + HORZGUIDE, 55 + HORZGUIDE, 84 + HORZGUIDE, 105 + HORZGUIDE, 119 + END + + "SPLASHSCREEN", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 137 + VERTGUIDE, 36 + TOPMARGIN, 7 + BOTTOMMARGIN, 27 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU +BEGIN + POPUP "testmenu" + BEGIN + MENUITEM "test", ID_TESTMENU_TEST + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Cursor +// + +TOOLGRAB CURSOR "lltoolgrab.cur" +TOOLLAND CURSOR "lltoolland.cur" +TOOLZOOMIN CURSOR "lltoolzoomin.cur" +TOOLCREATE CURSOR "lltoolcreate.cur" +ARROWDRAG CURSOR "llarrowdrag.cur" +ARROW CURSOR "llarrow.cur" +NOLOCKED CURSOR "llnolocked.cur" +ARROWLOCKED CURSOR "llarrowlocked.cur" +GRABLOCKED CURSOR "llgrablocked.cur" +TOOLROTATE CURSOR "lltoolrotate.cur" +TOOLTRANSLATE CURSOR "lltooltranslate.cur" +TOOLSCALE CURSOR "lltoolscale.cur" +TOOLCAMERA CURSOR "lltoolcamera.cur" +TOOLPAN CURSOR "lltoolpan.cur" +TOOLFOCUS CURSOR "lltoolfocus.cur" +TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" +ARROWCOPY CURSOR "arrowcop.cur" +ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" +ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" +TOOLSIT CURSOR "toolsit.cur" +TOOLBUY CURSOR "toolbuy.cur" +TOOLPAY CURSOR "toolpay.cur" +TOOLOPEN CURSOR "toolopen.cur" +TOOLPIPETTE CURSOR "toolpipette.cur" +TOOLPLAY CURSOR "toolplay.cur" +TOOLPAUSE CURSOR "toolpause.cur" +TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,20,9,87416 + PRODUCTVERSION 1,20,9,87416 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Imprudence Viewer Project" + VALUE "FileDescription", "Imprudence" + VALUE "FileVersion", "1.0.0" + VALUE "InternalName", "Imprudence" + VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." + VALUE "OriginalFilename", "Imprudence.exe" + VALUE "ProductName", "Imprudence" + VALUE "ProductVersion", "1.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BITMAP2 BITMAP "bitmap2.bmp" +IDB_LOGIN BITMAP "loginbackground.bmp" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/linden/indra/win_updater/updater.cpp b/linden/indra/win_updater/updater.cpp index 5ea4695..9b99f91 100644 --- a/linden/indra/win_updater/updater.cpp +++ b/linden/indra/win_updater/updater.cpp @@ -376,7 +376,7 @@ WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nSho } else { - mbstowcs(window_title, "Second Life Updater", 2048); + mbstowcs(window_title, "Imprudence Updater", 2048); } WNDCLASSEX wndclassex = { 0 }; @@ -469,11 +469,11 @@ WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nSho if (gTotalBytesRead < (1024 * 1024) && ! cancelled) { MessageBox(gWindow, - L"The Second Life auto-update has failed.\n" + L"The Imprudence auto-update has failed.\n" L"The problem may be caused by other software installed \n" L"on your computer, such as a firewall.\n" - L"Please visit http://secondlife.com/download/ \n" - L"to download the latest version of Second Life.\n", + L"Please visit http://imprudenceviewer.org/download/ \n" + L"to download the latest version of Imprudence.\n", NULL, MB_OK); return 1; } @@ -487,7 +487,7 @@ WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nSho if (!success) { MessageBox(gWindow, - L"Second Life download failed.\n" + L"Imprudence download failed.\n" L"Please try again later.", NULL, MB_OK); return 1; -- cgit v1.1 From 0a46bec8af4083b86e35a79f07db38c3eeaec983 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Fri, 17 Oct 2008 15:08:28 -0700 Subject: rebranding compiled --- linden/indra/newview/llappviewer.cpp | 2 +- linden/indra/newview/res/viewerRes.rc | 576 ++++++++++----------- .../skins/default/xui/en-us/panel_groups.xml | 78 +-- 3 files changed, 328 insertions(+), 328 deletions(-) diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 5b3e38d..1e3e142 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -308,7 +308,7 @@ const char *VFS_INDEX_FILE_BASE = "index.db2.x."; static std::string gSecondLife; static std::string gWindowTitle; #ifdef LL_WINDOWS - static char sWindowClass[] = IMP_VIEWER_NAME; + static char sWindowClass[] = "Imprudence"; #endif std::string gLoginPage; diff --git a/linden/indra/newview/res/viewerRes.rc b/linden/indra/newview/res/viewerRes.rc index 2082405..002830a 100644 --- a/linden/indra/newview/res/viewerRes.rc +++ b/linden/indra/newview/res/viewerRes.rc @@ -1,288 +1,288 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#ifdef IDC_STATIC -#undef IDC_STATIC -#endif -#define IDC_STATIC (-1) -#include "winresrc.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -// Commented out because it only compiles if you have MFC installed. -//#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_LL_ICON ICON "ll_icon.ico" -IDI_INSTALL_ICON ICON "install_icon.ico" -IDI_LCD_LL_ICON ICON "icon1.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -CONNECTBOX DIALOGEX 32, 32, 187, 246 -STYLE DS_SETFONT | DS_SETFOREGROUND | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | - WS_VISIBLE | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Sans Serif", 0, 0, 0x0 -BEGIN - CONTROL 149,IDC_STATIC,"Static",SS_BITMAP,0,0,187,246 - EDITTEXT IDC_EDIT_FIRSTNAME,9,180,80,13,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_LASTNAME,98,180,80,13,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_PASSWORD,9,210,80,13,ES_PASSWORD | - ES_AUTOHSCROLL - CONTROL "Remember password",IDC_REMEMBER_PASSWORD,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,9,229,80,10 - DEFPUSHBUTTON "Connect...",IDOK,98,210,80,13 - CONTROL "Full screen",IDC_FULL_SCREEN,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,100,229,50,10 - COMBOBOX IDC_COMBO_SERVER,98,6,84,30,CBS_DROPDOWNLIST | CBS_SORT | - WS_VSCROLL | WS_TABSTOP -END - -CONNECTBOXIP DIALOG 32, 32, 282, 174 -STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | - WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - LTEXT "First name:",IDC_STATIC_FIRSTNAME,152,24,36,10,NOT - WS_GROUP - EDITTEXT IDC_EDIT_FIRSTNAME,152,37,58,13,ES_AUTOHSCROLL - LTEXT "Last name:",IDC_STATIC_LASTNAME,218,24,38,10,NOT - WS_GROUP - EDITTEXT IDC_EDIT_LASTNAME,218,37,57,13,ES_AUTOHSCROLL - LTEXT "Password:",IDC_STATIC_PASSWORD,152,55,38,10 - EDITTEXT IDC_EDIT_PASSWORD,152,71,123,13,ES_PASSWORD | - ES_AUTOHSCROLL - CONTROL "Remember password for next time",IDC_REMEMBER_PASSWORD, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,84,123,10 - LTEXT "Return to:",IDC_STATIC,152,97,32,8 - CONTROL "Last location",IDC_RADIO_LAST,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,152,109,56,10 - CONTROL "Home",IDC_RADIO_HOME,"Button",BS_AUTORADIOBUTTON | - WS_TABSTOP,218,109,35,10 - LTEXT "Server:",IDC_STATIC_SERVER,152,119,38,10,NOT WS_GROUP - COMBOBOX IDC_COMBO_SERVER,152,134,88,43,CBS_DROPDOWN | WS_VSCROLL | - WS_TABSTOP - PUSHBUTTON "Quit",IDCANCEL,152,152,50,14 - DEFPUSHBUTTON "Connect...",IDOK,225,152,50,14 - CONTROL 140,IDB_BITMAP1,"Static",SS_BITMAP,8,7,133,157 - LTEXT "Connect to Second Life",IDC_STATIC,152,7,78,8 -END - -SPLASHSCREEN DIALOG 32, 32, 144, 34 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 - LTEXT "Loading Second Life...",666,36,13,91,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - "CONNECTBOX", DIALOG - BEGIN - LEFTMARGIN, 8 - RIGHTMARGIN, 180 - VERTGUIDE, 152 - TOPMARGIN, 7 - BOTTOMMARGIN, 239 - HORZGUIDE, 44 - HORZGUIDE, 57 - HORZGUIDE, 123 - END - - "CONNECTBOXIP", DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 275 - VERTGUIDE, 152 - VERTGUIDE, 218 - TOPMARGIN, 7 - BOTTOMMARGIN, 166 - HORZGUIDE, 12 - HORZGUIDE, 17 - HORZGUIDE, 24 - HORZGUIDE, 50 - HORZGUIDE, 55 - HORZGUIDE, 84 - HORZGUIDE, 105 - HORZGUIDE, 119 - END - - "SPLASHSCREEN", DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 137 - VERTGUIDE, 36 - TOPMARGIN, 7 - BOTTOMMARGIN, 27 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU1 MENU -BEGIN - POPUP "testmenu" - BEGIN - MENUITEM "test", ID_TESTMENU_TEST - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Cursor -// - -TOOLGRAB CURSOR "lltoolgrab.cur" -TOOLLAND CURSOR "lltoolland.cur" -TOOLZOOMIN CURSOR "lltoolzoomin.cur" -TOOLCREATE CURSOR "lltoolcreate.cur" -ARROWDRAG CURSOR "llarrowdrag.cur" -ARROW CURSOR "llarrow.cur" -NOLOCKED CURSOR "llnolocked.cur" -ARROWLOCKED CURSOR "llarrowlocked.cur" -GRABLOCKED CURSOR "llgrablocked.cur" -TOOLROTATE CURSOR "lltoolrotate.cur" -TOOLTRANSLATE CURSOR "lltooltranslate.cur" -TOOLSCALE CURSOR "lltoolscale.cur" -TOOLCAMERA CURSOR "lltoolcamera.cur" -TOOLPAN CURSOR "lltoolpan.cur" -TOOLFOCUS CURSOR "lltoolfocus.cur" -TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" -ARROWCOPY CURSOR "arrowcop.cur" -ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" -ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" -TOOLSIT CURSOR "toolsit.cur" -TOOLBUY CURSOR "toolbuy.cur" -TOOLPAY CURSOR "toolpay.cur" -TOOLOPEN CURSOR "toolopen.cur" -TOOLPIPETTE CURSOR "toolpipette.cur" -TOOLPLAY CURSOR "toolplay.cur" -TOOLPAUSE CURSOR "toolpause.cur" -TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,20,9,87416 - PRODUCTVERSION 1,20,9,87416 - FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x40004L - FILETYPE 0x1L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Imprudence Viewer Project" - VALUE "FileDescription", "Imprudence" - VALUE "FileVersion", "1.0.0" - VALUE "InternalName", "Imprudence" - VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." - VALUE "OriginalFilename", "Imprudence.exe" - VALUE "ProductName", "Imprudence" - VALUE "ProductVersion", "1.0.0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_BITMAP2 BITMAP "bitmap2.bmp" -IDB_LOGIN BITMAP "loginbackground.bmp" -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#ifdef IDC_STATIC +#undef IDC_STATIC +#endif +#define IDC_STATIC (-1) +#include "winresrc.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +// Commented out because it only compiles if you have MFC installed. +//#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_LL_ICON ICON "ll_icon.ico" +IDI_INSTALL_ICON ICON "install_icon.ico" +IDI_LCD_LL_ICON ICON "icon1.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +CONNECTBOX DIALOGEX 32, 32, 187, 246 +STYLE DS_SETFONT | DS_SETFOREGROUND | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | + WS_VISIBLE | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Sans Serif", 0, 0, 0x0 +BEGIN + CONTROL 149,IDC_STATIC,"Static",SS_BITMAP,0,0,187,246 + EDITTEXT IDC_EDIT_FIRSTNAME,9,180,80,13,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_LASTNAME,98,180,80,13,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_PASSWORD,9,210,80,13,ES_PASSWORD | + ES_AUTOHSCROLL + CONTROL "Remember password",IDC_REMEMBER_PASSWORD,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,9,229,80,10 + DEFPUSHBUTTON "Connect...",IDOK,98,210,80,13 + CONTROL "Full screen",IDC_FULL_SCREEN,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,100,229,50,10 + COMBOBOX IDC_COMBO_SERVER,98,6,84,30,CBS_DROPDOWNLIST | CBS_SORT | + WS_VSCROLL | WS_TABSTOP +END + +CONNECTBOXIP DIALOG 32, 32, 282, 174 +STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | + WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "First name:",IDC_STATIC_FIRSTNAME,152,24,36,10,NOT + WS_GROUP + EDITTEXT IDC_EDIT_FIRSTNAME,152,37,58,13,ES_AUTOHSCROLL + LTEXT "Last name:",IDC_STATIC_LASTNAME,218,24,38,10,NOT + WS_GROUP + EDITTEXT IDC_EDIT_LASTNAME,218,37,57,13,ES_AUTOHSCROLL + LTEXT "Password:",IDC_STATIC_PASSWORD,152,55,38,10 + EDITTEXT IDC_EDIT_PASSWORD,152,71,123,13,ES_PASSWORD | + ES_AUTOHSCROLL + CONTROL "Remember password for next time",IDC_REMEMBER_PASSWORD, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,152,84,123,10 + LTEXT "Return to:",IDC_STATIC,152,97,32,8 + CONTROL "Last location",IDC_RADIO_LAST,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,152,109,56,10 + CONTROL "Home",IDC_RADIO_HOME,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,218,109,35,10 + LTEXT "Server:",IDC_STATIC_SERVER,152,119,38,10,NOT WS_GROUP + COMBOBOX IDC_COMBO_SERVER,152,134,88,43,CBS_DROPDOWN | WS_VSCROLL | + WS_TABSTOP + PUSHBUTTON "Quit",IDCANCEL,152,152,50,14 + DEFPUSHBUTTON "Connect...",IDOK,225,152,50,14 + CONTROL 140,IDB_BITMAP1,"Static",SS_BITMAP,8,7,133,157 + LTEXT "Connect to Second Life",IDC_STATIC,152,7,78,8 +END + +SPLASHSCREEN DIALOG 32, 32, 144, 34 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20 + LTEXT "Loading Second Life...",666,36,13,91,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + "CONNECTBOX", DIALOG + BEGIN + LEFTMARGIN, 8 + RIGHTMARGIN, 180 + VERTGUIDE, 152 + TOPMARGIN, 7 + BOTTOMMARGIN, 239 + HORZGUIDE, 44 + HORZGUIDE, 57 + HORZGUIDE, 123 + END + + "CONNECTBOXIP", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 275 + VERTGUIDE, 152 + VERTGUIDE, 218 + TOPMARGIN, 7 + BOTTOMMARGIN, 166 + HORZGUIDE, 12 + HORZGUIDE, 17 + HORZGUIDE, 24 + HORZGUIDE, 50 + HORZGUIDE, 55 + HORZGUIDE, 84 + HORZGUIDE, 105 + HORZGUIDE, 119 + END + + "SPLASHSCREEN", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 137 + VERTGUIDE, 36 + TOPMARGIN, 7 + BOTTOMMARGIN, 27 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU1 MENU +BEGIN + POPUP "testmenu" + BEGIN + MENUITEM "test", ID_TESTMENU_TEST + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Cursor +// + +TOOLGRAB CURSOR "lltoolgrab.cur" +TOOLLAND CURSOR "lltoolland.cur" +TOOLZOOMIN CURSOR "lltoolzoomin.cur" +TOOLCREATE CURSOR "lltoolcreate.cur" +ARROWDRAG CURSOR "llarrowdrag.cur" +ARROW CURSOR "llarrow.cur" +NOLOCKED CURSOR "llnolocked.cur" +ARROWLOCKED CURSOR "llarrowlocked.cur" +GRABLOCKED CURSOR "llgrablocked.cur" +TOOLROTATE CURSOR "lltoolrotate.cur" +TOOLTRANSLATE CURSOR "lltooltranslate.cur" +TOOLSCALE CURSOR "lltoolscale.cur" +TOOLCAMERA CURSOR "lltoolcamera.cur" +TOOLPAN CURSOR "lltoolpan.cur" +TOOLFOCUS CURSOR "lltoolfocus.cur" +TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur" +ARROWCOPY CURSOR "arrowcop.cur" +ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur" +ARROWCOPYMULTI CURSOR "arrowcopmulti.cur" +TOOLSIT CURSOR "toolsit.cur" +TOOLBUY CURSOR "toolbuy.cur" +TOOLPAY CURSOR "toolpay.cur" +TOOLOPEN CURSOR "toolopen.cur" +TOOLPIPETTE CURSOR "toolpipette.cur" +TOOLPLAY CURSOR "toolplay.cur" +TOOLPAUSE CURSOR "toolpause.cur" +TOOLMEDIAOPEN CURSOR "toolmediaopen.cur" + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,20,9,87416 + PRODUCTVERSION 1,20,9,87416 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Imprudence Viewer Project" + VALUE "FileDescription", "Imprudence" + VALUE "FileVersion", "1.0.0" + VALUE "InternalName", "Imprudence" + VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." + VALUE "OriginalFilename", "Imprudence.exe" + VALUE "ProductName", "Imprudence" + VALUE "ProductVersion", "1.0.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BITMAP2 BITMAP "bitmap2.bmp" +IDB_LOGIN BITMAP "loginbackground.bmp" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_groups.xml b/linden/indra/newview/skins/default/xui/en-us/panel_groups.xml index 02d5504..6fa099e 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_groups.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_groups.xml @@ -1,39 +1,39 @@ - - - - - - - Your currently active group is displayed in bold. - - - You belong to [COUNT] groups (of [MAX] maximum). - - -