aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt111
-rw-r--r--README.md13
-rw-r--r--buildtools/codegen/README.md5
-rw-r--r--cmake/Exceptions.cmake (renamed from buildtools/cmake/Exceptions.cmake)0
-rw-r--r--cmake/RTTI.cmake (renamed from buildtools/cmake/RTTI.cmake)0
-rw-r--r--cmake/Win32Subsystem.cmake (renamed from buildtools/cmake/Win32Subsystem.cmake)0
-rw-r--r--source/10-common/Color.hpp (renamed from source/Color.hpp)0
-rw-r--r--source/10-common/Enum.hpp (renamed from source-common/Enum.hpp)0
-rw-r--r--source/10-common/LookupTable.hpp (renamed from source-common/LookupTable.hpp)0
-rw-r--r--source/10-common/Macros.hpp (renamed from source-common/Macros.hpp)0
-rw-r--r--source/10-common/PodVector.hpp (renamed from source-common/PodVector.hpp)0
-rw-r--r--source/10-common/RapidJsonHelper.hpp (renamed from source-common/RapidJsonHelper.hpp)0
-rw-r--r--source/10-common/RcPtr.hpp (renamed from source-common/RcPtr.hpp)0
-rw-r--r--source/10-common/Rect.hpp (renamed from source-common/Rect.hpp)0
-rw-r--r--source/10-common/ScopeGuard.hpp (renamed from source-common/ScopeGuard.hpp)0
-rw-r--r--source/10-common/SmallVector.cpp (renamed from source-common/SmallVector.cpp)0
-rw-r--r--source/10-common/SmallVector.hpp (renamed from source-common/SmallVector.hpp)0
-rw-r--r--source/10-common/StbImplementations.c (renamed from source-common/StbImplementations.c)0
-rw-r--r--source/10-common/TypeTraits.hpp (renamed from source-common/TypeTraits.hpp)0
-rw-r--r--source/10-common/Uid.cpp (renamed from source-common/Uid.cpp)0
-rw-r--r--source/10-common/Uid.hpp (renamed from source-common/Uid.hpp)0
-rw-r--r--source/10-common/Utils.cpp (renamed from source-common/Utils.cpp)0
-rw-r--r--source/10-common/Utils.hpp (renamed from source-common/Utils.hpp)0
-rw-r--r--source/10-common/YCombinator.hpp (renamed from source-common/YCombinator.hpp)0
-rw-r--r--source/20-codegen-compiler/CodegenConfig.hpp (renamed from buildtools/codegen/CodegenConfig.hpp)0
-rw-r--r--source/20-codegen-compiler/CodegenDecl.cpp (renamed from buildtools/codegen/CodegenDecl.cpp)0
-rw-r--r--source/20-codegen-compiler/CodegenDecl.hpp (renamed from buildtools/codegen/CodegenDecl.hpp)0
-rw-r--r--source/20-codegen-compiler/CodegenInput.inl (renamed from buildtools/codegen/CodegenInput.inl)0
-rw-r--r--source/20-codegen-compiler/CodegenMacros.hpp (renamed from buildtools/codegen/CodegenMacros.hpp)0
-rw-r--r--source/20-codegen-compiler/CodegenOutput.inl (renamed from buildtools/codegen/CodegenOutput.inl)0
-rw-r--r--source/20-codegen-compiler/CodegenUtils.inl (renamed from buildtools/codegen/CodegenUtils.inl)0
-rw-r--r--source/20-codegen-compiler/main.cpp (renamed from buildtools/codegen/main.cpp)0
-rw-r--r--source/20-codegen-compiler/test/examples/TestEnum.hpp.txt (renamed from buildtools/codegen/tests/examples/TestEnum.hpp.txt)0
-rw-r--r--source/20-codegen-runtime/MacrosCodegen.hpp (renamed from buildtools/codegen-companion/MacrosCodegen.hpp)0
-rw-r--r--source/20-codegen-runtime/Metadata.cpp (renamed from buildtools/codegen-companion/Metadata.cpp)0
-rw-r--r--source/20-codegen-runtime/Metadata.hpp (renamed from buildtools/codegen-companion/Metadata.hpp)0
-rw-r--r--source/20-codegen-runtime/MetadataBase.cpp (renamed from buildtools/codegen-companion/MetadataBase.cpp)0
-rw-r--r--source/20-codegen-runtime/MetadataBase.hpp (renamed from buildtools/codegen-companion/MetadataBase.hpp)0
-rw-r--r--source/30-game/App.cpp (renamed from source/App.cpp)0
-rw-r--r--source/30-game/App.hpp (renamed from source/App.hpp)0
-rw-r--r--source/30-game/AppConfig.hpp (renamed from source/AppConfig.hpp)0
-rw-r--r--source/30-game/Camera.cpp (renamed from source/Camera.cpp)0
-rw-r--r--source/30-game/Camera.hpp (renamed from source/Camera.hpp)0
-rw-r--r--source/30-game/CommonVertexIndex.cpp (renamed from source/CommonVertexIndex.cpp)0
-rw-r--r--source/30-game/CommonVertexIndex.hpp (renamed from source/CommonVertexIndex.hpp)0
-rw-r--r--source/30-game/EditorAccessories.cpp (renamed from source/EditorAccessories.cpp)0
-rw-r--r--source/30-game/EditorAccessories.hpp (renamed from source/EditorAccessories.hpp)0
-rw-r--r--source/30-game/EditorAttachment.hpp (renamed from source/EditorAttachment.hpp)0
-rw-r--r--source/30-game/EditorAttachmentImpl.cpp (renamed from source/EditorAttachmentImpl.cpp)0
-rw-r--r--source/30-game/EditorAttachmentImpl.hpp (renamed from source/EditorAttachmentImpl.hpp)0
-rw-r--r--source/30-game/EditorCommandPalette.cpp (renamed from source/EditorCommandPalette.cpp)0
-rw-r--r--source/30-game/EditorCommandPalette.hpp (renamed from source/EditorCommandPalette.hpp)0
-rw-r--r--source/30-game/EditorCore.hpp (renamed from source/EditorCore.hpp)0
-rw-r--r--source/30-game/EditorCorePrivate.cpp (renamed from source/EditorCorePrivate.cpp)0
-rw-r--r--source/30-game/EditorCorePrivate.hpp (renamed from source/EditorCorePrivate.hpp)0
-rw-r--r--source/30-game/EditorGuizmo.cpp (renamed from source/EditorGuizmo.cpp)0
-rw-r--r--source/30-game/EditorGuizmo.hpp (renamed from source/EditorGuizmo.hpp)0
-rw-r--r--source/30-game/EditorNotification.cpp (renamed from source/EditorNotification.cpp)0
-rw-r--r--source/30-game/EditorNotification.hpp (renamed from source/EditorNotification.hpp)0
-rw-r--r--source/30-game/EditorUtils.cpp (renamed from source/EditorUtils.cpp)0
-rw-r--r--source/30-game/EditorUtils.hpp (renamed from source/EditorUtils.hpp)0
-rw-r--r--source/30-game/FuzzyMatch.cpp (renamed from source/FuzzyMatch.cpp)0
-rw-r--r--source/30-game/FuzzyMatch.hpp (renamed from source/FuzzyMatch.hpp)0
-rw-r--r--source/30-game/GameObject.cpp (renamed from source/GameObject.cpp)0
-rw-r--r--source/30-game/GameObject.hpp (renamed from source/GameObject.hpp)0
-rw-r--r--source/30-game/GraphicsTags.cpp (renamed from source/GraphicsTags.cpp)0
-rw-r--r--source/30-game/GraphicsTags.hpp (renamed from source/GraphicsTags.hpp)0
-rw-r--r--source/30-game/Image.cpp (renamed from source/Image.cpp)0
-rw-r--r--source/30-game/Image.hpp (renamed from source/Image.hpp)0
-rw-r--r--source/30-game/Ires.cpp (renamed from source/Ires.cpp)0
-rw-r--r--source/30-game/Ires.hpp (renamed from source/Ires.hpp)0
-rw-r--r--source/30-game/Level.cpp (renamed from source/Level.cpp)0
-rw-r--r--source/30-game/Level.hpp (renamed from source/Level.hpp)0
-rw-r--r--source/30-game/Material.cpp (renamed from source/Material.cpp)0
-rw-r--r--source/30-game/Material.hpp (renamed from source/Material.hpp)0
-rw-r--r--source/30-game/Mesh.cpp (renamed from source/Mesh.cpp)0
-rw-r--r--source/30-game/Mesh.hpp (renamed from source/Mesh.hpp)0
-rw-r--r--source/30-game/Player.cpp (renamed from source/Player.cpp)0
-rw-r--r--source/30-game/Player.hpp (renamed from source/Player.hpp)0
-rw-r--r--source/30-game/Renderer.cpp (renamed from source/Renderer.cpp)0
-rw-r--r--source/30-game/Renderer.hpp (renamed from source/Renderer.hpp)0
-rw-r--r--source/30-game/SceneThings.cpp (renamed from source/SceneThings.cpp)0
-rw-r--r--source/30-game/SceneThings.hpp (renamed from source/SceneThings.hpp)0
-rw-r--r--source/30-game/Shader.cpp (renamed from source/Shader.cpp)0
-rw-r--r--source/30-game/Shader.hpp (renamed from source/Shader.hpp)0
-rw-r--r--source/30-game/Sprite.cpp (renamed from source/Sprite.cpp)0
-rw-r--r--source/30-game/Sprite.hpp (renamed from source/Sprite.hpp)0
-rw-r--r--source/30-game/Texture.cpp (renamed from source/Texture.cpp)0
-rw-r--r--source/30-game/Texture.hpp (renamed from source/Texture.hpp)0
-rw-r--r--source/30-game/VertexIndex.cpp (renamed from source/VertexIndex.cpp)0
-rw-r--r--source/30-game/VertexIndex.hpp (renamed from source/VertexIndex.hpp)0
-rw-r--r--source/30-game/World.cpp (renamed from source/World.cpp)0
-rw-r--r--source/30-game/World.hpp (renamed from source/World.hpp)0
-rw-r--r--source/30-game/main.cpp (renamed from source/main.cpp)0
94 files changed, 64 insertions, 65 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a418491..e9a1932 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,9 +4,9 @@ project(ProjectBrussel LANGUAGES C CXX)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
-include(buildtools/cmake/Exceptions.cmake)
-include(buildtools/cmake/RTTI.cmake)
-include(buildtools/cmake/Win32Subsystem.cmake)
+include(cmake/Exceptions.cmake)
+include(cmake/RTTI.cmake)
+include(cmake/Win32Subsystem.cmake)
find_package(OpenGL REQUIRED)
add_subdirectory(3rdparty/glfw)
@@ -16,12 +16,15 @@ add_subdirectory(3rdparty/imguicolortextedit)
add_subdirectory(3rdparty/tracy)
# ==============================================================================
-# Standalone library things
+# Layer 10 (standalone, throw-into-the-buildsystem style)
-file(GLOB_RECURSE things_common_SOURCES source-common/*.c source-common/*.cpp)
-add_library(things_common OBJECT ${things_common_SOURCES})
+file(GLOB_RECURSE 10-common_SOURCES
+ source/10-common/*.c
+ source/10-common/*.cpp
+)
+add_library(10-common OBJECT ${10-common_SOURCES})
-set_target_properties(things_common PROPERTIES
+set_target_properties(10-common PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
@@ -30,63 +33,68 @@ set_target_properties(things_common PROPERTIES
UNITY_BUILD OFF
)
-target_include_directories(things_common PUBLIC source-common)
-target_link_libraries(things_common PUBLIC
+target_include_directories(10-common PUBLIC source/10-common)
+target_link_libraries(10-common PUBLIC
# External dependencies
${CONAN_LIBS}
glm::glm
)
# ==============================================================================
-# Codegen
+# Layer 20 (building tools)
-# NOTE: delibrately not recursive, see README.md in the folder for details
-file(GLOB codegen_SOURCES buildtools/codegen/*.c buildtools/codegen/*.cpp)
-add_executable(codegen ${codegen_SOURCES})
+file(GLOB_RECURSE 20-codegen-runtime_SOURCES
+ source/20-codegen-runtime/*.c
+ source/20-codegen-runtime/*.cpp
+)
+add_library(20-codegen-runtime OBJECT ${20-codegen-runtime_SOURCES})
-set_target_properties(codegen PROPERTIES
+set_target_properties(20-codegen-runtime PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
- UNITY_BUILD OFF
)
-target_link_libraries(codegen PRIVATE
+target_include_directories(20-codegen-runtime PUBLIC source/20-codegen-runtime)
+target_link_libraries(20-codegen-runtime PUBLIC
# External dependencies
${CONAN_LIBS}
# Project internal components
- things_common
+ 10-common
)
-target_flag_exceptions(codegen ON)
-target_flag_rtti(codegen OFF)
-
-option(BRUSSEL_CODEGEN_DEBUG_PRINT "Enable debug printing in the code generator or not." OFF)
-if(BRUSSEL_CODEGEN_DEBUG_PRINT)
- target_compile_definitions(codegen PRIVATE CODEGEN_DEBUG_PRINT=1)
-endif()
-
-file(GLOB_RECURSE things_codegen_companion_SOURCES buildtools/codegen-companion/*.c buildtools/codegen-companion/*.cpp)
-add_library(things_codegen_companion OBJECT ${things_codegen_companion_SOURCES})
+# NOTE: delibrately not recursive, because this target can contain non-source files with .cpp extensions in the folder
+file(GLOB 20-codegen-compiler_SOURCES
+ source/20-codegen-compiler/*.c
+ source/20-codegen-compiler/*.cpp
+)
+add_executable(20-codegen-compiler ${20-codegen-compiler_SOURCES})
-set_target_properties(things_codegen_companion PROPERTIES
+set_target_properties(20-codegen-compiler PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
-target_include_directories(things_codegen_companion PUBLIC buildtools/codegen-companion)
-target_link_libraries(things_codegen_companion PUBLIC
+target_link_libraries(20-codegen-compiler PRIVATE
# External dependencies
${CONAN_LIBS}
# Project internal components
- things_common
+ 10-common
)
+target_flag_exceptions(20-codegen-compiler ON)
+target_flag_rtti(20-codegen-compiler OFF)
+
+option(BRUSSEL_CODEGEN_DEBUG_PRINT "Enable debug printing in the code generator or not." OFF)
+if(BRUSSEL_CODEGEN_DEBUG_PRINT)
+ target_compile_definitions(codegen PRIVATE CODEGEN_DEBUG_PRINT=1)
+endif()
+
# ==============================================================================
-# Target creation code
+# Layer 30 (final products)
function(add_projectized_executable)
# Add a library target
@@ -121,10 +129,10 @@ function(add_projectized_executable)
)
target_link_libraries(${arg_TARGET_NAME} PRIVATE
- things_common
+ 10-common
)
- set_target_properties(brussel PROPERTIES
+ set_target_properties(${arg_TARGET_NAME} PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
@@ -133,7 +141,7 @@ function(add_projectized_executable)
if(arg_ENABLE_CODEGEN)
set(var_OUTPUT_DIR ${CMAKE_BINARY_DIR}/generated/${arg_TARGET_NAME})
target_include_directories(${arg_TARGET_NAME} PRIVATE ${var_OUTPUT_DIR})
- target_link_libraries(${arg_TARGET_NAME} PRIVATE things_codegen_companion)
+ target_link_libraries(${arg_TARGET_NAME} PRIVATE 20-codegen-runtime)
foreach(var_HEADER IN LISTS var_HEADERS)
get_filename_component(var_HEADER_ABS "${var_HEADER}" ABSOLUTE)
@@ -154,7 +162,7 @@ function(add_projectized_executable)
# Generate the files
add_custom_command(
OUTPUT ${var_OUTPUT_HEADERS} ${var_OUTPUT_SOURCES}
- COMMAND codegen ${var_OUTPUT_DIR}/generated single:${var_HEADER}
+ COMMAND 20-codegen-compiler ${var_OUTPUT_DIR}/generated single:${var_HEADER}
DEPENDS ${var_HEADER}
)
@@ -164,33 +172,30 @@ function(add_projectized_executable)
endif()
endfunction()
-# ==============================================================================
-# The main game
-
add_projectized_executable(
- TARGET_NAME brussel
- TARGET_SOURCE_DIR source/
+ TARGET_NAME 30-game
+ TARGET_SOURCE_DIR source/30-game/
ENABLE_CODEGEN ON
)
set_source_files_properties(
source/main.cpp
-TARGET_DIRECTORY brussel
+TARGET_DIRECTORY 30-game
PROPERTIES
SKIP_UNITY_BUILD_INCLUSION ON
)
-set_target_properties(brussel PROPERTIES
+set_target_properties(30-game PROPERTIES
UNITY_BUILD_MODE BATCH
UNITY_BUILD_UNIQUE_ID "ProjectBrussel_UNITY_ID"
)
-target_compile_definitions(brussel PRIVATE
+target_compile_definitions(30-game PRIVATE
RAPIDJSON_HAS_STDSTRING=1
IMGUI_DISABLE_OBSOLETE_FUNCTIONS
)
-target_link_libraries(brussel PRIVATE
+target_link_libraries(30-game PRIVATE
# External dependencies
${CONAN_LIBS}
OpenGL::GL
@@ -203,13 +208,13 @@ target_link_libraries(brussel PRIVATE
# Project internal components
)
-target_flag_exceptions(brussel ON)
-target_flag_rtti(brussel ON)
-target_use_windows_subsystem(brussel)
+target_flag_exceptions(30-game ON)
+target_flag_rtti(30-game ON)
+target_use_windows_subsystem(30-game)
option(BRUSSEL_ENABLE_PROFILING "Whether profiling support is enabled or not." OFF)
if(BRUSSEL_ENABLE_PROFILING)
- target_compile_definitions(brussel
+ target_compile_definitions(30-game
PRIVATE
TRACY_ENABLE
)
@@ -217,7 +222,7 @@ endif()
option(BRUSSEL_ENABLE_DEV_ENC "Enable dev environment features or not." ON)
if(BRUSSEL_ENABLE_DEV_ENC)
- target_compile_definitions(brussel
+ target_compile_definitions(30-game
PRIVATE
BRUSSEL_DEV_ENV=1
)
@@ -225,7 +230,7 @@ endif()
option(BRUSSEL_ENABLE_EDITOR "Enable editor support or not." ON)
if(BRUSSEL_ENABLE_EDITOR)
- target_compile_definitions(brussel
+ target_compile_definitions(30-game
PRIVATE
BRUSSEL_ENABLE_EDITOR=1
)
@@ -233,12 +238,12 @@ endif()
option(BRUSSEL_ENABLE_ASAN "Enable AddressSanitizer or not." OFF)
if(BRUSSEL_ENABLE_ASAN)
- target_compile_options(brussel
+ target_compile_options(30-game
PRIVATE
-fsanitize=address
-fno-omit-frame-pointer
)
- target_link_options(brussel
+ target_link_options(30-game
PRIVATE
-fsanitize=address
-fno-omit-frame-pointer
diff --git a/README.md b/README.md
index 5caf9f7..c779a04 100644
--- a/README.md
+++ b/README.md
@@ -7,10 +7,9 @@
+ Everything else in `3rdparty/`
## Project Structure
-- `buildtools`
- - `cmake`: CMake scripts consumed by the root `CMakeLists.txt`.
- - `codegen`: Code generator similar to Qt MOC.
- Currently runs on: `source`.
-- `source-common`: Code that's compiled as a part of all targets. Check each target's build script for details.
-- `source-codegen-base`: Code that's consumed along with output of `buildtools/codegen`.
-- `source`: The main game.
+- `cmake`: CMake scripts consumed by the root `CMakeLists.txt`.
+- `10-common`: Code that's compiled as a part of all targets. Check each target's build script for details.
+- `20-codegen-compiler`: Code generator similar to Qt MOC.
+- `20-codegen-runtime`: Code that's consumed along with output of `buildtools/codegen`.
+- `30-game`: The main game.
+- `assets`: The assets for the main game.
diff --git a/buildtools/codegen/README.md b/buildtools/codegen/README.md
deleted file mode 100644
index 7164132..0000000
--- a/buildtools/codegen/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Code Generator
-The main code generator.
-
-## Folder structure
-The main program's source files are all located in this folder directly. Text tempaltes are located in `templates/` and none of the files are compiled (even if they end with .c or .cpp).
diff --git a/buildtools/cmake/Exceptions.cmake b/cmake/Exceptions.cmake
index 89e7e69..89e7e69 100644
--- a/buildtools/cmake/Exceptions.cmake
+++ b/cmake/Exceptions.cmake
diff --git a/buildtools/cmake/RTTI.cmake b/cmake/RTTI.cmake
index b948497..b948497 100644
--- a/buildtools/cmake/RTTI.cmake
+++ b/cmake/RTTI.cmake
diff --git a/buildtools/cmake/Win32Subsystem.cmake b/cmake/Win32Subsystem.cmake
index 8546fd9..8546fd9 100644
--- a/buildtools/cmake/Win32Subsystem.cmake
+++ b/cmake/Win32Subsystem.cmake
diff --git a/source/Color.hpp b/source/10-common/Color.hpp
index ef0c5a9..ef0c5a9 100644
--- a/source/Color.hpp
+++ b/source/10-common/Color.hpp
diff --git a/source-common/Enum.hpp b/source/10-common/Enum.hpp
index 8ad75ba..8ad75ba 100644
--- a/source-common/Enum.hpp
+++ b/source/10-common/Enum.hpp
diff --git a/source-common/LookupTable.hpp b/source/10-common/LookupTable.hpp
index c50e28e..c50e28e 100644
--- a/source-common/LookupTable.hpp
+++ b/source/10-common/LookupTable.hpp
diff --git a/source-common/Macros.hpp b/source/10-common/Macros.hpp
index a255ada..a255ada 100644
--- a/source-common/Macros.hpp
+++ b/source/10-common/Macros.hpp
diff --git a/source-common/PodVector.hpp b/source/10-common/PodVector.hpp
index 74e99d6..74e99d6 100644
--- a/source-common/PodVector.hpp
+++ b/source/10-common/PodVector.hpp
diff --git a/source-common/RapidJsonHelper.hpp b/source/10-common/RapidJsonHelper.hpp
index 75cd93a..75cd93a 100644
--- a/source-common/RapidJsonHelper.hpp
+++ b/source/10-common/RapidJsonHelper.hpp
diff --git a/source-common/RcPtr.hpp b/source/10-common/RcPtr.hpp
index 130b2b2..130b2b2 100644
--- a/source-common/RcPtr.hpp
+++ b/source/10-common/RcPtr.hpp
diff --git a/source-common/Rect.hpp b/source/10-common/Rect.hpp
index 89d9b01..89d9b01 100644
--- a/source-common/Rect.hpp
+++ b/source/10-common/Rect.hpp
diff --git a/source-common/ScopeGuard.hpp b/source/10-common/ScopeGuard.hpp
index 28f3385..28f3385 100644
--- a/source-common/ScopeGuard.hpp
+++ b/source/10-common/ScopeGuard.hpp
diff --git a/source-common/SmallVector.cpp b/source/10-common/SmallVector.cpp
index c38e8a7..c38e8a7 100644
--- a/source-common/SmallVector.cpp
+++ b/source/10-common/SmallVector.cpp
diff --git a/source-common/SmallVector.hpp b/source/10-common/SmallVector.hpp
index e33a25d..e33a25d 100644
--- a/source-common/SmallVector.hpp
+++ b/source/10-common/SmallVector.hpp
diff --git a/source-common/StbImplementations.c b/source/10-common/StbImplementations.c
index 73bbc2a..73bbc2a 100644
--- a/source-common/StbImplementations.c
+++ b/source/10-common/StbImplementations.c
diff --git a/source-common/TypeTraits.hpp b/source/10-common/TypeTraits.hpp
index cca9a1f..cca9a1f 100644
--- a/source-common/TypeTraits.hpp
+++ b/source/10-common/TypeTraits.hpp
diff --git a/source-common/Uid.cpp b/source/10-common/Uid.cpp
index 1930cd8..1930cd8 100644
--- a/source-common/Uid.cpp
+++ b/source/10-common/Uid.cpp
diff --git a/source-common/Uid.hpp b/source/10-common/Uid.hpp
index f58129c..f58129c 100644
--- a/source-common/Uid.hpp
+++ b/source/10-common/Uid.hpp
diff --git a/source-common/Utils.cpp b/source/10-common/Utils.cpp
index 53b3863..53b3863 100644
--- a/source-common/Utils.cpp
+++ b/source/10-common/Utils.cpp
diff --git a/source-common/Utils.hpp b/source/10-common/Utils.hpp
index 9f28aad..9f28aad 100644
--- a/source-common/Utils.hpp
+++ b/source/10-common/Utils.hpp
diff --git a/source-common/YCombinator.hpp b/source/10-common/YCombinator.hpp
index b1d2350..b1d2350 100644
--- a/source-common/YCombinator.hpp
+++ b/source/10-common/YCombinator.hpp
diff --git a/buildtools/codegen/CodegenConfig.hpp b/source/20-codegen-compiler/CodegenConfig.hpp
index b9dc56c..b9dc56c 100644
--- a/buildtools/codegen/CodegenConfig.hpp
+++ b/source/20-codegen-compiler/CodegenConfig.hpp
diff --git a/buildtools/codegen/CodegenDecl.cpp b/source/20-codegen-compiler/CodegenDecl.cpp
index 7cf21ce..7cf21ce 100644
--- a/buildtools/codegen/CodegenDecl.cpp
+++ b/source/20-codegen-compiler/CodegenDecl.cpp
diff --git a/buildtools/codegen/CodegenDecl.hpp b/source/20-codegen-compiler/CodegenDecl.hpp
index 32d5445..32d5445 100644
--- a/buildtools/codegen/CodegenDecl.hpp
+++ b/source/20-codegen-compiler/CodegenDecl.hpp
diff --git a/buildtools/codegen/CodegenInput.inl b/source/20-codegen-compiler/CodegenInput.inl
index 0809e7f..0809e7f 100644
--- a/buildtools/codegen/CodegenInput.inl
+++ b/source/20-codegen-compiler/CodegenInput.inl
diff --git a/buildtools/codegen/CodegenMacros.hpp b/source/20-codegen-compiler/CodegenMacros.hpp
index 84c9d09..84c9d09 100644
--- a/buildtools/codegen/CodegenMacros.hpp
+++ b/source/20-codegen-compiler/CodegenMacros.hpp
diff --git a/buildtools/codegen/CodegenOutput.inl b/source/20-codegen-compiler/CodegenOutput.inl
index ff7b912..ff7b912 100644
--- a/buildtools/codegen/CodegenOutput.inl
+++ b/source/20-codegen-compiler/CodegenOutput.inl
diff --git a/buildtools/codegen/CodegenUtils.inl b/source/20-codegen-compiler/CodegenUtils.inl
index 6feb654..6feb654 100644
--- a/buildtools/codegen/CodegenUtils.inl
+++ b/source/20-codegen-compiler/CodegenUtils.inl
diff --git a/buildtools/codegen/main.cpp b/source/20-codegen-compiler/main.cpp
index b139515..b139515 100644
--- a/buildtools/codegen/main.cpp
+++ b/source/20-codegen-compiler/main.cpp
diff --git a/buildtools/codegen/tests/examples/TestEnum.hpp.txt b/source/20-codegen-compiler/test/examples/TestEnum.hpp.txt
index 441d97c..441d97c 100644
--- a/buildtools/codegen/tests/examples/TestEnum.hpp.txt
+++ b/source/20-codegen-compiler/test/examples/TestEnum.hpp.txt
diff --git a/buildtools/codegen-companion/MacrosCodegen.hpp b/source/20-codegen-runtime/MacrosCodegen.hpp
index 6803023..6803023 100644
--- a/buildtools/codegen-companion/MacrosCodegen.hpp
+++ b/source/20-codegen-runtime/MacrosCodegen.hpp
diff --git a/buildtools/codegen-companion/Metadata.cpp b/source/20-codegen-runtime/Metadata.cpp
index ee32054..ee32054 100644
--- a/buildtools/codegen-companion/Metadata.cpp
+++ b/source/20-codegen-runtime/Metadata.cpp
diff --git a/buildtools/codegen-companion/Metadata.hpp b/source/20-codegen-runtime/Metadata.hpp
index a038c15..a038c15 100644
--- a/buildtools/codegen-companion/Metadata.hpp
+++ b/source/20-codegen-runtime/Metadata.hpp
diff --git a/buildtools/codegen-companion/MetadataBase.cpp b/source/20-codegen-runtime/MetadataBase.cpp
index 3ccf870..3ccf870 100644
--- a/buildtools/codegen-companion/MetadataBase.cpp
+++ b/source/20-codegen-runtime/MetadataBase.cpp
diff --git a/buildtools/codegen-companion/MetadataBase.hpp b/source/20-codegen-runtime/MetadataBase.hpp
index 8be668d..8be668d 100644
--- a/buildtools/codegen-companion/MetadataBase.hpp
+++ b/source/20-codegen-runtime/MetadataBase.hpp
diff --git a/source/App.cpp b/source/30-game/App.cpp
index 45a7545..45a7545 100644
--- a/source/App.cpp
+++ b/source/30-game/App.cpp
diff --git a/source/App.hpp b/source/30-game/App.hpp
index c73c5a1..c73c5a1 100644
--- a/source/App.hpp
+++ b/source/30-game/App.hpp
diff --git a/source/AppConfig.hpp b/source/30-game/AppConfig.hpp
index 794bee5..794bee5 100644
--- a/source/AppConfig.hpp
+++ b/source/30-game/AppConfig.hpp
diff --git a/source/Camera.cpp b/source/30-game/Camera.cpp
index 39f0369..39f0369 100644
--- a/source/Camera.cpp
+++ b/source/30-game/Camera.cpp
diff --git a/source/Camera.hpp b/source/30-game/Camera.hpp
index 7bf0a6c..7bf0a6c 100644
--- a/source/Camera.hpp
+++ b/source/30-game/Camera.hpp
diff --git a/source/CommonVertexIndex.cpp b/source/30-game/CommonVertexIndex.cpp
index 786274e..786274e 100644
--- a/source/CommonVertexIndex.cpp
+++ b/source/30-game/CommonVertexIndex.cpp
diff --git a/source/CommonVertexIndex.hpp b/source/30-game/CommonVertexIndex.hpp
index adb81b6..adb81b6 100644
--- a/source/CommonVertexIndex.hpp
+++ b/source/30-game/CommonVertexIndex.hpp
diff --git a/source/EditorAccessories.cpp b/source/30-game/EditorAccessories.cpp
index 08d08ec..08d08ec 100644
--- a/source/EditorAccessories.cpp
+++ b/source/30-game/EditorAccessories.cpp
diff --git a/source/EditorAccessories.hpp b/source/30-game/EditorAccessories.hpp
index 687b509..687b509 100644
--- a/source/EditorAccessories.hpp
+++ b/source/30-game/EditorAccessories.hpp
diff --git a/source/EditorAttachment.hpp b/source/30-game/EditorAttachment.hpp
index 61b824b..61b824b 100644
--- a/source/EditorAttachment.hpp
+++ b/source/30-game/EditorAttachment.hpp
diff --git a/source/EditorAttachmentImpl.cpp b/source/30-game/EditorAttachmentImpl.cpp
index 62d15eb..62d15eb 100644
--- a/source/EditorAttachmentImpl.cpp
+++ b/source/30-game/EditorAttachmentImpl.cpp
diff --git a/source/EditorAttachmentImpl.hpp b/source/30-game/EditorAttachmentImpl.hpp
index 53bcd37..53bcd37 100644
--- a/source/EditorAttachmentImpl.hpp
+++ b/source/30-game/EditorAttachmentImpl.hpp
diff --git a/source/EditorCommandPalette.cpp b/source/30-game/EditorCommandPalette.cpp
index 0e7b894..0e7b894 100644
--- a/source/EditorCommandPalette.cpp
+++ b/source/30-game/EditorCommandPalette.cpp
diff --git a/source/EditorCommandPalette.hpp b/source/30-game/EditorCommandPalette.hpp
index 101344d..101344d 100644
--- a/source/EditorCommandPalette.hpp
+++ b/source/30-game/EditorCommandPalette.hpp
diff --git a/source/EditorCore.hpp b/source/30-game/EditorCore.hpp
index 726f43e..726f43e 100644
--- a/source/EditorCore.hpp
+++ b/source/30-game/EditorCore.hpp
diff --git a/source/EditorCorePrivate.cpp b/source/30-game/EditorCorePrivate.cpp
index 9fd6087..9fd6087 100644
--- a/source/EditorCorePrivate.cpp
+++ b/source/30-game/EditorCorePrivate.cpp
diff --git a/source/EditorCorePrivate.hpp b/source/30-game/EditorCorePrivate.hpp
index 4fbfb72..4fbfb72 100644
--- a/source/EditorCorePrivate.hpp
+++ b/source/30-game/EditorCorePrivate.hpp
diff --git a/source/EditorGuizmo.cpp b/source/30-game/EditorGuizmo.cpp
index 3e4f890..3e4f890 100644
--- a/source/EditorGuizmo.cpp
+++ b/source/30-game/EditorGuizmo.cpp
diff --git a/source/EditorGuizmo.hpp b/source/30-game/EditorGuizmo.hpp
index 0560050..0560050 100644
--- a/source/EditorGuizmo.hpp
+++ b/source/30-game/EditorGuizmo.hpp
diff --git a/source/EditorNotification.cpp b/source/30-game/EditorNotification.cpp
index e4a869e..e4a869e 100644
--- a/source/EditorNotification.cpp
+++ b/source/30-game/EditorNotification.cpp
diff --git a/source/EditorNotification.hpp b/source/30-game/EditorNotification.hpp
index 3af8c2d..3af8c2d 100644
--- a/source/EditorNotification.hpp
+++ b/source/30-game/EditorNotification.hpp
diff --git a/source/EditorUtils.cpp b/source/30-game/EditorUtils.cpp
index 20caef7..20caef7 100644
--- a/source/EditorUtils.cpp
+++ b/source/30-game/EditorUtils.cpp
diff --git a/source/EditorUtils.hpp b/source/30-game/EditorUtils.hpp
index 99c522b..99c522b 100644
--- a/source/EditorUtils.hpp
+++ b/source/30-game/EditorUtils.hpp
diff --git a/source/FuzzyMatch.cpp b/source/30-game/FuzzyMatch.cpp
index 0ab604d..0ab604d 100644
--- a/source/FuzzyMatch.cpp
+++ b/source/30-game/FuzzyMatch.cpp
diff --git a/source/FuzzyMatch.hpp b/source/30-game/FuzzyMatch.hpp
index 7a26b7e..7a26b7e 100644
--- a/source/FuzzyMatch.hpp
+++ b/source/30-game/FuzzyMatch.hpp
diff --git a/source/GameObject.cpp b/source/30-game/GameObject.cpp
index 8bb3ec7..8bb3ec7 100644
--- a/source/GameObject.cpp
+++ b/source/30-game/GameObject.cpp
diff --git a/source/GameObject.hpp b/source/30-game/GameObject.hpp
index 77488b9..77488b9 100644
--- a/source/GameObject.hpp
+++ b/source/30-game/GameObject.hpp
diff --git a/source/GraphicsTags.cpp b/source/30-game/GraphicsTags.cpp
index 522a58f..522a58f 100644
--- a/source/GraphicsTags.cpp
+++ b/source/30-game/GraphicsTags.cpp
diff --git a/source/GraphicsTags.hpp b/source/30-game/GraphicsTags.hpp
index f83b99c..f83b99c 100644
--- a/source/GraphicsTags.hpp
+++ b/source/30-game/GraphicsTags.hpp
diff --git a/source/Image.cpp b/source/30-game/Image.cpp
index 3673acc..3673acc 100644
--- a/source/Image.cpp
+++ b/source/30-game/Image.cpp
diff --git a/source/Image.hpp b/source/30-game/Image.hpp
index c577c24..c577c24 100644
--- a/source/Image.hpp
+++ b/source/30-game/Image.hpp
diff --git a/source/Ires.cpp b/source/30-game/Ires.cpp
index 10a6867..10a6867 100644
--- a/source/Ires.cpp
+++ b/source/30-game/Ires.cpp
diff --git a/source/Ires.hpp b/source/30-game/Ires.hpp
index 83ca175..83ca175 100644
--- a/source/Ires.hpp
+++ b/source/30-game/Ires.hpp
diff --git a/source/Level.cpp b/source/30-game/Level.cpp
index 5881084..5881084 100644
--- a/source/Level.cpp
+++ b/source/30-game/Level.cpp
diff --git a/source/Level.hpp b/source/30-game/Level.hpp
index c1170a3..c1170a3 100644
--- a/source/Level.hpp
+++ b/source/30-game/Level.hpp
diff --git a/source/Material.cpp b/source/30-game/Material.cpp
index e648970..e648970 100644
--- a/source/Material.cpp
+++ b/source/30-game/Material.cpp
diff --git a/source/Material.hpp b/source/30-game/Material.hpp
index f1cd7dd..f1cd7dd 100644
--- a/source/Material.hpp
+++ b/source/30-game/Material.hpp
diff --git a/source/Mesh.cpp b/source/30-game/Mesh.cpp
index 244e2e3..244e2e3 100644
--- a/source/Mesh.cpp
+++ b/source/30-game/Mesh.cpp
diff --git a/source/Mesh.hpp b/source/30-game/Mesh.hpp
index f86fd55..f86fd55 100644
--- a/source/Mesh.hpp
+++ b/source/30-game/Mesh.hpp
diff --git a/source/Player.cpp b/source/30-game/Player.cpp
index 34c4549..34c4549 100644
--- a/source/Player.cpp
+++ b/source/30-game/Player.cpp
diff --git a/source/Player.hpp b/source/30-game/Player.hpp
index d003a25..d003a25 100644
--- a/source/Player.hpp
+++ b/source/30-game/Player.hpp
diff --git a/source/Renderer.cpp b/source/30-game/Renderer.cpp
index 3497449..3497449 100644
--- a/source/Renderer.cpp
+++ b/source/30-game/Renderer.cpp
diff --git a/source/Renderer.hpp b/source/30-game/Renderer.hpp
index 98a9f28..98a9f28 100644
--- a/source/Renderer.hpp
+++ b/source/30-game/Renderer.hpp
diff --git a/source/SceneThings.cpp b/source/30-game/SceneThings.cpp
index 3fa0436..3fa0436 100644
--- a/source/SceneThings.cpp
+++ b/source/30-game/SceneThings.cpp
diff --git a/source/SceneThings.hpp b/source/30-game/SceneThings.hpp
index c261fbb..c261fbb 100644
--- a/source/SceneThings.hpp
+++ b/source/30-game/SceneThings.hpp
diff --git a/source/Shader.cpp b/source/30-game/Shader.cpp
index 48881f0..48881f0 100644
--- a/source/Shader.cpp
+++ b/source/30-game/Shader.cpp
diff --git a/source/Shader.hpp b/source/30-game/Shader.hpp
index 707e6cc..707e6cc 100644
--- a/source/Shader.hpp
+++ b/source/30-game/Shader.hpp
diff --git a/source/Sprite.cpp b/source/30-game/Sprite.cpp
index 2b4923c..2b4923c 100644
--- a/source/Sprite.cpp
+++ b/source/30-game/Sprite.cpp
diff --git a/source/Sprite.hpp b/source/30-game/Sprite.hpp
index e163a01..e163a01 100644
--- a/source/Sprite.hpp
+++ b/source/30-game/Sprite.hpp
diff --git a/source/Texture.cpp b/source/30-game/Texture.cpp
index 6fa7c8a..6fa7c8a 100644
--- a/source/Texture.cpp
+++ b/source/30-game/Texture.cpp
diff --git a/source/Texture.hpp b/source/30-game/Texture.hpp
index 108dfa7..108dfa7 100644
--- a/source/Texture.hpp
+++ b/source/30-game/Texture.hpp
diff --git a/source/VertexIndex.cpp b/source/30-game/VertexIndex.cpp
index ac68289..ac68289 100644
--- a/source/VertexIndex.cpp
+++ b/source/30-game/VertexIndex.cpp
diff --git a/source/VertexIndex.hpp b/source/30-game/VertexIndex.hpp
index 2d65617..2d65617 100644
--- a/source/VertexIndex.hpp
+++ b/source/30-game/VertexIndex.hpp
diff --git a/source/World.cpp b/source/30-game/World.cpp
index d4a8344..d4a8344 100644
--- a/source/World.cpp
+++ b/source/30-game/World.cpp
diff --git a/source/World.hpp b/source/30-game/World.hpp
index 288142e..288142e 100644
--- a/source/World.hpp
+++ b/source/30-game/World.hpp
diff --git a/source/main.cpp b/source/30-game/main.cpp
index c49fc0b..c49fc0b 100644
--- a/source/main.cpp
+++ b/source/30-game/main.cpp