diff --git a/.gitignore b/.gitignore index 3924158bb..a524cdae3 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,6 @@ linden/indra/newview/character/ linden/indra/newview/app_settings/*.db2 linden/indra/newview/app_settings/windlight/ linden/indra/newview/cursors_mac/ -linden/indra/newview/viewer.icns linden/indra/newview/installers/windows/README.txt linden/indra/newview/installers/windows/* linden/indra/newview/res/imp_icon.ico #no. diff --git a/linden/indra/cmake/Boost.cmake b/linden/indra/cmake/Boost.cmake index 77416159f..2e186176c 100644 --- a/linden/indra/cmake/Boost.cmake +++ b/linden/indra/cmake/Boost.cmake @@ -14,7 +14,7 @@ else (STANDALONE) set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) if (WINDOWS) - set(BOOST_VERSION 1_36) + set(BOOST_VERSION 1_43) if (MSVC80) set(BOOST_PROGRAM_OPTIONS_LIBRARY optimized libboost_program_options-vc80-mt-${BOOST_VERSION} @@ -37,9 +37,16 @@ else (STANDALONE) debug libboost_signals-vc90-mt-gd-${BOOST_VERSION}) endif (MSVC80) elseif (DARWIN) - set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt) - set(BOOST_REGEX_LIBRARY boost_regex-mt) - set(BOOST_SIGNALS_LIBRARY boost_signals-mt) + set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options) + set(BOOST_REGEX_LIBRARY boost_regex) + set(BOOST_PYTHON_LIBRARY boost_python) + set(BOOST_SIGNALS_LIBRARY boost_signals) + set(BOOST_WAVE_LIBRARY boost_wave) + set(BOOST_SYSTEM_LIBRARY boost_system) + set(BOOST_FILESYSTEM_LIBRARY boost_filesystem) + set(BOOST_IOSTREAMS_LIBRARY boost_iostreams) + set(BOOST_DATE_TIME_LIBRARY boost_date_time) + set(BOOST_THREAD_LIBRARY boost_thread) elseif (LINUX) set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt) set(BOOST_REGEX_LIBRARY boost_regex-mt) diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake index f5846891b..4ab4fc12f 100644 --- a/linden/indra/cmake/CopyWinLibs.cmake +++ b/linden/indra/cmake/CopyWinLibs.cmake @@ -255,7 +255,7 @@ set(all_targets ${all_targets} ${out_targets}) # *TODO - Adapt this to support VC9 FIND_PATH(debug_msvc8_redist_path msvcr80d.dll PATHS - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT NO_DEFAULT_PATH NO_DEFAULT_PATH ) @@ -285,14 +285,14 @@ if(EXISTS ${debug_msvc8_redist_path}) ${CMAKE_CURRENT_SOURCE_DIR}/ImprudenceDebug.exe.config ${debug_appconfig_file} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Debug/Microsoft.VC80.DebugCRT.manifest - COMMENT "Creating debug app config file" + COMMENT "Creating debug app config file ${debug_appconfig_file}" ) endif (EXISTS ${debug_msvc8_redist_path}) FIND_PATH(release_msvc8_redist_path msvcr80.dll PATHS - [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT + [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\8.0\\Setup\\VC;ProductDir]/redist/x86/Microsoft.VC80.CRT NO_DEFAULT_PATH NO_DEFAULT_PATH ) diff --git a/linden/indra/develop.py b/linden/indra/develop.py index 37dcc6dc9..fe54058c5 100755 --- a/linden/indra/develop.py +++ b/linden/indra/develop.py @@ -490,8 +490,15 @@ def _get_generator(self): print 'Building with ', self.gens[version]['gen'] break else: - print >> sys.stderr, 'Cannot find a Visual Studio installation!' - sys.exit(1) + print >> sys.stderr, 'Cannot find a Visual Studio installation, testing for express editions' + for version in 'vc80 vc90 vc100 vc71'.split(): + if self.find_visual_studio_express(version): + self._generator = version + print 'Building with ', self.gens[version]['gen'] , "Express edition" + break + else: + print >> sys.stderr, 'Cannot find any Visual Studio installation' + eys.exit(1) return self._generator def _set_generator(self, gen): @@ -530,6 +537,28 @@ def get_HKLM_registry_value(self, key_str, value_str): value = _winreg.QueryValueEx(key, value_str)[0] print 'Found: %s' % value return value + + def find_visual_studio_express(self, gen=None): + if gen is None: + gen = self._generator + gen = gen.lower() + try: + import _winreg + key_str = (r'SOFTWARE\Microsoft\VCExpress\%s\Setup\VC' % + self.gens[gen]['ver']) + value_str = (r'ProductDir') + print ('Reading VS environment from HKEY_LOCAL_MACHINE\%s\%s' % + (key_str, value_str)) + print key_str + + reg = _winreg.ConnectRegistry(None, _winreg.HKEY_LOCAL_MACHINE) + key = _winreg.OpenKey(reg, key_str) + value = _winreg.QueryValueEx(key, value_str)[0]+"IDE" + print 'Found: %s' % value + return value + except WindowsError, err: + print >> sys.stderr, "Didn't find ", self.gens[gen]['gen'] + return '' def find_visual_studio(self, gen=None): if gen is None: @@ -564,7 +593,10 @@ def get_build_cmd(self): return (executable, cmd) # devenv.com is CLI friendly, devenv.exe... not so much. - executable = '%sdevenv.com' % (self.find_visual_studio(),) + environment = self.find_visual_studio() + if environment == '': + environment = self.find_visual_studio_express() + executable = '%sdevenv.com' % (environment,) cmd = ('"%s" %s.sln /build %s' % (executable, self.project_name, self.build_type)) return (executable, cmd) diff --git a/linden/indra/llinventory/llparcel.h b/linden/indra/llinventory/llparcel.h index 8faa673c3..f102ec45a 100644 --- a/linden/indra/llinventory/llparcel.h +++ b/linden/indra/llinventory/llparcel.h @@ -67,6 +67,7 @@ const F32 PARCEL_PASS_HOURS_DEFAULT = 1.f; // Number of "chunks" in which parcel overlay data is sent // Chunk 0 = southern rows, entire width +// NOTE: NOT USABLE FOR VAR SIZED REGIONS! const S32 PARCEL_OVERLAY_CHUNKS = 4; // Bottom three bits are a color index for the land overlay diff --git a/linden/indra/llmessage/message_prehash.cpp b/linden/indra/llmessage/message_prehash.cpp index ecb45bf90..78b9d07ff 100644 --- a/linden/indra/llmessage/message_prehash.cpp +++ b/linden/indra/llmessage/message_prehash.cpp @@ -587,6 +587,8 @@ char* _PREHASH_LastName = LLMessageStringTable::getInstance()->getString("LastNa char* _PREHASH_From = LLMessageStringTable::getInstance()->getString("From"); char* _PREHASH_RoleChange = LLMessageStringTable::getInstance()->getString("RoleChange"); char* _PREHASH_Port = LLMessageStringTable::getInstance()->getString("Port"); +char* _PREHASH_RegionSizeX = LLMessageStringTable::getInstance()->getString("RegionSizeX"); +char* _PREHASH_RegionSizeY = LLMessageStringTable::getInstance()->getString("RegionSizeY"); char* _PREHASH_MemberTitle = LLMessageStringTable::getInstance()->getString("MemberTitle"); char* _PREHASH_LogParcelChanges = LLMessageStringTable::getInstance()->getString("LogParcelChanges"); char* _PREHASH_AgentCachedTextureResponse = LLMessageStringTable::getInstance()->getString("AgentCachedTextureResponse"); diff --git a/linden/indra/llmessage/message_prehash.h b/linden/indra/llmessage/message_prehash.h index 8516483ad..64544ddca 100644 --- a/linden/indra/llmessage/message_prehash.h +++ b/linden/indra/llmessage/message_prehash.h @@ -587,6 +587,8 @@ extern char * _PREHASH_LastName; extern char * _PREHASH_From; extern char * _PREHASH_RoleChange; extern char * _PREHASH_Port; +extern char * _PREHASH_RegionSizeX; +extern char * _PREHASH_RegionSizeY; extern char * _PREHASH_MemberTitle; extern char * _PREHASH_LogParcelChanges; extern char * _PREHASH_AgentCachedTextureResponse; diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index 777e0662b..85497918c 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt @@ -1472,16 +1472,16 @@ if (LINUX) endif (LINUX) if (DARWIN) - set(product "Imprudence") + set(product "Astra Viewer") set_target_properties( ${VIEWER_BINARY_NAME} PROPERTIES OUTPUT_NAME "${product}" MACOSX_BUNDLE_INFO_STRING "info string - localize me" MACOSX_BUNDLE_ICON_FILE "viewer.icns" - MACOSX_BUNDLE_GUI_IDENTIFIER "Imprudence" + MACOSX_BUNDLE_GUI_IDENTIFIER "Astra Viewer" MACOSX_BUNDLE_LONG_VERSION_STRING "ververver" - MACOSX_BUNDLE_BUNDLE_NAME "Imprudence" + MACOSX_BUNDLE_BUNDLE_NAME "Astra Viewer" 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" diff --git a/linden/indra/newview/Microsoft.VC80.CRT.manifest b/linden/indra/newview/Microsoft.VC80.CRT.manifest deleted file mode 100644 index b89cafd78..000000000 --- a/linden/indra/newview/Microsoft.VC80.CRT.manifest +++ /dev/null @@ -1,8 +0,0 @@ - - - - - n9On8FItNsK/DmT8UQxu6jYDtWQ= - 0KJ/VTwP4OUHx98HlIW2AdW1kuY= - YJuB+9Os2oxW4mY+2oC/r8lICZE= - \ No newline at end of file diff --git a/linden/indra/newview/app_settings/default_grids.xml b/linden/indra/newview/app_settings/default_grids.xml index c34ffee27..455f67d34 100644 --- a/linden/indra/newview/app_settings/default_grids.xml +++ b/linden/indra/newview/app_settings/default_grids.xml @@ -9,8 +9,8 @@ gridnickAstraGrid gridnameAstraGrid platformOpenSim - loginurihttp://login.astragrid.com:8003/ - loginpagehttp://astragrid.com/loginscreen.php + loginurihttp://login.astragrid.com:8002/ + loginpagehttp://astragrid.com/loginscreen/ helperurihttp://astragrid.com/index.php?page=help websitehttp://astragrid.com/ supporthttp://astragrid.com/index.php?page=support @@ -21,7 +21,7 @@ - gridnicksecondlife + gridnickSecondLife gridnameSecond Life platformSecondLife loginurihttps://login.agni.lindenlab.com/cgi-bin/login.cgi @@ -150,6 +150,7 @@ version 0 + gridname AuroraGrid diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index cd4e1af91..55a3be360 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -1397,7 +1397,7 @@ Type Boolean Value - 1 + 0 WarnFirstVoiceLicense @@ -1408,7 +1408,7 @@ Type Boolean Value - 1 + 0 WornItemsSortOrder @@ -10677,7 +10677,7 @@ Type Boolean Value - 1 + 0 ShowChatHistory @@ -11054,7 +11054,7 @@ Type Boolean Value - 0 + 1 ShowMovementControls @@ -11065,7 +11065,7 @@ Type Boolean Value - 1 + 0 ShowNearClip diff --git a/linden/indra/newview/exporttracker.cpp b/linden/indra/newview/exporttracker.cpp index f7a3735d7..b779c9387 100644 --- a/linden/indra/newview/exporttracker.cpp +++ b/linden/indra/newview/exporttracker.cpp @@ -1480,7 +1480,7 @@ void JCExportTracker::doexportworker(void *userdata) { //CHECK IF WE'RE DONE if(ExportTrackerFloater::mObjectSelection.empty() && ExportTrackerFloater::mObjectSelectionWaitList.empty() - && (requested_inventory.empty() ||gSavedSettings.getBOOL("ExporterInventoryLater")) + && (requested_inventory.empty())// ||gSavedSettings.getBOOL("ExporterInventoryLater")) && requested_properties.empty() && expected_surrogate_pos.empty()) { gIdleCallbacks.deleteFunction(JCExportTracker::exportworker); @@ -1707,7 +1707,7 @@ void JCExportTracker::doexportworker(void *userdata) //Find an object that has completed export if(((export_properties==FALSE) || (*iter)->mPropertiesRecieved) && - ( ((export_inventory==FALSE) || (*iter)->mInventoryRecieved))|| gSavedSettings.getBOOL("ExporterInventoryLater") ) + ( ((export_inventory==FALSE) || (*iter)->mInventoryRecieved)))//|| gSavedSettings.getBOOL("ExporterInventoryLater") ) { //we have the root properties and inventory now check all children bool got_all_stuff=true; @@ -2472,7 +2472,8 @@ void JCExportTracker::actuallyprocessObjectProperties(LLMessageSystem* msg) { free(req); requested_properties.erase(iter); - mPropertiesReceived++; + if(mStatus == EXPORTING) + mPropertiesReceived++; break; } } diff --git a/linden/indra/newview/floaterao.cpp b/linden/indra/newview/floaterao.cpp index cfad0fb5e..df88d6fbd 100644 --- a/linden/indra/newview/floaterao.cpp +++ b/linden/indra/newview/floaterao.cpp @@ -119,6 +119,9 @@ AOInvTimer::AOInvTimer() : LLEventTimer( (F32)1.0 ) AOInvTimer::~AOInvTimer() { } + +BOOL AOInvTimer::fullfetch = FALSE; + BOOL AOInvTimer::tick() { if (!(gSavedSettings.getBOOL("AOEnabled"))) return TRUE; @@ -129,6 +132,15 @@ BOOL AOInvTimer::tick() // cmdline_printchat("Inventory fetched, loading AO."); LLFloaterAO::init(); return TRUE; + }else + { + //static BOOL startedfetch = FALSE; + if(fullfetch == FALSE) + { + fullfetch = TRUE; + //no choice, can't move the AO till we find it, should only have to happen once + gInventory.startBackgroundFetch(); + } } } return FALSE; diff --git a/linden/indra/newview/floaterao.h b/linden/indra/newview/floaterao.h index cf8ee2252..465f32e5d 100644 --- a/linden/indra/newview/floaterao.h +++ b/linden/indra/newview/floaterao.h @@ -51,6 +51,7 @@ class AOStandTimer : public LLEventTimer class AOInvTimer : public LLEventTimer { public: + static BOOL fullfetch; AOInvTimer(); ~AOInvTimer(); BOOL tick(); diff --git a/linden/indra/newview/floatergridmanager.cpp b/linden/indra/newview/floatergridmanager.cpp index fc7a2993a..007bb135a 100644 --- a/linden/indra/newview/floatergridmanager.cpp +++ b/linden/indra/newview/floatergridmanager.cpp @@ -143,7 +143,6 @@ void FloaterGridManager::refreshGrids() { LLScrollListCtrl *grids = FloaterGridManager::getInstance()->getChild("grid_selector"); std::string lastSelectedItem; - LLSD element; if (grids->getFirstSelected()) { @@ -158,6 +157,7 @@ void FloaterGridManager::refreshGrids() // There's no reason why empty grids nicks should be in this list, ugh if (!grid_nick.empty() && grid_nick != gHippoGridManager->getCurrentGridNick()) { + LLSD element; element["id"] = grid_nick; element["columns"][0]["column"] = "grid"; element["columns"][0]["type"] = "text"; @@ -171,6 +171,7 @@ void FloaterGridManager::refreshGrids() // but leaving this as the current behavior for now if (!gHippoGridManager->getCurrentGridNick().empty()) { + LLSD element; element["id"] = gHippoGridManager->getCurrentGridNick(); element["columns"][0]["column"] = "grid"; element["columns"][0]["type"] = "text"; @@ -179,6 +180,17 @@ void FloaterGridManager::refreshGrids() grids->addElement(element, ADD_TOP); } + // TODO: get rid of all this state junk + if ((FloaterGridManager::getInstance()->getState() == ADD_NEW) || (FloaterGridManager::getInstance()->getState() == ADD_COPY)) + { + LLSD element; + element["id"] = "new"; + element["columns"][0]["column"] = "grid"; + element["columns"][0]["type"] = "text"; + element["columns"][0]["value"] = "new"; + grids->addElement("element", ADD_BOTTOM); + } + // Reselect the item if we had one selected if (lastSelectedItem.empty()) { @@ -189,12 +201,6 @@ void FloaterGridManager::refreshGrids() grids->selectItemByLabel(lastSelectedItem); } - // TODO: get rid of all this state junk - if ((FloaterGridManager::getInstance()->getState() == ADD_NEW) || (FloaterGridManager::getInstance()->getState() == ADD_COPY)) - { - grids->addElement("", ADD_BOTTOM); - } - //if (selectIndex >= 0) //{ // grids->setCurrentByIndex(selectIndex); @@ -473,7 +479,18 @@ void FloaterGridManager::apply() } else if ((mState == ADD_NEW) || (mState == ADD_COPY)) { - if (!createNewGrid()) return; + if (createNewGrid()) + { + setState(NORMAL); + //LLScrollListCtrl *grids = FloaterGridManager::getInstance()->getChild("grid_selector"); + //grids->selectItemByLabel(childGetValue("gridnick")); + } + else + { + //LLScrollListCtrl *grids = self->getChild("grid_selector"); + //grids->setCurrentByIndex(grids->getItemCount() - 1); + return; + } } else { @@ -516,16 +533,16 @@ void FloaterGridManager::onSelectGrid(LLUICtrl* ctrl, void* data) } else if ((self->getState() == ADD_NEW) || (self->getState() == ADD_COPY)) { - if (self->createNewGrid()) - { - self->setState(NORMAL); - } - else - { + //if (self->createNewGrid()) + //{ + //self->setState(NORMAL); + //} + //else + //{ //LLScrollListCtrl *grids = self->getChild("grid_selector"); //grids->setCurrentByIndex(grids->getItemCount() - 1); - return; - } + //return; + //} } else { @@ -555,6 +572,8 @@ void FloaterGridManager::onClickAdd(void* data) FloaterGridManager* self = (FloaterGridManager*)data; self->setState(ADD_NEW); self->refreshGrids(); + LLScrollListCtrl *grids = FloaterGridManager::getInstance()->getChild("grid_selector"); + grids->selectFirstItem(); } diff --git a/linden/indra/newview/fmod.dll b/linden/indra/newview/fmod.dll new file mode 100644 index 000000000..6b0e379d3 Binary files /dev/null and b/linden/indra/newview/fmod.dll differ diff --git a/linden/indra/newview/installers/windows/installer_template.nsi b/linden/indra/newview/installers/windows/installer_template.nsi index d2fbbe3fc..1304cba79 100644 --- a/linden/indra/newview/installers/windows/installer_template.nsi +++ b/linden/indra/newview/installers/windows/installer_template.nsi @@ -184,6 +184,7 @@ Function .onInstSuccess MessageBox MB_YESNO \ $(InstSuccesssQuestion) /SD IDYES IDNO NoReadme ; Assumes SetOutPath $INSTDIR + IfSilent +2 Exec '"$INSTDIR\$INSTEXE" $INSTFLAGS' NoReadme: FunctionEnd @@ -505,7 +506,7 @@ FunctionEnd ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Function un.CloseSecondLife Push $0 - FindWindow $0 "Imprudence" "" + FindWindow $0 "Astra Viewer" "" IntCmp $0 0 DONE MessageBox MB_OKCANCEL $(CloseSecondLifeUnInstMB) IDOK CLOSE IDCANCEL CANCEL_UNINSTALL @@ -517,7 +518,7 @@ Function un.CloseSecondLife SendMessage $0 16 0 0 LOOP: - FindWindow $0 "Imprudence" "" + FindWindow $0 "Astra Viewer" "" IntCmp $0 0 DONE Sleep 500 Goto LOOP @@ -868,6 +869,7 @@ Function .onInit ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\${INSTNAME}" "InstallerLanguage" StrCpy $LANGUAGE $0 + IfSilent +16 Push "" Push ${LANG_ENGLISH} Push English @@ -909,9 +911,9 @@ StrCpy $INSTPROG "${INSTNAME}" StrCpy $INSTEXE "${INSTEXE}" StrCpy $INSTSHORTCUT "${SHORTCUT}" -IfSilent +2 +;IfSilent +2 Goto NOT_SILENT - Call CheckStartupParams ; Figure out where, what and how to install. +; 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 @@ -944,7 +946,7 @@ Call RemoveOldReleaseNotes ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; If this is a silent update, we don't need to re-create these shortcuts or registry entries. -IfSilent POST_INSTALL +;IfSilent POST_INSTALL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Shortcuts in start menu @@ -962,14 +964,17 @@ 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\Launch Astra Viewer Website.url" \ + "InternetShortcut" "URL" \ + "http://www.astraviewer.com/" +WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\Launch Astra Grid Website.url" \ + "InternetShortcut" "URL" \ + "http://www.astragrid.com/" ;WriteINIStr "$SMPROGRAMS\$INSTSHORTCUT\SL Your Account.url" \ ; "InternetShortcut" "URL" \ ; "http://www.secondlife.com/account/" -CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Scripting Language Help.lnk" \ - "$INSTDIR\lsl_guide.html" +;CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Scripting Language Help.lnk" \ +; "$INSTDIR\lsl_guide.html" CreateShortCut "$SMPROGRAMS\$INSTSHORTCUT\Uninstall $INSTSHORTCUT.lnk" \ '"$INSTDIR\uninst.exe"' '/P="$INSTPROG"' @@ -1002,6 +1007,8 @@ WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "Exe" 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"' +IfSilent 0 +2 +WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Linden Research, Inc.\$INSTPROG" "InstallerLanguage" "1033" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Write URL registry info WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life" diff --git a/linden/indra/newview/kowopenregionsettings.cpp b/linden/indra/newview/kowopenregionsettings.cpp index 8aac87cac..1ee04dd4e 100644 --- a/linden/indra/newview/kowopenregionsettings.cpp +++ b/linden/indra/newview/kowopenregionsettings.cpp @@ -1,28 +1,24 @@ -/* +/* $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Astra Viewer Source Code * @file kowopenregionsettings.cpp * @brief Handler for OpenRegionInfo event queue message. + * Copyright (C) 2011, Patrick Sapinski + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * Copyright (c) 2010, Patrick Sapinski - * - * The source code in this file ("Source Code") is provided to you - * under the terms of the GNU General Public License, version 2.0 - * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in - * this distribution, or online at - * http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ */ #include "llviewerprecompiledheaders.h" diff --git a/linden/indra/newview/llappviewerwin32.cpp b/linden/indra/newview/llappviewerwin32.cpp index 934b94afd..82666bc6b 100644 --- a/linden/indra/newview/llappviewerwin32.cpp +++ b/linden/indra/newview/llappviewerwin32.cpp @@ -82,23 +82,23 @@ extern "C" { #if defined(_MSC_VER) #if _MSC_VER >= 1500 #ifdef LL_DEBUG -#pragma comment( lib, "libboost_signals-vc90-mt-gd-1_36.lib" ) -#pragma comment( lib, "libboost_regex-vc90-mt-gd-1_36.lib" ) -#pragma comment( lib, "libboost_program_options-vc90-mt-gd-1_36.lib" ) +#pragma comment( lib, "libboost_signals-vc90-mt-gd-1_43.lib" ) +#pragma comment( lib, "libboost_regex-vc90-mt-gd-1_43.lib" ) +#pragma comment( lib, "libboost_program_options-vc90-mt-gd-1_43.lib" ) #else -#pragma comment( lib, "libboost_signals-vc90-mt-1_36.lib" ) -#pragma comment( lib, "libboost_regex-vc90-mt-1_36.lib" ) -#pragma comment( lib, "libboost_program_options-vc90-mt-1_36.lib" ) +#pragma comment( lib, "libboost_signals-vc90-mt-1_43.lib" ) +#pragma comment( lib, "libboost_regex-vc90-mt-1_43.lib" ) +#pragma comment( lib, "libboost_program_options-vc90-mt-1_43.lib" ) #endif #elif _MSC_VER >= 1400 #ifdef LL_DEBUG -#pragma comment( lib, "libboost_signals-vc80-mt-gd-1_36.lib" ) -#pragma comment( lib, "libboost_regex-vc80-mt-gd-1_36.lib" ) -#pragma comment( lib, "libboost_program_options-vc80-mt-gd-1_36.lib" ) +#pragma comment( lib, "libboost_signals-vc80-mt-gd-1_43.lib" ) +#pragma comment( lib, "libboost_regex-vc80-mt-gd-1_43.lib" ) +#pragma comment( lib, "libboost_program_options-vc80-mt-gd-1_43.lib" ) #else -#pragma comment( lib, "libboost_signals-vc80-mt-1_36.lib" ) -#pragma comment( lib, "libboost_regex-vc80-mt-1_36.lib" ) -#pragma comment( lib, "libboost_program_options-vc80-mt-1_36.lib" ) +#pragma comment( lib, "libboost_signals-vc80-mt-1_43.lib" ) +#pragma comment( lib, "libboost_regex-vc80-mt-1_43.lib" ) +#pragma comment( lib, "libboost_program_options-vc80-mt-1_43.lib" ) #endif #endif #endif diff --git a/linden/indra/newview/llfloaterregioninfo.cpp b/linden/indra/newview/llfloaterregioninfo.cpp index 2809b8496..2b898c599 100644 --- a/linden/indra/newview/llfloaterregioninfo.cpp +++ b/linden/indra/newview/llfloaterregioninfo.cpp @@ -183,13 +183,17 @@ BOOL LLFloaterRegionInfo::postBuild() mTab->addTabPanel(panel, panel->getLabel(), TRUE); // We only use this panel on Aurora-based sims -- MC - std::string url = gAgent.getRegion()->getCapability("DispatchOpenRegionSettings"); - if (!url.empty()) + LLViewerRegion* region = gAgent.getRegion(); + if (region) { - panel = new LLPanelRegionOpenSettingsInfo; - mInfoPanels.push_back(panel); - LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_open_region_settings.xml"); - mTab->addTabPanel(panel, panel->getLabel(), FALSE); + std::string url = region->getCapability("DispatchOpenRegionSettings"); + if (!url.empty()) + { + panel = new LLPanelRegionOpenSettingsInfo; + mInfoPanels.push_back(panel); + LLUICtrlFactory::getInstance()->buildPanel(panel, "panel_region_open_region_settings.xml"); + mTab->addTabPanel(panel, panel->getLabel(), FALSE); + } } panel = new LLPanelRegionDebugInfo; @@ -1244,10 +1248,10 @@ BOOL LLPanelRegionTextureInfo::sendUpdate() llinfos << "LLPanelRegionTextureInfo::sendUpdate()" << llendl; // Make sure user hasn't chosen wacky textures. - if (!validateTextureSizes()) - { - return FALSE; - } + //if (!validateTextureSizes()) + //{ + // return FALSE; + //} LLTextureCtrl* texture_ctrl; std::string buffer; @@ -2822,6 +2826,9 @@ LLPanelEstateCovenant::LLPanelEstateCovenant() // virtual bool LLPanelEstateCovenant::refreshFromRegion(LLViewerRegion* region) { + if (!region) + return FALSE; + LLTextBox* region_name = getChild("region_name_text"); if (region_name) { diff --git a/linden/indra/newview/llkdu.dll b/linden/indra/newview/llkdu.dll new file mode 100644 index 000000000..be7bef953 Binary files /dev/null and b/linden/indra/newview/llkdu.dll differ diff --git a/linden/indra/newview/llsurface.cpp b/linden/indra/newview/llsurface.cpp index 5a99e6653..e54e252ff 100644 --- a/linden/indra/newview/llsurface.cpp +++ b/linden/indra/newview/llsurface.cpp @@ -326,7 +326,7 @@ void LLSurface::rebuildWater() mWaterObjp = (LLVOWater *)gObjectList.createObjectViewer(LLViewerObject::LL_VO_WATER, mRegionp); gPipeline.createObject(mWaterObjp); LLVector3d water_pos_global = from_region_handle(mRegionp->getHandle()); - water_pos_global += LLVector3d(128.0, 128.0, DEFAULT_WATER_HEIGHT); + water_pos_global += LLVector3d(mRegionp->getWidth()/2, mRegionp->getWidth()/2, DEFAULT_WATER_HEIGHT); mWaterObjp->setPositionGlobal(water_pos_global); } //lldebugs << "Rebuilding Water Complete"; diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index a3e319d15..37eab08d7 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp @@ -3537,9 +3537,16 @@ void process_teleport_finish(LLMessageSystem* msg, void**) //Aurora-Sim feature, custom region sizes - Patrick Sapinski (2/7/2011) U32 region_size_x = 256; - msg->getU32(_PREHASH_RegionData, "RegionSizeX", region_size_x); + msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeX, region_size_x); U32 region_size_y = 256; - msg->getU32(_PREHASH_RegionData, "RegionSizeY", region_size_y); + msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeY, region_size_y); + + //and a little hack for Second Life compatibility + if (region_size_y == 0 || region_size_x == 0) + { + region_size_x = 256; + region_size_y = 256; + } // update home location if we are teleporting out of prelude - specific to teleporting to welcome area if((teleport_flags & TELEPORT_FLAGS_SET_HOME_TO_TARGET) diff --git a/linden/indra/newview/llviewerparcelmgr.cpp b/linden/indra/newview/llviewerparcelmgr.cpp index 018a71439..b975db8cc 100644 --- a/linden/indra/newview/llviewerparcelmgr.cpp +++ b/linden/indra/newview/llviewerparcelmgr.cpp @@ -137,6 +137,9 @@ LLViewerParcelMgr::LLViewerParcelMgr() mHoverParcel = new LLParcel(); mCollisionParcel = new LLParcel(); + mBlockedImage = gImageList.getImageFromFile("noentrylines.j2c"); + mPassImage = gImageList.getImageFromFile("noentrypasslines.j2c"); + init(256); } @@ -189,10 +192,9 @@ void LLViewerParcelMgr::init(F32 region_size) mCollisionSegments = new U8[(mParcelsPerEdge+1)*(mParcelsPerEdge+1)]; resetSegments(mCollisionSegments); - mBlockedImage = gImageList.getImageFromFile("noentrylines.j2c"); - mPassImage = gImageList.getImageFromFile("noentrypasslines.j2c"); + F32 mParcelOverLayChunks = region_size * region_size / (128 * 128); - S32 overlay_size = mParcelsPerEdge * mParcelsPerEdge / PARCEL_OVERLAY_CHUNKS; + S32 overlay_size = (S32)(mParcelsPerEdge * mParcelsPerEdge / mParcelOverLayChunks); sPackedOverlay = new U8[overlay_size]; mAgentParcelOverlay = new U8[mParcelsPerEdge * mParcelsPerEdge]; @@ -1378,10 +1380,6 @@ void LLViewerParcelMgr::processParcelOverlay(LLMessageSystem *msg, void **user) LLHost host = msg->getSender(); - //TEMP HACK FIX ME! getRegion crashes on >256m regions?? but only here! -KOW - if (LLWorld::getInstance()->getRegionWidthInMeters() > 256.f) - return; - LLViewerRegion *region = LLWorld::getInstance()->getRegion(host); if (region) { diff --git a/linden/indra/newview/llviewerparceloverlay.cpp b/linden/indra/newview/llviewerparceloverlay.cpp index 0bcd8f395..4ae32531d 100644 --- a/linden/indra/newview/llviewerparceloverlay.cpp +++ b/linden/indra/newview/llviewerparceloverlay.cpp @@ -58,6 +58,7 @@ const U8 OVERLAY_IMG_COMPONENTS = 4; LLViewerParcelOverlay::LLViewerParcelOverlay(LLViewerRegion* region, F32 region_width_meters) : mRegion( region ), mParcelGridsPerEdge( S32( region_width_meters / PARCEL_GRID_STEP_METERS ) ), + mRegionSize(S32(region_width_meters)), mDirty( FALSE ), mTimeSinceLastUpdate(), mOverlayTextureIdx(-1), @@ -299,7 +300,8 @@ void LLViewerParcelOverlay::uncompressLandOverlay(S32 chunk, U8 *packed_overlay) { // Unpack the message data into the ownership array S32 size = mParcelGridsPerEdge * mParcelGridsPerEdge; - S32 chunk_size = size / PARCEL_OVERLAY_CHUNKS; + S32 mParcelOverLayChunks = mRegionSize * mRegionSize / (128 * 128); + S32 chunk_size = size / mParcelOverLayChunks; memcpy(mOwnership + chunk*chunk_size, packed_overlay, chunk_size); /*Flawfinder: ignore*/ diff --git a/linden/indra/newview/llviewerparceloverlay.h b/linden/indra/newview/llviewerparceloverlay.h index 9bed1dde3..fc0db0a5e 100644 --- a/linden/indra/newview/llviewerparceloverlay.h +++ b/linden/indra/newview/llviewerparceloverlay.h @@ -98,6 +98,7 @@ class LLViewerParcelOverlay LLViewerRegion* mRegion; S32 mParcelGridsPerEdge; + S32 mRegionSize; LLPointer mTexture; LLPointer mImageRaw; diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp index a8047b87d..eba0db704 100644 --- a/linden/indra/newview/llviewerregion.cpp +++ b/linden/indra/newview/llviewerregion.cpp @@ -65,6 +65,7 @@ #include "llvoclouds.h" #include "llworld.h" #include "llspatialpartition.h" +#include "llviewerparcelmgr.h" // Viewer object cache version, change if object update // format changes. JC @@ -199,6 +200,8 @@ LLViewerRegion::LLViewerRegion(const U64 &handle, if (!gNoRender) { mParcelOverlay = new LLViewerParcelOverlay(this, region_width_meters); + //Re-init the parcel mgr for this sim + LLViewerParcelMgr::getInstance()->init(region_width_meters); } else { diff --git a/linden/indra/newview/llworld.cpp b/linden/indra/newview/llworld.cpp index 8f5fe56c2..3427ae105 100644 --- a/linden/indra/newview/llworld.cpp +++ b/linden/indra/newview/llworld.cpp @@ -1262,9 +1262,9 @@ void process_enable_simulator(LLMessageSystem *msg, void **user_data) //Aurora-Sim feature, custom region sizes - Patrick Sapinski (2/7/2011) U32 region_size_x = 256; - msg->getU32(_PREHASH_SimulatorInfo, "RegionSizeX", region_size_x); + msg->getU32Fast(_PREHASH_SimulatorInfo, _PREHASH_RegionSizeX, region_size_x); U32 region_size_y = 256; - msg->getU32(_PREHASH_SimulatorInfo, "RegionSizeY", region_size_y); + msg->getU32Fast(_PREHASH_SimulatorInfo, _PREHASH_RegionSizeY, region_size_y); //and a little hack for Second Life compatibility if (region_size_y == 0 || region_size_x == 0) diff --git a/linden/indra/newview/llworldmap.cpp b/linden/indra/newview/llworldmap.cpp index ea523a1ba..9109cc510 100644 --- a/linden/indra/newview/llworldmap.cpp +++ b/linden/indra/newview/llworldmap.cpp @@ -237,29 +237,29 @@ LLSimInfo* LLWorldMap::simInfoFromPosGlobal(const LLVector3d& pos_global) return simInfoFromHandle(handle); } -LLSimInfo* LLWorldMap::simInfoFromHandle(const U64 findhandle) -{ - std::map::const_iterator it; - for (it = LLWorldMap::getInstance()->mSimInfoMap.begin(); it != LLWorldMap::getInstance()->mSimInfoMap.end(); ++it) - { - const U64 handle = (*it).first; - LLSimInfo* info = (*it).second; - if(handle == findhandle) - { - return info; - } - U32 x = 0, y = 0; - from_region_handle(findhandle, &x, &y); - U32 checkRegionX, checkRegionY; - from_region_handle(handle, &checkRegionX, &checkRegionY); - - if(x > checkRegionX && x < (checkRegionX + info->msizeX) && - y > checkRegionY && y < (checkRegionY + info->msizeY)) - { - return info; - } - } - return NULL; +LLSimInfo* LLWorldMap::simInfoFromHandle(const U64 findhandle) +{ + std::map::const_iterator it; + for (it = LLWorldMap::getInstance()->mSimInfoMap.begin(); it != LLWorldMap::getInstance()->mSimInfoMap.end(); ++it) + { + const U64 handle = (*it).first; + LLSimInfo* info = (*it).second; + if(handle == findhandle) + { + return info; + } + U32 x = 0, y = 0; + from_region_handle(findhandle, &x, &y); + U32 checkRegionX, checkRegionY; + from_region_handle(handle, &checkRegionX, &checkRegionY); + + if(x > checkRegionX && x < (checkRegionX + info->msizeX) && + y > checkRegionY && y < (checkRegionY + info->msizeY)) + { + return info; + } + } + return NULL; } @@ -676,8 +676,8 @@ void LLWorldMap::processMapBlockReply(LLMessageSystem* msg, void**) LLWorldMap::getInstance()->mSimInfoMap[handle] = siminfo; siminfo->mHandle = handle; - siminfo->msizeX = 256; - siminfo->msizeY = 256; + siminfo->msizeX = 256; + siminfo->msizeY = 256; siminfo->mName.assign( name ); siminfo->mAccess = accesscode; siminfo->mRegionFlags = region_flags; diff --git a/linden/indra/newview/llworldmap.h b/linden/indra/newview/llworldmap.h index 6725f91bd..56b32a256 100644 --- a/linden/indra/newview/llworldmap.h +++ b/linden/indra/newview/llworldmap.h @@ -81,8 +81,8 @@ class LLSimInfo public: U64 mHandle; - S32 msizeX; - S32 msizeY; + S32 msizeX; + S32 msizeY; std::string mName; F64 mAgentsUpdateTime; diff --git a/linden/indra/newview/llworldmapview.cpp b/linden/indra/newview/llworldmapview.cpp index e2f9c4dab..567d6b66f 100644 --- a/linden/indra/newview/llworldmapview.cpp +++ b/linden/indra/newview/llworldmapview.cpp @@ -471,9 +471,9 @@ void LLWorldMapView::draw() // When the view isn't panned, 0,0 = center of rectangle F32 bottom = sPanY + half_height + relative_y; F32 left = sPanX + half_width + relative_x; - F32 top = bottom+ (sMapScale * info->msizeY / REGION_WIDTH_METERS); - F32 right = left + (sMapScale * info->msizeY / REGION_WIDTH_METERS); - + F32 top = bottom+ (sMapScale * info->msizeY / REGION_WIDTH_METERS); + F32 right = left + (sMapScale * info->msizeY / REGION_WIDTH_METERS); + // Switch to world map texture (if available for this region) if either: // 1. Tiles are zoomed out small enough, or // 2. Sim's texture has not been loaded yet @@ -567,20 +567,20 @@ void LLWorldMapView::draw() center_global.mdV[VX] += 128.0; center_global.mdV[VY] += 128.0; - S32 x_draw_size = llround(sMapScale); - S32 y_draw_size = llround(sMapScale); - x_draw_size *= info->msizeX / REGION_WIDTH_METERS; - y_draw_size *= info->msizeY / REGION_WIDTH_METERS; - if (simimage != NULL) - { - simimage->setBoostLevel(LLViewerImageBoostLevel::BOOST_MAP); - simimage->setKnownDrawSize(llround(x_draw_size * LLUI::sGLScaleFactor.mV[VX]), llround(y_draw_size * LLUI::sGLScaleFactor.mV[VY])); - } - - if (overlayimage != NULL) - { - overlayimage->setBoostLevel(LLViewerImageBoostLevel::BOOST_MAP); - overlayimage->setKnownDrawSize(llround(x_draw_size * LLUI::sGLScaleFactor.mV[VX]), llround(y_draw_size * LLUI::sGLScaleFactor.mV[VY])); + S32 x_draw_size = llround(sMapScale); + S32 y_draw_size = llround(sMapScale); + x_draw_size *= info->msizeX / REGION_WIDTH_METERS; + y_draw_size *= info->msizeY / REGION_WIDTH_METERS; + if (simimage != NULL) + { + simimage->setBoostLevel(LLViewerImageBoostLevel::BOOST_MAP); + simimage->setKnownDrawSize(llround(x_draw_size * LLUI::sGLScaleFactor.mV[VX]), llround(y_draw_size * LLUI::sGLScaleFactor.mV[VY])); + } + + if (overlayimage != NULL) + { + overlayimage->setBoostLevel(LLViewerImageBoostLevel::BOOST_MAP); + overlayimage->setKnownDrawSize(llround(x_draw_size * LLUI::sGLScaleFactor.mV[VX]), llround(y_draw_size * LLUI::sGLScaleFactor.mV[VY])); } // LLTextureView::addDebugImage(simimage); diff --git a/linden/indra/newview/msvcp80.dll b/linden/indra/newview/msvcp80.dll deleted file mode 100644 index f0b52ebf1..000000000 Binary files a/linden/indra/newview/msvcp80.dll and /dev/null differ diff --git a/linden/indra/newview/msvcr80.dll b/linden/indra/newview/msvcr80.dll deleted file mode 100644 index 53c005efc..000000000 Binary files a/linden/indra/newview/msvcr80.dll and /dev/null differ diff --git a/linden/indra/newview/skins/dark.xml b/linden/indra/newview/skins/dark.xml new file mode 100644 index 000000000..c5a576e1d --- /dev/null +++ b/linden/indra/newview/skins/dark.xml @@ -0,0 +1,14 @@ + + + skin_name + Dark + author_name + JB Kraft + additional_author_names + Linden Lab + skin_info + + folder_name + dark + + diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml b/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml index 3c26d303a..0f3456ec0 100644 --- a/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml +++ b/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml @@ -4,7 +4,7 @@ title="Select a Default Grid" width="260"> - Or use the Grid Manager to add a new one + Or use the Account Manager to add a new one + name="floater_login" title="Account Manager" width="600"> - + initial_value="false" mouse_opaque="true" />--> @@ -134,7 +134,7 @@ bottom_delta="-20" left_delta="0" height="20" width="120" follows="left|bottom" allow_text_entry="false" max_chars="20" mouse_opaque="true" /> -