diff --git a/README.md b/README.md index 34c05867a7..be317e4371 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# HiFi Community Edition +# Project Athena -### [Download v0.86.0 K1 (Windows 64-bit, .zip)](https://realities.dev/cdn/hifi-community/v0860-kasen-VS-release+freshstart/Packaged_Release.zip) +### [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) -#### Changes for **v0.86.0** consist of: +This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers. -#### Added in K1 (12/3/19) +#### v0.86.0 K1 (12/3/19) * Audio Buffer choppy audio bugfix by increasing the buffer size. * User Activity Logger disabled, option in code to log the reports to console. @@ -13,15 +13,10 @@ * Entity Script Whitelist, no scripts are whitelisted by default. * Background CMD outputs full log, instant close of application on closing of the CMD-line. -#### Added in K2 (TBD) +#### v0.86.0 K2 (TBD) -* QML Interface to access and save whitelist live to interface.json. -* Add "VideoDecodeStats" to .gitignore. -* Fix VCPKG SDL2 to port files from 2.0.8 to 2.0.10 to fix CMake build issues. -* Added Github link to "About High Fidelity". -* Removed environment variable requirement for "procedural shader materials". - -This build has been tested on Windows 10 Pro 64-bit w/ Nvidia graphics drivers. +##### Features, Bugs, and Housekeeping +Check out the releases page for more information! ### Whitelist Instructions @@ -31,15 +26,7 @@ The Interface has the whitelist settings under "**Settings -> Entity Script Whit Do not use spaces or commas in the whitelist interface, you will only separate by commas and not new lines in the environment variables. -It is recommended that you add High Fidelity's CDN URLs ahead of time to ensure general content works right off the bat: - -``` -http://mpassets.highfidelity.com/ -https://raw.githubusercontent.com/highfidelity/ -https://hifi-content.s3.amazonaws.com/ -``` - -You can also set the Windows environment variable "**EXTRA_WHITELIST**" with your whitelisted domains comma separated like so: "**https://kasen.io/,http://kasen.io/,https://exampledomain.com/scriptFolder/**" +You can also set the Windows environment variable "**EXTRA_WHITELIST**" with your whitelisted domains comma separated like so: "**http://mpassets.highfidelity.com/,https://raw.githubusercontent.com/highfidelity/,https://hifi-content.s3.amazonaws.com/**" Alternatively you can make a batch file placed in the same folder as interface.exe that sets the whitelist environment variable temporarily: @@ -50,7 +37,8 @@ interface.exe ### How to build interface.exe -[For Windows](https://github.com/kasenvr/hifi-community/blob/kasen/core/BUILD_WIN.md) +[For Windows](https://github.com/kasenvr/project-athena/blob/kasen/core/BUILD_WIN.md) +[For Linux](https://github.com/kasenvr/project-athena/blob/kasen/core/BUILD_LINUX.md) ### Boot to Metaverse: The Goal @@ -58,7 +46,7 @@ Too many of us have our own personal combinations of High Fidelity from C++ modi The goal of this repo is to give a common area to PR the very best of our findings and creations so that we may effectively take each necessary step towards our common goal of living in a true metaverse. -### Why High Fidelity? +### Why High Fidelity's Engine? Because of all the options, it is the only starting point that is open-source, cross-platform, fully VR integrated + fully desktop integrated with an aim for quality visuals and performance. It also does us the service of providing a foundation to start from such as entity management, full body IK, etc. @@ -68,6 +56,8 @@ Platforms like NeosVR or VRChat are unusable from go due to their fundamental cl So the necessary desire is to use High Fidelity as our foundation as a community of one, of all to build a metaverse worth living in. -### Contributors +### Contribution -A special thanks to the contributors of the community edition. +A special thanks to the contributors of the Project Athena. + +[Contribution](CONTRIBUTING.md) diff --git a/cmake/ports/etc2comp/portfile.cmake b/cmake/ports/etc2comp/portfile.cmake index d25f24cd39..343f67169b 100644 --- a/cmake/ports/etc2comp/portfile.cmake +++ b/cmake/ports/etc2comp/portfile.cmake @@ -19,7 +19,7 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO highfidelity/etc2comp + REPO kasenvr/etc2comp REF 7f1843bf07825c21cab711360c1ddbad04641036 SHA512 d747076acda8537d39585858c793a35c3dcc9ef283d723619a47f8c81ec1454c95b3340ad35f0655a939eae5b8271c801c48a9a7568311a01903a344c44af25b HEAD_REF master diff --git a/cmake/ports/hifi-scribe/portfile.cmake b/cmake/ports/hifi-scribe/portfile.cmake index 2b69f7b887..498e8a455b 100644 --- a/cmake/ports/hifi-scribe/portfile.cmake +++ b/cmake/ports/hifi-scribe/portfile.cmake @@ -3,7 +3,7 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO highfidelity/scribe + REPO kasenvr/scribe REF 1bd638a36ca771e5a68d01985b6389b71835cbd2 SHA512 dbe241d86df3912e544f6b9839873f9875df54efc93822b145e7b13243eaf2e3d690bc8a28b1e52d05bdcd7e68fca6b0b2f5c43ffd0f56a9b7a50d54dcf9e31e HEAD_REF master diff --git a/cmake/ports/nvtt/portfile.cmake b/cmake/ports/nvtt/portfile.cmake index 4cbe05b692..c7bf068e13 100644 --- a/cmake/ports/nvtt/portfile.cmake +++ b/cmake/ports/nvtt/portfile.cmake @@ -9,7 +9,7 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO highfidelity/nvidia-texture-tools + REPO kasenvr/nvidia-texture-tools REF 330c4d56274a0f602a5c70596e2eb670a4ed56c2 SHA512 4c0bc2f369120d696cc27710b6d33086b27eef55f537ec66b9a5c8b1839bc2426c0413670b0f65be52c5d353468f0126dfe024be1f0690611d4d7e33ac530127 HEAD_REF master diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 5aed37dd02..6a7aad1524 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -161,9 +161,9 @@ elseif (WIN32) configure_file("${HF_CMAKE_DIR}/templates/VersionInfo.rc.in" ${CONFIGURE_VERSION_INFO_RC_OUTPUT}) # add an executable that also has the icon itself and the configured rc file as resources - #add_executable(${TARGET_NAME} WIN32 ${INTERFACE_SRCS} ${QM} ${CONFIGURE_ICON_RC_OUTPUT} ${CONFIGURE_VERSION_INFO_RC_OUTPUT}) + add_executable(${TARGET_NAME} WIN32 ${INTERFACE_SRCS} ${QM} ${CONFIGURE_ICON_RC_OUTPUT} ${CONFIGURE_VERSION_INFO_RC_OUTPUT}) ##^^^^^ creates native Win32 app w/o cmd console vvvvvv forces cmd console for logging - add_executable(${TARGET_NAME} ${INTERFACE_SRCS} ${QM} ${CONFIGURE_ICON_RC_OUTPUT} ${CONFIGURE_VERSION_INFO_RC_OUTPUT}) + # add_executable(${TARGET_NAME} ${INTERFACE_SRCS} ${QM} ${CONFIGURE_ICON_RC_OUTPUT} ${CONFIGURE_VERSION_INFO_RC_OUTPUT}) if (NOT DEV_BUILD) add_custom_command( diff --git a/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml b/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml index 4d57d7074c..91e40aa608 100644 --- a/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml +++ b/interface/resources/qml/hifi/dialogs/TabletAboutDialog.qml @@ -53,18 +53,7 @@ Rectangle { textFormat: Text.StyledText linkColor: "#00B4EF" color: "white" - text: "www.highfidelity.com." - size: 20 - onLinkActivated: { - HiFiAbout.openUrl("https:/www.highfidelity.com"); - } - - } - RalewayRegular { - textFormat: Text.StyledText - linkColor: "#00B4EF" - color: "white" - text: "HiFi Community Github." + text: "Project Athena Github." size: 20 onLinkActivated: { HiFiAbout.openUrl("https:/github.com/kasenvr/hifi-community"); diff --git a/interface/resources/qml/hifi/dialogs/security/EntityScriptWhitelist.qml b/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml similarity index 95% rename from interface/resources/qml/hifi/dialogs/security/EntityScriptWhitelist.qml rename to interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml index e5c3c10176..aa30b5d014 100644 --- a/interface/resources/qml/hifi/dialogs/security/EntityScriptWhitelist.qml +++ b/interface/resources/qml/hifi/dialogs/security/EntityScriptQMLWhitelist.qml @@ -1,5 +1,5 @@ // -// ScriptWhitelist.qml +// EntityScriptQMLWhitelist.qml // interface/resources/qml/hifi/dialogs/security // // Created by Kasen IO on 2019.12.05 | realities.dev | kasenvr@gmail.com @@ -145,7 +145,9 @@ Rectangle { https://google.com/ https://bing.com/ https://mydomain.here/ - \nEnsure there are no spaces or whitespace." + \nEnsure there are no spaces or whitespace. + \nFor QML files, you can only whitelist each file individually + ending with '.qml'." // Text size size: 16; // Style diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index dd9a10a237..01ee21c00d 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1158,7 +1158,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo QFontDatabase::addApplicationFont(PathUtils::resourcesPath() + "fonts/Graphik-SemiBold.ttf"); QFontDatabase::addApplicationFont(PathUtils::resourcesPath() + "fonts/Graphik-Regular.ttf"); QFontDatabase::addApplicationFont(PathUtils::resourcesPath() + "fonts/Graphik-Medium.ttf"); - _window->setWindowTitle("High Fidelity"); + _window->setWindowTitle("Project Athena"); Model::setAbstractViewStateInterface(this); // The model class will sometimes need to know view state details from us @@ -7046,7 +7046,7 @@ void Application::updateWindowTitle() const { auto accountManager = DependencyManager::get(); auto isInErrorState = nodeList->getDomainHandler().isInErrorState(); - QString buildVersion = " - Kasen Community Edition v0.86.0 K2 - " + QString buildVersion = " - Project Athena v0.86.0 K2 - " + (BuildInfo::BUILD_TYPE == BuildInfo::BuildType::Stable ? QString("Version") : QString("Build")) + " " + applicationVersion(); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 9bc1dae56e..1be67ef188 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -288,13 +288,12 @@ Menu::Menu() { }); // Settings > Entity Script Whitelist - action = addActionToQMenuAndActionHash(settingsMenu, "Entity Script Whitelist"); + action = addActionToQMenuAndActionHash(settingsMenu, "Entity Script / QML Whitelist"); connect(action, &QAction::triggered, [] { auto tablet = DependencyManager::get()->getTablet("com.highfidelity.interface.tablet.system"); auto hmd = DependencyManager::get(); - DependencyManager::get()->clearCache(); - tablet->pushOntoStack("hifi/dialogs/security/EntityScriptWhitelist.qml"); + tablet->pushOntoStack("hifi/dialogs/security/EntityScriptQMLWhitelist.qml"); if (!hmd->getShouldShowTablet()) { hmd->toggleShouldShowTablet(); @@ -808,7 +807,7 @@ Menu::Menu() { // Help > Report a Bug! action = addActionToQMenuAndActionHash(helpMenu, "Report a Bug!"); connect(action, &QAction::triggered, qApp, [] { - QDesktopServices::openUrl(QUrl("mailto:support@highfidelity.com")); + QDesktopServices::openUrl(QUrl("https://github.com/kasenvr/hifi-community/issues")); }); } diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 37b3f971fc..1d6c010a05 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -181,7 +181,7 @@ namespace MenuOption { const QString RunningScripts = "Running Scripts..."; const QString RunTimingTests = "Run Timing Tests"; const QString ScriptedMotorControl = "Enable Scripted Motor Control"; - const QString EntityScriptWhitelist = "Entity Script Whitelist"; + const QString EntityScriptQMLWhitelist = "Entity Script / QML Whitelist"; const QString ShowTrackedObjects = "Show Tracked Objects"; const QString SelfieCamera = "Selfie"; const QString SendWrongDSConnectVersion = "Send wrong DS connect version"; diff --git a/libraries/render/src/render/CullTask.cpp b/libraries/render/src/render/CullTask.cpp index 068d6f9851..8cedbc7f3e 100644 --- a/libraries/render/src/render/CullTask.cpp +++ b/libraries/render/src/render/CullTask.cpp @@ -130,6 +130,10 @@ void FetchSpatialTree::configure(const Config& config) { } void FetchSpatialTree::run(const RenderContextPointer& renderContext, const Inputs& inputs, ItemSpatialTree::ItemSelection& outSelection) { + if (!renderContext){ + return; + } + // start fresh outSelection.clear(); @@ -142,6 +146,10 @@ void FetchSpatialTree::run(const RenderContextPointer& renderContext, const Inpu RenderArgs* args = renderContext->args; auto& scene = renderContext->_scene; + if (!args) { + return; + } + auto queryFrustum = args->getViewFrustum(); // Eventually use a frozen frustum if (_freezeFrustum) {