mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 19:56:44 +02:00
Merge branch 'master' into protocol_changes
This commit is contained in:
commit
e7f7314b37
23 changed files with 459 additions and 146 deletions
10
.github/workflows/master_build.yml
vendored
10
.github/workflows/master_build.yml
vendored
|
@ -13,13 +13,13 @@ on:
|
||||||
env:
|
env:
|
||||||
APP_NAME: interface
|
APP_NAME: interface
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Release
|
||||||
BUILD_NUMBER: ${{ github.run_number }}
|
BUILD_NUMBER: ${{ github.event.number }}_${{ github.sha }}
|
||||||
CI_BUILD: Github
|
CI_BUILD: Github
|
||||||
GIT_COMMIT: ${{ github.sha }}
|
GIT_COMMIT: ${{ github.sha }}
|
||||||
# VCPKG did not build well on OSX disabling HIFI_VCPKG_BOOTSTRAP, which invokes a download to a working version of vcpkg
|
# VCPKG did not build well on OSX disabling HIFI_VCPKG_BOOTSTRAP, which invokes a download to a working version of vcpkg
|
||||||
# HIFI_VCPKG_BOOTSTRAP: true
|
# HIFI_VCPKG_BOOTSTRAP: true
|
||||||
RELEASE_TYPE: PRODUCTION
|
RELEASE_TYPE: PRODUCTION
|
||||||
RELEASE_NUMBER: ${{ github.run_number }}
|
RELEASE_NUMBER: ${{ github.event.number }}_${{ github.sha }}
|
||||||
STABLE_BUILD: 0
|
STABLE_BUILD: 0
|
||||||
UPLOAD_BUCKET: overte-public
|
UPLOAD_BUCKET: overte-public
|
||||||
UPLOAD_REGION: fra1
|
UPLOAD_REGION: fra1
|
||||||
|
@ -108,7 +108,7 @@ jobs:
|
||||||
# Build type variables
|
# Build type variables
|
||||||
if [ "${{ matrix.build_type }}" = "full" ]; then
|
if [ "${{ matrix.build_type }}" = "full" ]; then
|
||||||
echo "CLIENT_ONLY=FALSE" >> $GITHUB_ENV
|
echo "CLIENT_ONLY=FALSE" >> $GITHUB_ENV
|
||||||
echo "INSTALLER=Overte-master$BUILD_NUMBER-${{ steps.buildenv1.outputs.github_sha_short }}.$INSTALLER_EXT" >> $GITHUB_ENV
|
echo "INSTALLER=Overte-${{ github.event.number }}_${{ github.sha }}.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
else
|
else
|
||||||
echo "CLIENT_ONLY=TRUE" >> $GITHUB_ENV
|
echo "CLIENT_ONLY=TRUE" >> $GITHUB_ENV
|
||||||
echo "INSTALLER=Overte-Interface-master$BUILD_NUMBER-${{ steps.buildenv1.outputs.github_sha_short }}.$INSTALLER_EXT" >> $GITHUB_ENV
|
echo "INSTALLER=Overte-Interface-master$BUILD_NUMBER-${{ steps.buildenv1.outputs.github_sha_short }}.$INSTALLER_EXT" >> $GITHUB_ENV
|
||||||
|
@ -247,8 +247,8 @@ jobs:
|
||||||
- name: Upload artifact to GitHub
|
- name: Upload artifact to GitHub
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ env.ARTIFACT_PATTERN }}
|
name: ${{ env.INSTALLER }}
|
||||||
path: ./build/${{ env.ARTIFACT_PATTERN }}
|
path: ${{runner.workspace}}/build/${{ env.INSTALLER }}
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
#- name: Archive symbols
|
#- name: Archive symbols
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -17,6 +17,7 @@ cmake-build-release-visual-studio/
|
||||||
cmake-build-relwithdebinfo-visual-studio/
|
cmake-build-relwithdebinfo-visual-studio/
|
||||||
cmake-build-debug-visual-studio/
|
cmake-build-debug-visual-studio/
|
||||||
cmake-build-debug/
|
cmake-build-debug/
|
||||||
|
/cmake-build-*/
|
||||||
/release*/
|
/release*/
|
||||||
/debug*/
|
/debug*/
|
||||||
/gprof*/
|
/gprof*/
|
||||||
|
|
|
@ -1,14 +1,72 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<svg
|
||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
version="1.0"
|
||||||
viewBox="0 0 96 96" style="enable-background:new 0 0 96 96;" xml:space="preserve">
|
width="50pt"
|
||||||
<g>
|
height="50pt"
|
||||||
<path d="M78.3,31.3l-0.4-0.4c-0.8-0.8-2-1.2-3.1-1c-0.2,0-18.6,2.7-26.2,2.8c-0.2,0-0.3,0-0.4,0c-7.8,0-26.6-3-26.8-3.1
|
viewBox="0 0 50 50"
|
||||||
c-1.5-0.2-3,0.4-3.7,1.7l-0.5,0.8c-0.6,0.9-0.7,2-0.4,3c0.3,1,1.1,1.8,2,2.3c3.4,1.5,14.9,6.3,18.2,6.7c0.6,0.1,1.7,0.2,1.8,2.2
|
preserveAspectRatio="xMidYMid"
|
||||||
c0.2,2.4-0.8,14.1-2.2,19.7c-1.4,5.4-3.8,12.5-3.9,12.6c-0.7,1.9,0.3,4,2.2,4.7l2.3,0.8c0.9,0.3,2,0.3,2.8-0.2
|
id="svg10"
|
||||||
c0.9-0.4,1.6-1.2,1.9-2.2l6.4-19.7l6,20.3c0.3,1,1,1.8,1.9,2.3c0.5,0.2,1.1,0.4,1.6,0.4c0.5,0,0.9-0.1,1.3-0.2l2.1-0.8
|
sodipodi:docname="avatar-a.svg"
|
||||||
c1.7-0.7,2.7-2.5,2.2-4.3c0-0.1-1.8-7.4-3.3-13.5c-0.9-3.7-1.3-9.2-1.6-13.6c-0.2-2.7-0.3-5-0.6-6.8c-0.1-0.3-0.2-1.1,1.3-1.4
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||||
c0.3,0,0.4-0.1,0.6-0.2l16.9-6.7c1.2-0.5,2-1.5,2.3-2.7C79.5,33.5,79.2,32.2,78.3,31.3z"/>
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
<ellipse cx="48.7" cy="20" rx="9" ry="9"/>
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
</g>
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
</svg>
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs10" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview10"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="pt"
|
||||||
|
inkscape:zoom="13.869048"
|
||||||
|
inkscape:cx="37.709871"
|
||||||
|
inkscape:cy="31.400858"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1363"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg10" />
|
||||||
|
<g
|
||||||
|
transform="matrix(0.01,0,0,-0.01,-0.12203826,50.393861)"
|
||||||
|
fill="#000000"
|
||||||
|
stroke="none"
|
||||||
|
id="g10">
|
||||||
|
<path
|
||||||
|
d="m 1057,4769 c -92,-22 -207,-102 -272,-190 -142,-193 -118,-468 57,-635 78,-75 135,-108 218,-130 86,-22 223,-15 302,15 124,48 242,166 288,289 30,79 37,209 17,289 -45,174 -181,316 -342,358 -64,16 -206,19 -268,4 z"
|
||||||
|
id="path1" />
|
||||||
|
<path
|
||||||
|
d="m 2911,4442 c -121,-61 -136,-232 -27,-314 26,-19 43,-23 106,-23 63,0 80,4 108,23 45,32 72,90 72,152 0,57 -15,93 -57,132 -53,50 -138,63 -202,30 z"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
d="m 2201,4397 c -90,-46 -86,-175 7,-214 70,-29 149,18 159,95 12,91 -85,161 -166,119 z"
|
||||||
|
id="path3" />
|
||||||
|
<path
|
||||||
|
d="m 3716,4094 c -65,-20 -146,-101 -169,-168 -47,-139 14,-290 141,-352 53,-26 158,-30 221,-9 101,33 181,147 181,257 0,199 -181,331 -374,272 z"
|
||||||
|
id="path4" />
|
||||||
|
<path
|
||||||
|
d="m 796,3734 c -153,-37 -299,-182 -346,-344 -15,-54 -19,-110 -23,-340 -2,-151 -2,-387 2,-525 l 6,-250 35,-17 c 32,-17 88,-18 715,-18 627,0 683,1 715,18 l 35,17 6,245 c 4,135 5,371 2,525 -5,311 -14,364 -74,460 -74,118 -183,202 -300,230 -89,21 -685,20 -773,-1 z"
|
||||||
|
id="path5" />
|
||||||
|
<path
|
||||||
|
d="m 4103,3030 c -17,-4 -83,-44 -147,-89 l -116,-82 -121,85 c -109,77 -127,86 -166,86 -65,0 -124,-37 -145,-90 -12,-32 -58,-502 -58,-595 1,-130 38,-228 123,-322 112,-123 226,-169 399,-161 91,4 111,8 173,38 123,58 228,177 266,301 26,82 24,195 -5,496 -21,210 -27,246 -46,272 -35,50 -96,73 -157,61 z"
|
||||||
|
id="path6" />
|
||||||
|
<path
|
||||||
|
d="m 855,1850 c -52,-20 -127,-85 -150,-130 -39,-75 -35,-200 9,-275 53,-89 134,-134 241,-135 238,0 366,261 221,452 -71,93 -212,132 -321,88 z"
|
||||||
|
id="path7" />
|
||||||
|
<path
|
||||||
|
d="m 3463,1795 c -173,-38 -325,-194 -368,-376 -12,-51 -15,-138 -15,-417 V 649 l -49,26 c -76,42 -117,80 -145,137 -35,70 -33,105 14,210 51,112 64,174 56,258 -14,151 -126,364 -214,406 -82,38 -176,-41 -151,-128 4,-14 26,-51 48,-81 55,-72 91,-163 91,-228 0,-39 -10,-74 -41,-141 -52,-117 -64,-181 -49,-267 15,-93 60,-179 130,-250 61,-62 179,-138 261,-168 39,-13 49,-22 49,-39 0,-36 11,-54 41,-69 24,-13 131,-15 712,-15 458,0 694,4 715,11 18,6 35,22 42,38 8,20 10,170 8,542 -4,497 -4,516 -25,571 -59,157 -165,266 -312,321 -52,20 -79,21 -396,24 -262,2 -354,-1 -402,-12 z"
|
||||||
|
id="path8" />
|
||||||
|
<path
|
||||||
|
d="m 1509,1120 c -42,-12 -84,-48 -109,-92 -32,-56 -25,-141 14,-193 48,-63 142,-91 213,-64 35,13 80,55 99,92 16,30 21,100 9,138 -28,91 -134,147 -226,119 z"
|
||||||
|
id="path9" />
|
||||||
|
<path
|
||||||
|
d="m 2260,763 c -59,-53 -48,-153 20,-188 47,-24 94,-19 133,15 56,48 58,118 5,170 -25,25 -38,30 -79,30 -39,0 -55,-5 -79,-27 z"
|
||||||
|
id="path10" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 3.7 KiB |
|
@ -1,17 +1,85 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<svg
|
||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
version="1.0"
|
||||||
viewBox="0 0 96 96" style="enable-background:new 0 0 96 96;" xml:space="preserve">
|
width="50pt"
|
||||||
<style type="text/css">
|
height="50pt"
|
||||||
.st0{fill:#FFFFFF;}
|
viewBox="0 0 50 50"
|
||||||
</style>
|
preserveAspectRatio="xMidYMid"
|
||||||
<g>
|
id="svg24"
|
||||||
<path class="st0" d="M78.3,31.3l-0.4-0.4c-0.8-0.8-2-1.2-3.1-1c-0.2,0-18.6,2.7-26.2,2.8c-0.2,0-0.3,0-0.4,0
|
sodipodi:docname="avatar-i.svg"
|
||||||
c-7.8,0-26.6-3-26.8-3.1c-1.5-0.2-3,0.4-3.7,1.7l-0.5,0.8c-0.6,0.9-0.7,2-0.4,3c0.3,1,1.1,1.8,2,2.3c3.4,1.5,14.9,6.3,18.2,6.7
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||||
c0.6,0.1,1.7,0.2,1.8,2.2c0.2,2.4-0.8,14.1-2.2,19.7c-1.4,5.4-3.8,12.5-3.9,12.6c-0.7,1.9,0.3,4,2.2,4.7l2.3,0.8
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
c0.9,0.3,2,0.3,2.8-0.2c0.9-0.4,1.6-1.2,1.9-2.2l6.4-19.7l6,20.3c0.3,1,1,1.8,1.9,2.3c0.5,0.2,1.1,0.4,1.6,0.4
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
c0.5,0,0.9-0.1,1.3-0.2l2.1-0.8c1.7-0.7,2.7-2.5,2.2-4.3c0-0.1-1.8-7.4-3.3-13.5c-0.9-3.7-1.3-9.2-1.6-13.6c-0.2-2.7-0.3-5-0.6-6.8
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
c-0.1-0.3-0.2-1.1,1.3-1.4c0.3,0,0.4-0.1,0.6-0.2l16.9-6.7c1.2-0.5,2-1.5,2.3-2.7C79.5,33.5,79.2,32.2,78.3,31.3z"/>
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
<ellipse class="st0" cx="48.7" cy="20" rx="9" ry="9"/>
|
<defs
|
||||||
</g>
|
id="defs28" />
|
||||||
</svg>
|
<sodipodi:namedview
|
||||||
|
id="namedview26"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="pt"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="9.4523808"
|
||||||
|
inkscape:cx="55.75315"
|
||||||
|
inkscape:cy="34.012595"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1363"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg24"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1" />
|
||||||
|
<g
|
||||||
|
transform="matrix(0.01,0,0,-0.01,-0.12203826,50.393861)"
|
||||||
|
fill="#000000"
|
||||||
|
stroke="none"
|
||||||
|
id="g22"
|
||||||
|
style="fill:#ffffff">
|
||||||
|
<path
|
||||||
|
d="m 1057,4769 c -92,-22 -207,-102 -272,-190 -142,-193 -118,-468 57,-635 78,-75 135,-108 218,-130 86,-22 223,-15 302,15 124,48 242,166 288,289 30,79 37,209 17,289 -45,174 -181,316 -342,358 -64,16 -206,19 -268,4 z"
|
||||||
|
id="path2"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 2911,4442 c -121,-61 -136,-232 -27,-314 26,-19 43,-23 106,-23 63,0 80,4 108,23 45,32 72,90 72,152 0,57 -15,93 -57,132 -53,50 -138,63 -202,30 z"
|
||||||
|
id="path4"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 2201,4397 c -90,-46 -86,-175 7,-214 70,-29 149,18 159,95 12,91 -85,161 -166,119 z"
|
||||||
|
id="path6"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 3716,4094 c -65,-20 -146,-101 -169,-168 -47,-139 14,-290 141,-352 53,-26 158,-30 221,-9 101,33 181,147 181,257 0,199 -181,331 -374,272 z"
|
||||||
|
id="path8"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 796,3734 c -153,-37 -299,-182 -346,-344 -15,-54 -19,-110 -23,-340 -2,-151 -2,-387 2,-525 l 6,-250 35,-17 c 32,-17 88,-18 715,-18 627,0 683,1 715,18 l 35,17 6,245 c 4,135 5,371 2,525 -5,311 -14,364 -74,460 -74,118 -183,202 -300,230 -89,21 -685,20 -773,-1 z"
|
||||||
|
id="path10"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 4103,3030 c -17,-4 -83,-44 -147,-89 l -116,-82 -121,85 c -109,77 -127,86 -166,86 -65,0 -124,-37 -145,-90 -12,-32 -58,-502 -58,-595 1,-130 38,-228 123,-322 112,-123 226,-169 399,-161 91,4 111,8 173,38 123,58 228,177 266,301 26,82 24,195 -5,496 -21,210 -27,246 -46,272 -35,50 -96,73 -157,61 z"
|
||||||
|
id="path12"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 855,1850 c -52,-20 -127,-85 -150,-130 -39,-75 -35,-200 9,-275 53,-89 134,-134 241,-135 238,0 366,261 221,452 -71,93 -212,132 -321,88 z"
|
||||||
|
id="path14"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 3463,1795 c -173,-38 -325,-194 -368,-376 -12,-51 -15,-138 -15,-417 V 649 l -49,26 c -76,42 -117,80 -145,137 -35,70 -33,105 14,210 51,112 64,174 56,258 -14,151 -126,364 -214,406 -82,38 -176,-41 -151,-128 4,-14 26,-51 48,-81 55,-72 91,-163 91,-228 0,-39 -10,-74 -41,-141 -52,-117 -64,-181 -49,-267 15,-93 60,-179 130,-250 61,-62 179,-138 261,-168 39,-13 49,-22 49,-39 0,-36 11,-54 41,-69 24,-13 131,-15 712,-15 458,0 694,4 715,11 18,6 35,22 42,38 8,20 10,170 8,542 -4,497 -4,516 -25,571 -59,157 -165,266 -312,321 -52,20 -79,21 -396,24 -262,2 -354,-1 -402,-12 z"
|
||||||
|
id="path16"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 1509,1120 c -42,-12 -84,-48 -109,-92 -32,-56 -25,-141 14,-193 48,-63 142,-91 213,-64 35,13 80,55 99,92 16,30 21,100 9,138 -28,91 -134,147 -226,119 z"
|
||||||
|
id="path18"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="m 2260,763 c -59,-53 -48,-153 20,-188 47,-24 94,-19 133,15 56,48 58,118 5,170 -25,25 -38,30 -79,30 -39,0 -55,-5 -79,-27 z"
|
||||||
|
id="path20"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 4 KiB |
|
@ -1,20 +1,70 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
viewBox="0 0 134 134" style="enable-background:new 0 0 134 134;" xml:space="preserve">
|
<svg
|
||||||
<style type="text/css">
|
version="1.1"
|
||||||
.st0{fill:#1FC6A6;}
|
id="Layer_1"
|
||||||
</style>
|
x="0px"
|
||||||
<path class="st0" d="M5,0h124c2.8,0,5,2.2,5,5v124c0,2.8-2.2,5-5,5H5c-2.8,0-5-2.2-5-5V5C0,2.2,2.2,0,5,0z"/>
|
y="0px"
|
||||||
<path d="M100.5,99c-9.2,9.2-20.3,13.8-33.5,13.8S42.6,108.2,33.3,99c-9.2-9.2-13.8-20.3-13.8-33.5s4.6-24.3,13.8-33.5
|
viewBox="0 0 134 134"
|
||||||
C42.6,22.7,53.9,18,67,18s24.3,4.7,33.5,14.1c9.4,9.2,14.1,20.3,14.1,33.5S109.8,89.9,100.5,99z M96.3,36.3
|
style="enable-background:new 0 0 134 134;"
|
||||||
C88.2,28.1,78.4,23.9,67,23.9s-21.3,4.1-29.5,12.4c-8.1,8.1-12.1,17.8-12.1,29.3s4,21.2,12.1,29.3c8.3,8.1,18.1,12.1,29.5,12.1
|
xml:space="preserve"
|
||||||
s21.2-4,29.3-12.1c8.3-8.1,12.4-17.8,12.4-29.3S104.5,44.4,96.3,36.3z M94.3,49.3L94,49c-0.8-0.8-1.7-1.1-2.8-1.1l-1.7,0.3
|
sodipodi:docname="guy-in-circle.svg"
|
||||||
c-1.3,0.2-3,0.5-5.1,0.8c-1.9,0.2-3.8,0.4-5.9,0.6c-2.1,0.2-4.2,0.4-6.5,0.6c-2.1,0.2-3.8,0.3-5.1,0.3h-0.6L42,47.6
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||||
c-1.7,0-2.9,0.6-3.7,1.7L38,49.8c-0.6,0.8-0.7,1.7-0.3,2.8c0.2,0.9,0.8,1.7,1.7,2.3c8.8,3.8,14.4,5.8,16.9,6.2c0.9,0,1.5,0.7,1.7,2
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
c0.4,3.8-0.3,9.8-2,18.3c-0.4,1.3-0.9,3-1.7,5.1c-0.6,1.9-1,3.4-1.4,4.5l-0.6,2c-0.8,2.1-0.1,3.5,2,4.2l2.3,0.8
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
c0.9,0.4,1.8,0.3,2.5-0.3c0.8-0.2,1.3-0.8,1.7-2l5.9-18.3l5.6,18.8c0.4,1.1,0.9,1.8,1.7,2c0.4,0.2,0.8,0.3,1.4,0.3h1.4l2-0.8
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
c1.7-0.8,2.3-2.1,2-3.9l-3.1-12.4c-0.6-2.1-1-6.3-1.4-12.7c0-1.9-0.2-3.9-0.6-6.2c0-0.8,0.5-1.2,1.4-1.4h0.6l15.5-6.2
|
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||||
c0.9-0.6,1.6-1.4,2-2.5S95.2,50.2,94.3,49.3z M72.6,33.2c1.7,1.5,2.5,3.4,2.5,5.6s-0.8,4.2-2.5,5.9C71.1,46.3,69.3,47,67,47
|
id="defs2" /><sodipodi:namedview
|
||||||
s-4.2-0.8-5.9-2.3c-1.5-1.7-2.3-3.7-2.3-5.9s0.8-4.1,2.3-5.6c1.7-1.7,3.7-2.5,5.9-2.5S71.1,31.5,72.6,33.2z"/>
|
id="namedview2"
|
||||||
</svg>
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="1.5949479"
|
||||||
|
inkscape:cx="52.666296"
|
||||||
|
inkscape:cy="9.7181855"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1407"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Layer_1" />
|
||||||
|
<style
|
||||||
|
type="text/css"
|
||||||
|
id="style1">
|
||||||
|
.st0{fill:#1FC6A6;}
|
||||||
|
</style>
|
||||||
|
<path
|
||||||
|
class="st0"
|
||||||
|
d="M5,0h124c2.8,0,5,2.2,5,5v124c0,2.8-2.2,5-5,5H5c-2.8,0-5-2.2-5-5V5C0,2.2,2.2,0,5,0z"
|
||||||
|
id="path1" />
|
||||||
|
|
||||||
|
<g
|
||||||
|
transform="matrix(0.02033471,0,0,-0.02033471,15.915064,118.63768)"
|
||||||
|
fill="#000000"
|
||||||
|
stroke="none"
|
||||||
|
id="g10"><path
|
||||||
|
d="m 1057,4769 c -92,-22 -207,-102 -272,-190 -142,-193 -118,-468 57,-635 78,-75 135,-108 218,-130 86,-22 223,-15 302,15 124,48 242,166 288,289 30,79 37,209 17,289 -45,174 -181,316 -342,358 -64,16 -206,19 -268,4 z"
|
||||||
|
id="path1-3" /><path
|
||||||
|
d="m 2911,4442 c -121,-61 -136,-232 -27,-314 26,-19 43,-23 106,-23 63,0 80,4 108,23 45,32 72,90 72,152 0,57 -15,93 -57,132 -53,50 -138,63 -202,30 z"
|
||||||
|
id="path2-6" /><path
|
||||||
|
d="m 2201,4397 c -90,-46 -86,-175 7,-214 70,-29 149,18 159,95 12,91 -85,161 -166,119 z"
|
||||||
|
id="path3" /><path
|
||||||
|
d="m 3716,4094 c -65,-20 -146,-101 -169,-168 -47,-139 14,-290 141,-352 53,-26 158,-30 221,-9 101,33 181,147 181,257 0,199 -181,331 -374,272 z"
|
||||||
|
id="path4" /><path
|
||||||
|
d="m 796,3734 c -153,-37 -299,-182 -346,-344 -15,-54 -19,-110 -23,-340 -2,-151 -2,-387 2,-525 l 6,-250 35,-17 c 32,-17 88,-18 715,-18 627,0 683,1 715,18 l 35,17 6,245 c 4,135 5,371 2,525 -5,311 -14,364 -74,460 -74,118 -183,202 -300,230 -89,21 -685,20 -773,-1 z"
|
||||||
|
id="path5" /><path
|
||||||
|
d="m 4103,3030 c -17,-4 -83,-44 -147,-89 l -116,-82 -121,85 c -109,77 -127,86 -166,86 -65,0 -124,-37 -145,-90 -12,-32 -58,-502 -58,-595 1,-130 38,-228 123,-322 112,-123 226,-169 399,-161 91,4 111,8 173,38 123,58 228,177 266,301 26,82 24,195 -5,496 -21,210 -27,246 -46,272 -35,50 -96,73 -157,61 z"
|
||||||
|
id="path6" /><path
|
||||||
|
d="m 855,1850 c -52,-20 -127,-85 -150,-130 -39,-75 -35,-200 9,-275 53,-89 134,-134 241,-135 238,0 366,261 221,452 -71,93 -212,132 -321,88 z"
|
||||||
|
id="path7" /><path
|
||||||
|
d="m 3463,1795 c -173,-38 -325,-194 -368,-376 -12,-51 -15,-138 -15,-417 V 649 l -49,26 c -76,42 -117,80 -145,137 -35,70 -33,105 14,210 51,112 64,174 56,258 -14,151 -126,364 -214,406 -82,38 -176,-41 -151,-128 4,-14 26,-51 48,-81 55,-72 91,-163 91,-228 0,-39 -10,-74 -41,-141 -52,-117 -64,-181 -49,-267 15,-93 60,-179 130,-250 61,-62 179,-138 261,-168 39,-13 49,-22 49,-39 0,-36 11,-54 41,-69 24,-13 131,-15 712,-15 458,0 694,4 715,11 18,6 35,22 42,38 8,20 10,170 8,542 -4,497 -4,516 -25,571 -59,157 -165,266 -312,321 -52,20 -79,21 -396,24 -262,2 -354,-1 -402,-12 z"
|
||||||
|
id="path8" /><path
|
||||||
|
d="m 1509,1120 c -42,-12 -84,-48 -109,-92 -32,-56 -25,-141 14,-193 48,-63 142,-91 213,-64 35,13 80,55 99,92 16,30 21,100 9,138 -28,91 -134,147 -226,119 z"
|
||||||
|
id="path9" /><path
|
||||||
|
d="m 2260,763 c -59,-53 -48,-153 20,-188 47,-24 94,-19 133,15 56,48 58,118 5,170 -25,25 -38,30 -79,30 -39,0 -55,-5 -79,-27 z"
|
||||||
|
id="path10" /></g></svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
@ -20,16 +20,6 @@ ShadowRectangle {
|
||||||
|
|
||||||
color: style.colors.lightGrayBackground
|
color: style.colors.lightGrayBackground
|
||||||
|
|
||||||
HiFiGlyphs {
|
|
||||||
id: avatarIcon
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 23
|
|
||||||
anchors.verticalCenter: header.verticalCenter
|
|
||||||
|
|
||||||
size: 38
|
|
||||||
text: "<"
|
|
||||||
}
|
|
||||||
|
|
||||||
// TextStyle6
|
// TextStyle6
|
||||||
RalewaySemiBold {
|
RalewaySemiBold {
|
||||||
id: title
|
id: title
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
#include "avatar/AvatarManager.h"
|
#include "avatar/AvatarManager.h"
|
||||||
#include "avatar/AvatarPackager.h"
|
#include "avatar/AvatarPackager.h"
|
||||||
#include "AvatarBookmarks.h"
|
#include "AvatarBookmarks.h"
|
||||||
|
#include <display-plugins/OpenGLDisplayPlugin.h>
|
||||||
#include "DomainAccountManager.h"
|
#include "DomainAccountManager.h"
|
||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
#include "render/DrawStatus.h"
|
#include "render/DrawStatus.h"
|
||||||
|
@ -546,6 +547,13 @@ Menu::Menu() {
|
||||||
drawStatusConfig, SLOT(setShowFade(bool)));
|
drawStatusConfig, SLOT(setShowFade(bool)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::ExtraLinearTosRGBConversion, 0, OpenGLDisplayPlugin::getExtraLinearToSRGBConversion());
|
||||||
|
connect(action, &QAction::triggered, [action] {
|
||||||
|
OpenGLDisplayPlugin::setExtraLinearToSRGBConversion(action->isChecked());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Developer > Assets >>>
|
// Developer > Assets >>>
|
||||||
// Menu item is not currently needed but code should be kept in case it proves useful again at some stage.
|
// Menu item is not currently needed but code should be kept in case it proves useful again at some stage.
|
||||||
//#define WANT_ASSET_MIGRATION
|
//#define WANT_ASSET_MIGRATION
|
||||||
|
|
|
@ -237,7 +237,8 @@ namespace MenuOption {
|
||||||
const QString ComputeBlendshapes = "Compute Blendshapes";
|
const QString ComputeBlendshapes = "Compute Blendshapes";
|
||||||
const QString HighlightTransitions = "Highlight Transitions";
|
const QString HighlightTransitions = "Highlight Transitions";
|
||||||
const QString MaterialProceduralShaders = "Enable Procedural Materials";
|
const QString MaterialProceduralShaders = "Enable Procedural Materials";
|
||||||
}
|
const QString ExtraLinearTosRGBConversion = "Extra Linear to sRGB Conversion";
|
||||||
|
}
|
||||||
|
|
||||||
#endif // hifi_Menu_h
|
#endif // hifi_Menu_h
|
||||||
|
|
||||||
|
|
|
@ -112,14 +112,6 @@ bool Basic2DWindowOpenGLDisplayPlugin::internalActivate() {
|
||||||
return Parent::internalActivate();
|
return Parent::internalActivate();
|
||||||
}
|
}
|
||||||
|
|
||||||
gpu::PipelinePointer Basic2DWindowOpenGLDisplayPlugin::getRenderTexturePipeline() {
|
|
||||||
#if defined(Q_OS_ANDROID)
|
|
||||||
return _linearToSRGBPipeline;
|
|
||||||
#else
|
|
||||||
return _drawTexturePipeline;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void Basic2DWindowOpenGLDisplayPlugin::compositeExtra() {
|
void Basic2DWindowOpenGLDisplayPlugin::compositeExtra() {
|
||||||
#if defined(Q_OS_ANDROID)
|
#if defined(Q_OS_ANDROID)
|
||||||
auto& virtualPadManager = VirtualPad::Manager::instance();
|
auto& virtualPadManager = VirtualPad::Manager::instance();
|
||||||
|
|
|
@ -37,8 +37,6 @@ public:
|
||||||
|
|
||||||
virtual void pluginUpdate() override {};
|
virtual void pluginUpdate() override {};
|
||||||
|
|
||||||
virtual gpu::PipelinePointer getRenderTexturePipeline() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
mutable bool _isThrottled = false;
|
mutable bool _isThrottled = false;
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include <gl/GLEscrow.h>
|
#include <gl/GLEscrow.h>
|
||||||
#include <gl/Context.h>
|
#include <gl/Context.h>
|
||||||
#include <gl/OffscreenGLCanvas.h>
|
#include <gl/OffscreenGLCanvas.h>
|
||||||
|
#include <gl/GLHelpers.h>
|
||||||
|
|
||||||
#include <gpu/Texture.h>
|
#include <gpu/Texture.h>
|
||||||
#include <gpu/FrameIO.h>
|
#include <gpu/FrameIO.h>
|
||||||
|
@ -57,6 +58,8 @@ using namespace shader::gpu::program;
|
||||||
|
|
||||||
extern QThread* RENDER_THREAD;
|
extern QThread* RENDER_THREAD;
|
||||||
|
|
||||||
|
Setting::Handle<bool> OpenGLDisplayPlugin::_extraLinearToSRGBConversionSetting("extraLinearToSRGBConversion", false);
|
||||||
|
|
||||||
class PresentThread : public QThread, public Dependency {
|
class PresentThread : public QThread, public Dependency {
|
||||||
using Mutex = std::mutex;
|
using Mutex = std::mutex;
|
||||||
using Condition = std::condition_variable;
|
using Condition = std::condition_variable;
|
||||||
|
@ -956,5 +959,16 @@ void OpenGLDisplayPlugin::copyTextureToQuickFramebuffer(NetworkTexturePointer ne
|
||||||
}
|
}
|
||||||
|
|
||||||
gpu::PipelinePointer OpenGLDisplayPlugin::getRenderTexturePipeline() {
|
gpu::PipelinePointer OpenGLDisplayPlugin::getRenderTexturePipeline() {
|
||||||
return _drawTexturePipeline;
|
#ifdef USE_GLES
|
||||||
|
if (!_extraLinearToSRGBConversionSetting.isSet()) {
|
||||||
|
const gl::ContextInfo &contextInfo = gl::ContextInfo::get();
|
||||||
|
_extraLinearToSRGBConversionSetting.set(std::find(contextInfo.extensions.cbegin(), contextInfo.extensions.cend(), "GL_EXT_framebuffer_sRGB") == contextInfo.extensions.cend());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (getExtraLinearToSRGBConversion()) {
|
||||||
|
return _linearToSRGBPipeline;
|
||||||
|
} else {
|
||||||
|
return _drawTexturePipeline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <QtGui/QImage>
|
#include <QtGui/QImage>
|
||||||
|
|
||||||
#include <GLMHelpers.h>
|
#include <GLMHelpers.h>
|
||||||
|
#include <SettingHandle.h>
|
||||||
#include <SimpleMovingAverage.h>
|
#include <SimpleMovingAverage.h>
|
||||||
#include <shared/RateCounter.h>
|
#include <shared/RateCounter.h>
|
||||||
|
|
||||||
|
@ -86,6 +87,9 @@ public:
|
||||||
QOpenGLFramebufferObject* target,
|
QOpenGLFramebufferObject* target,
|
||||||
GLsync* fenceSync) override;
|
GLsync* fenceSync) override;
|
||||||
|
|
||||||
|
static void setExtraLinearToSRGBConversion(bool value) { _extraLinearToSRGBConversionSetting.set(value); }
|
||||||
|
static bool getExtraLinearToSRGBConversion() { return _extraLinearToSRGBConversionSetting.get(); };
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
friend class PresentThread;
|
friend class PresentThread;
|
||||||
|
|
||||||
|
@ -201,4 +205,7 @@ protected:
|
||||||
|
|
||||||
QImage getScreenshot(float aspectRatio);
|
QImage getScreenshot(float aspectRatio);
|
||||||
QImage getSecondaryCameraScreenshot();
|
QImage getSecondaryCameraScreenshot();
|
||||||
|
|
||||||
|
private:
|
||||||
|
static Setting::Handle<bool> _extraLinearToSRGBConversionSetting;
|
||||||
};
|
};
|
||||||
|
|
|
@ -487,13 +487,17 @@ Rectangle {
|
||||||
var last_item_index = channel.count - 1;
|
var last_item_index = channel.count - 1;
|
||||||
var last_item = channel.get(last_item_index);
|
var last_item = channel.get(last_item_index);
|
||||||
|
|
||||||
if (last_message_user === username && elapsed_minutes < 1 && last_item){
|
// FIXME: When adding a new message this would check to see if we could append the incoming message
|
||||||
message = "<br>" + message
|
// to the bottom of the last message. This current implimentation causes issues with scrollToBottom()
|
||||||
last_item.text = last_item.text += "\n" + message;
|
// Specifically, scrolling to the bottom does not like image embeds.
|
||||||
scrollToBottom()
|
// This needs to be reworked entirely before it can be reimplimented
|
||||||
last_message_time = new Date();
|
// if (last_message_user === username && elapsed_minutes < 1 && last_item){
|
||||||
return;
|
// message = "<br>" + message
|
||||||
}
|
// last_item.text = last_item.text += "\n" + message;
|
||||||
|
// scrollToBottom()
|
||||||
|
// last_message_time = new Date();
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
last_message_user = username;
|
last_message_user = username;
|
||||||
last_message_time = new Date();
|
last_message_time = new Date();
|
||||||
|
@ -510,7 +514,7 @@ Rectangle {
|
||||||
mess = mess.replace(arrow, "<");
|
mess = mess.replace(arrow, "<");
|
||||||
|
|
||||||
var link = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g;
|
var link = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g;
|
||||||
mess = mess.replace(link, (match) => {return `<a style="color:#4EBAFD" onclick='Window.openUrl("+match+")' href='` + match + `'>` + match + `</a> <a onclick='Window.openUrl(`+match+`)'>⮺</a>`});
|
mess = mess.replace(link, (match) => {return `<a style="color:#4EBAFD" onclick='Window.openUrl("+match+")' href='` + match + `'>` + match + `</a> <a onclick='Window.openUrl(`+match+`)'>🗗</a>`});
|
||||||
|
|
||||||
var newline = /\n/gi;
|
var newline = /\n/gi;
|
||||||
mess = mess.replace(newline, "<br>");
|
mess = mess.replace(newline, "<br>");
|
||||||
|
|
|
@ -21,6 +21,8 @@ var DEFAULT_SIZE = 30;
|
||||||
var DEFAULT_OFFSET = 10;
|
var DEFAULT_OFFSET = 10;
|
||||||
var FLOOF_NOTIFICATION_CHANNEL = "Floof-Notif";
|
var FLOOF_NOTIFICATION_CHANNEL = "Floof-Notif";
|
||||||
var MAIN_CHAT_APP_CHANNEL = "Chat";
|
var MAIN_CHAT_APP_CHANNEL = "Chat";
|
||||||
|
var ARROW_REGEX = /\</gi;
|
||||||
|
|
||||||
|
|
||||||
var offset = DEFAULT_OFFSET;
|
var offset = DEFAULT_OFFSET;
|
||||||
|
|
||||||
|
@ -62,9 +64,11 @@ var notificationCore = {
|
||||||
},
|
},
|
||||||
add: function (text, sender, colour) {
|
add: function (text, sender, colour) {
|
||||||
sender = sender ? sender : "NoName";
|
sender = sender ? sender : "NoName";
|
||||||
|
sender = sender.replace(ARROW_REGEX, "<");
|
||||||
colour = colour ? colour : {};
|
colour = colour ? colour : {};
|
||||||
colour.text = colour.text ? colour.text : {red: 255, green: 255, blue: 255};
|
colour.text = colour.text ? colour.text : {red: 255, green: 255, blue: 255};
|
||||||
colour.bg = colour.bg ? colour.bg : {red: 10, green: 10, blue: 10};
|
colour.bg = colour.bg ? colour.bg : {red: 10, green: 10, blue: 10};
|
||||||
|
text = text.replace(ARROW_REGEX, "<");
|
||||||
var lines = text.split("\n");
|
var lines = text.split("\n");
|
||||||
for (var i = lines.length - 1; i >= 0; i--) {
|
for (var i = lines.length - 1; i >= 0; i--) {
|
||||||
if (i === 0) {
|
if (i === 0) {
|
||||||
|
|
|
@ -37,7 +37,6 @@ var DEFAULT_SCRIPTS_COMBINED = [
|
||||||
"system/inspect.js",
|
"system/inspect.js",
|
||||||
"system/keyboardShortcuts/keyboardShortcuts.js",
|
"system/keyboardShortcuts/keyboardShortcuts.js",
|
||||||
"system/onEscape.js",
|
"system/onEscape.js",
|
||||||
"system/onFirstRun.js",
|
|
||||||
"system/places/places.js"
|
"system/places/places.js"
|
||||||
//"developer/debugging/scriptMemoryReport.js"
|
//"developer/debugging/scriptMemoryReport.js"
|
||||||
];
|
];
|
||||||
|
|
|
@ -210,8 +210,8 @@ var EntityListTool = function(shouldUseEditTabletApp, selectionManager) {
|
||||||
var cameraPosition = Camera.position;
|
var cameraPosition = Camera.position;
|
||||||
PROFILE("getMultipleProperties", function () {
|
PROFILE("getMultipleProperties", function () {
|
||||||
var multipleProperties = Entities.getMultipleEntityProperties(ids, ['position', 'name', 'type', 'locked',
|
var multipleProperties = Entities.getMultipleEntityProperties(ids, ['position', 'name', 'type', 'locked',
|
||||||
'visible', 'renderInfo', 'modelURL', 'materialURL', 'imageURL', 'script', 'serverScripts',
|
'visible', 'renderInfo', 'modelURL', 'materialURL', 'imageURL', 'script', 'serverScripts',
|
||||||
'skybox.url', 'ambientLight.url', 'soundURL', 'created', 'lastEdited']);
|
'skybox.url', 'ambientLight.url', 'soundURL', 'created', 'lastEdited', 'entityHostType']);
|
||||||
for (var i = 0; i < multipleProperties.length; i++) {
|
for (var i = 0; i < multipleProperties.length; i++) {
|
||||||
var properties = multipleProperties[i];
|
var properties = multipleProperties[i];
|
||||||
|
|
||||||
|
@ -258,7 +258,8 @@ var EntityListTool = function(shouldUseEditTabletApp, selectionManager) {
|
||||||
hasScript: (properties.script !== "" || properties.serverScripts !== ""),
|
hasScript: (properties.script !== "" || properties.serverScripts !== ""),
|
||||||
parentState: parentState,
|
parentState: parentState,
|
||||||
created: formatToStringDateTime(properties.created),
|
created: formatToStringDateTime(properties.created),
|
||||||
lastEdited: formatToStringDateTime(properties.lastEdited)
|
lastEdited: formatToStringDateTime(properties.lastEdited),
|
||||||
|
entityHostType: properties.entityHostType
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -989,6 +989,7 @@ function loaded() {
|
||||||
parentState: entity.parentState,
|
parentState: entity.parentState,
|
||||||
created: entity.created,
|
created: entity.created,
|
||||||
lastEdited: entity.lastEdited,
|
lastEdited: entity.lastEdited,
|
||||||
|
entityHostType: entity.entityHostType,
|
||||||
elRow: null, // if this entity has a visible row element assigned to it
|
elRow: null, // if this entity has a visible row element assigned to it
|
||||||
selected: false // if this entity is selected for edit regardless of having a visible row
|
selected: false // if this entity is selected for edit regardless of having a visible row
|
||||||
};
|
};
|
||||||
|
@ -1185,7 +1186,11 @@ function loaded() {
|
||||||
if (entity !== undefined) {
|
if (entity !== undefined) {
|
||||||
entity.selected = false;
|
entity.selected = false;
|
||||||
if (entity.elRow) {
|
if (entity.elRow) {
|
||||||
entity.elRow.className = "";
|
if (entity.entityHostType === "avatar") {
|
||||||
|
entity.elRow.className = "avatarEntity";
|
||||||
|
} else {
|
||||||
|
entity.elRow.className = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1199,9 +1204,17 @@ function loaded() {
|
||||||
entity.selected = true;
|
entity.selected = true;
|
||||||
if (entity.elRow) {
|
if (entity.elRow) {
|
||||||
if (id === lastSelectedEntity) {
|
if (id === lastSelectedEntity) {
|
||||||
entity.elRow.className = "last-selected";
|
if (entity.entityHostType === "avatar") {
|
||||||
|
entity.elRow.className = "lastSelAvatarEntity";
|
||||||
|
} else {
|
||||||
|
entity.elRow.className = "last-selected";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
entity.elRow.className = "selected";
|
if (entity.entityHostType === "avatar") {
|
||||||
|
entity.elRow.className = "selAvatarEntity";
|
||||||
|
} else {
|
||||||
|
entity.elRow.className = "selected";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1272,12 +1285,24 @@ function loaded() {
|
||||||
// if this entity was previously selected flag it's row as selected
|
// if this entity was previously selected flag it's row as selected
|
||||||
if (itemData.selected) {
|
if (itemData.selected) {
|
||||||
if (itemData.id === lastSelectedEntity) {
|
if (itemData.id === lastSelectedEntity) {
|
||||||
elRow.className = "last-selected";
|
if (itemData.entityHostType === "avatar") {
|
||||||
|
elRow.className = "lastSelAvatarEntity";
|
||||||
|
} else {
|
||||||
|
elRow.className = "last-selected";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
elRow.className = "selected";
|
if (itemData.entityHostType === "avatar") {
|
||||||
|
elRow.className = "selAvatarEntity";
|
||||||
|
} else {
|
||||||
|
elRow.className = "selected";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
elRow.className = "";
|
if (itemData.entityHostType === "avatar") {
|
||||||
|
elRow.className = "avatarEntity";
|
||||||
|
} else {
|
||||||
|
elRow.className = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if this row previously had an associated entity ID that wasn't the new entity ID then clear
|
// if this row previously had an associated entity ID that wasn't the new entity ID then clear
|
||||||
|
|
|
@ -15,6 +15,10 @@ var currentTab = "base";
|
||||||
|
|
||||||
const DEGREES_TO_RADIANS = Math.PI / 180.0;
|
const DEGREES_TO_RADIANS = Math.PI / 180.0;
|
||||||
|
|
||||||
|
const ENTITY_HOST_TYPE_COLOR_DOMAIN = "#afafaf";
|
||||||
|
const ENTITY_HOST_TYPE_COLOR_AVATAR = "#7fdb98";
|
||||||
|
const ENTITY_HOST_TYPE_COLOR_LOCAL = "#f0d769";
|
||||||
|
|
||||||
const NO_SELECTION = ",";
|
const NO_SELECTION = ",";
|
||||||
|
|
||||||
const PROPERTY_SPACE_MODE = Object.freeze({
|
const PROPERTY_SPACE_MODE = Object.freeze({
|
||||||
|
@ -2675,6 +2679,11 @@ function updateMultiDiffProperties(propertiesMapToUpdate, onlyUpdateEntity) {
|
||||||
|
|
||||||
function createEmitTextPropertyUpdateFunction(property) {
|
function createEmitTextPropertyUpdateFunction(property) {
|
||||||
return function() {
|
return function() {
|
||||||
|
// If we don't have canViewAssetURLs permissions, ignore clearing URLs
|
||||||
|
if (!canViewAssetURLs && property.data.placeholder === "URL" && this.value === "") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
property.elInput.classList.remove('multi-diff');
|
property.elInput.classList.remove('multi-diff');
|
||||||
updateProperty(property.name, this.value, property.isParticleProperty);
|
updateProperty(property.name, this.value, property.isParticleProperty);
|
||||||
};
|
};
|
||||||
|
@ -4875,6 +4884,8 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) {
|
||||||
|
|
||||||
disableProperties();
|
disableProperties();
|
||||||
} else {
|
} else {
|
||||||
|
let entityHostType = selections[0].properties.entityHostType;
|
||||||
|
|
||||||
if (!isPropertiesToolUpdate && !hasSelectedEntityChanged && document.hasFocus()) {
|
if (!isPropertiesToolUpdate && !hasSelectedEntityChanged && document.hasFocus()) {
|
||||||
// in case the selection has not changed and we still have focus on the properties page,
|
// in case the selection has not changed and we still have focus on the properties page,
|
||||||
// we will ignore the event.
|
// we will ignore the event.
|
||||||
|
@ -4961,9 +4972,31 @@ function handleEntitySelectionUpdate(selections, isPropertiesToolUpdate) {
|
||||||
property.elInput.classList.add('multi-diff');
|
property.elInput.classList.add('multi-diff');
|
||||||
property.elInput.value = "";
|
property.elInput.value = "";
|
||||||
}
|
}
|
||||||
|
if (propertyName === "id") {
|
||||||
|
property.elInput.style.color = ENTITY_HOST_TYPE_COLOR_DOMAIN;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
property.elInput.classList.remove('multi-diff');
|
property.elInput.classList.remove('multi-diff');
|
||||||
property.elInput.value = propertyValue;
|
property.elInput.value = propertyValue;
|
||||||
|
if (propertyName === "name" || propertyName === "id") {
|
||||||
|
if (selections.length === 1) {
|
||||||
|
switch (entityHostType) {
|
||||||
|
case "domain":
|
||||||
|
property.elInput.style.color = ENTITY_HOST_TYPE_COLOR_DOMAIN;
|
||||||
|
break;
|
||||||
|
case "avatar":
|
||||||
|
property.elInput.style.color = ENTITY_HOST_TYPE_COLOR_AVATAR;
|
||||||
|
break;
|
||||||
|
case "local":
|
||||||
|
property.elInput.style.color = ENTITY_HOST_TYPE_COLOR_LOCAL;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
property.elInput.style.color = ENTITY_HOST_TYPE_COLOR_DOMAIN;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
property.elInput.style.color = ENTITY_HOST_TYPE_COLOR_DOMAIN;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
// NewMaterialDialog.qml
|
// NewMaterialDialog.qml
|
||||||
// qml/hifi
|
// qml/hifi
|
||||||
//
|
//
|
||||||
// Created by Sam Gondelman on 1/17/18
|
// Created by Sam Gondelman on January 17th, 2018
|
||||||
// Copyright 2018 High Fidelity, Inc.
|
// Copyright 2018 High Fidelity, Inc.
|
||||||
// Copyright 2020 Vircadia contributors
|
// Copyright 2020 Vircadia contributors
|
||||||
|
// Copyright 2024 Overte e.V.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
@ -54,17 +55,32 @@ Rectangle {
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: text1
|
id: text1
|
||||||
text: qsTr("Material URL <i>(Optional)</i>")
|
text: qsTr("Material URL <i>(Optional)</i> ")
|
||||||
color: "#ffffff"
|
color: "#ffffff"
|
||||||
font.pixelSize: 12
|
font.pixelSize: 12
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
id: pasteBtn
|
||||||
|
text: "Paste"
|
||||||
|
font.pixelSize: 11
|
||||||
|
height: 16
|
||||||
|
width: 40
|
||||||
|
radius: 4
|
||||||
|
anchors.top: text1.top
|
||||||
|
anchors.left: text1.right
|
||||||
|
anchors.bottom: text1.bottom
|
||||||
|
onClicked: {
|
||||||
|
materialURL.paste()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TextInput {
|
TextInput {
|
||||||
id: materialURL
|
id: materialURL
|
||||||
height: 20
|
height: 20
|
||||||
text: qsTr("")
|
text: qsTr("")
|
||||||
color: "white"
|
color: "white"
|
||||||
anchors.top: text1.bottom
|
anchors.top: pasteBtn.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 0
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
// NewModelDialog.qml
|
// NewModelDialog.qml
|
||||||
// qml/hifi
|
// qml/hifi
|
||||||
//
|
//
|
||||||
// Created by Seth Alves on 2017-2-10
|
// Created by Seth Alves on February 10th, 2017
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
||||||
// Copyright 2020 Vircadia contributors
|
// Copyright 2020 Vircadia contributors
|
||||||
|
// Copyright 2024 Overte e.V.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
@ -54,17 +55,30 @@ Rectangle {
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: text1
|
id: text1
|
||||||
text: qsTr("Model URL <i>(.fbx, .fst, .glb, .gltf, .obj, .gz)</i>")
|
text: qsTr("Model URL <i>(.fbx, .fst, .glb, .gltf, .obj, .gz)</i> ")
|
||||||
color: "#ffffff"
|
color: "#ffffff"
|
||||||
font.pixelSize: 12
|
font.pixelSize: 12
|
||||||
}
|
}
|
||||||
|
Button {
|
||||||
|
id: pasteBtn
|
||||||
|
text: "Paste"
|
||||||
|
font.pixelSize: 11
|
||||||
|
height: 16
|
||||||
|
width: 40
|
||||||
|
radius: 4
|
||||||
|
anchors.top: text1.top + 10
|
||||||
|
anchors.left: text1.right
|
||||||
|
anchors.bottom: text1.bottom
|
||||||
|
onClicked: {
|
||||||
|
modelURL.paste()
|
||||||
|
}
|
||||||
|
}
|
||||||
TextInput {
|
TextInput {
|
||||||
id: modelURL
|
id: modelURL
|
||||||
height: 20
|
height: 20
|
||||||
text: qsTr("")
|
text: qsTr("")
|
||||||
color: "white"
|
color: "white"
|
||||||
anchors.top: text1.bottom
|
anchors.top: pasteBtn.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 0
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
//
|
//
|
||||||
// NewPolyVoxDialog.qml
|
// NewPolyVoxDialog.qml
|
||||||
// Created by dr Karol Suprynowicz on 2022.05.17.
|
// Created by dr Karol Suprynowicz on May 17th, 2022
|
||||||
// based on NewModelDialog.qml
|
// based on NewModelDialog.qml
|
||||||
// qml/hifi
|
// qml/hifi
|
||||||
//
|
//
|
||||||
// Copyright 2017 High Fidelity, Inc.
|
// Copyright 2017 High Fidelity, Inc.
|
||||||
// Copyright 2020 Vircadia contributors
|
// Copyright 2020 Vircadia contributors
|
||||||
// Copyright 2022 Overte e.V.
|
// Copyright 2022-2024 Overte e.V.
|
||||||
//
|
//
|
||||||
// Distributed under the Apache License, Version 2.0.
|
// Distributed under the Apache License, Version 2.0.
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
|
@ -116,17 +116,32 @@ Rectangle {
|
||||||
id: text1
|
id: text1
|
||||||
anchors.top: texturePreset.bottom
|
anchors.top: texturePreset.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
text: qsTr("X Texture URL")
|
text: qsTr("X Texture URL <i> </i>")
|
||||||
color: "#ffffff"
|
color: "#ffffff"
|
||||||
font.pixelSize: 12
|
font.pixelSize: 12
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
id: pasteBtn1
|
||||||
|
text: "Paste"
|
||||||
|
font.pixelSize: 11
|
||||||
|
height: 16
|
||||||
|
width: 40
|
||||||
|
radius: 4
|
||||||
|
anchors.top: text1.top
|
||||||
|
anchors.left: text1.right
|
||||||
|
anchors.bottom: text1.bottom
|
||||||
|
onClicked: {
|
||||||
|
xTextureURL.paste()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TextInput {
|
TextInput {
|
||||||
id: xTextureURL
|
id: xTextureURL
|
||||||
height: 20
|
height: 20
|
||||||
text: qsTr("")
|
text: qsTr("")
|
||||||
color: "white"
|
color: "white"
|
||||||
anchors.top: text1.bottom
|
anchors.top: pasteBtn1.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 0
|
||||||
|
@ -166,19 +181,33 @@ Rectangle {
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: text2
|
id: text2
|
||||||
text: qsTr("Y Texture URL")
|
text: qsTr("Y Texture URL <i> </i>")
|
||||||
color: "#ffffff"
|
color: "#ffffff"
|
||||||
font.pixelSize: 12
|
font.pixelSize: 12
|
||||||
anchors.top: textInputBox1.bottom
|
anchors.top: textInputBox1.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
}
|
}
|
||||||
|
Button {
|
||||||
|
id: pasteBtn2
|
||||||
|
text: "Paste"
|
||||||
|
font.pixelSize: 11
|
||||||
|
height: 16
|
||||||
|
width: 40
|
||||||
|
radius: 4
|
||||||
|
anchors.top: text2.top
|
||||||
|
anchors.left: text2.right
|
||||||
|
anchors.bottom: text2.bottom
|
||||||
|
onClicked: {
|
||||||
|
yTextureURL.paste()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TextInput {
|
TextInput {
|
||||||
id: yTextureURL
|
id: yTextureURL
|
||||||
height: 20
|
height: 20
|
||||||
text: qsTr("")
|
text: qsTr("")
|
||||||
color: "white"
|
color: "white"
|
||||||
anchors.top: text2.bottom
|
anchors.top: pasteBtn2.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 0
|
||||||
|
@ -218,19 +247,33 @@ Rectangle {
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: text3
|
id: text3
|
||||||
text: qsTr("Z Texture URL")
|
text: qsTr("Z Texture URL <i> </i>")
|
||||||
color: "#ffffff"
|
color: "#ffffff"
|
||||||
font.pixelSize: 12
|
font.pixelSize: 12
|
||||||
anchors.top: textInputBox2.bottom
|
anchors.top: textInputBox2.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
}
|
}
|
||||||
|
Button {
|
||||||
|
id: pasteBtn3
|
||||||
|
text: "Paste"
|
||||||
|
font.pixelSize: 11
|
||||||
|
height: 16
|
||||||
|
width: 40
|
||||||
|
radius: 4
|
||||||
|
anchors.top: text3.top
|
||||||
|
anchors.left: text3.right
|
||||||
|
anchors.bottom: text3.bottom
|
||||||
|
onClicked: {
|
||||||
|
zTextureURL.paste()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TextInput {
|
TextInput {
|
||||||
id: zTextureURL
|
id: zTextureURL
|
||||||
height: 20
|
height: 20
|
||||||
text: qsTr("")
|
text: qsTr("")
|
||||||
color: "white"
|
color: "white"
|
||||||
anchors.top: text3.bottom
|
anchors.top: pasteBtn3.bottom
|
||||||
anchors.topMargin: 5
|
anchors.topMargin: 5
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 0
|
||||||
|
|
|
@ -175,6 +175,28 @@ tr:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tr.avatarEntity {
|
||||||
|
color: #7fdb98;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.selAvatarEntity {
|
||||||
|
color: #000000;
|
||||||
|
background-color: #7fdb98;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.selAvatarEntity + tr.selAvatarEntity {
|
||||||
|
border-top: 1px solid #2e2e2e;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.lastSelAvatarEntity {
|
||||||
|
color: #000000;
|
||||||
|
background-color: #06c73a;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.lastSelAvatarEntity + tr.lastSelAvatarEntity {
|
||||||
|
border-top: 1px solid #2e2e2e;
|
||||||
|
}
|
||||||
|
|
||||||
tr.selected {
|
tr.selected {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
background-color: #00b4ef;
|
background-color: #00b4ef;
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
'use strict';
|
|
||||||
|
|
||||||
//
|
|
||||||
// onFirstRun.js
|
|
||||||
//
|
|
||||||
// Created by Kalila L. on Oct 5 2020.
|
|
||||||
// Copyright 2020 Vircadia contributors.
|
|
||||||
//
|
|
||||||
// This script triggers on first run to perform bootstrapping actions.
|
|
||||||
//
|
|
||||||
// Distributed under the Apache License, Version 2.0.
|
|
||||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
||||||
//
|
|
||||||
|
|
||||||
(function() { // BEGIN LOCAL_SCOPE
|
|
||||||
// Check to see if we should run this script or bail...
|
|
||||||
var SETTING_TO_CHECK = 'firstRun';
|
|
||||||
var DEFAULT_DISPLAY_NAME = '';
|
|
||||||
|
|
||||||
if (!Settings.getValue(SETTING_TO_CHECK, false)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If this is our first run, then proceed...
|
|
||||||
|
|
||||||
if (MyAvatar.displayName === '') {
|
|
||||||
var selectedDisplayName = Window.prompt('Enter a display name.', MyAvatar.displayName);
|
|
||||||
|
|
||||||
if (selectedDisplayName === '') {
|
|
||||||
MyAvatar.displayName = DEFAULT_DISPLAY_NAME;
|
|
||||||
} else {
|
|
||||||
MyAvatar.displayName = selectedDisplayName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}());
|
|
Loading…
Reference in a new issue