merge
commit
810a00469a
|
|
@ -115,6 +115,7 @@ Var COMMANDLINE ; command line passed to this installer, set in .onInit
|
|||
Var SHORTCUT_LANG_PARAM ; "--set InstallLanguage de", passes language to viewer
|
||||
Var SKIP_DIALOGS ; set from command line in .onInit. autoinstall
|
||||
; GUI and the defaults.
|
||||
Var DO_UNINSTALL_V2 ; If non-null, path to a previous Viewer 2 installation that will be uninstalled.
|
||||
|
||||
;;; Function definitions should go before file includes, because calls to
|
||||
;;; DLLs like LangDLL trigger an implicit file include, so if that call is at
|
||||
|
|
@ -310,6 +311,29 @@ Function CheckNetworkConnection
|
|||
FunctionEnd
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Function CheckWillUninstallV2
|
||||
;
|
||||
; If we are being called through auto-update, we need to uninstall any
|
||||
; existing V2 installation. Otherwise, we wind up with
|
||||
; SecondLifeViewer2 and SecondLifeViewer installations existing side
|
||||
; by side no indication which to use.
|
||||
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
Function CheckWillUninstallV2
|
||||
|
||||
StrCpy $DO_UNINSTALL_V2 ""
|
||||
|
||||
StrCmp $SKIP_DIALOGS "true" 0 CHECKV2_DONE
|
||||
StrCmp $INSTDIR "$PROGRAMFILES\SecondLifeViewer2" CHECKV2_DONE ; don't uninstall our own install dir.
|
||||
IfFileExists "$PROGRAMFILES\SecondLifeViewer2\uninst.exe" CHECKV2_FOUND CHECKV2_DONE
|
||||
|
||||
CHECKV2_FOUND:
|
||||
StrCpy $DO_UNINSTALL_V2 "true"
|
||||
|
||||
CHECKV2_DONE:
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Save user files to temp location
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
|
@ -334,7 +358,7 @@ Push $2
|
|||
ExpandEnvStrings $2 $2
|
||||
|
||||
CreateDirectory "$TEMP\SecondLifeSettingsBackup\$0"
|
||||
CopyFiles "$2\Application Data\SecondLife\*" "$TEMP\SecondLifeSettingsBackup\$0"
|
||||
CopyFiles /SILENT "$2\Application Data\SecondLife\*" "$TEMP\SecondLifeSettingsBackup\$0"
|
||||
|
||||
CONTINUE:
|
||||
IntOp $0 $0 + 1
|
||||
|
|
@ -350,7 +374,7 @@ Push $0
|
|||
ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData"
|
||||
StrCmp $0 "" +2
|
||||
CreateDirectory "$TEMP\SecondLifeSettingsBackup\AllUsers\"
|
||||
CopyFiles "$2\Application Data\SecondLife\*" "$TEMP\SecondLifeSettingsBackup\AllUsers\"
|
||||
CopyFiles /SILENT "$2\Application Data\SecondLife\*" "$TEMP\SecondLifeSettingsBackup\AllUsers\"
|
||||
Pop $0
|
||||
|
||||
FunctionEnd
|
||||
|
|
@ -377,7 +401,7 @@ Push $2
|
|||
ExpandEnvStrings $2 $2
|
||||
|
||||
CreateDirectory "$2\Application Data\SecondLife\"
|
||||
CopyFiles "$TEMP\SecondLifeSettingsBackup\$0\*" "$2\Application Data\SecondLife\"
|
||||
CopyFiles /SILENT "$TEMP\SecondLifeSettingsBackup\$0\*" "$2\Application Data\SecondLife\"
|
||||
|
||||
CONTINUE:
|
||||
IntOp $0 $0 + 1
|
||||
|
|
@ -393,11 +417,53 @@ Push $0
|
|||
ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" "Common AppData"
|
||||
StrCmp $0 "" +2
|
||||
CreateDirectory "$2\Application Data\SecondLife\"
|
||||
CopyFiles "$TEMP\SecondLifeSettingsBackup\AllUsers\*" "$2\Application Data\SecondLife\"
|
||||
CopyFiles /SILENT "$TEMP\SecondLifeSettingsBackup\AllUsers\*" "$2\Application Data\SecondLife\"
|
||||
Pop $0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Remove temp dirs
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
Function RemoveTempUserFiles
|
||||
|
||||
Push $0
|
||||
Push $1
|
||||
Push $2
|
||||
|
||||
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
|
||||
|
||||
RMDir /r "$TEMP\SecondLifeSettingsBackup\$0\*"
|
||||
|
||||
CONTINUE:
|
||||
IntOp $0 $0 + 1
|
||||
Goto LOOP
|
||||
DONE:
|
||||
|
||||
Pop $2
|
||||
Pop $1
|
||||
Pop $0
|
||||
|
||||
; Copy 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 "$TEMP\SecondLifeSettingsBackup\AllUsers\*"
|
||||
Pop $0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Clobber user files - TEST ONLY
|
||||
; This is here for testing, generally not desirable to call it.
|
||||
|
|
@ -864,9 +930,12 @@ 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 CheckNetworkConnection ; ping secondlife.com
|
||||
Call CheckWillUninstallV2 ; See if a V2 install exists and will be removed.
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
Call PreserveUserFiles
|
||||
StrCmp $DO_UNINSTALL_V2 "" PRESERVE_DONE
|
||||
Call PreserveUserFiles
|
||||
PRESERVE_DONE:
|
||||
|
||||
;;; 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
|
||||
|
|
@ -951,17 +1020,15 @@ WriteRegExpandStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open\command" ""
|
|||
; write out uninstaller
|
||||
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||
|
||||
; Remove existing "Second Life Viewer 2" install if any.
|
||||
StrCmp $INSTDIR "$PROGRAMFILES\SecondLifeViewer2" SLV2_DONE ; unless that's the install directory
|
||||
IfFileExists "$PROGRAMFILES\SecondLifeViewer2\uninst.exe" SLV2_FOUND SLV2_DONE
|
||||
; Uninstall existing "Second Life Viewer 2" install if needed.
|
||||
StrCmp $DO_UNINSTALL_V2 "" REMOVE_SLV2_DONE
|
||||
ExecWait '"$PROGRAMFILES\SecondLifeViewer2\uninst.exe" /S _?=$PROGRAMFILES\SecondLifeViewer2'
|
||||
Delete "$PROGRAMFILES\SecondLifeViewer2\uninst.exe" ; with _? option above, uninst.exe will be left behind.
|
||||
RMDir "$PROGRAMFILES\SecondLifeViewer2" ; will remove only if empty.
|
||||
|
||||
SLV2_FOUND:
|
||||
ExecWait '"$PROGRAMFILES\SecondLifeViewer2\uninst.exe" /S _?=$PROGRAMFILES\SecondLifeViewer2'
|
||||
Delete "$PROGRAMFILES\SecondLifeViewer2\uninst.exe" ; with _? option above, uninst.exe will be left behind.
|
||||
RMDir "$PROGRAMFILES\SecondLifeViewer2" ; will remove only if empty.
|
||||
|
||||
SLV2_DONE:
|
||||
Call RestoreUserFiles
|
||||
Call RestoreUserFiles
|
||||
Call RemoveTempUserFiles
|
||||
REMOVE_SLV2_DONE:
|
||||
|
||||
; end of default section
|
||||
SectionEnd
|
||||
|
|
|
|||
|
|
@ -496,6 +496,11 @@ BOOL LLFloaterModelPreview::postBuild()
|
|||
{
|
||||
validate_url = "http://secondlife.com/my/account/mesh.php";
|
||||
}
|
||||
else if (current_grid == "damballah")
|
||||
{
|
||||
// Staging grid has its own naming scheme.
|
||||
validate_url = "http://secondlife-staging.com/my/account/mesh.php";
|
||||
}
|
||||
else
|
||||
{
|
||||
validate_url = llformat("http://secondlife.%s.lindenlab.com/my/account/mesh.php",current_grid.c_str());
|
||||
|
|
@ -744,6 +749,11 @@ void LLFloaterModelPreview::draw()
|
|||
|
||||
if (!mModelPreview->mLoading)
|
||||
{
|
||||
if ( mModelPreview->getLoadState() == LLModelLoader::ERROR_MATERIALS )
|
||||
{
|
||||
childSetTextArg("status", "[STATUS]", getString("status_material_mismatch"));
|
||||
}
|
||||
else
|
||||
if ( mModelPreview->getLoadState() > LLModelLoader::ERROR_PARSING )
|
||||
{
|
||||
childSetTextArg("status", "[STATUS]", getString(LLModel::getStatusString(mModelPreview->getLoadState() - LLModelLoader::ERROR_PARSING)));
|
||||
|
|
@ -3304,7 +3314,7 @@ void LLModelPreview::rebuildUploadData()
|
|||
F32 max_scale = 0.f;
|
||||
|
||||
//reorder materials to match mBaseModel
|
||||
for (U32 i = 0; i < LLModel::NUM_LODS; i++)
|
||||
for (U32 i = 0; i < LLModel::NUM_LODS-1; i++)
|
||||
{
|
||||
if (mBaseModel.size() == mModel[i].size())
|
||||
{
|
||||
|
|
@ -3316,6 +3326,7 @@ void LLModelPreview::rebuildUploadData()
|
|||
|
||||
if ( !mModel[i][j]->matchMaterialOrder(mBaseModel[j], refFaceCnt, modelFaceCnt ) )
|
||||
{
|
||||
setLoadState( LLModelLoader::ERROR_MATERIALS );
|
||||
mFMP->childDisable( "calculate_btn" );
|
||||
}
|
||||
}
|
||||
|
|
@ -4351,11 +4362,6 @@ void LLModelPreview::updateStatusMessages()
|
|||
{
|
||||
skinAndRigOk = false;
|
||||
}
|
||||
else
|
||||
if ( !isLegacyRigValid() )
|
||||
{
|
||||
mFMP->childDisable("calculate_btn");
|
||||
}
|
||||
}
|
||||
|
||||
if(upload_ok && mModelLoader)
|
||||
|
|
@ -5071,6 +5077,8 @@ BOOL LLModelPreview::render()
|
|||
|
||||
if (!mModel[mPreviewLOD].empty())
|
||||
{
|
||||
mFMP->childEnable("reset_btn");
|
||||
|
||||
bool regen = mVertexBuffer[mPreviewLOD].empty();
|
||||
if (!regen)
|
||||
{
|
||||
|
|
@ -5083,7 +5091,7 @@ BOOL LLModelPreview::render()
|
|||
}
|
||||
|
||||
//make sure material lists all match
|
||||
for (U32 i = 0; i < LLModel::NUM_LODS; i++)
|
||||
for (U32 i = 0; i < LLModel::NUM_LODS-1; i++)
|
||||
{
|
||||
if (mBaseModel.size() == mModel[i].size())
|
||||
{
|
||||
|
|
@ -5568,6 +5576,7 @@ void LLFloaterModelPreview::onReset(void* user_data)
|
|||
assert_main_thread();
|
||||
|
||||
LLFloaterModelPreview* fmp = (LLFloaterModelPreview*) user_data;
|
||||
fmp->childDisable("reset_btn");
|
||||
LLModelPreview* mp = fmp->mModelPreview;
|
||||
std::string filename = mp->mLODFile[3];
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,8 @@ public:
|
|||
GENERATING_VERTEX_BUFFERS,
|
||||
GENERATING_LOD,
|
||||
DONE,
|
||||
ERROR_PARSING //basically loading failed
|
||||
ERROR_PARSING, //basically loading failed
|
||||
ERROR_MATERIALS,
|
||||
} eLoadState;
|
||||
|
||||
U32 mState;
|
||||
|
|
|
|||
|
|
@ -3219,7 +3219,7 @@ F32 LLViewerObject::getLinksetPhysicsCost()
|
|||
return mLinksetPhysicsCost;
|
||||
}
|
||||
|
||||
F32 LLViewerObject::getStreamingCost(S32* bytes, S32* visible_bytes)
|
||||
F32 LLViewerObject::getStreamingCost(S32* bytes, S32* visible_bytes, F32* unscaled_value) const
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -340,7 +340,7 @@ public:
|
|||
|
||||
virtual void setScale(const LLVector3 &scale, BOOL damped = FALSE);
|
||||
|
||||
virtual F32 getStreamingCost(S32* bytes = NULL, S32* visible_bytes = NULL);
|
||||
virtual F32 getStreamingCost(S32* bytes = NULL, S32* visible_bytes = NULL, F32* unscaled_value = NULL) const;
|
||||
virtual U32 getTriangleCount();
|
||||
virtual U32 getHighLODTriangleCount();
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
<string name="status_idle"></string>
|
||||
<string name="status_parse_error">Error: Dae parsing issue - see log for details.</string>
|
||||
<string name="status_material_mismatch">Error: Material of model is not a subset of reference model.</string>
|
||||
<string name="status_reading_file">Loading...</string>
|
||||
<string name="status_generating_meshes">Generating Meshes...</string>
|
||||
<string name="status_vertex_number_overflow">Error: Vertex number is more than 65534, aborted!</string>
|
||||
|
|
@ -789,7 +790,7 @@
|
|||
<check_box name="physics_use_hull" follows="left|top" width="130" left_pad="5" height="20" label="Use Convex Hull"/> -->
|
||||
</panel>
|
||||
|
||||
<!-- ==== STEP 2: Analyse ==== -->
|
||||
<!-- ==== STEP 2: Analyze ==== -->
|
||||
<view_border
|
||||
bevel_style="none"
|
||||
follows="top|left"
|
||||
|
|
@ -818,7 +819,7 @@
|
|||
name="method_label"
|
||||
text_color="White"
|
||||
top_pad="0">
|
||||
Step 2: Analyse
|
||||
Step 2: Analyze
|
||||
</text>
|
||||
<text
|
||||
follows="top|left"
|
||||
|
|
|
|||
Loading…
Reference in New Issue