diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..f0f287811 --- /dev/null +++ b/.clang-format @@ -0,0 +1,70 @@ +Language: Cpp +BasedOnStyle: LLVM + +# Newlines +LineEnding: LF +InsertNewlineAtEOF: true +MaxEmptyLinesToKeep: 3 +BreakBeforeBraces: Allman +BreakConstructorInitializers: BeforeColon +BreakInheritanceList: AfterColon +BreakAdjacentStringLiterals: true +BreakAfterAttributes: Leave +BreakBeforeConceptDeclarations: Always + +# General rules +InsertBraces: false +PointerAlignment: Left +ColumnLimit: 0 + +# Indentation: use 4 spaces for all indentation +UseTab: ForContinuationAndIndentation +TabWidth: 4 +IndentWidth: 4 +ContinuationIndentWidth: 4 +ConstructorInitializerIndentWidth: 4 +AccessModifierOffset: -4 +IndentCaseLabels: true +IndentPPDirectives: BeforeHash +LambdaBodyIndentation: OuterScope + +# namespaces +NamespaceIndentation: All +FixNamespaceComments: true +CompactNamespaces: false + +# Alignment +AlignAfterOpenBracket: BlockIndent +AlignArrayOfStructures: Right +PackConstructorInitializers: Never +AlignTrailingComments: + Kind: Always + OverEmptyLines: 1 +AlignEscapedNewlines: Right +AllowAllArgumentsOnNextLine: true +AllowBreakBeforeNoexceptSpecifier: Always +AllowShortBlocksOnASingleLine: true +AllowShortCaseLabelsOnASingleLine: true +AllowShortCompoundRequirementOnASingleLine: true +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Inline +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: All +AllowShortLoopsOnASingleLine: true +AlwaysBreakTemplateDeclarations: Yes +BitFieldColonSpacing: Both + +# includes +SortIncludes: CaseSensitive +IncludeBlocks: Preserve + +# Empty lines +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: Always + +# Prevent indentation on next line after these macros: +StatementMacros: [ESMeta, MetaExternal] + + + + diff --git a/.gitattributes b/.gitattributes index b7f1410b1..a73125838 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14,3 +14,4 @@ *.jpg filter=lfs diff=lfs merge=lfs -text *.glb filter=lfs diff=lfs merge=lfs -text *.bin filter=lfs diff=lfs merge=lfs -text +*.exe -text diff --git a/.gitignore b/.gitignore index 855f654d1..f02196514 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,75 @@ -################### -# Rythe Generated # -################### +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# Mono auto generated files +mono_crash.* -# Rythe library output -include/** -lib/* +# Visual Studio 2015/2017 cache/options directory +.vs/ -# Rythe Precompiled shader files -*.shil +# Visual Studio code files +.vscode/ -######### -# Build # -######### - -# CMake -CMakeFiles/ -CMakeScripts/ -cmake_install.cmake -CMakeCache.txt -cmake-build-*/ -CMakeDoxyfile.in -CMakeDoxygenDefaults.cmake - -# CMake Tests -CTestTestfile.cmake -DartConfiguration.tcl -unit_tests_*.cmake -Testing/ +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Executables +*.exe +*.out +*.app # Build results [Dd]ebug/ @@ -38,64 +81,56 @@ x86/ [Ww][Ii][Nn]32/ [Aa][Rr][Mm]/ [Aa][Rr][Mm]64/ +bld/ [Bb]in/ [Oo]bj/ [Ll]og/ [Ll]ogs/ -# Executables -*.exe -*.out -*.app - -############# -# Platforms # -############# - -# Windows - -# Linux +# Rythe engine asset folder +!**/assets/** +!**/engine/resources/** -# MacOS -*.DS_Store -*.sb-* +# Rythe engine tools folder +!**/tools/** -############# -# Compilers # -############# +# Word temporary files +~$*.* -################ -# IDEs/Editors # -################ +# linux Makefiles +**/Makefile -# Visual Studio -*.sln -*.vcxproj -*.vcxproj.user -*.vcxproj.filters -.vs/ +# Windows Preview files +**/Thumbs.db +*.xcf -# Visual Studio Code -.vscode/ +*.shil +!**/applications/**/engine/** -# CLion -*.idea/ +# Mono VM +vm/** -# XCode -*.xcodeproj/ -XCBuildData/ +# Rythe Libraries +lib/* -######## -# Misc # -######## +# Rythe Precompiled shader files +*.shil -# Mono -mono_crash.* -vm/** +# Rythe Includes +include/** -# Word temporary files -~$*.* +# Misc +*/**/Thumbs.db +applications/sandbox/imgui.ini -# Dear Imgui -imgui.ini -build/* +# Reference files (not for upload) +**/**_ref/* +docs/venv +**/__pycache__/** +**/imgui.ini +*.sln +*.vcxproj +*.filters +build/.cmake +build/CMakeFiles +build/CMakeCache.txt diff --git a/.gitmodules b/.gitmodules index a3b5dd01e..c0d692d6f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,15 +1,21 @@ -[submodule "rythe/engine/core"] - path = rythe/engine/core +[submodule "modules/rythe/core"] + path = modules/rythe/core url = https://github.com/Rythe-Interactive/Rythe-Core.git -[submodule "rythe/engine/application"] - path = rythe/engine/application +[submodule "modules/rythe/application"] + path = modules/rythe/application url = https://github.com/Rythe-Interactive/Rythe-Application.git -[submodule "rythe/engine/graphics"] - path = rythe/engine/graphics +[submodule "modules/rythe/graphics"] + path = modules/rythe/graphics url = https://github.com/Rythe-Interactive/Rythe-Graphics.git -[submodule "rythe/engine/audio"] - path = rythe/engine/audio +[submodule "modules/rythe/audio"] + path = modules/rythe/audio url = https://github.com/Rythe-Interactive/Rythe-Audio.git -[submodule "rythe/engine/physics"] - path = rythe/engine/physics +[submodule "modules/rythe/physics"] + path = modules/rythe/physics url = https://github.com/Rythe-Interactive/Rythe-Physics.git +[submodule "libraries/rythe/rythe-standard-library"] + path = libraries/rythe/rythe-standard-library + url = https://github.com/Rythe-Interactive/Rythe-Standard-Library.git +[submodule "libraries/third_party/catch2"] + path = libraries/third_party/catch2 + url = https://github.com/Rythe-Interactive/Catch2.git diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 401c38a66..000000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,172 +0,0 @@ -# Root CMake build file for Rythe-Engine -# Sets up the build environment for Rythe engine, editor, applications, and samples. -# Refer to the readme or docs for information on its usage. - -cmake_minimum_required(VERSION 3.16 FATAL_ERROR) -project(rythe LANGUAGES CXX) - -# Configuration -option(RYTHE_FORCE_ENABLE_ALL_MODULES "Forcefully enable all modules (overrides module toggles)" OFF) -option(RYTHE_BUILD_OPTION_ASAN "Enable the address sanitizer where possible" ON) -option(RYTHE_BUILD_OPTION_WERROR "Treat warnings as errors in all of Rythe's libraries and applications" ON) -option(RYTHE_BUILD_APPLICATIONS "Build applications such as samples and sandbox apps" ON) -option(RYTHE_FETCH_SUBMODULES "Enable fetching required submodules. Recommended when configuring modules/dependencies. Turn off if you're just adjusting files within the project." ON) - -# Folder structure -set_property(GLOBAL PROPERTY USE_FOLDERS ON) -set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON) -set(CMAKE_FOLDER "1 - utils") - -set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) -set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) - -# Convenience directory variables, usable in subdirs -set(RYTHE_DIR_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) -set(RYTHE_DIR_RYTHE ${CMAKE_CURRENT_SOURCE_DIR}/rythe) -set(RYTHE_DIR_ENGINE ${CMAKE_CURRENT_SOURCE_DIR}/rythe/engine) -set(RYTHE_DIR_EDITOR ${CMAKE_CURRENT_SOURCE_DIR}/rythe/editor) - -set(RYTHE_DIR_OUTPUT_LIBS ${CMAKE_CURRENT_SOURCE_DIR}/lib) -set(RYTHE_DIR_OUTPUT_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include) - -# C++ files/lang -set(RYTHE_LANGUAGE CXX) -set(RYTHE_FILE_TYPES *.h *.hpp *.c *.cpp *.inl) - -# Include dirs -set(RYTHE_INCLUDE_ALL "") -set(RYTHE_INCLUDE_ENGINE "") -set(RYTHE_INCLUDE_EDITOR "") -set(RYTHE_INCLUDE_THIRD_PARTY "") - -# Libs -set(RYTHE_LIBS_ALL "") -set(RYTHE_LIBS_ENGINE "") -set(RYTHE_LIBS_EDITOR "") -set(RYTHE_LIBS_THIRD_PARTY "") - -# Definitions -set(RYTHE_DEFINITIONS "") -list(APPEND RYTHE_DEFINITIONS "RYTHE_ENGINE") - -# Compiler flags -set(RYTHE_COMPILER_FLAGS "") -set(RYTHE_LINKER_FLAGS "") - -if (NOT MSVC) - set(RYTHE_COMPILER_FLAGS -Wall -Wextra -Wpedantic - -Wno-c++98-compat -Wno-c++98-compat-pedantic - -Wno-c++0x-compat - -Wno-c++11-compat -Wno-c++11-compat-pedantic - -Wno-c++14-compat -Wno-c++14-compat-pedantic - ${RYTHE_COMPILER_FLAGS}) - - if (${RYTHE_BUILD_OPTION_WERROR}) - set(RYTHE_COMPILER_FLAGS -Werror ${RYTHE_COMPILER_FLAGS}) - endif() - - if (${RYTHE_BUILD_OPTION_ASAN}) - set(RYTHE_COMPILER_FLAGS -fsanitize=address ${RYTHE_COMPILER_FLAGS}) - set(RYTHE_LINKER_FLAGS -fsanitize=address ${RYTHE_LINKER_FLAGS}) - endif() -else() - set(RYTHE_COMPILER_FLAGS /MP /W4 ${RYTHE_COMPILER_FLAGS}) - - if (${RYTHE_BUILD_OPTION_WERROR}) - set(RYTHE_COMPILER_FLAGS /WX ${RYTHE_COMPILER_FLAGS}) - endif() - - if (${RYTHE_BUILD_OPTION_ASAN}) - set(RYTHE_COMPILER_FLAGS /fsanitize=address ${RYTHE_COMPILER_FLAGS}) - endif() -endif() - -# Force library type to static -set(RYTHE_LIBRARY_TYPE STATIC) -set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) -mark_as_advanced(FORCE BUILD_SHARED_LIBS) # Hide - -# Third party libraries often like to enable docs/examples -# we practically never want this from our dependencies -set(BUILD_DOC OFF CACHE BOOL "" FORCE) -set(BUILD_DOCS OFF CACHE BOOL "" FORCE) -set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) -set(BUILD_SANDBOX OFF CACHE BOOL "" FORCE) -set(BUILD_TESTS OFF CACHE BOOL "" FORCE) -set(BUILD_TESTING OFF CACHE BOOL "" FORCE) - -# Utility files -include("${CMAKE_MODULE_PATH}/update_submodule.cmake") -include("${CMAKE_MODULE_PATH}/copy_module_output.cmake") -include("${CMAKE_MODULE_PATH}/configure_application.cmake") -include("${CMAKE_MODULE_PATH}/configure_module.cmake") -include("${CMAKE_MODULE_PATH}/add_third_party.cmake") -include("${CMAKE_MODULE_PATH}/find_sources.cmake") - -# Get Git -find_package(Git REQUIRED) - -execute_process(COMMAND ${GIT_EXECUTABLE} config --global core.longpaths true - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - RESULT_VARIABLE GIT_SUBMOD_RESULT) - -if(NOT GIT_SUBMOD_RESULT EQUAL "0") - message(FATAL_ERROR "git submodule update failed with ${GIT_SUBMOD_RESULT}") -endif() - -# Add Rythe -set(RYTHE_ENABLED_MODULE_NAMES "") -set(RYTHE_ENABLED_APPLICATION_NAMES "") -set(RYTHE_ENABLED_MODULE_PATHS "") -add_subdirectory(${RYTHE_DIR_RYTHE}) - -# The engine is ready - add applications -if (${RYTHE_BUILD_APPLICATIONS}) - add_subdirectory(${RYTHE_DIR_ROOT}/applications) - - foreach(path ${RYTHE_ENABLED_MODULE_PATHS}) - add_subdirectory(${RYTHE_DIR_ROOT}/${path}/applications) - endforeach() -endif() - -# Add config project -set(configure_command_args "") -list(APPEND configure_command_args "\"${RYTHE_DIR_ROOT}\"") -list(APPEND configure_command_args "-G \"${CMAKE_GENERATOR}\"") -list(APPEND configure_command_args "-S \"${RYTHE_DIR_ROOT}\"") -list(APPEND configure_command_args "-B \"${CMAKE_BINARY_DIR}\"") -list(APPEND configure_command_args -T ClangCL) -list(APPEND configure_command_args -D RYTHE_FETCH_SUBMODULES=OFF) - -list(APPEND configure_command_args -D RYTHE_BUILD_APPLICATIONS=${RYTHE_BUILD_APPLICATIONS}) - -list(APPEND configure_command_args -D RYTHE_BUILD_OPTION_ASAN=${RYTHE_BUILD_OPTION_ASAN}) - -list(APPEND configure_command_args -D RYTHE_BUILD_OPTION_WERROR=${RYTHE_BUILD_OPTION_WERROR}) - - -if (${RYTHE_FORCE_ENABLE_ALL_MODULES}) - list(APPEND configure_command_args -D RYTHE_FORCE_ENABLE_ALL_MODULES=ON) -else() - list(APPEND configure_command_args -D RYTHE_FORCE_ENABLE_ALL_MODULES=OFF) - foreach(module_name ${RYTHE_ENABLED_MODULE_NAMES}) - string(TOUPPER module_name module) - list(APPEND configure_command_args -D RYTHE_MODULE_${module}=ON) - endforeach() -endif() - -add_custom_target(configure ${CMAKE_COMMAND} ${configure_command_args}) - -foreach(module_name ${RYTHE_ENABLED_MODULE_NAMES}) - add_dependencies(${module_name} configure) -endforeach() - -foreach(application_name ${RYTHE_ENABLED_APPLICATION_NAMES}) - add_dependencies(${application_name} configure) -endforeach() - -# Set folder names -file(GLOB files ${RYTHE_DIR_RYTHE}/${RYTHE_FILE_TYPES}) -foreach(file ${files}) - set_target_properties(${file} PROPERTIES FOLDER ${file}) -endforeach() diff --git a/Rythe-Engine.code-workspace b/Rythe-Engine.code-workspace new file mode 100644 index 000000000..876a1499c --- /dev/null +++ b/Rythe-Engine.code-workspace @@ -0,0 +1,8 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": {} +} \ No newline at end of file diff --git a/VisualStudio22-All.bat b/VisualStudio22-All.bat index 67ce0a412..f6597e9f8 100644 --- a/VisualStudio22-All.bat +++ b/VisualStudio22-All.bat @@ -1,2 +1 @@ -cmake -E make_directory build -cmake . -G "Visual Studio 17 2022" -S . -B ./build/ -T ClangCL -D RYTHE_BUILD_APPLICATIONS=ON -D RYTHE_BUILD_OPTION_ASAN=OFF -D RYTHE_FORCE_ENABLE_ALL_MODULES=ON \ No newline at end of file +tools\premake5 vs2022 \ No newline at end of file diff --git a/applications/CMakeLists.txt b/applications/CMakeLists.txt deleted file mode 100644 index 1cb1f47c4..000000000 --- a/applications/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -# Overarching CMake script for applications. -# The Rythe root CMakeLists adds this folder as a submodule, -# this script doesn't have to do much other than add every known application in. - -if(${RYTHE_BUILD_APPLICATIONS}) - add_subdirectory(sandbox) - add_subdirectory(rsl_test) -endif() - -set(RYTHE_ENABLED_APPLICATION_NAMES ${RYTHE_ENABLED_APPLICATION_NAMES} PARENT_SCOPE) diff --git a/applications/core_test/.rythe_project b/applications/core_test/.rythe_project new file mode 100644 index 000000000..87ce667ab --- /dev/null +++ b/applications/core_test/.rythe_project @@ -0,0 +1,7 @@ +local project = { + dependencies = { + "rythe/core" + } +} + +return project diff --git a/applications/core_test/src/core_test/source.cpp b/applications/core_test/src/core_test/source.cpp new file mode 100644 index 000000000..9d13e62db --- /dev/null +++ b/applications/core_test/src/core_test/source.cpp @@ -0,0 +1,15 @@ +#define RYTHE_ENTRY + +#include +#include +#include +#include +#include + +#include + +void RYTHE_CCONV reportModules(rythe::core::Program* program) +{ + rsl::log::debug("Initilizing Core-Application"); + program->addEngineInstance(); +} diff --git a/applications/editor/.rythe_project b/applications/editor/.rythe_project new file mode 100644 index 000000000..33f2465c4 --- /dev/null +++ b/applications/editor/.rythe_project @@ -0,0 +1,7 @@ +local project = { + dependencies = { + "rythe/core" + } +} + +return project \ No newline at end of file diff --git a/applications/editor/engine/tools/lgnspre.exe b/applications/editor/engine/tools/lgnspre.exe new file mode 100644 index 000000000..420b5b87f Binary files /dev/null and b/applications/editor/engine/tools/lgnspre.exe differ diff --git a/applications/rsl_test/.rythe_project b/applications/rsl_test/.rythe_project new file mode 100644 index 000000000..59bf9c459 --- /dev/null +++ b/applications/rsl_test/.rythe_project @@ -0,0 +1,7 @@ +local project = { + dependencies = { + "rythe/rythe-standard-library:test" + } +} + +return project \ No newline at end of file diff --git a/applications/rsl_test/CMakeLists.txt b/applications/rsl_test/CMakeLists.txt deleted file mode 100644 index 5e835aa26..000000000 --- a/applications/rsl_test/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -project(rsl_test LANGUAGES ${RYTHE_LANGUAGE}) - -rythe_find_sources(sources "${PROJECT_SOURCE_DIR}") -add_executable(rsl_test ${sources}) -set_target_properties(rsl_test PROPERTIES FOLDER "2 - applications") - -# Dependency on RSL -target_include_directories(rsl_test PUBLIC "${RYTHE_DIR_ENGINE}/core/third_party/rythe-standard-library/src") -target_link_libraries(rsl_test PUBLIC rythe-standard-library) - -rythe_configure_manual_application(rsl_test) - -set(RYTHE_ENABLED_APPLICATION_NAMES ${RYTHE_ENABLED_APPLICATION_NAMES} PARENT_SCOPE) diff --git a/applications/rsl_test/source.cpp b/applications/rsl_test/source.cpp deleted file mode 100644 index 779e286d7..000000000 --- a/applications/rsl_test/source.cpp +++ /dev/null @@ -1,235 +0,0 @@ -#define RYTHE_VALIDATE - -#include -#include -#include - -#include - -#include -#include - -static size_t counter; - -static void func() { - counter++; -} - -struct Object { - std::vector ints; - - void memberFunc() { - for (size_t& i : ints) { - i++; - counter += i; - } - } - - void constMemberFunc() const { - - for (size_t i : ints) { - counter += i; - } - } -}; - -static std::vector createVec(size_t idx) { - std::vector vec; - for (size_t i = idx + 20; i > idx; i--) { - vec.push_back(i); - } - return vec; -} - -void delegate_test(size_t i) { - rsl::multicast_delegate del; - - { - del = &func; - } - - del(); - - counter = 0; - - { - del = []() { - counter++; - }; - } - - del(); - - counter = 0; - - { - std::vector ints = createVec(i); - del = [ints]() { - for (size_t i : ints) { - i++; - counter += i; - } - }; - } - - del(); - - counter = 0; - - { - Object obj{ createVec(i) }; - { - del.assign(obj); - } - - del(); - } - - counter = 0; - - { - const Object obj{ createVec(i) }; - { - del.assign(obj); - } - - del(); - } - - counter = 0; - - for (size_t j = 0; j < 10000; j++) { - del(); - } -} - -void stl_test(size_t i) { - std::function del; - - { - del = &func; - } - - del(); - - counter = 0; - - { - del = []() { - counter++; - }; - } - - del(); - - counter = 0; - - { - std::vector ints = createVec(i); - del = [ints]() { - for (size_t i : ints) { - i++; - counter += i; - } - }; - } - - del(); - - counter = 0; - - { - Object obj{ createVec(i) }; - { - auto mf = std::mem_fn(&Object::memberFunc); - del = std::bind(mf, &obj); - } - - del(); - } - - counter = 0; - - { - const Object obj{ createVec(i) }; - { - auto mf = std::mem_fn(&Object::constMemberFunc); - del = std::bind(mf, const_cast(&obj)); - } - - del(); - } - - counter = 0; - - for (size_t j = 0; j < 10000; j++) { - del(); - } -} - -int main() { - constexpr size_t ITERATIONS = 10000; - using clock = std::chrono::high_resolution_clock; - { - auto start = clock::now(); - - for (size_t i = 0; i < ITERATIONS; i++) { - delegate_test(i); - } - - auto elapsed = (clock::now() - start); - std::cout << counter << std::endl; - std::cout << (std::chrono::duration_cast>(elapsed).count() / ITERATIONS) << "\t" << elapsed.count() << std::endl; - counter = 0; - } - - { - auto start = clock::now(); - - for (size_t i = 0; i < ITERATIONS; i++) { - stl_test(i); - } - - auto elapsed = (clock::now() - start); - std::cout << counter << std::endl; - std::cout << (std::chrono::duration_cast>(elapsed).count() / ITERATIONS) << "\t" << elapsed.count() << std::endl; - counter = 0; - } - - rsl::stopwatch timer; - rsl::timer accurateTimer; - - rsl::time_point startTime = timer.start_point(); - - std::cout << "timer started at: " << startTime.hours() << ':' << startTime.minutes() << ' ' << startTime.seconds() << "s\n"; - - rsl::time_point currentTime = timer.current_point(); - rsl::time_span elapsedTime = currentTime - startTime; - rsl::time_span otherElapsed = timer.elapsed_time(); - rsl::time_span accurateElapsed = accurateTimer.elapsed_time(); - - std::cout << "timer after log: " << currentTime.hours() << ':' << currentTime.minutes() << ' ' << currentTime.seconds() << "s\n"; - - - std::cout << "elapsed time: " << elapsedTime.nanoseconds() << " nanoseconds, other elapsed: " << otherElapsed.nanoseconds() << " nanoseconds, accurate elapsed: " << accurateElapsed.nanoseconds() << " nanoseconds\n"; - - - rsl::buffered_string<16> str = "Hello there!"; - rsl::buffered_string<16> str2 = "This is more than 16 chars!"; - - constexpr auto typeName = rsl::type_name(str); - - std::cout << typeName << '\n'; - - std::cout << '\"' << str << "\"\n\"" << str2 << "\"\n"; - - str.resize(15); - - std::cout << '\"' << str << "\"\n\"" << str2 << "\"\n"; - - str.resize(6); - - std::cout << '\"' << str << "\"\n\"" << str2 << "\"\n"; - - return 0; -} diff --git a/applications/rsl_test/src/rsl_test/source.cpp b/applications/rsl_test/src/rsl_test/source.cpp new file mode 100644 index 000000000..d2de3dd65 --- /dev/null +++ b/applications/rsl_test/src/rsl_test/source.cpp @@ -0,0 +1,281 @@ +#define RYTHE_VALIDATE + +#include +#include +#include + +#include + +#include +#include + +static size_t counter; + +static void func() +{ + counter++; +} + +static void func2(unsigned& i) +{ + static unsigned tmp = 0; + static volatile unsigned* ptr = &tmp; + *ptr = i; +} + +struct Object +{ + std::vector ints; + + void memberFunc() + { + for (size_t& i : ints) + { + i++; + counter += i; + } + } + + void constMemberFunc() const + { + + for (size_t i : ints) + { + counter += i; + } + } +}; + +static std::vector createVec(size_t idx) +{ + std::vector vec; + for (size_t i = idx + 20; i > idx; i--) + { + vec.push_back(i); + } + return vec; +} + +void delegate_test(size_t i) +{ + + rsl::delegate del2; + + { + del2 = &func2; + rsl::uint32 t = 0; + del2(t); + } + + rsl::multicast_delegate del; + + { + del = &func; + } + + del(); + + counter = 0; + + { + del = []() + { + counter++; + }; + } + + del(); + + counter = 0; + + { + std::vector ints = createVec(i); + del = [ints]() + { + for (size_t i : ints) + { + i++; + counter += i; + } + }; + } + + del(); + + counter = 0; + + { + Object obj{createVec(i)}; + { + del.assign(obj); + } + + del(); + } + + counter = 0; + + { + const Object obj{createVec(i)}; + { + del.assign(obj); + } + + del(); + } + + counter = 0; + + for (size_t j = 0; j < 10000; j++) + { + del(); + } +} + +void stl_test(size_t i) +{ + + std::function del2; + + { + del2 = &func2; + rsl::uint32 t = 0; + del2(t); + } + + std::function del; + + { + del = &func; + } + + del(); + + counter = 0; + + { + del = []() + { + counter++; + }; + } + + del(); + + counter = 0; + + { + std::vector ints = createVec(i); + del = [ints]() + { + for (size_t i : ints) + { + i++; + counter += i; + } + }; + } + + del(); + + counter = 0; + + { + Object obj{createVec(i)}; + { + auto mf = std::mem_fn(&Object::memberFunc); + del = std::bind(mf, &obj); + } + + del(); + } + + counter = 0; + + { + const Object obj{createVec(i)}; + { + auto mf = std::mem_fn(&Object::constMemberFunc); + del = std::bind(mf, const_cast(&obj)); + } + + del(); + } + + counter = 0; + + for (size_t j = 0; j < 10000; j++) + { + del(); + } +} + +int main() +{ + constexpr size_t ITERATIONS = 10000; + using clock = std::chrono::high_resolution_clock; + { + auto start = clock::now(); + + for (size_t i = 0; i < ITERATIONS; i++) + { + delegate_test(i); + } + + auto elapsed = (clock::now() - start); + std::cout << counter << std::endl; + std::cout << (std::chrono::duration_cast>(elapsed).count() / ITERATIONS) << "\t" << elapsed.count() << std::endl; + counter = 0; + } + + { + auto start = clock::now(); + + for (size_t i = 0; i < ITERATIONS; i++) + { + stl_test(i); + } + + auto elapsed = (clock::now() - start); + std::cout << counter << std::endl; + std::cout << (std::chrono::duration_cast>(elapsed).count() / ITERATIONS) << "\t" << elapsed.count() << std::endl; + counter = 0; + } + + rsl::stopwatch timer; + rsl::timer accurateTimer; + + rsl::time_point startTime = timer.start_point(); + + std::cout << "timer started at: " << startTime.hours() << ':' << startTime.minutes() << ' ' << startTime.seconds() << "s\n"; + + rsl::time_point currentTime = timer.current_point(); + rsl::time_span elapsedTime = currentTime - startTime; + rsl::time_span otherElapsed = timer.elapsed_time(); + rsl::time_span accurateElapsed = accurateTimer.elapsed_time(); + + std::cout << "timer after log: " << currentTime.hours() << ':' << currentTime.minutes() << ' ' << currentTime.seconds() << "s\n"; + + + std::cout << "elapsed time: " << elapsedTime.nanoseconds() << " nanoseconds, other elapsed: " << otherElapsed.nanoseconds() << " nanoseconds, accurate elapsed: " << accurateElapsed.nanoseconds() << " nanoseconds\n"; + + + rsl::buffered_string<16> str = "Hello there!"; + rsl::buffered_string<16> str2 = "This is more than 16 chars!"; + + constexpr auto typeName = rsl::type_name(str); + + std::cout << typeName << '\n'; + + std::cout << '\"' << str << "\"\n\"" << str2 << "\"\n"; + + str.resize(15); + + std::cout << '\"' << str << "\"\n\"" << str2 << "\"\n"; + + str.resize(6); + + std::cout << '\"' << str << "\"\n\"" << str2 << "\"\n"; + + return 0; +} diff --git a/applications/sandbox/.rythe_project b/applications/sandbox/.rythe_project new file mode 100644 index 000000000..fdbf6994c --- /dev/null +++ b/applications/sandbox/.rythe_project @@ -0,0 +1,9 @@ +local project = { + dependencies = { + "rythe/core", + "rythe/graphics", + "rythe/audio" + } +} + +return project \ No newline at end of file diff --git a/applications/sandbox/CMakeLists.txt b/applications/sandbox/CMakeLists.txt deleted file mode 100644 index b19c86c52..000000000 --- a/applications/sandbox/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -# Sandbox depends on applications and graphics in this case - -if (${RYTHE_MODULE_APPLICATION} AND ${RYTHE_MODULE_GRAPHICS}) - project(sandbox LANGUAGES ${RYTHE_LANGUAGE}) - - rythe_find_sources(sources "${PROJECT_SOURCE_DIR}") - add_executable(sandbox ${sources}) - set_target_properties(sandbox PROPERTIES FOLDER "2 - applications") - - target_include_directories(sandbox PUBLIC "${RYTHE_DIR_ENGINE}/core/third_party/rythe-standard-library/src") - target_link_libraries(sandbox PUBLIC rythe-standard-library) - - target_include_directories(sandbox PUBLIC "${RYTHE_DIR_ENGINE}/core/src") - target_link_libraries(sandbox PUBLIC core) - - rythe_configure_manual_application(sandbox) - - set(RYTHE_ENABLED_APPLICATION_NAMES ${RYTHE_ENABLED_APPLICATION_NAMES} PARENT_SCOPE) -endif() diff --git a/applications/sandbox/assets/textures/warlock/retopo_and_uv_warlock_5_Warlock_AO.tif b/applications/sandbox/assets/textures/warlock/retopo_and_uv_warlock_5_Warlock_AO.tif index 6b3c38dea..65574a853 100644 Binary files a/applications/sandbox/assets/textures/warlock/retopo_and_uv_warlock_5_Warlock_AO.tif and b/applications/sandbox/assets/textures/warlock/retopo_and_uv_warlock_5_Warlock_AO.tif differ diff --git a/applications/sandbox/engine/resources/rythe/Icon.png b/applications/sandbox/engine/resources/rythe/Icon.png new file mode 100644 index 000000000..ed8949f74 --- /dev/null +++ b/applications/sandbox/engine/resources/rythe/Icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9f58ab800e02c7d394173ea055bad791eac4691a0af9d1602e2fbedacc5e2e1 +size 80187 diff --git a/applications/sandbox/engine/resources/rythe/icon b/applications/sandbox/engine/resources/rythe/icon deleted file mode 100644 index 2eff229cf..000000000 Binary files a/applications/sandbox/engine/resources/rythe/icon and /dev/null differ diff --git a/applications/sandbox/engine/shaders/legiontonemap.shs b/applications/sandbox/engine/shaders/rythetonemap.shs similarity index 100% rename from applications/sandbox/engine/shaders/legiontonemap.shs rename to applications/sandbox/engine/shaders/rythetonemap.shs diff --git a/applications/sandbox/engine/tools/lgnspre/VCRUNTIME140.dll b/applications/sandbox/engine/tools/lgnspre/VCRUNTIME140.dll index c8af8da40..171b77020 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/VCRUNTIME140.dll and b/applications/sandbox/engine/tools/lgnspre/VCRUNTIME140.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/_asyncio.pyd b/applications/sandbox/engine/tools/lgnspre/_asyncio.pyd index abb9d2273..328cd9fed 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_asyncio.pyd and b/applications/sandbox/engine/tools/lgnspre/_asyncio.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_bz2.pyd b/applications/sandbox/engine/tools/lgnspre/_bz2.pyd index 40b9cab80..274fcf2a6 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_bz2.pyd and b/applications/sandbox/engine/tools/lgnspre/_bz2.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_ctypes.pyd b/applications/sandbox/engine/tools/lgnspre/_ctypes.pyd index 84355f029..81cda9000 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_ctypes.pyd and b/applications/sandbox/engine/tools/lgnspre/_ctypes.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_decimal.pyd b/applications/sandbox/engine/tools/lgnspre/_decimal.pyd index 3d382be0c..924b26413 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_decimal.pyd and b/applications/sandbox/engine/tools/lgnspre/_decimal.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_elementtree.pyd b/applications/sandbox/engine/tools/lgnspre/_elementtree.pyd index c62602bb0..a7c29cd4c 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_elementtree.pyd and b/applications/sandbox/engine/tools/lgnspre/_elementtree.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_hashlib.pyd b/applications/sandbox/engine/tools/lgnspre/_hashlib.pyd index d2ddb643e..1835fea09 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_hashlib.pyd and b/applications/sandbox/engine/tools/lgnspre/_hashlib.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_lzma.pyd b/applications/sandbox/engine/tools/lgnspre/_lzma.pyd index c1870b1b4..df8b559f6 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_lzma.pyd and b/applications/sandbox/engine/tools/lgnspre/_lzma.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_multiprocessing.pyd b/applications/sandbox/engine/tools/lgnspre/_multiprocessing.pyd index fdb3449db..65c7c507b 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_multiprocessing.pyd and b/applications/sandbox/engine/tools/lgnspre/_multiprocessing.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_overlapped.pyd b/applications/sandbox/engine/tools/lgnspre/_overlapped.pyd index 364b1f2b8..4c472701a 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_overlapped.pyd and b/applications/sandbox/engine/tools/lgnspre/_overlapped.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_queue.pyd b/applications/sandbox/engine/tools/lgnspre/_queue.pyd index 964bed761..e5cd65a24 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_queue.pyd and b/applications/sandbox/engine/tools/lgnspre/_queue.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_socket.pyd b/applications/sandbox/engine/tools/lgnspre/_socket.pyd index bcf96c145..2d55bd3d3 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_socket.pyd and b/applications/sandbox/engine/tools/lgnspre/_socket.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_ssl.pyd b/applications/sandbox/engine/tools/lgnspre/_ssl.pyd index 10d48f755..86745dc3d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_ssl.pyd and b/applications/sandbox/engine/tools/lgnspre/_ssl.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_testcapi.pyd b/applications/sandbox/engine/tools/lgnspre/_testcapi.pyd index a71c142c3..0dcf89b19 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_testcapi.pyd and b/applications/sandbox/engine/tools/lgnspre/_testcapi.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/_tkinter.pyd b/applications/sandbox/engine/tools/lgnspre/_tkinter.pyd index 1498d064b..785bbebf6 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/_tkinter.pyd and b/applications/sandbox/engine/tools/lgnspre/_tkinter.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-console-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-console-l1-1-0.dll index a7b61616b..98db7beb1 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-console-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-console-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-datetime-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-datetime-l1-1-0.dll index f297988c1..f05f999c4 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-datetime-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-datetime-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-debug-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-debug-l1-1-0.dll index e233aa1b0..3e06ddc3a 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-debug-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-debug-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-errorhandling-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-errorhandling-l1-1-0.dll index 0ae7612d4..e9912ead9 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-errorhandling-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-errorhandling-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-1-0.dll index 054396466..70d34f22a 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-2-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-2-0.dll index f4446ae4c..ac1bc6991 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-2-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l1-2-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l2-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l2-1-0.dll index 63d0395e4..84678c868 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l2-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-file-l2-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-handle-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-handle-l1-1-0.dll index fbc3e1bea..6628fbe15 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-handle-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-handle-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-heap-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-heap-l1-1-0.dll index 62c5055c1..e7d48fe19 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-heap-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-heap-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-interlocked-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-interlocked-l1-1-0.dll index b1a21364e..8fecf9563 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-interlocked-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-interlocked-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-libraryloader-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-libraryloader-l1-1-0.dll index 107e64dde..70614e766 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-libraryloader-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-libraryloader-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-localization-l1-2-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-localization-l1-2-0.dll index 9ac7a5ccc..e9dd8abd4 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-localization-l1-2-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-localization-l1-2-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-memory-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-memory-l1-1-0.dll index ed221dd91..eaea3e7b3 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-memory-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-memory-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-namedpipe-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-namedpipe-l1-1-0.dll index 2dbba88d6..f37cb5b30 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-namedpipe-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-namedpipe-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processenvironment-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processenvironment-l1-1-0.dll index ff74f3392..c80b1c9dd 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processenvironment-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processenvironment-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-0.dll index 726647cd2..8797b138f 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-1.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-1.dll index 6cf2e9fe6..bc682f4eb 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-1.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-processthreads-l1-1-1.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-profile-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-profile-l1-1-0.dll index 21224edf7..190145883 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-profile-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-profile-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-rtlsupport-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-rtlsupport-l1-1-0.dll index 1134e5f29..74662b695 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-rtlsupport-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-rtlsupport-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-string-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-string-l1-1-0.dll index 6056c5a8c..3713ac45d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-string-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-string-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-1-0.dll index 486145b01..520c75516 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-2-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-2-0.dll index f8c18ec98..c88aa2895 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-2-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-synch-l1-2-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-sysinfo-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-sysinfo-l1-1-0.dll index 885d5dfe3..6b2cad498 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-sysinfo-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-sysinfo-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-timezone-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-timezone-l1-1-0.dll index c2926ab71..501b7b40c 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-timezone-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-timezone-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-util-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-util-l1-1-0.dll index 29a64af73..f5982f668 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-util-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-core-util-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-conio-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-conio-l1-1-0.dll index 7551f625a..a022afe66 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-conio-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-conio-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-convert-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-convert-l1-1-0.dll index 457529183..51515840d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-convert-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-convert-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-environment-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-environment-l1-1-0.dll index d665a2171..bae722cb8 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-environment-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-environment-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-filesystem-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-filesystem-l1-1-0.dll index 3eb3a5ecd..68b4de49d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-filesystem-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-filesystem-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-heap-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-heap-l1-1-0.dll index fa4f50c1b..a1976943e 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-heap-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-heap-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-locale-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-locale-l1-1-0.dll index d88deb8e5..01a799ae3 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-locale-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-locale-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-math-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-math-l1-1-0.dll index d2612b40a..9b4bafb96 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-math-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-math-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-process-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-process-l1-1-0.dll index 3245ea48b..952779ad4 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-process-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-process-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-runtime-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-runtime-l1-1-0.dll index 3c3c749fc..c1b95c7aa 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-runtime-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-runtime-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-stdio-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-stdio-l1-1-0.dll index b9234b3df..d6118d938 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-stdio-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-stdio-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-string-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-string-l1-1-0.dll index 52ab439de..e4be65143 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-string-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-string-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-time-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-time-l1-1-0.dll index ae59db1cc..40df4a905 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-time-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-time-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-utility-l1-1-0.dll b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-utility-l1-1-0.dll index 133565eb4..eeaed3e80 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-utility-l1-1-0.dll and b/applications/sandbox/engine/tools/lgnspre/api-ms-win-crt-utility-l1-1-0.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/base_library.zip b/applications/sandbox/engine/tools/lgnspre/base_library.zip index 1802e9f9e..962047aff 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/base_library.zip and b/applications/sandbox/engine/tools/lgnspre/base_library.zip differ diff --git a/applications/sandbox/engine/tools/lgnspre/lgncleancache.exe b/applications/sandbox/engine/tools/lgnspre/lgncleancache.exe new file mode 100644 index 000000000..6b6a2bb99 Binary files /dev/null and b/applications/sandbox/engine/tools/lgnspre/lgncleancache.exe differ diff --git a/applications/sandbox/engine/tools/lgnspre/lgnspre.exe b/applications/sandbox/engine/tools/lgnspre/lgnspre.exe new file mode 100644 index 000000000..b024fcb0a Binary files /dev/null and b/applications/sandbox/engine/tools/lgnspre/lgnspre.exe differ diff --git a/applications/sandbox/engine/tools/lgnspre/libcrypto-1_1-x64.dll b/applications/sandbox/engine/tools/lgnspre/libcrypto-1_1-x64.dll index aaf01623f..66c1fde2d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/libcrypto-1_1-x64.dll and b/applications/sandbox/engine/tools/lgnspre/libcrypto-1_1-x64.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/libffi-7.dll b/applications/sandbox/engine/tools/lgnspre/libffi-7.dll index eeda33bec..60cc8c02d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/libffi-7.dll and b/applications/sandbox/engine/tools/lgnspre/libffi-7.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/libssl-1_1-x64.dll b/applications/sandbox/engine/tools/lgnspre/libssl-1_1-x64.dll index 76e02b830..4492553d6 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/libssl-1_1-x64.dll and b/applications/sandbox/engine/tools/lgnspre/libssl-1_1-x64.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/pyexpat.pyd b/applications/sandbox/engine/tools/lgnspre/pyexpat.pyd index e9474110b..d972c5189 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/pyexpat.pyd and b/applications/sandbox/engine/tools/lgnspre/pyexpat.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/python38.dll b/applications/sandbox/engine/tools/lgnspre/python38.dll index e0bb366e6..266b83e06 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/python38.dll and b/applications/sandbox/engine/tools/lgnspre/python38.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/pywintypes38.dll b/applications/sandbox/engine/tools/lgnspre/pywintypes38.dll index 74a19d66c..1c8f03f5d 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/pywintypes38.dll and b/applications/sandbox/engine/tools/lgnspre/pywintypes38.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/select.pyd b/applications/sandbox/engine/tools/lgnspre/select.pyd index fab571072..7d52c2289 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/select.pyd and b/applications/sandbox/engine/tools/lgnspre/select.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/tcl86t.dll b/applications/sandbox/engine/tools/lgnspre/tcl86t.dll index b622b6184..29e8386b4 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/tcl86t.dll and b/applications/sandbox/engine/tools/lgnspre/tcl86t.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/tk86t.dll b/applications/sandbox/engine/tools/lgnspre/tk86t.dll index ce714c4dc..ecd050afd 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/tk86t.dll and b/applications/sandbox/engine/tools/lgnspre/tk86t.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/ucrtbase.dll b/applications/sandbox/engine/tools/lgnspre/ucrtbase.dll index b32c41c3d..e945fcfd8 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/ucrtbase.dll and b/applications/sandbox/engine/tools/lgnspre/ucrtbase.dll differ diff --git a/applications/sandbox/engine/tools/lgnspre/unicodedata.pyd b/applications/sandbox/engine/tools/lgnspre/unicodedata.pyd index 3c09c5231..19d1059f1 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/unicodedata.pyd and b/applications/sandbox/engine/tools/lgnspre/unicodedata.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/win32api.pyd b/applications/sandbox/engine/tools/lgnspre/win32api.pyd index 70ac70a2e..c9b83b7a5 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/win32api.pyd and b/applications/sandbox/engine/tools/lgnspre/win32api.pyd differ diff --git a/applications/sandbox/engine/tools/lgnspre/win32evtlog.pyd b/applications/sandbox/engine/tools/lgnspre/win32evtlog.pyd index 479df6eee..c3e33f6cd 100644 Binary files a/applications/sandbox/engine/tools/lgnspre/win32evtlog.pyd and b/applications/sandbox/engine/tools/lgnspre/win32evtlog.pyd differ diff --git a/applications/sandbox/module/examplemodule.hpp b/applications/sandbox/module/examplemodule.hpp deleted file mode 100644 index 4da7df983..000000000 --- a/applications/sandbox/module/examplemodule.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once -#include - -#include "../systems/mysystem.hpp" -#include "../systems/examplesystem.hpp" -#include "../systems/simplecameracontroller.hpp" -#include "../systems/gui_test.hpp" - -class ExampleModule : public legion::Module -{ -public: - virtual void setup() override - { - using namespace legion; - app::WindowSystem::requestWindow( - ecs::world_entity_id, - math::ivec2(1920, 1080), - "LEGION Engine", - "Legion Icon", - nullptr, - nullptr, - 0 - ); - - //reportSystem(); - reportSystem(); - reportSystem(); - reportSystem(); - } -}; diff --git a/applications/sandbox/source.cpp b/applications/sandbox/source.cpp deleted file mode 100644 index 80b30bb78..000000000 --- a/applications/sandbox/source.cpp +++ /dev/null @@ -1,110 +0,0 @@ -//#define LEGION_ENTRY -//#define LEGION_LOG_DEBUG -// -//#if defined(NDEBUG) -// #define LEGION_KEEP_CONSOLE -//#endif -// -//#include -//#include -//#include -//#include "module/examplemodule.hpp" -// -//#ifdef RYTHE_AUDIO -//#include