Merge branch 'master' of git@github.com:Shyotl/SingularityViewer.git
This commit is contained in:
@@ -54,10 +54,8 @@ if (WINDOWS)
|
|||||||
# Remove default /Zm1000 flag that cmake inserts
|
# Remove default /Zm1000 flag that cmake inserts
|
||||||
string (REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
string (REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
|
||||||
if (MSVC11)
|
# Always use /Zm140
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm140")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zm140")
|
||||||
endif (MSVC11)
|
|
||||||
|
|
||||||
|
|
||||||
# Don't build DLLs.
|
# Don't build DLLs.
|
||||||
set(BUILD_SHARED_LIBS OFF)
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ class PlatformSetup(object):
|
|||||||
raise
|
raise
|
||||||
|
|
||||||
def parse_build_opts(self, arguments):
|
def parse_build_opts(self, arguments):
|
||||||
opts, targets = getopt.getopt(arguments, 'o:', ['option='])
|
opts, targets = getopt.getopt(arguments, 'D:o:', ['option='])
|
||||||
build_opts = []
|
build_opts = []
|
||||||
for o, a in opts:
|
for o, a in opts:
|
||||||
if o in ('-o', '--option'):
|
if o in ('-o', '--option'):
|
||||||
@@ -612,15 +612,15 @@ class WindowsSetup(PlatformSetup):
|
|||||||
if environment == '':
|
if environment == '':
|
||||||
environment = self.find_visual_studio_express()
|
environment = self.find_visual_studio_express()
|
||||||
if environment == '':
|
if environment == '':
|
||||||
environment = self.find_visual_studio_express_single()
|
environment = self.find_visual_studio_express_single()
|
||||||
if environment == '':
|
if environment == '':
|
||||||
print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio?"
|
print >> sys.stderr, "Something went very wrong during build stage, could not find a Visual Studio?"
|
||||||
else:
|
else:
|
||||||
build_dirs=self.build_dirs()
|
build_dirs=self.build_dirs()
|
||||||
print >> sys.stderr, "\nSolution generation complete, it can can now be found in:", build_dirs[0]
|
print >> sys.stderr, "\nSolution generation complete, it can can now be found in:", build_dirs[0]
|
||||||
print >> sys.stderr, "\nAs you are using an Express Visual Studio, the build step cannot be automated"
|
print >> sys.stderr, "\nAs you are using an Express Visual Studio, the build step cannot be automated"
|
||||||
print >> sys.stderr, "\nPlease see https://wiki.secondlife.com/wiki/Microsoft_Visual_Studio#Extra_steps_for_Visual_Studio_Express_editions for Visual Studio Express specific information"
|
print >> sys.stderr, "\nPlease see https://wiki.secondlife.com/wiki/Microsoft_Visual_Studio#Extra_steps_for_Visual_Studio_Express_editions for Visual Studio Express specific information"
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
# devenv.com is CLI friendly, devenv.exe... not so much.
|
# devenv.com is CLI friendly, devenv.exe... not so much.
|
||||||
return ('"%sdevenv.com" %s.sln /build %s' %
|
return ('"%sdevenv.com" %s.sln /build %s' %
|
||||||
|
|||||||
@@ -77,8 +77,8 @@ Name "${VIEWERNAME}"
|
|||||||
SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text
|
SubCaption 0 $(LicenseSubTitleSetup) ; override "license agreement" text
|
||||||
|
|
||||||
BrandingText "Prepare to Implode!" ; bottom of window text
|
BrandingText "Prepare to Implode!" ; bottom of window text
|
||||||
Icon %%SOURCE%%\installers\windows\${INSTALL_ICON}
|
Icon "%%SOURCE%%\installers\windows\${INSTALL_ICON}"
|
||||||
UninstallIcon %%SOURCE%%\installers\windows\${UNINSTALL_ICON}
|
UninstallIcon "%%SOURCE%%\installers\windows\${UNINSTALL_ICON}"
|
||||||
WindowIcon off ; show our icon in left corner
|
WindowIcon off ; show our icon in left corner
|
||||||
# BGGradient 9090b0 000000 notext
|
# BGGradient 9090b0 000000 notext
|
||||||
CRCCheck on ; make sure CRC is OK
|
CRCCheck on ; make sure CRC is OK
|
||||||
|
|||||||
@@ -3973,7 +3973,8 @@ bool LLAgent::teleportCore(bool is_local)
|
|||||||
LLFloaterWorldMap::hide();
|
LLFloaterWorldMap::hide();
|
||||||
|
|
||||||
// hide land floater too - it'll be out of date
|
// hide land floater too - it'll be out of date
|
||||||
LLFloaterLand::hideInstance();
|
if (LLFloaterLand::findInstance())
|
||||||
|
LLFloaterLand::hideInstance();
|
||||||
|
|
||||||
LLViewerParcelMgr::getInstance()->deselectLand();
|
LLViewerParcelMgr::getInstance()->deselectLand();
|
||||||
LLViewerMediaFocus::getInstance()->clearFocus();
|
LLViewerMediaFocus::getInstance()->clearFocus();
|
||||||
|
|||||||
@@ -987,15 +987,15 @@ void LLFace::getPlanarProjectedParams(LLQuaternion* face_rot, LLVector3* face_po
|
|||||||
{
|
{
|
||||||
const LLMatrix4a& vol_mat = getWorldMatrix();
|
const LLMatrix4a& vol_mat = getWorldMatrix();
|
||||||
const LLVolumeFace& vf = getViewerObject()->getVolume()->getVolumeFace(mTEOffset);
|
const LLVolumeFace& vf = getViewerObject()->getVolume()->getVolumeFace(mTEOffset);
|
||||||
const LLVector4a& normal4a = vf.mNormals[0];
|
const LLVector4a& normal = vf.mNormals[0];
|
||||||
const LLVector4a& tangent = vf.mTangents[0];
|
const LLVector4a& tangent = vf.mTangents[0];
|
||||||
|
|
||||||
LLVector4a binormal4a;
|
LLVector4a binormal;
|
||||||
binormal4a.setCross3(normal4a, tangent);
|
binormal.setCross3(normal, tangent);
|
||||||
binormal4a.mul(tangent.getF32ptr()[3]);
|
binormal.mul(tangent.getF32ptr()[3]);
|
||||||
|
|
||||||
LLVector2 projected_binormal;
|
LLVector2 projected_binormal;
|
||||||
planarProjection(projected_binormal, normal4a, *vf.mCenter, binormal4a);
|
planarProjection(projected_binormal, normal, *vf.mCenter, binormal);
|
||||||
projected_binormal -= LLVector2(0.5f, 0.5f); // this normally happens in xform()
|
projected_binormal -= LLVector2(0.5f, 0.5f); // this normally happens in xform()
|
||||||
*scale = projected_binormal.length();
|
*scale = projected_binormal.length();
|
||||||
// rotate binormal to match what planarProjection() thinks it is,
|
// rotate binormal to match what planarProjection() thinks it is,
|
||||||
@@ -1004,19 +1004,15 @@ void LLFace::getPlanarProjectedParams(LLQuaternion* face_rot, LLVector3* face_po
|
|||||||
F32 ang = acos(projected_binormal.mV[VY]);
|
F32 ang = acos(projected_binormal.mV[VY]);
|
||||||
ang = (projected_binormal.mV[VX] < 0.f) ? -ang : ang;
|
ang = (projected_binormal.mV[VX] < 0.f) ? -ang : ang;
|
||||||
|
|
||||||
LLMatrix4a rot = gGL.genRot(ang, normal4a);
|
gGL.genRot(ang, normal).rotate(binormal, binormal);
|
||||||
rot.rotate(binormal4a, binormal4a);
|
|
||||||
|
|
||||||
LLVector4a x_axis;
|
LLVector4a x_axis;
|
||||||
x_axis.setCross3(binormal4a, normal4a);
|
x_axis.setCross3(binormal, normal);
|
||||||
|
|
||||||
LLQuaternion2 local_rot(LLQuaternion( LLVector3(x_axis.getF32ptr()), LLVector3(binormal4a.getF32ptr()), LLVector3(normal4a.getF32ptr()) ));
|
//VECTORIZE THIS
|
||||||
|
LLQuaternion local_rot(LLVector3(x_axis.getF32ptr()), LLVector3(binormal.getF32ptr()), LLVector3(normal.getF32ptr()));
|
||||||
|
*face_rot = local_rot * LLMatrix4(vol_mat.getF32ptr()).quaternion();
|
||||||
|
|
||||||
LLMatrix4 vol_mat2(vol_mat.getF32ptr());
|
|
||||||
|
|
||||||
local_rot.mul(LLQuaternion2(vol_mat2.quaternion()));
|
|
||||||
|
|
||||||
*face_rot = LLQuaternion(local_rot.getVector4a().getF32ptr());
|
|
||||||
face_pos->set(vol_mat.getRow<VW>().getF32ptr());
|
face_pos->set(vol_mat.getRow<VW>().getF32ptr());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -257,7 +257,9 @@ LLFloaterLand::~LLFloaterLand()
|
|||||||
// public
|
// public
|
||||||
void LLFloaterLand::refresh()
|
void LLFloaterLand::refresh()
|
||||||
{
|
{
|
||||||
if (LLViewerParcelMgr::getInstance()->selectionEmpty())
|
if (!instanceVisible())
|
||||||
|
return;
|
||||||
|
if (LLViewerParcelMgr::getInstance()->selectionEmpty() && mParcel->getParcel() == NULL)
|
||||||
LLViewerParcelMgr::getInstance()->selectParcelAt(gAgent.getPositionGlobal());
|
LLViewerParcelMgr::getInstance()->selectParcelAt(gAgent.getPositionGlobal());
|
||||||
mPanelGeneral->refresh();
|
mPanelGeneral->refresh();
|
||||||
mPanelObjects->refresh();
|
mPanelObjects->refresh();
|
||||||
|
|||||||
@@ -453,14 +453,14 @@ class WindowsManifest(ViewerManifest):
|
|||||||
try:
|
try:
|
||||||
import _winreg as reg
|
import _winreg as reg
|
||||||
NSIS_path = reg.QueryValue(reg.HKEY_LOCAL_MACHINE, r"SOFTWARE\NSIS\Unicode") + '\\makensis.exe'
|
NSIS_path = reg.QueryValue(reg.HKEY_LOCAL_MACHINE, r"SOFTWARE\NSIS\Unicode") + '\\makensis.exe'
|
||||||
self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile))
|
self.run_command('"' + proper_windows_path(NSIS_path) + '" "' + self.dst_path_of(tempfile) + '"')
|
||||||
except:
|
except:
|
||||||
try:
|
try:
|
||||||
NSIS_path = os.environ['ProgramFiles'] + '\\NSIS\\Unicode\\makensis.exe'
|
NSIS_path = os.environ['ProgramFiles'] + '\\NSIS\\Unicode\\makensis.exe'
|
||||||
self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile))
|
self.run_command('"' + proper_windows_path(NSIS_path) + '" "' + self.dst_path_of(tempfile) + '"')
|
||||||
except:
|
except:
|
||||||
NSIS_path = os.environ['ProgramFiles(X86)'] + '\\NSIS\\Unicode\\makensis.exe'
|
NSIS_path = os.environ['ProgramFiles(X86)'] + '\\NSIS\\Unicode\\makensis.exe'
|
||||||
self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile))
|
self.run_command('"' + proper_windows_path(NSIS_path) + '" "' + self.dst_path_of(tempfile) + '"')
|
||||||
# self.remove(self.dst_path_of(tempfile))
|
# self.remove(self.dst_path_of(tempfile))
|
||||||
# If we're on a build machine, sign the code using our Authenticode certificate. JC
|
# If we're on a build machine, sign the code using our Authenticode certificate. JC
|
||||||
sign_py = os.path.expandvars("{SIGN_PY}")
|
sign_py = os.path.expandvars("{SIGN_PY}")
|
||||||
|
|||||||
Reference in New Issue
Block a user