Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • alchemy-archive/alchemy
  • Liru/alchemy
  • TesticularSlingshot/alchemy
3 results
Show changes
Commits on Source (18083)
---
Language: Cpp
# BasedOnStyle: Microsoft
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: false
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Allman
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
- Regex: '.*'
Priority: 1
SortPriority: 0
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentCaseLabels: false
IndentGotoLabels: true
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 1000
PointerAlignment: Right
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
Standard: Latest
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 4
UseCRLF: false
UseTab: Never
...
* text eol=lf
# Viewer Files
*.db2 binary
*.llm binary
*.sln text eol=crlf
*.vcproj text eol=crlf
*.vcxproj text eol=crlf
*.gif binary
*.png binary
*.tga binary
*.jpg binary
*.j2k binary
*.j2c binary
*.ico binary
*.icns binary
*.bmp binary
*.BMP binary
/indra/tools/manifests/compatibility.manifest text eol=crlf
\ No newline at end of file
syntax: glob
# WinMerge temp files # WinMerge temp files
*.bak *.bak
# Compiled python bytecode # Compiled python bytecode
*.pyc *.pyc
# Emacs temp files # Emacs temp files
*~
.*.swp .*.swp
#OSX image cache file #OSX image cache file
*.DS_Store *.DS_Store
#*.orig *.orig
LICENSES *.cpp.bak
*.h.bak
*.diff
*.old
*.rej
**/.vs
Pipfile.lock
.env
/build-*
/clion-*
indra/.distcc indra/.distcc
build-linux-*
build-darwin-* clion-linux*
build-vc80/ indra/.idea
build-vc100/ indra-build/
indra/build-vc[0-9]* indra/build-vc[0-9]*
indra/out/
indra/CMakeFiles indra/CMakeFiles
indra/CMakeLists.txt.user
indra/lib/mono/1.0/*.dll indra/lib/mono/1.0/*.dll
indra/lib/mono/indra/*.dll indra/lib/mono/indra/*.dll
indra/lib/mono/indra/*.exe indra/lib/mono/indra/*.exe
...@@ -33,6 +43,7 @@ indra/newview/app_settings/static_*.db2 ...@@ -33,6 +43,7 @@ indra/newview/app_settings/static_*.db2
indra/newview/browser_profile indra/newview/browser_profile
indra/newview/character indra/newview/character
indra/newview/fmod.dll indra/newview/fmod.dll
indra/newview/fmod.log
indra/newview/mozilla-theme indra/newview/mozilla-theme
indra/newview/mozilla-universal-darwin.tgz indra/newview/mozilla-universal-darwin.tgz
indra/newview/res/ll_icon.* indra/newview/res/ll_icon.*
...@@ -56,22 +67,13 @@ debian/files ...@@ -56,22 +67,13 @@ debian/files
build-stamp build-stamp
configure-stamp configure-stamp
^indra/lib/python/mulib.* ^indra/lib/python/mulib.*
^web/locale.*
^web/secondlife.com.* indra/newview/typed_locations.txt
^web/config.* indra/newview/teleport_history.txt
^indra/web/dataservice/locale.* indra/newview/search_history.txt
^indra/web/dataservice/lib/shared/vault.* indra/newview/filters.xml
^indra/web/dataservice/vendor.* indra/newview/avatar_icons_cache.txt
glob:indra/newview/dbghelp.dll indra/newview/avatar_lad.log
glob:*.cpp.orig indra/newview/pilot.txt
glob:*.cpp.bak indra/newview/pilot.xml
glob:*.h.bak
glob:*.h.orig
glob:indra/newview/typed_locations.txt
glob:indra/newview/teleport_history.txt
glob:indra/newview/search_history.txt
glob:indra/newview/filters.xml
glob:indra/newview/avatar_icons_cache.txt
glob:indra/newview/avatar_lad.log
glob:*.diff
#*.rej
stages:
- build
- deploy
variables:
VIEWER_USE_CRASHPAD: "TRUE"
VIEWER_CRASHPAD_URL: $SENTRY_DSN
.win_build: &win_build
stage: build
tags:
- autobuild
- windows
before_script:
- pipenv install
script:
- If ($env:VIEWER_CHANNEL_TYPE -eq 'Project')
{
$env:VIEWER_CHANNEL_CODENAME = $env:CI_COMMIT_REF_NAME[8..100] -join ''
}
- pipenv run autobuild configure -c ReleaseOS -- -DUSE_FMODSTUDIO=ON -DUSE_NVAPI=ON -DUSE_LTO=ON -DVS_DISABLE_FATAL_WARNINGS=ON
- pipenv run autobuild build -c ReleaseOS --no-configure
- If ($env:VIEWER_USE_CRASHPAD -eq 'TRUE') {
- Push-Location .\build-vc-*\newview\Release\
- sentry-cli upload-dif --include-sources alchemy-bin.exe alchemy-bin.pdb crashpad_handler.exe crashpad_handler.pdb openjpeg.pdb openjpeg.dll fmod.dll libcrypto-1_1.dll libcrypto-1_1.pdb libssl-1_1.dll libssl-1_1.pdb libcrypto-1_1-x64.dll libcrypto-1_1-x64.pdb libssl-1_1-x64.dll libssl-1_1-x64.pdb vcruntime140.dll msvcp140.dll nghttp2.dll glod.dll
- Pop-Location }
artifacts:
name: "$env:CI_COMMIT_REF_NAME-$env:CI_COMMIT_SHORT_SHA"
expire_in: 2 week
paths:
- build-vc-*/newview/Release/build_data.json
- build-vc-*/newview/Release/alchemy-bin.pdb
- build-vc-*/newview/Release/Alchemy_*_Setup.exe
.beta_rules: &beta_rules
only:
- /^.*-beta$/
except:
- branches
.release_rules: &release_rules
only:
- /^.*-release$/
except:
- branches
build:master:windows32:
<<: *win_build
interruptible: true
variables:
AUTOBUILD_ADDRSIZE: 32
VIEWER_CHANNEL_TYPE: Test
VIEWER_USE_CRASHPAD: "FALSE"
only:
- schedules
- web
build:master:windows64:
<<: *win_build
interruptible: true
variables:
AUTOBUILD_ADDRSIZE: 64
VIEWER_CHANNEL_TYPE: Test
VIEWER_USE_CRASHPAD: "FALSE"
only:
- schedules
- web
build:project:windows32:
<<: *win_build
interruptible: true
variables:
AUTOBUILD_ADDRSIZE: 32
VIEWER_CHANNEL_TYPE: Project
only:
- /^project-.*$/
build:project:windows64:
<<: *win_build
interruptible: true
variables:
AUTOBUILD_ADDRSIZE: 64
VIEWER_CHANNEL_TYPE: Project
only:
- /^project-.*$/
build:beta:windows32:
<<: *win_build
variables:
AUTOBUILD_ADDRSIZE: 32
VIEWER_CHANNEL_TYPE: Beta
<<: *beta_rules
build:beta:windows64:
<<: *win_build
variables:
AUTOBUILD_ADDRSIZE: 64
VIEWER_CHANNEL_TYPE: Beta
<<: *beta_rules
build:release:windows32:
<<: *win_build
variables:
AUTOBUILD_ADDRSIZE: 32
VIEWER_CHANNEL_TYPE: Release
<<: *release_rules
build:release:windows64:
<<: *win_build
variables:
AUTOBUILD_ADDRSIZE: 64
VIEWER_CHANNEL_TYPE: Release
<<: *release_rules
.deploy_template: &deploy_template
stage: deploy
tags:
- autobuild
- windows
script:
- $BuildData = Get-Content .\build-vc-64\newview\Release\build_data.json | ConvertFrom-Json
- $BuildChannelVersion = $BuildData."Channel" + ' ' + $BuildData."Version"
- $UploadDestViewerDir = $BuildChannelVersion.ToLower().Replace(" ", "/")
- $UploadDestURL = "https://pkg.alchemyviewer.org/repository/viewer/${UploadDestViewerDir}"
- $UploadParams = @{ UseBasicParsing = $true;
Method = "PUT";
Headers = @{
ContentType = "application/x-executable";
Authorization = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$env:AUTOBUILD_HTTP_USER`:$env:AUTOBUILD_HTTP_PASS")))"; };
Verbose = $true; };
- Push-Location .\build-vc-32\newview\Release\
- $FileNameWin32 = Get-ChildItem -Path . -Name -Include Alchemy_*_Setup.exe
- Invoke-WebRequest @UploadParams -InFile .\$FileNameWin32 -Uri "${UploadDestURL}/${FileNameWin32}"
- Pop-Location
- Push-Location .\build-vc-64\newview\Release\
- $FileNameWin64 = Get-ChildItem -Path . -Name -Include Alchemy_*_Setup.exe
- Invoke-WebRequest @UploadParams -InFile .\$FileNameWin64 -Uri "${UploadDestURL}/${FileNameWin64}"
- Pop-Location
- sentry-cli releases new $BuildChannelVersion
- sentry-cli releases set-commits --auto $BuildChannelVersion
- sentry-cli releases finalize $BuildChannelVersion
when: manual
deploy_project:
<<: *deploy_template
environment:
name: qa
only:
- /^project-.*$/
deploy_beta:
<<: *deploy_template
environment:
name: staging
<<: *beta_rules
deploy_release:
<<: *deploy_template
environment:
name: production
<<: *release_rules
\ No newline at end of file
## Summary
(Summarize the bug encountered concisely)
## Steps to reproduce
(How one can reproduce the issue - this is very important)
## What is the current bug behavior?
(What actually happens)
## What is the expected correct behavior?
(What you should see instead)
## Environment
```
(Please open `Help->About Alchemy` and click Copy to Clipboard then paste its contents here)
```
## Relevant logs and/or screenshots
(Attach or paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)
/label ~Type::Bug ~Status::Awaiting-Investigation
## Summary
(Summarize the requested feature concisely.)
## How would you like the feature to work?
(Describe how the feature should function in as much detail as possible.)
## Why is this feature important to you? How would it benefit the community?Required
(Provide reasoning as to why the feature is important to you, and ways it could benefit the larger Alchemy Viewer community.)
## Screenshots, Mockups, etc
(Attach or paste any relevant screenshots or mockups.)
/label ~Type::New Feature ~Status::Awaiting-Investigation
\ No newline at end of file
This diff is collapsed.
# BuildParams
#
# Please refer to:
# https://wiki.secondlife.com/wiki/Automated_Build_System
# Global setting for now...
Darwin.symbolfiles = "newview/Release/secondlife-symbols-darwin.tar.bz2"
CYGWIN.symbolfiles = "newview/Release/secondlife-symbols-windows.tar.bz2"
Linux.symbolfiles = "newview/secondlife-symbols-linux.tar.bz2"
# Use Public Upload Locations
public_build = true
# skip windows debug build until we can get a fix in.
build_CYGWIN_Debug = false
# Update Public Inworld Build Status Indicators (setting should mirror "public_build")
email_status_this_is_os = true
# Limit extent of codeticket updates to revisions after...
codeticket_since = 3.3.0-release
# Override build system default toolchain
# Note that this will only affect automated builds.
Linux.gcc_version = /usr/bin/gcc-4.6
Linux.cxx_version = /usr/bin/g++-4.6
# Setup default sourceid so Windows can pick up the TeamCity override
sourceid = ""
################################################################
#### Examples of how to set the viewer_channel ####
#
# To build a Release or Release candidate in build bingo:
# bingo.viewer_channel = "Second Life Release"
#
# To build a Beta for the 'Bingo' project in build bingo:
# bingo.viewer_channel = "Second Life Beta Bingo"
#
# To build a Project viewer for the 'Bingo' project in build bingo:
# bingo.viewer_channel = "Second Life Project Bingo"
#
# If left unset, viewer_channel defaults to 'Second Life Test',
# which is appropriate for individual developer builds.
#
# All Linden Lab builds (and only Linden Lab builds)
# should use a viewer_channel that begins with "Second Life"
################################################################
viewer_channel = "Second Life Test"
# Report changes since...
viewer-development.show_changes_since = last_sprint
# Build Settings
viewer-development.build_debug_release_separately = true
# Notifications - to configure email notices, add a setting like this:
# <username>_<reponame>.email = <email-address>
viewer-release.viewer_channel = "Second Life Release"
viewer-release.build_debug_release_separately = true
viewer-release.build_viewer_update_version_manager = true
viewer-release.codeticket_add_context = false
# ========================================
# mesh-development
# ========================================
mesh-development.viewer_channel = "Project Viewer - Mesh"
mesh-development.viewer_grid = aditi
mesh-development.build_debug_release_separately = true
mesh-development.build_CYGWIN_Debug = false
mesh-development.build_viewer_update_version_manager = false
# ========================================
# mesh-development-release-1-candidate
# ========================================
mesh-development-release-1-candidate.viewer_channel = "Project Viewer - Mesh"
mesh-development-release-1-candidate.viewer_grid = agni
mesh-development-release-1-candidate.build_debug_release_separately = true
mesh-development-release-1-candidate.build_CYGWIN_Debug = false
mesh-development-release-1-candidate.build_viewer_update_version_manager = false
# ========================================
# mesh-development-rc
# ========================================
mesh-development-rc.viewer_channel = "Project Viewer - Mesh"
mesh-development-rc.viewer_grid = agni
mesh-development-rc.build_debug_release_separately = true
mesh-development-rc.build_CYGWIN_Debug = false
mesh-development-rc.build_viewer_update_version_manager = false
# ========================================
# mesh-asset-deprecation
# ========================================
mesh-asset-deprecation.viewer_channel = "Project Viewer - Mesh Asset Deprecation"
mesh-asset-deprecation.viewer_grid = aditi
mesh-asset-deprecation.build_debug_release_separately = true
mesh-asset-deprecation.build_CYGWIN_Debug = false
mesh-asset-deprecation.build_viewer_update_version_manager = false
# ========================================
# viewer-mesh
# ========================================
viewer-mesh.build_viewer = true
viewer-mesh.build_server = false
viewer-mesh.build_Linux = true
viewer-mesh.build_hg_bundle = true
viewer-mesh.build_viewer_update_version_manager = false
viewer-mesh.build_Debug = false
viewer-mesh.build_RelWithDebInfo = false
viewer-mesh.viewer_channel = "Project Viewer - Mesh"
viewer-mesh.viewer_grid = aditi
viewer-mesh.email = shining@lists.lindenlab.com
# ========================================
# viewer-pathfinding
# ========================================
viewer-pathfinding.viewer_channel = "Project Viewer - Pathfinding"
viewer-pathfinding.viewer_grid = agni
viewer-pathfinding.build_debug_release_separately = true
viewer-pathfinding.build_CYGWIN_Debug = false
viewer-pathfinding.build_viewer_update_version_manager = false
# ========================================
# viewer-materials
# ========================================
viewer-materials.viewer_channel = "Second Life Beta Materials"
viewer-materials.build_debug_release_separately = true
viewer-materials.build_CYGWIN_Debug = false
viewer-materials.build_viewer_update_version_manager = false
# =================================================================
# asset delivery 2010 projects
# =================================================================
viewer-asset-delivery.viewer_channel = "Second Life Development"
viewer-asset-delivery.build_viewer_update_version_manager = false
viewer-asset-delivery.email = monty@lindenlab.com
viewer-asset-delivery.build_server = false
viewer-asset-delivery.build_server_tests = false
viewer-asset-delivery-metrics.viewer_channel = "Second Life Development"
viewer-asset-delivery-metrics.build_viewer_update_version_manager = false
viewer-asset-delivery-metrics.email = monty@lindenlab.com
viewer-asset-delivery-metrics.build_server = false
viewer-asset-delivery-metrics.build_server_tests = false
# ========================================
# Simon says
# ========================================
simon_viewer-dev-private.public_build = false
simon_viewer-dev-private.email_status_this_is_os = false
# ========================================
# Vir
# ========================================
vir-project-1.viewer_channel = "Second Life Release"
# ========================================
# THX-1138 / Runway projects
# ========================================
viewer-thx1138-runway-shared.viewer_channel = "Project Viewer - THX-1138 Runway"
viewer-thx1138-runway-shared.viewer_grid = uma
viewer-thx1138-runway-shared.build_debug_release_separately = true
viewer-thx1138-runway-shared.build_CYGWIN_Debug = false
viewer-thx1138-runway-shared.build_viewer_update_version_manager = false
viewer-thx1138.viewer_channel = "Project Viewer - THX-1138"
viewer-thx1138.viewer_grid = uma
viewer-thx1138.build_debug_release_separately = true
viewer-thx1138.build_CYGWIN_Debug = false
viewer-thx1138.build_viewer_update_version_manager = false
runway-merge.viewer_channel = "Project Viewer - Runway Merge"
runway-merge.viewer_grid = agni
runway-merge.build_debug_release_separately = true
runway-merge.build_CYGWIN_Debug = false
runway-merge.build_viewer_update_version_manager = false
runway.viewer_channel = "Project Viewer - Runway"
runway.viewer_grid = agni
runway.build_debug_release_separately = true
runway.build_CYGWIN_Debug = false
runway.build_viewer_update_version_manager = false
# eof
This diff is collapsed.
diff -r fe4bab01522e indra/llprimitive/llrendermaterialtable.cpp
--- a/indra/llprimitive/llrendermaterialtable.cpp Wed May 15 17:57:21 2013 +0000
+++ b/indra/llprimitive/llrendermaterialtable.cpp Wed May 22 14:23:04 2013 -0700
@@ -184,6 +184,44 @@
}
}
+// 'v' is an integer value for 100ths of radians (don't ask...)
+//
+void LLRenderMaterialEntry::LLRenderMaterial::setSpecularMapRotation(S32 v) const
+{
+ // Store the fact that we're using the new rotation rep
+ //
+ m_flags |= kNewSpecularMapRotation;
+
+ // Store 'sign bit' in our m_flags
+ //
+ m_flags &= ~kSpecularMapRotationNegative;
+ m_flags |= (specularMapRotation < 0) ? kSpecularMapRotationNegative : 0;
+
+ specularRotation = abs(specularRotation);
+ specularRotation = llmin(specularRotation, MAX_MATERIAL_MAP_ROTATION);
+
+ m_specularRotation = (U16)(abs(specularMapRotation));
+}
+
+// 'v' is an integer value for 100ths of radians (don't ask...)
+//
+void LLRenderMaterialEntry::LLRenderMaterial::setNormalMapRotation(S32 v) const
+{
+
+ // Store the fact that we're using the new rep for this material
+ //
+ m_flags |= kNewNormalMapRotation;
+
+ // Store 'sign bit' in our m_flags
+ //
+ m_flags &= ~kNormalMapRotationNegative;
+ m_flags |= (normalMapRotation < 0) ? kNormalMapRotationNegative : 0;
+
+ normalRotation = abs(normalRotation);
+ normalRotation = llmin(normalRotation, MAX_MATERIAL_MAP_ROTATION);
+
+ m_normalRotation = (U16)(abs(normalMapRotation));
+}
void LLRenderMaterialEntry::LLRenderMaterial::asLLSD( LLSD& dest ) const
{
@@ -193,20 +231,45 @@
dest["NormOffsetY"] = (S32)m_normalOffsetY;
dest["NormRepeatX"] = m_normalRepeatX;
dest["NormRepeatY"] = m_normalRepeatY;
- dest["NormRotation"] = (S32)m_normalRotation;
+
+ S32 value = (S32)m_normalMapRotation;
+
+ // If we don't have the flag for new rotations set,
+ // then we need to convert it now
+ if (!(m_flags & kNewNormalMapRotation))
+ {
+ F32 old_radians = ((F32)m_normalMapRotation / 10000.0f)
+ S32 new_val = (S32)(old_radians * 100.0f);
+ setNormalMapRotation(new_Val);
+ }
+
+ dest["NormRotation"] = (m_flags & kNormalMapRotationNegative) ? -(S32)m_normalRotation : (S32)m_normalRotation;
dest["SpecOffsetX"] = (S32)m_specularOffsetX;
dest["SpecOffsetY"] = (S32)m_specularOffsetY;
dest["SpecRepeatX"] = m_specularRepeatX;
dest["SpecRepeatY"] = m_specularRepeatY;
- dest["SpecRotation"] = (S32)m_specularRotation;
+
+
+ value = (S32)m_specularRotation;
+
+ // If we don't have the flag for new rotations set,
+ // then we need to convert it now
+ if (!(m_flags & kNewSpecularMapRotation))
+ {
+ F32 old_radians = ((F32)m_specularMapRotation / 10000.0f)
+ S32 new_val = (S32)(old_radians * 100.0f);
+ setSpecularMapRotation(new_Val);
+ }
+
+ dest["SpecRotation"] = (m_flags & kSpecularMapRotationNegative) ? -(S32)m_specularRotation : (S32)m_specularRotation;
dest["SpecMap"] = m_specularMap;
dest["SpecColor"] = m_specularLightColor.getValue();
dest["SpecExp"] = (S32)m_specularLightExponent;
dest["EnvIntensity"] = (S32)m_environmentIntensity;
dest["AlphaMaskCutoff"] = (S32)m_alphaMaskCutoff;
- dest["DiffuseAlphaMode"] = (S32)m_diffuseAlphaMode;
+ dest["DiffuseAlphaMode"] = (S32)(m_diffuseAlphaMode & 0xF);
}
@@ -217,7 +280,10 @@
m_normalOffsetY = (U16)materialDefinition["NormOffsetY"].asInteger();
m_normalRepeatX = materialDefinition["NormRepeatX"].asInteger();
m_normalRepeatY = materialDefinition["NormRepeatY"].asInteger();
- m_normalRotation = (U16)materialDefinition["NormRotation"].asInteger();
+
+ S32 normalRotation = materialDefinition["NormRotation"].asInteger();
+
+ setNormalMapRotation(normalRotation);
m_specularMap = materialDefinition["SpecMap"].asUUID();
@@ -225,7 +291,10 @@
m_specularOffsetY = (U16)materialDefinition["SpecOffsetY"].asInteger();
m_specularRepeatX = materialDefinition["SpecRepeatX"].asInteger();
m_specularRepeatY = materialDefinition["SpecRepeatY"].asInteger();
- m_specularRotation = (U16)materialDefinition["SpecRotation"].asInteger();
+
+ S32 specularRotation = materialDefinition["SpecRotation"].asInteger();
+
+ setSpecularMapRotation(specularRotation);
m_specularLightColor.setValue( materialDefinition["SpecColor"] );
m_specularLightExponent = (U8)materialDefinition["SpecExp"].asInteger();
diff -r fe4bab01522e indra/llprimitive/llrendermaterialtable.h
--- a/indra/llprimitive/llrendermaterialtable.h Wed May 15 17:57:21 2013 +0000
+++ b/indra/llprimitive/llrendermaterialtable.h Wed May 22 14:23:04 2013 -0700
@@ -89,11 +89,17 @@
void computeID();
+
struct LLRenderMaterial
{
void asLLSD( LLSD& dest ) const;
void setFromLLSD( const LLSD& materialDefinition );
+ void setNormalMapRotation(S32 v);
+ void setSpecularMapRotation(S32 v);
+
+ const S32 MAX_MATERIAL_MAP_ROTATION = 62800;
+
// 36 bytes
LLUUID m_normalMap;
LLUUID m_specularMap;
@@ -119,7 +125,20 @@
U8 m_specularLightExponent;
U8 m_environmentIntensity;
U8 m_alphaMaskCutoff;
- U8 m_diffuseAlphaMode;
+ U8 m_diffuseAlphaMode : 4;
+ U8 m_flags : 4;
+ };
+
+ // Flags stored in LLRenderMaterial::m_flags to differentiate 'old' rotation format
+ // which doesn't handle negative or large rotations correctly from new format.
+ // All ancient materials will have these flags unset as the values for diffuseAlphaMode
+ // from which the bits were stolen never used more than the bottom 2 bits.
+ //
+ enum RenderMaterialFlags {
+ kNewNormalMapRotation = 0x1,
+ kNewSpecularMapRotation = 0x2,
+ kNormalMapRotationNegative = 0x4,
+ kSpecularMapRotationNegative = 0x8
};
friend struct eastl::hash<LLRenderMaterial>;
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[dev-packages]
[packages]
llbase = "*"
certifi = "*"
autobuild = {git = "https://git.alchemyviewer.org/alchemy/autobuild.git"}
[requires]
python_version = "2.7"
![Alchemy Logo](https://www.alchemyviewer.org/images/banner.png)
[![pipeline status](https://git.alchemyviewer.org/alchemy/alchemy/badges/master/pipeline.svg)](https://git.alchemyviewer.org/alchemy/alchemy/commits/master)
[![Coverity Scan Build Status](https://scan.coverity.com/projects/1904/badge.svg)](https://scan.coverity.com/projects/1904)
## About
Alchemy is a client for Second Life and OpenMetaverse protocol simulators. We focus on creating a smooth and easy to use experience with secure and sane defaults.
## Resources
* [Alchemy Website](http://www.alchemyviewer.org)
* [Issue Tracker](https://git.alchemyviewer.org/alchemy/alchemy/issues)
* [Wiki](https://git.alchemyviewer.org/alchemy/alchemy/wikis/home)
This diff is collapsed.
#!/bin/sh
# This is a the master build script - it is intended to be run by parabuild
# It is called by a wrapper script in the shared repository which sets up
# the environment from the various BuildParams files and does all the build
# result post-processing.
#
# PLEASE NOTE:
#
# * This script is interpreted on three platforms, including windows and cygwin
# Cygwin can be tricky....
# * The special style in which python is invoked is intentional to permit
# use of a native python install on windows - which requires paths in DOS form
# * This script relies heavily on parameters defined in BuildParams
# * The basic convention is that the build name can be mapped onto a mercurial URL,
# which is also used as the "branch" name.
check_for()
{
if [ -e "$2" ]; then found_dict='FOUND'; else found_dict='MISSING'; fi
echo "$1 ${found_dict} '$2' " 1>&2
}
build_dir_Darwin()
{
echo build-darwin-i386
}
build_dir_Linux()
{
echo build-linux-i686
}
build_dir_CYGWIN()
{
echo build-vc100
}
installer_Darwin()
{
ls -1td "$(build_dir_Darwin ${last_built_variant:-Release})/newview/"*.dmg 2>/dev/null | sed 1q
}
installer_Linux()
{
ls -1td "$(build_dir_Linux ${last_built_variant:-Release})/newview/"*.tar.bz2 2>/dev/null | sed 1q
}
installer_CYGWIN()
{
v=${last_built_variant:-Release}
d=$(build_dir_CYGWIN $v)
if [ -r "$d/newview/$v/touched.bat" ]
then
p=$(sed 's:.*=::' "$d/newview/$v/touched.bat")
echo "$d/newview/$v/$p"
fi
}
pre_build()
{
local variant="$1"
begin_section "Pre$variant"
[ -n "$master_message_template_checkout" ] \
&& [ -r "$master_message_template_checkout/message_template.msg" ] \
&& template_verifier_master_url="-DTEMPLATE_VERIFIER_MASTER_URL=file://$master_message_template_checkout/message_template.msg"
check_for "Confirm dictionaries are installed before 'autobuild configure'" ${build_dir}/packages/dictionaries
"$AUTOBUILD" configure -c $variant -- \
-DPACKAGE:BOOL=ON \
-DRELEASE_CRASH_REPORTING:BOOL=ON \
-DVIEWER_CHANNEL:STRING="\"$viewer_channel\"" \
-DGRID:STRING="\"$viewer_grid\"" \
-DLL_TESTS:BOOL="$run_tests" \
-DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url
end_section "Pre$variant"
}
package_llphysicsextensions_tpv()
{
begin_section "PhysicsExtensions_TPV"
tpv_status=0
if [ "$variant" = "Release" ]
then
llpetpvcfg=$build_dir/packages/llphysicsextensions/autobuild-tpv.xml
"$AUTOBUILD" build --verbose --config-file $llpetpvcfg -c Tpv
# capture the package file name for use in upload later...
PKGTMP=`mktemp -t pgktpv.XXXXXX`
trap "rm $PKGTMP* 2>/dev/null" 0
"$AUTOBUILD" package --verbose --config-file $llpetpvcfg > $PKGTMP
tpv_status=$?
sed -n -e 's/^wrote *//p' $PKGTMP > $build_dir/llphysicsextensions_package
else
echo "Do not provide llphysicsextensions_tpv for $variant"
llphysicsextensions_package=""
fi
end_section "PhysicsExtensions_TPV"
return $tpv_status
}
build()
{
local variant="$1"
if $build_viewer
then
begin_section "Viewer$variant"
"$AUTOBUILD" build --no-configure -c $variant
build_ok=$?
end_section "Viewer$variant"
# Run build extensions
if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ]; then
for extension in ${build_dir}/packages/build-extensions/*.sh; do
. $extension
if [ $build_ok -ne 0 ]; then
break
fi
done
fi
# *TODO: Make this a build extension.
package_llphysicsextensions_tpv
tpvlib_build_ok=$?
if [ $build_ok -eq 0 -a $tpvlib_build_ok -eq 0 ]
then
echo true >"$build_dir"/build_ok
else
echo false >"$build_dir"/build_ok
fi
fi
}
# This is called from the branch independent script upon completion of all platform builds.
build_docs()
{
begin_section Docs
# Stub code to generate docs
echo Hello world > documentation.txt
upload_item docs documentation.txt text/plain
end_section Docs
}
# Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there
if [ "x$arch" = x ]
then
top=`hg root`
if [ -x "$top/../buildscripts/hg/bin/build.sh" ]
then
exec "$top/../buildscripts/hg/bin/build.sh" "$top"
else
cat <<EOF
This script, if called in a development environment, requires that the branch
independent build script repository be checked out next to this repository.
This repository is located at http://hg.lindenlab.com/parabuild/buildscripts
EOF
exit 1
fi
fi
# Check to see if we're skipping the platform
eval '$build_'"$arch" || pass
if [ -z "$AUTOBUILD" ]
then
export autobuild_dir="$here/../../../autobuild/bin/"
if [ -d "$autobuild_dir" ]
then
export AUTOBUILD="$autobuild_dir"autobuild
if [ -x "$AUTOBUILD" ]
then
# *HACK - bash doesn't know how to pass real pathnames to native windows python
case "$arch" in
CYGWIN) AUTOBUILD=$(cygpath -u $AUTOBUILD.cmd) ;;
esac
else
record_failure "Not executable: $AUTOBUILD"
exit 1
fi
else
record_failure "Not found: $autobuild_dir"
exit 1
fi
fi
# load autbuild provided shell functions and variables
eval "$("$AUTOBUILD" source_environment)"
# dump environment variables for debugging
env|sort
# Now run the build
succeeded=true
build_processes=
last_built_variant=
for variant in $variants
do
eval '$build_'"$variant" || continue
eval '$build_'"$arch"_"$variant" || continue
# Only the last built arch is available for upload
last_built_variant="$variant"
begin_section "Do$variant"
build_dir=`build_dir_$arch $variant`
build_dir_stubs="$build_dir/win_setup/$variant"
begin_section "PreClean"
rm -rf "$build_dir"
end_section "PreClean"
mkdir -p "$build_dir"
mkdir -p "$build_dir/tmp"
if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1
then
if $build_link_parallel
then
begin_section BuildParallel
( build "$variant" "$build_dir" > "$build_dir/build.log" 2>&1 ) &
build_processes="$build_processes $!"
end_section BuildParallel
else
begin_section "Build$variant"
build "$variant" "$build_dir" 2>&1 | tee -a "$build_log" | sed -n 's/^ *\(##teamcity.*\)/\1/p'
if `cat "$build_dir/build_ok"`
then
echo so far so good.
else
record_failure "Build of \"$variant\" failed."
fi
end_section "Build$variant"
fi
else
record_failure "Build Prep for \"$variant\" failed."
fi
end_section "Do$variant"
done
# If we are building variants in parallel, wait, then collect results.
# This requires that the build dirs are variant specific
if $build_link_parallel && [ x"$build_processes" != x ]
then
begin_section WaitParallel
wait $build_processes
for variant in $variants
do
eval '$build_'"$variant" || continue
eval '$build_'"$arch"_"$variant" || continue
begin_section "Build$variant"
build_dir=`build_dir_$arch $variant`
build_dir_stubs="$build_dir/win_setup/$variant"
tee -a $build_log < "$build_dir/build.log" | sed -n 's/^ *\(##teamcity.*\)/\1/p'
if `cat "$build_dir/build_ok"`
then
echo so far so good.
else
record_failure "Parallel build of \"$variant\" failed."
fi
end_section "Build$variant"
done
end_section WaitParallel
fi
# build debian package
if [ "$arch" == "Linux" ]
then
if $succeeded
then
if $build_viewer_deb && [ "$last_built_variant" == "Release" ]
then
begin_section "Build Viewer Debian Package"
local have_private_repo=false
# mangle the changelog
dch --force-bad-version \
--distribution unstable \
--newversion "${VIEWER_VERSION}" \
"Automated build #$build_id, repository $branch revision $revision." \
>> "$build_log" 2>&1
# build the debian package
$pkg_default_debuild_command >>"$build_log" 2>&1 || record_failure "\"$pkg_default_debuild_command\" failed."
# Unmangle the changelog file
hg revert debian/changelog
end_section "Build Viewer Debian Package"
# Run debian extensions
if [ -d ${build_dir}/packages/debian-extensions ]; then
for extension in ${build_dir}/packages/debian-extensions/*.sh; do
. $extension
done
fi
# Move any .deb results.
mkdir -p ../packages_public
mkdir -p ../packages_private
mv ${build_dir}/packages/*.deb ../packages_public 2>/dev/null || true
mv ${build_dir}/packages/packages_private/*.deb ../packages_private 2>/dev/null || true
# upload debian package and create repository
begin_section "Upload Debian Repository"
for deb_file in `/bin/ls ../packages_public/*.deb ../*.deb 2>/dev/null`; do
upload_item debian $deb_file binary/octet-stream
done
for deb_file in `/bin/ls ../packages_private/*.deb 2>/dev/null`; do
upload_item debian_private $deb_file binary/octet-stream
have_private_repo=true
done
create_deb_repo
# Rename the local debian_repo* directories so that the master buildscript
# doesn't make a remote repo again.
for debian_repo_type in debian_repo debian_repo_private; do
if [ -d "$build_log_dir/$debian_repo_type" ]; then
mv $build_log_dir/$debian_repo_type $build_log_dir/${debian_repo_type}_pushed
fi
done
if [ $have_private_repo = true ]; then
eval "$python_command \"$redirect\" '\${private_S3PROXY_URL}${S3PREFIX}repo/$repo/rev/$revision/index.html'"\
>"$build_log_dir/private.html" || fatal generating redirect
upload_item global_redirect "$build_log_dir/private.html" text/html
fi
end_section "Upload Debian Repository"
else
echo skipping debian build
fi
else
echo skipping debian build due to failed build.
fi
fi
# check status and upload results to S3
if $succeeded
then
if $build_viewer
then
begin_section Upload Installer
# Upload installer - note that ONLY THE FIRST ITEM uploaded as "installer"
# will appear in the version manager.
package=$(installer_$arch)
if [ x"$package" = x ] || test -d "$package"
then
# Coverity doesn't package, so it's ok, anything else is fail
succeeded=$build_coverity
else
upload_item installer "$package" binary/octet-stream
upload_item quicklink "$package" binary/octet-stream
[ -f $build_dir/summary.json ] && upload_item installer $build_dir/summary.json text/plain
case "$last_built_variant" in
Release)
# Upload crash reporter files
for symbolfile in $symbolfiles
do
upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
done
# Upload the llphysicsextensions_tpv package, if one was produced
# *TODO: Make this an upload-extension
if [ -r "$build_dir/llphysicsextensions_package" ]
then
llphysicsextensions_package=$(cat $build_dir/llphysicsextensions_package)
upload_item private_artifact "$llphysicsextensions_package" binary/octet-stream
else
echo "No llphysicsextensions_package"
fi
;;
*)
echo "Skipping mapfile for $last_built_variant"
;;
esac
# Run upload extensions
if [ -d ${build_dir}/packages/upload-extensions ]; then
for extension in ${build_dir}/packages/upload-extensions/*.sh; do
. $extension
done
fi
# Upload stub installers
upload_stub_installers "$build_dir_stubs"
fi
end_section Upload Installer
else
echo skipping upload of installer
fi
else
echo skipping upload of installer due to failed build.
fi
# The branch independent build.sh script invoking this script will finish processing
$succeeded || exit 1
# Linden packages install in opt/linden
secondlife-viewer: dir-or-file-in-opt
secondlife-viewer: section-is-dh_make-template
secondlife-viewer: binary-without-manpage
secondlife-viewer: maintainer-script-empty postrm
secondlife-viewer: maintainer-script-empty preinst
secondlife-viewer: maintainer-script-empty prerm
secondlife-viewer: unstripped-binary-or-object
...@@ -11,7 +11,7 @@ summary, see http://creativecommons.org/licenses/by-sa/3.0/. ...@@ -11,7 +11,7 @@ summary, see http://creativecommons.org/licenses/by-sa/3.0/.
Notwithstanding the foregoing, all of Linden Lab's trademarks, including Notwithstanding the foregoing, all of Linden Lab's trademarks, including
but not limited to the Second Life brand name and Second Life Eye-in-Hand but not limited to the Second Life brand name and Second Life Eye-in-Hand
logo, are subject to our trademark policy at logo, are subject to our trademark policy at
http://secondlife.com/corporate/trademark/. http://secondlife.com/corporate/brand/trademark/.
If you distribute any copies or adaptations of the Second Life viewer If you distribute any copies or adaptations of the Second Life viewer
artwork or any other works in these files, you must include this Notice artwork or any other works in these files, you must include this Notice
......
...@@ -7,7 +7,9 @@ you under the terms of the GNU Lesser General Public License, version 2.1 ...@@ -7,7 +7,9 @@ you under the terms of the GNU Lesser General Public License, version 2.1
("LGPL"), unless you have obtained a separate licensing agreement ("LGPL"), unless you have obtained a separate licensing agreement
("Other License"), formally executed by you and Linden Lab. Terms of ("Other License"), formally executed by you and Linden Lab. Terms of
the GPL can be found in doc/LGPL-license.txt in this distribution, or the GPL can be found in doc/LGPL-license.txt in this distribution, or
online at http://secondlife.com/developers/opensource/lgplv2_1 online at
https://wiki.secondlife.com/wiki/Linden_Lab_Official:GNU_Lesser_General_Public_License,_version_2.1
By copying, modifying or distributing this software, you acknowledge By copying, modifying or distributing this software, you acknowledge
that you have read and understood your obligations described above, that you have read and understood your obligations described above,
......
...@@ -12,6 +12,7 @@ Able Whitman ...@@ -12,6 +12,7 @@ Able Whitman
Adam Marker Adam Marker
VWR-2755 VWR-2755
Adeon Writer Adeon Writer
MAINT-1211
Aeonix Aeon Aeonix Aeon
Agathos Frascati Agathos Frascati
CT-246 CT-246
...@@ -175,8 +176,53 @@ Ansariel Hiller ...@@ -175,8 +176,53 @@ Ansariel Hiller
STORM-1685 STORM-1685
STORM-1713 STORM-1713
STORM-1899 STORM-1899
STORM-1932
STORM-1933
MAINT-2368 MAINT-2368
STORM-1931 STORM-1931
MAINT-2773
STORM-2011
MAINT-3187
BUG-3764
STORM-1984
STORM-1979
STORM-2083
MAINT-5533
STORM-2094
MAINT-5756
MAINT-4677
MAINT-6300
MAINT-6397
MAINT-6432
MAINT-6513
MAINT-6514
MAINT-6552
STORM-2133
MAINT-6511
MAINT-6612
MAINT-6637
MAINT-6636
MAINT-6744
MAINT-6752
MAINT-6773
MAINT-6906
MAINT-6911
STORM-2140
MAINT-6912
MAINT-6929
STORM-2141
MAINT-6953
MAINT-7028
MAINT-7059
MAINT-6519
MAINT-7899
STORM-2105
STORM-2151
MAINT-6917
MAINT-8085
MAINT-8723
SL-10385
SL-10891
Aralara Rajal Aralara Rajal
Arare Chantilly Arare Chantilly
CHUIBUG-191 CHUIBUG-191
...@@ -291,6 +337,7 @@ Catherine Pfeffer ...@@ -291,6 +337,7 @@ Catherine Pfeffer
VWR-1282 VWR-1282
VWR-8624 VWR-8624
VWR-10854 VWR-10854
Cathy Foil
Cayu Cluny Cayu Cluny
Celierra Darling Celierra Darling
VWR-1274 VWR-1274
...@@ -298,13 +345,38 @@ Celierra Darling ...@@ -298,13 +345,38 @@ Celierra Darling
Chantal Harvey Chantal Harvey
Charles Courtois Charles Courtois
Charlie Sazaland Charlie Sazaland
Chaser Zaks
BUG-225599
Cherry Cheevers Cherry Cheevers
ChickyBabes Zuzu ChickyBabes Zuzu
Christopher Organiser Christopher Organiser
Ciaran Laval Ciaran Laval
Cinder Roxley Cinder Roxley
BUG-2326 BUG-2326
BUG-3863
BUG-8786
OPEN-185
OPEN-282
OPEN-292
OPEN-297
STORM-1703 STORM-1703
STORM-1948
STORM-1831
STORM-1888
STORM-1958
STORM-1952
STORM-1951
STORM-1949
STORM-2035
STORM-2036
STORM-2037
STORM-2053
STORM-2096
STORM-2113
STORM-2116
STORM-2127
STORM-2144
SL-3404
Clara Young Clara Young
Coaldust Numbers Coaldust Numbers
VWR-1095 VWR-1095
...@@ -316,6 +388,10 @@ Cron Stardust ...@@ -316,6 +388,10 @@ Cron Stardust
VWR-10579 VWR-10579
VWR-25120 VWR-25120
STORM-1075 STORM-1075
STORM-1919
STORM-1920
OPEN-209
STORM-2017
Cypren Christenson Cypren Christenson
STORM-417 STORM-417
Dante Tucker Dante Tucker
...@@ -333,6 +409,7 @@ Decro Schmooz ...@@ -333,6 +409,7 @@ Decro Schmooz
Denim Kamachi Denim Kamachi
DiJodi Dubratt DiJodi Dubratt
Dil Spitz Dil Spitz
MAINT-4455
Dimitrio Lewis Dimitrio Lewis
Dirk Dirk
Draconis Neurocam Draconis Neurocam
...@@ -408,6 +485,7 @@ Ganymedes Costagravas ...@@ -408,6 +485,7 @@ Ganymedes Costagravas
Geenz Spad Geenz Spad
STORM-1823 STORM-1823
STORM-1900 STORM-1900
STORM-1905
NORSPEC-229 NORSPEC-229
Gene Frostbite Gene Frostbite
GeneJ Composer GeneJ Composer
...@@ -504,6 +582,16 @@ Ima Mechanique ...@@ -504,6 +582,16 @@ Ima Mechanique
STORM-959 STORM-959
STORM-1175 STORM-1175
STORM-1708 STORM-1708
STORM-1831
STORM-1832
STORM-1855
VWR-10791
VWR-20553
VWR-19213
VWR-22401
VWR-23739
VWR-24766
VWR-28065
Imnotgoing Sideways Imnotgoing Sideways
Inma Rau Inma Rau
Innula Zenovka Innula Zenovka
...@@ -646,18 +734,61 @@ Jonathan Yap ...@@ -646,18 +734,61 @@ Jonathan Yap
STORM-1809 STORM-1809
STORM-1793 STORM-1793
STORM-1810 STORM-1810
STORM-1877 STORM-68
STORM-1838
STORM-1892
STORM-1894
STORM-1860 STORM-1860
STORM-1852 STORM-1852
STORM-1870 STORM-1870
STORM-1872 STORM-1872
STORM-1858 STORM-1858
STORM-1862 STORM-1862
STORM-1918
STORM-1915
STORM-1929
STORM-1953
OPEN-161 OPEN-161
STORM-1953
STORM-1957
STORM-1993
STORM-2017
STORM-2007
STORM-1980
OPEN-113
STORM-1975
STORM-1982
STORM-1975
STORM-1987
STORM-1982
STORM-1992
STORM-1989
STORM-1987
STORM-1986
STORM-1981
STORM-2015
STORM-2031
STORM-2030
STORM-2034
STORM-2018
STORM-2082
STORM-2086
STORM-2085
STORM-2088
STORM-2094
STORM-2099
STORM-2091
STORM-2092
STORM-2100
STORM-2104
STORM-2142
SL-10089
Kadah Coba Kadah Coba
STORM-1060 STORM-1060
STORM-1843 STORM-1843
Jondan Lundquist Jondan Lundquist
Joosten Briebers
MAINT-7074
Josef Munster Josef Munster
Josette Windlow Josette Windlow
Juilan Tripsa Juilan Tripsa
...@@ -669,6 +800,10 @@ Kagehi Kohn ...@@ -669,6 +800,10 @@ Kagehi Kohn
Kaimen Takahe Kaimen Takahe
Katharine Berry Katharine Berry
STORM-1900 STORM-1900
OPEN-149
STORM-1940
OPEN-149
STORM-1941
Keklily Longfall Keklily Longfall
Ken Lavender Ken Lavender
Ken March Ken March
...@@ -691,8 +826,20 @@ Kitty Barnett ...@@ -691,8 +826,20 @@ Kitty Barnett
STORM-800 STORM-800
STORM-1001 STORM-1001
STORM-1175 STORM-1175
STORM-1905
VWR-24217 VWR-24217
STORM-1804 STORM-1804
MAINT-5416
MAINT-6041
MAINT-6142
MAINT-6144
MAINT-6152
MAINT-6153
MAINT-6154
MAINT-6568
STORM-2149
MAINT-7581
MAINT-7081
Kolor Fall Kolor Fall
Komiko Okamoto Komiko Okamoto
Korvel Noh Korvel Noh
...@@ -700,7 +847,9 @@ Kunnis Basiat ...@@ -700,7 +847,9 @@ Kunnis Basiat
VWR-82 VWR-82
VWR-102 VWR-102
Lance Corrimal Lance Corrimal
STORM-1910
VWR-25269 VWR-25269
STORM-2008
Latif Khalifa Latif Khalifa
VWR-5370 VWR-5370
leliel Mirihi leliel Mirihi
...@@ -754,10 +903,13 @@ Marianne McCann ...@@ -754,10 +903,13 @@ Marianne McCann
Marine Kelley Marine Kelley
CHUIBUG-134 CHUIBUG-134
STORM-281 STORM-281
STORM-1910
MartinRJ Fayray MartinRJ Fayray
STORM-1844 STORM-1844
STORM-1845 STORM-1845
STORM-1911
STORM-1934 STORM-1934
Matrice Laville
Matthew Anthony Matthew Anthony
Matthew Dowd Matthew Dowd
VWR-1344 VWR-1344
...@@ -817,6 +969,8 @@ Mm Alder ...@@ -817,6 +969,8 @@ Mm Alder
VWR-4794 VWR-4794
VWR-13578 VWR-13578
Mo Hax Mo Hax
Moon Metty
STORM-2078
Mourna Biziou Mourna Biziou
Mr Greggan Mr Greggan
VWR-445 VWR-445
...@@ -901,19 +1055,66 @@ Nicholaz Beresford ...@@ -901,19 +1055,66 @@ Nicholaz Beresford
VWR-2682 VWR-2682
VWR-2684 VWR-2684
Nick Rhodes Nick Rhodes
NickyD
MAINT-873
Nicky Dasmijn Nicky Dasmijn
MAINT-873
MAINT-7541
VWR-29228 VWR-29228
MAINT-1392
MAINT-873 MAINT-873
SUN-72 SUN-72
BUG-2432 BUG-2432
STORM-1935
STORM-1936
BUG-3605
CHUIBUG-197
OPEN-187
STORM-1937
OPEN-187
STORM-2010
STORM-2082
MAINT-6665
SL-10291
SL-10293
SL-11061
Nicky Perian Nicky Perian
OPEN-1 OPEN-1
STORM-1087 STORM-1087
STORM-1090 STORM-1090
STORM-1828 STORM-1828
STORM-2080
Nicoladie Gymnast Nicoladie Gymnast
NiranV Dean
STORM-2040
STORM-2042
STORM-2043
STORM-2044
STORM-2045
STORM-2046
STORM-2047
STORM-2048
STORM-2049
STORM-2050
STORM-2051
STORM-2052
STORM-2057
STORM-2058
STORM-2059
STORM-2060
STORM-2061
STORM-2063
STORM-2065
STORM-2066
STORM-2068
STORM-2073
STORM-2076
BUG-372
BUG-1179
BUG-6835
BUG-6837
BUG-6839
BUG-6840
BUG-6958
BUG-7020
Nounouch Hapmouche Nounouch Hapmouche
VWR-238 VWR-238
Ollie Kubrick Ollie Kubrick
...@@ -941,6 +1142,12 @@ Peekay Semyorka ...@@ -941,6 +1142,12 @@ Peekay Semyorka
VWR-19 VWR-19
VWR-49 VWR-49
VWR-79 VWR-79
Pell Smit
MAINT-4323
STORM-2069
STORM-2070
STORM-2071
STORM-2072
Peter Lameth Peter Lameth
VWR-7331 VWR-7331
PeterPunk Mooney PeterPunk Mooney
...@@ -1050,6 +1257,7 @@ Satanello Miami ...@@ -1050,6 +1257,7 @@ Satanello Miami
Satomi Ahn Satomi Ahn
STORM-501 STORM-501
STORM-229 STORM-229
VWR-20553
VWR-24502 VWR-24502
Scrim Pinion Scrim Pinion
Scrippy Scofield Scrippy Scofield
...@@ -1079,6 +1287,8 @@ Shnurui Troughton ...@@ -1079,6 +1287,8 @@ Shnurui Troughton
Shyotl Kuhr Shyotl Kuhr
MAINT-1138 MAINT-1138
MAINT-2334 MAINT-2334
MAINT-6913
STORM-2143
Siana Gearz Siana Gearz
STORM-960 STORM-960
STORM-1088 STORM-1088
...@@ -1103,6 +1313,20 @@ Slee Mayo ...@@ -1103,6 +1313,20 @@ Slee Mayo
snowy Sidran snowy Sidran
Sovereign Engineer Sovereign Engineer
MAINT-2334 MAINT-2334
OPEN-189
STORM-1972
STORM-2113
OPEN-195
OPEN-217
OPEN-295
MAINT-6107
STORM-2107
MAINT-6218
MAINT-6913
STORM-2143
STORM-2148
MAINT-7343
SL-11079
SpacedOut Frye SpacedOut Frye
VWR-34 VWR-34
VWR-45 VWR-45
...@@ -1143,6 +1367,8 @@ Takeda Terrawyng ...@@ -1143,6 +1367,8 @@ Takeda Terrawyng
TankMaster Finesmith TankMaster Finesmith
OPEN-140 OPEN-140
OPEN-142 OPEN-142
OPEN-154
OPEN-295
STORM-1100 STORM-1100
STORM-1258 STORM-1258
STORM-1602 STORM-1602
...@@ -1220,6 +1446,11 @@ Tofu Buzzard ...@@ -1220,6 +1446,11 @@ Tofu Buzzard
STORM-1684 STORM-1684
STORM-1819 STORM-1819
Tony Kembia Tony Kembia
Tonya Souther
STORM-1905
BUG-3875
BUG-3968
OPEN-345
Torben Trautman Torben Trautman
TouchaHoney Perhaps TouchaHoney Perhaps
TraductoresAnonimos Alter TraductoresAnonimos Alter
...@@ -1270,8 +1501,11 @@ Westley Streeter ...@@ -1270,8 +1501,11 @@ Westley Streeter
Whimsy Winx Whimsy Winx
Whirly Fizzle Whirly Fizzle
STORM-1895 STORM-1895
VWR-29543
MAINT-873 MAINT-873
STORM-1930 STORM-1930
BUG-6659
STORM-2078
Whoops Babii Whoops Babii
VWR-631 VWR-631
VWR-1640 VWR-1640
...@@ -1333,6 +1567,7 @@ YongYong Francois ...@@ -1333,6 +1567,7 @@ YongYong Francois
Zak Westminster Zak Westminster
Zai Lynch Zai Lynch
VWR-19505 VWR-19505
STORM-1902
Zana Kohime Zana Kohime
Zaren Alexander Zaren Alexander
Zarkonnen Decosta Zarkonnen Decosta
...@@ -1356,7 +1591,3 @@ Zipherius Turas ...@@ -1356,7 +1591,3 @@ Zipherius Turas
VWR-77 VWR-77
Zoex Flanagan Zoex Flanagan
...@@ -236,6 +236,14 @@ ...@@ -236,6 +236,14 @@
<boolean>false</boolean> <boolean>false</boolean>
</map> </map>
<key>ObjectAnimation</key>
<map>
<key>flavor</key>
<string>template</string>
<key>trusted-sender</key>
<boolean>false</boolean>
</map>
<key>AvatarAppearance</key> <key>AvatarAppearance</key>
<map> <map>
<key>flavor</key> <key>flavor</key>
......
...@@ -3,31 +3,27 @@ ...@@ -3,31 +3,27 @@
# cmake_minimum_required should appear before any # cmake_minimum_required should appear before any
# other commands to guarantee full compatibility # other commands to guarantee full compatibility
# with the version specified # with the version specified
## prior to 2.8, the add_custom_target commands used in setting the version did not work correctly cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
set(ROOT_PROJECT_NAME "SecondLife" CACHE STRING set(ROOT_PROJECT_NAME "Alchemy" CACHE STRING
"The root project/makefile/solution name. Defaults to SecondLife.") "The root project/makefile/solution name. Defaults to Alchemy.")
project(${ROOT_PROJECT_NAME}) project(${ROOT_PROJECT_NAME} LANGUAGES CXX)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
include(Variables)
include(BuildVersion)
if (NOT CMAKE_BUILD_TYPE) if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
"Build type. One of: Debug Release RelWithDebInfo" FORCE) "Build type. One of: Debug Release RelWithDebInfo" FORCE)
endif (NOT CMAKE_BUILD_TYPE) endif (NOT CMAKE_BUILD_TYPE)
# For the library installation process; include(Variables)
# see cmake/Prebuild.cmake for the counterpart code. include(00-Common)
if ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${CMAKE_BINARY_DIR}/temp/sentinel_installed") include(BuildVersion)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp) include(CTest)
file(WRITE ${CMAKE_BINARY_DIR}/temp/sentinel_installed "0")
endif ("${CMAKE_SOURCE_DIR}/../autobuild.xml" IS_NEWER_THAN "${CMAKE_BINARY_DIR}/temp/sentinel_installed") add_subdirectory(deps)
add_subdirectory(cmake)
add_subdirectory(cmake)
add_subdirectory(${LIBS_OPEN_PREFIX}llaudio) add_subdirectory(${LIBS_OPEN_PREFIX}llaudio)
add_subdirectory(${LIBS_OPEN_PREFIX}llappearance) add_subdirectory(${LIBS_OPEN_PREFIX}llappearance)
add_subdirectory(${LIBS_OPEN_PREFIX}llcharacter) add_subdirectory(${LIBS_OPEN_PREFIX}llcharacter)
...@@ -45,59 +41,54 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llvfs) ...@@ -45,59 +41,54 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llvfs)
add_subdirectory(${LIBS_OPEN_PREFIX}llwindow) add_subdirectory(${LIBS_OPEN_PREFIX}llwindow)
add_subdirectory(${LIBS_OPEN_PREFIX}llxml) add_subdirectory(${LIBS_OPEN_PREFIX}llxml)
add_subdirectory(${LIBS_OPEN_PREFIX}lscript)
if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts) if (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts)
add_subdirectory(${LIBS_CLOSED_PREFIX}copy_win_scripts) add_subdirectory(${LIBS_CLOSED_PREFIX}copy_win_scripts)
endif (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts) endif (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts)
if (DARWIN)
add_subdirectory(${LIBS_OPEN_PREFIX}lldarwin)
endif(DARWIN)
add_custom_target(viewer) add_custom_target(viewer)
add_subdirectory(${LIBS_OPEN_PREFIX}llcrashlogger)
add_subdirectory(${LIBS_OPEN_PREFIX}llplugin) add_subdirectory(${LIBS_OPEN_PREFIX}llplugin)
add_subdirectory(${LIBS_OPEN_PREFIX}llui) add_subdirectory(${LIBS_OPEN_PREFIX}llui)
add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components) add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components)
# Legacy C++ tests. Build always, run if LL_TESTS is true. # Legacy C++ tests. Build and run if LL_TESTS is true.
add_subdirectory(${VIEWER_PREFIX}test) if (LL_TESTS)
add_subdirectory(${VIEWER_PREFIX}test)
endif (LL_TESTS)
# viewer media plugins # viewer media plugins
add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins) if (ENABLE_MEDIA_PLUGINS)
add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins)
# llplugin testbed code (is this the right way to include it?) endif (ENABLE_MEDIA_PLUGINS)
if (LL_TESTS AND NOT LINUX)
add_subdirectory(${VIEWER_PREFIX}test_apps/llplugintest)
endif (LL_TESTS AND NOT LINUX)
if (LINUX) if (LINUX)
add_subdirectory(${VIEWER_PREFIX}linux_crash_logger)
add_subdirectory(${VIEWER_PREFIX}linux_updater)
if (INSTALL_PROPRIETARY) if (INSTALL_PROPRIETARY)
include(LLAppearanceUtility) include(LLAppearanceUtility)
add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR}) add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR})
endif (INSTALL_PROPRIETARY) endif (INSTALL_PROPRIETARY)
add_dependencies(viewer linux-crash-logger-strip-target linux-updater)
elseif (DARWIN) elseif (DARWIN)
add_subdirectory(${VIEWER_PREFIX}mac_crash_logger) # add crash logger here in the future
add_dependencies(viewer mac-crash-logger)
elseif (WINDOWS) elseif (WINDOWS)
add_subdirectory(${VIEWER_PREFIX}win_crash_logger) # add crash logger here in the future
# cmake EXISTS requires an absolute path, see indra/cmake/Variables.cmake
if (EXISTS ${VIEWER_DIR}win_setup)
add_subdirectory(${VIEWER_DIR}win_setup)
endif (EXISTS ${VIEWER_DIR}win_setup)
add_subdirectory(${VIEWER_PREFIX}win_updater)
# add_dependencies(viewer windows-updater windows-setup windows-crash-logger)
add_dependencies(viewer windows-updater windows-crash-logger)
elseif (SOLARIS)
add_subdirectory(solaris_crash_logger)
add_dependencies(viewer solaris-crash-logger)
endif (LINUX) endif (LINUX)
add_subdirectory(${VIEWER_PREFIX}newview) add_subdirectory(${VIEWER_PREFIX}newview)
add_dependencies(viewer secondlife-bin) add_dependencies(viewer ${VIEWER_BINARY_NAME})
add_subdirectory(${VIEWER_PREFIX}doxygen EXCLUDE_FROM_ALL)
if (WINDOWS)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
PROPERTY VS_STARTUP_PROJECT ${VIEWER_BINARY_NAME})
endif (WINDOWS)
if (LL_TESTS) if (LL_TESTS)
# Define after the custom targets are created so # Define after the custom targets are created so
# individual apps can add themselves as dependencies # individual apps can add themselves as dependencies
add_subdirectory(${INTEGRATION_TESTS_PREFIX}integration_tests) add_subdirectory(${INTEGRATION_TESTS_PREFIX}integration_tests)
endif (LL_TESTS) endif (LL_TESTS)