mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 19:01:09 +02:00
Merge branch 'kasen/core' into fix/whitelist-qml-adds
This commit is contained in:
commit
b0849a5ed9
10 changed files with 135 additions and 81 deletions
|
@ -14,80 +14,77 @@ sudo add-apt-repository universe
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
```
|
```
|
||||||
#### Install build tools:
|
#### Install build tools:
|
||||||
1. First update the repositiories:
|
- First update the repositiories:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
sudo apt-get upgrade -y
|
sudo apt-get upgrade -y
|
||||||
```
|
```
|
||||||
1. git
|
- git
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install git -y
|
sudo apt-get install git -y
|
||||||
```
|
```
|
||||||
Verify by git --version
|
Verify by git --version
|
||||||
1. g++
|
- g++
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install g++ -y
|
sudo apt-get install g++ -y
|
||||||
```
|
```
|
||||||
Verify by g++ --version
|
Verify by g++ --version
|
||||||
1. *Ubuntu 18.04* cmake
|
- *Ubuntu 18.04* cmake
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install cmake -y
|
sudo apt-get install cmake -y
|
||||||
```
|
```
|
||||||
Verify by cmake --version
|
Verify by cmake --version
|
||||||
1. *Ubuntu 16.04* cmake
|
- *Ubuntu 16.04* cmake
|
||||||
```bash
|
```bash
|
||||||
wget https://cmake.org/files/v3.14/cmake-3.14.2-Linux-x86_64.sh
|
wget https://cmake.org/files/v3.14/cmake-3.14.2-Linux-x86_64.sh
|
||||||
sudo sh cmake-3.14.2-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir
|
sudo sh cmake-3.14.2-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir
|
||||||
```
|
```
|
||||||
#### Install build dependencies:
|
#### Install build dependencies:
|
||||||
1. OpenSSL
|
- OpenSSL:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libssl-dev
|
sudo apt-get install libssl-dev
|
||||||
```
|
```
|
||||||
Verify with `openssl version`
|
Verify with `openssl version`
|
||||||
1. OpenGL
|
- OpenGL:
|
||||||
Verify (first install mesa-utils - `sudo apt install mesa-utils -y`) by `glxinfo | grep "OpenGL version"`
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libgl1-mesa-dev -y
|
sudo apt-get install libgl1-mesa-dev -y
|
||||||
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.35 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
|
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.346.35 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
|
||||||
```
|
```
|
||||||
|
- Verify OpenGL:
|
||||||
|
- First install mesa-utils with the command `sudo apt install mesa-utils -y`
|
||||||
|
- Then run `glxinfo | grep "OpenGL version"`
|
||||||
#### To compile interface in a server you must install:
|
#### To compile interface in a server you must install:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
|
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
|
||||||
```
|
```
|
||||||
1. Misc dependencies
|
- Misc dependencies:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev zlib1g-dev
|
sudo apt-get install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev zlib1g-dev
|
||||||
```
|
```
|
||||||
1. To compile interface in a server you must install:
|
- Install Python 3 and required packages:
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
|
sudo apt-get install python python3 python3-distro
|
||||||
```
|
```
|
||||||
1. Install Python 3 and required packages
|
- Install node, required to build the jsdoc documentation:
|
||||||
```bash
|
|
||||||
sudo apt-get install python3 python3-distro
|
|
||||||
```
|
|
||||||
1. Install node, required to build the jsdoc documentation
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install nodejs
|
sudo apt-get install nodejs
|
||||||
```
|
```
|
||||||
|
|
||||||
### Get code and checkout the tag you need
|
### Get code and checkout the branch you need
|
||||||
|
|
||||||
Clone this repository:
|
Clone this repository:
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/kasenvr/project-athena.git
|
git clone https://github.com/kasenvr/project-athena.git
|
||||||
```
|
```
|
||||||
|
|
||||||
To compile a RELEASE version checkout the tag you need getting a list of all tags:
|
To compile a DEV version checkout the branch you need. To get a list of all tags:
|
||||||
```bash
|
```bash
|
||||||
git fetch -a
|
git fetch -a
|
||||||
git tag
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Then checkout last tag with:
|
Then checkout the main branch with:
|
||||||
```bash
|
```bash
|
||||||
git checkout tag/1.0
|
git checkout kasen/core
|
||||||
```
|
```
|
||||||
|
|
||||||
### Compiling
|
### Compiling
|
||||||
|
@ -104,7 +101,7 @@ Prepare makefiles:
|
||||||
cmake ..
|
cmake ..
|
||||||
```
|
```
|
||||||
|
|
||||||
* If cmake fails with a vcpkg error - delete /tmp/hifi/vcpkg.
|
- If cmake fails with a vcpkg error - delete /tmp/hifi/vcpkg.
|
||||||
|
|
||||||
Start compilation of the server and get a cup of coffee:
|
Start compilation of the server and get a cup of coffee:
|
||||||
```bash
|
```bash
|
||||||
|
@ -116,7 +113,15 @@ To compile interface:
|
||||||
make interface
|
make interface
|
||||||
```
|
```
|
||||||
|
|
||||||
In a server, it does not make sense to compile interface
|
The commands above will compile with a single thread. If you have enough memory,
|
||||||
|
you can decrease your build time using the `-j` flag. Since most x64 CPUs
|
||||||
|
support two threads per core, this works out to CPU_COUNT*2. As an example, if
|
||||||
|
you have a 2 core machine, you could use:
|
||||||
|
```
|
||||||
|
make -j4 interface
|
||||||
|
```
|
||||||
|
|
||||||
|
In a server, it does not make sense to compile interface.
|
||||||
|
|
||||||
### Running the software
|
### Running the software
|
||||||
|
|
||||||
|
@ -143,6 +148,13 @@ Running interface:
|
||||||
|
|
||||||
Go to localhost in the running interface.
|
Go to localhost in the running interface.
|
||||||
|
|
||||||
|
#### Notes
|
||||||
|
|
||||||
|
If your goal is to set up a development environment, it is desirable to set the
|
||||||
|
directory that vcpkg builds into with the `HIFI_VCPKG_BASE` environment variable.
|
||||||
|
For example, you might set `HIFI_VCPKG_BASE` to `/home/$USER/vcpkg`.
|
||||||
|
By default, vcpkg will build in the system `/tmp` directory.
|
||||||
|
|
||||||
##### Ubuntu 18.04 only
|
##### Ubuntu 18.04 only
|
||||||
|
|
||||||
In Ubuntu 18.04 there is a problem related with NVidia driver library version.
|
In Ubuntu 18.04 there is a problem related with NVidia driver library version.
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
# Project Athena
|
# Project Athena
|
||||||
|
|
||||||
### [Download ALPHA-DEV v0.86.0 K1 (Windows 64-bit, .zip)](https://realities.dev/cdn/hifi-community/v0860-kasen-VS-release+freshstart/Packaged_Release.zip)
|
|
||||||
|
|
||||||
This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers.
|
|
||||||
|
|
||||||
#### v0.86.0 K1 (12/3/19)
|
#### v0.86.0 K1 (12/3/19)
|
||||||
|
|
||||||
* Audio Buffer choppy audio bugfix by increasing the buffer size.
|
* Audio Buffer choppy audio bugfix by increasing the buffer size.
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
Binary file not shown.
Before Width: | Height: | Size: 299 KiB After Width: | Height: | Size: 281 KiB |
Binary file not shown.
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
@ -18,20 +18,20 @@ macro(GENERATE_INSTALLERS)
|
||||||
if (CLIENT_ONLY)
|
if (CLIENT_ONLY)
|
||||||
set(_PACKAGE_NAME_EXTRA "-Interface")
|
set(_PACKAGE_NAME_EXTRA "-Interface")
|
||||||
set(INSTALLER_TYPE "client_only")
|
set(INSTALLER_TYPE "client_only")
|
||||||
string(REGEX REPLACE "High Fidelity" "High Fidelity Interface" _DISPLAY_NAME ${BUILD_ORGANIZATION})
|
string(REGEX REPLACE "Project Athena" "Project Athena Interface" _DISPLAY_NAME ${BUILD_ORGANIZATION})
|
||||||
elseif (SERVER_ONLY)
|
elseif (SERVER_ONLY)
|
||||||
set(_PACKAGE_NAME_EXTRA "-Sandbox")
|
set(_PACKAGE_NAME_EXTRA "-Sandbox")
|
||||||
set(INSTALLER_TYPE "server_only")
|
set(INSTALLER_TYPE "server_only")
|
||||||
string(REGEX REPLACE "High Fidelity" "High Fidelity Sandbox" _DISPLAY_NAME ${BUILD_ORGANIZATION})
|
string(REGEX REPLACE "Project Athena" "Project Athena Sandbox" _DISPLAY_NAME ${BUILD_ORGANIZATION})
|
||||||
else ()
|
else ()
|
||||||
set(_DISPLAY_NAME ${BUILD_ORGANIZATION})
|
set(_DISPLAY_NAME ${BUILD_ORGANIZATION})
|
||||||
set(INSTALLER_TYPE "full")
|
set(INSTALLER_TYPE "full")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_NAME ${_DISPLAY_NAME})
|
set(CPACK_PACKAGE_NAME ${_DISPLAY_NAME})
|
||||||
set(CPACK_PACKAGE_VENDOR "High Fidelity")
|
set(CPACK_PACKAGE_VENDOR "Project Athena")
|
||||||
set(CPACK_PACKAGE_VERSION ${BUILD_VERSION})
|
set(CPACK_PACKAGE_VERSION ${BUILD_VERSION})
|
||||||
set(CPACK_PACKAGE_FILE_NAME "HighFidelity-Beta${_PACKAGE_NAME_EXTRA}-${BUILD_VERSION}")
|
set(CPACK_PACKAGE_FILE_NAME "ProjectAthena-Alpha${_PACKAGE_NAME_EXTRA}-${BUILD_VERSION}")
|
||||||
set(CPACK_NSIS_DISPLAY_NAME ${_DISPLAY_NAME})
|
set(CPACK_NSIS_DISPLAY_NAME ${_DISPLAY_NAME})
|
||||||
set(CPACK_NSIS_PACKAGE_NAME ${_DISPLAY_NAME})
|
set(CPACK_NSIS_PACKAGE_NAME ${_DISPLAY_NAME})
|
||||||
if (PR_BUILD)
|
if (PR_BUILD)
|
||||||
|
@ -118,11 +118,11 @@ macro(GENERATE_INSTALLERS)
|
||||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||||
|
|
||||||
if (BUILD_CLIENT)
|
if (BUILD_CLIENT)
|
||||||
cpack_add_component(${CLIENT_COMPONENT} DISPLAY_NAME "High Fidelity Interface")
|
cpack_add_component(${CLIENT_COMPONENT} DISPLAY_NAME "Project Athena Interface")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (BUILD_SERVER)
|
if (BUILD_SERVER)
|
||||||
cpack_add_component(${SERVER_COMPONENT} DISPLAY_NAME "High Fidelity Sandbox")
|
cpack_add_component(${SERVER_COMPONENT} DISPLAY_NAME "Project Athena Sandbox")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
|
@ -35,7 +35,7 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
set(DEPLOY_PACKAGE TRUE)
|
set(DEPLOY_PACKAGE TRUE)
|
||||||
set(PRODUCTION_BUILD 1)
|
set(PRODUCTION_BUILD 1)
|
||||||
set(BUILD_VERSION ${RELEASE_NUMBER})
|
set(BUILD_VERSION ${RELEASE_NUMBER})
|
||||||
set(BUILD_ORGANIZATION "High Fidelity")
|
set(BUILD_ORGANIZATION "Project Athena")
|
||||||
set(HIGH_FIDELITY_PROTOCOL "hifi")
|
set(HIGH_FIDELITY_PROTOCOL "hifi")
|
||||||
set(HIGH_FIDELITY_APP_PROTOCOL "hifiapp")
|
set(HIGH_FIDELITY_APP_PROTOCOL "hifiapp")
|
||||||
set(INTERFACE_BUNDLE_NAME "interface")
|
set(INTERFACE_BUNDLE_NAME "interface")
|
||||||
|
@ -60,7 +60,7 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
set(DEPLOY_PACKAGE TRUE)
|
set(DEPLOY_PACKAGE TRUE)
|
||||||
set(PR_BUILD 1)
|
set(PR_BUILD 1)
|
||||||
set(BUILD_VERSION "PR${RELEASE_NUMBER}")
|
set(BUILD_VERSION "PR${RELEASE_NUMBER}")
|
||||||
set(BUILD_ORGANIZATION "High Fidelity - PR${RELEASE_NUMBER}")
|
set(BUILD_ORGANIZATION "Project Athena - PR${RELEASE_NUMBER}")
|
||||||
set(INTERFACE_BUNDLE_NAME "interface")
|
set(INTERFACE_BUNDLE_NAME "interface")
|
||||||
set(INTERFACE_ICON_PREFIX "interface-beta")
|
set(INTERFACE_ICON_PREFIX "interface-beta")
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
else ()
|
else ()
|
||||||
set(DEV_BUILD 1)
|
set(DEV_BUILD 1)
|
||||||
set(BUILD_VERSION "dev")
|
set(BUILD_VERSION "dev")
|
||||||
set(BUILD_ORGANIZATION "High Fidelity - ${BUILD_VERSION}")
|
set(BUILD_ORGANIZATION "Project Athena - ${BUILD_VERSION}")
|
||||||
set(INTERFACE_BUNDLE_NAME "interface")
|
set(INTERFACE_BUNDLE_NAME "interface")
|
||||||
set(INTERFACE_ICON_PREFIX "interface-beta")
|
set(INTERFACE_ICON_PREFIX "interface-beta")
|
||||||
|
|
||||||
|
@ -192,21 +192,21 @@ macro(SET_PACKAGING_PARAMETERS)
|
||||||
|
|
||||||
# shortcut names
|
# shortcut names
|
||||||
if (PRODUCTION_BUILD)
|
if (PRODUCTION_BUILD)
|
||||||
set(INTERFACE_SHORTCUT_NAME "High Fidelity")
|
set(INTERFACE_SHORTCUT_NAME "Project Athena")
|
||||||
set(CONSOLE_SHORTCUT_NAME "Console")
|
set(CONSOLE_SHORTCUT_NAME "Console")
|
||||||
set(SANDBOX_SHORTCUT_NAME "Sandbox")
|
set(SANDBOX_SHORTCUT_NAME "Sandbox")
|
||||||
set(APP_USER_MODEL_ID "com.highfidelity.console")
|
set(APP_USER_MODEL_ID "com.highfidelity.console")
|
||||||
else ()
|
else ()
|
||||||
set(INTERFACE_SHORTCUT_NAME "High Fidelity - ${BUILD_VERSION_NO_SHA}")
|
set(INTERFACE_SHORTCUT_NAME "Project Athena - ${BUILD_VERSION_NO_SHA}")
|
||||||
set(CONSOLE_SHORTCUT_NAME "Console - ${BUILD_VERSION_NO_SHA}")
|
set(CONSOLE_SHORTCUT_NAME "Console - ${BUILD_VERSION_NO_SHA}")
|
||||||
set(SANDBOX_SHORTCUT_NAME "Sandbox - ${BUILD_VERSION_NO_SHA}")
|
set(SANDBOX_SHORTCUT_NAME "Sandbox - ${BUILD_VERSION_NO_SHA}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set(INTERFACE_HF_SHORTCUT_NAME "${INTERFACE_SHORTCUT_NAME}")
|
set(INTERFACE_HF_SHORTCUT_NAME "${INTERFACE_SHORTCUT_NAME}")
|
||||||
set(CONSOLE_HF_SHORTCUT_NAME "High Fidelity ${CONSOLE_SHORTCUT_NAME}")
|
set(CONSOLE_HF_SHORTCUT_NAME "Project Athena ${CONSOLE_SHORTCUT_NAME}")
|
||||||
set(SANDBOX_HF_SHORTCUT_NAME "High Fidelity ${SANDBOX_SHORTCUT_NAME}")
|
set(SANDBOX_HF_SHORTCUT_NAME "Project Athena ${SANDBOX_SHORTCUT_NAME}")
|
||||||
|
|
||||||
set(PRE_SANDBOX_INTERFACE_SHORTCUT_NAME "High Fidelity")
|
set(PRE_SANDBOX_INTERFACE_SHORTCUT_NAME "Project Athena")
|
||||||
set(PRE_SANDBOX_CONSOLE_SHORTCUT_NAME "Server Console")
|
set(PRE_SANDBOX_CONSOLE_SHORTCUT_NAME "Server Console")
|
||||||
|
|
||||||
# check if we need to find signtool
|
# check if we need to find signtool
|
||||||
|
|
|
@ -161,7 +161,7 @@
|
||||||
;General
|
;General
|
||||||
|
|
||||||
; hide install details since we show an image slideshow in their place
|
; hide install details since we show an image slideshow in their place
|
||||||
ShowInstDetails nevershow
|
ShowInstDetails hide
|
||||||
|
|
||||||
; leverage the UAC NSIS plugin to promote uninstaller to elevated privileges
|
; leverage the UAC NSIS plugin to promote uninstaller to elevated privileges
|
||||||
!include UAC.nsh
|
!include UAC.nsh
|
||||||
|
@ -199,15 +199,18 @@
|
||||||
|
|
||||||
!system "$%TEMP%\tempinstaller.exe" = 2
|
!system "$%TEMP%\tempinstaller.exe" = 2
|
||||||
|
|
||||||
|
; NOTE: We're not code signing right now, so we're going to disable that.
|
||||||
|
; TODO: Get a code signing certificate so we can re-enable code signing.
|
||||||
|
|
||||||
; The Inner invocation has written an uninstaller binary for us.
|
; The Inner invocation has written an uninstaller binary for us.
|
||||||
; We need to sign it if it's a production or PR build.
|
; We need to sign it if it's a production or PR build.
|
||||||
!if @PRODUCTION_BUILD@ == 1
|
; !if @PRODUCTION_BUILD@ == 1
|
||||||
!if @BYPASS_SIGNING@ == 1
|
; !if @BYPASS_SIGNING@ == 1
|
||||||
!warning "BYPASS_SIGNING set - installer will not be signed"
|
; !warning "BYPASS_SIGNING set - installer will not be signed"
|
||||||
!else
|
; !else
|
||||||
!system '"@SIGNTOOL_EXECUTABLE@" sign /fd sha256 /f %HF_PFX_FILE% /p %HF_PFX_PASSPHRASE% /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 $%TEMP%\@UNINSTALLER_NAME@' = 0
|
; !system '"@SIGNTOOL_EXECUTABLE@" sign /fd sha256 /f %HF_PFX_FILE% /p %HF_PFX_PASSPHRASE% /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 $%TEMP%\@UNINSTALLER_NAME@' = 0
|
||||||
!endif
|
; !endif
|
||||||
!endif
|
; !endif
|
||||||
|
|
||||||
; Good. Now we can carry on writing the real installer.
|
; Good. Now we can carry on writing the real installer.
|
||||||
|
|
||||||
|
@ -421,7 +424,7 @@ Function GetCampaignName
|
||||||
Pop $0 ; Discard Path
|
Pop $0 ; Discard Path
|
||||||
Pop $0 ; Recover filename
|
Pop $0 ; Recover filename
|
||||||
; Parse campaign out of the filename
|
; Parse campaign out of the filename
|
||||||
${RECaptureMatches} $0 "HighFidelity-([^-]*-)Beta-.*" $0 0
|
${RECaptureMatches} $0 "ProjectAthena-([^-]*-)Alpha-.*" $0 0
|
||||||
${If} $0 == 1
|
${If} $0 == 1
|
||||||
Pop $0 ; Recover campaign name
|
Pop $0 ; Recover campaign name
|
||||||
StrCpy $0 $0 -1 0 ; Remove trailing - and copy to _RetVar
|
StrCpy $0 $0 -1 0 ; Remove trailing - and copy to _RetVar
|
||||||
|
@ -528,7 +531,7 @@ Var GAClientID
|
||||||
Page custom PostInstallOptionsPage ReadPostInstallOptions
|
Page custom PostInstallOptionsPage ReadPostInstallOptions
|
||||||
|
|
||||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE PageInstallFilesPre
|
!define MUI_PAGE_CUSTOMFUNCTION_PRE PageInstallFilesPre
|
||||||
!define MUI_PAGE_CUSTOMFUNCTION_SHOW StartInstallSlideshow
|
; !define MUI_PAGE_CUSTOMFUNCTION_SHOW StartInstallSlideshow
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
!insertmacro MUI_PAGE_INSTFILES
|
||||||
|
|
||||||
!insertmacro MUI_UNPAGE_CONFIRM
|
!insertmacro MUI_UNPAGE_CONFIRM
|
||||||
|
@ -652,35 +655,35 @@ Var Express
|
||||||
|
|
||||||
Function OnUserAbort
|
Function OnUserAbort
|
||||||
!insertmacro LogStep "Installer" "Abort" "User Abort" ""
|
!insertmacro LogStep "Installer" "Abort" "User Abort" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Abort" "User Abort" ""
|
; !insertmacro GoogleAnalytics "Installer" "Abort" "User Abort" ""
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
Function PageWelcomePre
|
Function PageWelcomePre
|
||||||
!insertmacro LogStep "Installer" "Welcome" "" ""
|
!insertmacro LogStep "Installer" "Welcome" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Welcome" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Welcome" "" ""
|
||||||
!insertmacro DownloadSlideshowImages
|
; !insertmacro DownloadSlideshowImages
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
Function PageLicensePre
|
Function PageLicensePre
|
||||||
!insertmacro LogStep "Installer" "License" "" ""
|
!insertmacro LogStep "Installer" "License" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "License" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "License" "" ""
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
Function PageDirectoryPre
|
Function PageDirectoryPre
|
||||||
!insertmacro MaybeSkipPage
|
!insertmacro MaybeSkipPage
|
||||||
!insertmacro LogStep "Installer" "Directory" "" ""
|
!insertmacro LogStep "Installer" "Directory" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Directory" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Directory" "" ""
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
Function PageStartMenuPre
|
Function PageStartMenuPre
|
||||||
!insertmacro MaybeSkipPage
|
!insertmacro MaybeSkipPage
|
||||||
!insertmacro LogStep "Installer" "StartMenu" "" ""
|
!insertmacro LogStep "Installer" "StartMenu" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "StartMenu" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "StartMenu" "" ""
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
Function PageComponentsPre
|
Function PageComponentsPre
|
||||||
!insertmacro MaybeSkipPage
|
!insertmacro MaybeSkipPage
|
||||||
!insertmacro LogStep "Installer" "Components" "" ""
|
!insertmacro LogStep "Installer" "Components" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Components" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Components" "" ""
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
Function PageInstallFilesPre
|
Function PageInstallFilesPre
|
||||||
!insertmacro LogStep "Installer" "Install" "" ""
|
!insertmacro LogStep "Installer" "Install" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Install" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Install" "" ""
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
!macro SetInstallOption Checkbox OptionName Default
|
!macro SetInstallOption Checkbox OptionName Default
|
||||||
|
@ -702,7 +705,7 @@ FunctionEnd
|
||||||
|
|
||||||
Function InstallTypesPage
|
Function InstallTypesPage
|
||||||
!insertmacro LogStep "Installer" "Install Types" "" ""
|
!insertmacro LogStep "Installer" "Install Types" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Install Types" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Install Types" "" ""
|
||||||
|
|
||||||
!insertmacro MUI_HEADER_TEXT "Choose Installation Type" "Express or Custom Install"
|
!insertmacro MUI_HEADER_TEXT "Choose Installation Type" "Express or Custom Install"
|
||||||
|
|
||||||
|
@ -717,7 +720,7 @@ Function InstallTypesPage
|
||||||
StrCpy $OffsetUnits u
|
StrCpy $OffsetUnits u
|
||||||
StrCpy $Express "0"
|
StrCpy $Express "0"
|
||||||
|
|
||||||
${NSD_CreateRadioButton} 30% $CurrentOffset$OffsetUnits 100% 10u "Express Install (Recommended)"; $\nInstalls High Fidelity Interface and High Fidelity Sandbox"
|
${NSD_CreateRadioButton} 30% $CurrentOffset$OffsetUnits 100% 10u "Express Install (Recommended)"; $\nInstalls Project Athena Interface and Project Athena Sandbox"
|
||||||
pop $ExpressInstallRadioButton
|
pop $ExpressInstallRadioButton
|
||||||
${NSD_OnClick} $ExpressInstallRadioButton ChangeExpressLabel
|
${NSD_OnClick} $ExpressInstallRadioButton ChangeExpressLabel
|
||||||
IntOp $CurrentOffset $CurrentOffset + 15
|
IntOp $CurrentOffset $CurrentOffset + 15
|
||||||
|
@ -813,7 +816,7 @@ Function PostInstallOptionsPage
|
||||||
|
|
||||||
!insertmacro MaybeSkipPage
|
!insertmacro MaybeSkipPage
|
||||||
!insertmacro LogStep "Installer" "Post Install Options" "" ""
|
!insertmacro LogStep "Installer" "Post Install Options" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Post Install Options" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Post Install Options" "" ""
|
||||||
|
|
||||||
!insertmacro MUI_HEADER_TEXT "Setup Options" ""
|
!insertmacro MUI_HEADER_TEXT "Setup Options" ""
|
||||||
|
|
||||||
|
@ -970,7 +973,7 @@ Function ReadPostInstallOptions
|
||||||
|
|
||||||
${If} @CLIENT_COMPONENT_CONDITIONAL@
|
${If} @CLIENT_COMPONENT_CONDITIONAL@
|
||||||
${LogText} "Option: Install Client"
|
${LogText} "Option: Install Client"
|
||||||
; check if the user asked for a desktop shortcut to High Fidelity
|
; check if the user asked for a desktop shortcut to Project Athena
|
||||||
${NSD_GetState} $DesktopClientCheckbox $DesktopClientState
|
${NSD_GetState} $DesktopClientCheckbox $DesktopClientState
|
||||||
${LogText} "Option: Create Client Desktop Shortcut: $DesktopClientState"
|
${LogText} "Option: Create Client Desktop Shortcut: $DesktopClientState"
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
@ -1024,7 +1027,7 @@ Function HandlePostInstallOptions
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
${If} @CLIENT_COMPONENT_CONDITIONAL@
|
${If} @CLIENT_COMPONENT_CONDITIONAL@
|
||||||
; check if the user asked for a desktop shortcut to High Fidelity
|
; check if the user asked for a desktop shortcut to Project Athena
|
||||||
${If} $DesktopClientState == ${BST_CHECKED}
|
${If} $DesktopClientState == ${BST_CHECKED}
|
||||||
CreateShortCut "$DESKTOP\@INTERFACE_HF_SHORTCUT_NAME@.lnk" "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@"
|
CreateShortCut "$DESKTOP\@INTERFACE_HF_SHORTCUT_NAME@.lnk" "$INSTDIR\@INTERFACE_WIN_EXEC_NAME@"
|
||||||
!insertmacro WriteInstallOption "@CLIENT_DESKTOP_SHORTCUT_REG_KEY@" YES
|
!insertmacro WriteInstallOption "@CLIENT_DESKTOP_SHORTCUT_REG_KEY@" YES
|
||||||
|
@ -1085,7 +1088,7 @@ Function HandlePostInstallOptions
|
||||||
ClearErrors
|
ClearErrors
|
||||||
|
|
||||||
; copy the data from production build to this PR build
|
; copy the data from production build to this PR build
|
||||||
CopyFiles "$APPDATA\High Fidelity\*" $0
|
CopyFiles "$APPDATA\Project Athena\*" $0
|
||||||
|
|
||||||
; handle an error in copying files
|
; handle an error in copying files
|
||||||
IfErrors 0 NoError
|
IfErrors 0 NoError
|
||||||
|
@ -1325,13 +1328,13 @@ Section "-Core installation"
|
||||||
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
|
@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
|
||||||
|
|
||||||
; see if we have a campaign that we might need to grab special content for
|
; see if we have a campaign that we might need to grab special content for
|
||||||
Call OptionallyDownloadCampaignServerless
|
; Call OptionallyDownloadCampaignServerless
|
||||||
|
|
||||||
; Handle whichever post install options were set
|
; Handle whichever post install options were set
|
||||||
Call HandlePostInstallOptions
|
Call HandlePostInstallOptions
|
||||||
|
|
||||||
!insertmacro LogStep "Installer" "Done" "" ""
|
!insertmacro LogStep "Installer" "Done" "" ""
|
||||||
!insertmacro GoogleAnalytics "Installer" "Done" "" ""
|
; !insertmacro GoogleAnalytics "Installer" "Done" "" ""
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
!include nsProcess.nsh
|
!include nsProcess.nsh
|
||||||
|
@ -1358,7 +1361,7 @@ SectionEnd
|
||||||
/SD IDCANCEL IDRETRY Prompt_${UniqueID} IDCANCEL 0
|
/SD IDCANCEL IDRETRY Prompt_${UniqueID} IDCANCEL 0
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
!insertmacro GoogleAnalytics "Installer" "Abort" "${displayName} Running" ""
|
; !insertmacro GoogleAnalytics "Installer" "Abort" "${displayName} Running" ""
|
||||||
|
|
||||||
; If the user decided to cancel, stop the current installer/uninstaller
|
; If the user decided to cancel, stop the current installer/uninstaller
|
||||||
Abort
|
Abort
|
||||||
|
@ -1602,7 +1605,7 @@ Function .onInit
|
||||||
!insertmacro InitGAClientID
|
!insertmacro InitGAClientID
|
||||||
!insertmacro GetCampaignName $CampaignName
|
!insertmacro GetCampaignName $CampaignName
|
||||||
|
|
||||||
!insertmacro GoogleAnalytics "Installer" "Start" "$CampaignName" ""
|
; !insertmacro GoogleAnalytics "Installer" "Start" "$CampaignName" ""
|
||||||
|
|
||||||
; make sure none of the installed applications are still running
|
; make sure none of the installed applications are still running
|
||||||
${LogText} "Checking For Running Applications"
|
${LogText} "Checking For Running Applications"
|
||||||
|
|
|
@ -52,6 +52,21 @@
|
||||||
var $ChatLog; // The scrolling chat log.
|
var $ChatLog; // The scrolling chat log.
|
||||||
var $ChatInputText; // The text field for entering text.
|
var $ChatInputText; // The text field for entering text.
|
||||||
var userName;
|
var userName;
|
||||||
|
var urlRegEx = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;,:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+,~%\/\.\w\-]*)?\??(?:[\-\+=&;,:%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g;
|
||||||
|
|
||||||
|
function reverseMatches(msg) {
|
||||||
|
var result = [];
|
||||||
|
var matches = msg.match(urlRegEx);
|
||||||
|
if (matches === null) {
|
||||||
|
matches = [];
|
||||||
|
}
|
||||||
|
for (var i = 0; i <= matches.length; i++) {
|
||||||
|
var split = msg.split(matches[i], 2);
|
||||||
|
result.push(split[0]);
|
||||||
|
msg = split[1];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
//Start George Function
|
//Start George Function
|
||||||
//Function provided by George Deac
|
//Function provided by George Deac
|
||||||
|
@ -62,11 +77,30 @@
|
||||||
|
|
||||||
$.fn.linky = function (options) {
|
$.fn.linky = function (options) {
|
||||||
return this.each(function () {
|
return this.each(function () {
|
||||||
var $el = $(this),
|
var $el = $(this);
|
||||||
linkifiedContent = _linkify($el, options);
|
var content = $el.html();
|
||||||
var formattedContent = replaceFormatting(linkifiedContent);
|
|
||||||
|
|
||||||
$el.html(formattedContent);
|
var match = content.match(urlRegEx);
|
||||||
|
var matchLength = match === null ? 0 : match.length;
|
||||||
|
var messageParts = reverseMatches(content);
|
||||||
|
|
||||||
|
var messageFormatted = [];
|
||||||
|
var urlLinkified = [];
|
||||||
|
var completeMessage = [];
|
||||||
|
|
||||||
|
for (var i = 0; i < matchLength; i++) {
|
||||||
|
urlLinkified.push(_linkify(match[i], options));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < messageParts.length; i++) {
|
||||||
|
messageFormatted.push(replaceFormatting(messageParts[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < messageFormatted.length; i++) {
|
||||||
|
completeMessage.push(messageFormatted[i], urlLinkified[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$el.html(completeMessage.join(""));
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -92,9 +126,8 @@
|
||||||
linkTo: "twitter" // Let's default to Twitter
|
linkTo: "twitter" // Let's default to Twitter
|
||||||
},
|
},
|
||||||
extendedOptions = $.extend(defaultOptions, options),
|
extendedOptions = $.extend(defaultOptions, options),
|
||||||
elContent = $el.html(),
|
elContent = $el,
|
||||||
// Regular expression courtesy of Matthew O'Riordan, see: http://goo.gl/3syEKK
|
// Regular expression courtesy of Matthew O'Riordan, see: http://goo.gl/3syEKK
|
||||||
urlRegEx = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;,:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+,~%\/\.\w\-]*)?\??(?:[\-\+=&;,:%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g,
|
|
||||||
matches;
|
matches;
|
||||||
|
|
||||||
// Linkifying URLs
|
// Linkifying URLs
|
||||||
|
@ -121,7 +154,7 @@
|
||||||
// For any URLs present, unless they are already identified within
|
// For any URLs present, unless they are already identified within
|
||||||
// an `a` element, linkify them.
|
// an `a` element, linkify them.
|
||||||
function _linkifyUrls(matches, $el) {
|
function _linkifyUrls(matches, $el) {
|
||||||
var elContent = $el.html();
|
var elContent = $el;
|
||||||
|
|
||||||
$.each(matches, function () {
|
$.each(matches, function () {
|
||||||
|
|
||||||
|
|
|
@ -112,10 +112,15 @@ function connectWebSocket(timeout) {
|
||||||
console.log('disconnected');
|
console.log('disconnected');
|
||||||
|
|
||||||
timeout = timeout | 0;
|
timeout = timeout | 0;
|
||||||
if (!shutdownBool && timeout < (30 * 1000)) {
|
if (!shutdownBool) {
|
||||||
|
if (timeout > (30 * 1000)) {
|
||||||
|
timeout = 30 * 1000;
|
||||||
|
} else if (timeout < (30 * 1000)) {
|
||||||
|
timeout += 1000;
|
||||||
|
}
|
||||||
Script.setTimeout(function () {
|
Script.setTimeout(function () {
|
||||||
connectWebSocket(timeout);
|
connectWebSocket(timeout);
|
||||||
}, timeout + 1000);
|
}, timeout);
|
||||||
} else {
|
} else {
|
||||||
wsReady = -1;
|
wsReady = -1;
|
||||||
}
|
}
|
||||||
|
@ -128,13 +133,18 @@ function sendWS(msg, timeout) {
|
||||||
ws.send(JSON.stringify(msg));
|
ws.send(JSON.stringify(msg));
|
||||||
} else {
|
} else {
|
||||||
timeout = timeout | 0;
|
timeout = timeout | 0;
|
||||||
if (!shutdownBool && timeout < (30 * 1000)) {
|
if (!shutdownBool) {
|
||||||
|
if (timeout > (30 * 1000)) {
|
||||||
|
timeout = 30 * 1000;
|
||||||
|
} else if (timeout < (30 * 1000)) {
|
||||||
|
timeout += 1000;
|
||||||
|
}
|
||||||
Script.setTimeout(function () {
|
Script.setTimeout(function () {
|
||||||
if (wsReady === -1) {
|
if (wsReady === -1) {
|
||||||
connectWebSocket();
|
connectWebSocket();
|
||||||
}
|
}
|
||||||
sendWS(msg, timeout);
|
sendWS(msg, timeout);
|
||||||
}, timeout + 1000);
|
}, timeout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,7 +191,7 @@ function go2(msg) {
|
||||||
var dest = false;
|
var dest = false;
|
||||||
var domainsList = [];
|
var domainsList = [];
|
||||||
try {
|
try {
|
||||||
domainsList = Script.require("http://metaverse.darlingvr.club:8081/goto.json");
|
domainsList = Script.require(gotoJSONUrl + "?" + Date.now());
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue