diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b15244d6..41f434cf 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,69 +1,69 @@
-name: Build and Test
-
-on:
- push:
- branches: [ main, bazel-setup ]
- paths-ignore:
- - 'projs/docs/**'
- - 'specs/**'
-
-jobs:
- build:
- runs-on: windows-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- with:
- submodules: recursive
-
-
- - name: Install bazelisk
- run: |
- choco install bazelisk
-
- - name: Add msbuild to PATH
- uses: microsoft/setup-msbuild@v1.1
-
- - name: Build
- run: |
- bazel build //...
-
- - name: use cache
- uses: actions/cache@v2
- with:
- path: "./bazel-bin/projs"
- key: ${{ runner.os }}-${{ github.run_id }}
-
- - name: Upload shadow-engine artifact
- uses: actions/upload-artifact@v3
- with:
- name: ${{ needs.update.outputs.old_version_name }}-${{ needs.update.outputs.new_version_name }}-patch
- path: './bazel-bin/projs/shadow-engine/**/*'
-
- test-sff:
- runs-on: windows-latest
- needs: build
- permissions:
- contents: read
- issues: read
- checks: write
- pull-requests: write
- steps:
- - name: use cache
- uses: actions/cache@v2
- with:
- path: "./bazel-bin/projs"
- key: ${{ runner.os }}-${{ github.run_id }}
-
- - name: Make output folder
- run: mkdir ./test-results
-
- - name: Test shadow-file-format
- run: ./bazel-bin/projs/shadow-file-format/test.exe -r junit -o ./test-results/shadow-file-format-test.xml
-
- - name: Publish Test Results
- uses: EnricoMi/publish-unit-test-result-action/composite@v1
- if: always()
- with:
- files: "test-results/**/*.xml"
-
+name: Build and Test
+
+on:
+ push:
+ branches: [ main, bazel-setup ]
+ paths-ignore:
+ - 'projs/docs/**'
+ - 'specs/**'
+
+jobs:
+ build:
+ runs-on: windows-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ submodules: recursive
+
+
+ - name: Install bazelisk
+ run: |
+ choco install bazelisk
+
+ - name: Add msbuild to PATH
+ uses: microsoft/setup-msbuild@v1.1
+
+ - name: Build
+ run: |
+ bazel build //...
+
+ - name: use cache
+ uses: actions/cache@v2
+ with:
+ path: "./bazel-bin/projs"
+ key: ${{ runner.os }}-${{ github.run_id }}
+
+ - name: Upload shadow-engine artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ needs.update.outputs.old_version_name }}-${{ needs.update.outputs.new_version_name }}-patch
+ path: './bazel-bin/projs/shadow-engine/**/*'
+
+ test-sff:
+ runs-on: windows-latest
+ needs: build
+ permissions:
+ contents: read
+ issues: read
+ checks: write
+ pull-requests: write
+ steps:
+ - name: use cache
+ uses: actions/cache@v2
+ with:
+ path: "./bazel-bin/projs"
+ key: ${{ runner.os }}-${{ github.run_id }}
+
+ - name: Make output folder
+ run: mkdir ./test-results
+
+ - name: Test shadow-file-format
+ run: ./bazel-bin/projs/shadow-file-format/test.exe -r junit -o ./test-results/shadow-file-format-test.xml
+
+ - name: Publish Test Results
+ uses: EnricoMi/publish-unit-test-result-action/composite@v1
+ if: always()
+ with:
+ files: "test-results/**/*.xml"
+
diff --git a/.gitignore b/.gitignore
index 5c3c8719..16c3fc7d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,16 +1,14 @@
-bin/
-obj/
-/packages/
-riderModule.iml
-/_ReSharper.Caches/
-
-
-test-results
-cmake-build-vs-debug/
-cmake-build-debug/
-cmake-build-debug-msvc/
-cmake-build-debug-msvc-vs/
-out/
-.vs/
-/.idea/
-/cmake-build-debug-mingw/
+bin/
+obj/
+/packages/
+riderModule.iml
+/_ReSharper.Caches/
+
+
+test-results
+cmake-build-vs-debug/
+cmake-build-debug/
+cmake-build-debug-msvc/
+cmake-build-debug-msvc-vs/
+out/
+.vs/
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index e69de29b..3fc45167 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -0,0 +1,21 @@
+[submodule "projs/shadow/extern/spdlog"]
+ path = projs/shadow/extern/spdlog
+ url = https://github.com/gabime/spdlog.git
+[submodule "projs/shadow/extern/imgui"]
+ path = projs/shadow/extern/imgui
+ url = https://github.com/ocornut/imgui
+[submodule "projs/shadow/extern/dxmath"]
+ path = projs/shadow/extern/dxmath
+ url = https://github.com/microsoft/DirectXMath.git
+[submodule "projs/shadow/extern/catch2"]
+ path = projs/shadow/extern/catch2
+ url = https://github.com/catchorg/Catch2.git
+[submodule "projs/shadow/extern/glm"]
+ path = projs/shadow/extern/glm
+ url = https://github.com/g-truc/glm.git
+[submodule "projs/shadow/extern/dylib"]
+ path = projs/shadow/extern/dylib
+ url = https://github.com/martin-olivier/dylib
+[submodule "projs/shadow/extern/vulkan_memory_allocator"]
+ path = projs/shadow/extern/vulkan_memory_allocator
+ url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..1c2fda56
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/cmake.xml b/.idea/cmake.xml
new file mode 100644
index 00000000..06c4f7ee
--- /dev/null
+++ b/.idea/cmake.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 00000000..345d3c23
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 00000000..307554b7
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/customTargets.xml b/.idea/customTargets.xml
new file mode 100644
index 00000000..93656d6a
--- /dev/null
+++ b/.idea/customTargets.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 00000000..08cfc443
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/fileTemplates/Shadow Entitiy Header.h b/.idea/fileTemplates/Shadow Entitiy Header.h
new file mode 100644
index 00000000..3273bb65
--- /dev/null
+++ b/.idea/fileTemplates/Shadow Entitiy Header.h
@@ -0,0 +1,13 @@
+#pragma once
+
+#include "Entity.h"
+#include "TransformEntity.h"
+
+class ${NAME} : public ShadowEngine::Entities::TransformEntity{
+ SHObject_Base(${NAME});
+
+ Entity_Base(${NAME}, TransformEntity);
+
+public:
+ void Build() override;
+};
diff --git a/.idea/fileTemplates/Shadow Entitiy.cpp b/.idea/fileTemplates/Shadow Entitiy.cpp
new file mode 100644
index 00000000..a927cdc6
--- /dev/null
+++ b/.idea/fileTemplates/Shadow Entitiy.cpp
@@ -0,0 +1 @@
+void ${NAME}::Build()
\ No newline at end of file
diff --git a/.idea/fileTemplates/internal/C++ Class Header.h b/.idea/fileTemplates/internal/C++ Class Header.h
new file mode 100644
index 00000000..c84aecdc
--- /dev/null
+++ b/.idea/fileTemplates/internal/C++ Class Header.h
@@ -0,0 +1,10 @@
+#pragma once
+
+${NAMESPACES_OPEN}
+
+class ${NAME} {
+
+};
+
+${NAMESPACES_CLOSE}
+
diff --git a/.idea/fileTemplates/internal/C++ Class.cc b/.idea/fileTemplates/internal/C++ Class.cc
new file mode 100644
index 00000000..f40c5f55
--- /dev/null
+++ b/.idea/fileTemplates/internal/C++ Class.cc
@@ -0,0 +1,4 @@
+#[[#include]]# "${HEADER_FILENAME}"
+
+${NAMESPACES_OPEN_CPP}
+${NAMESPACES_CLOSE_CPP}
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 00000000..a98f236b
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..bf4aebe5
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..7e527079
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/test_game.xml b/.idea/runConfigurations/test_game.xml
new file mode 100644
index 00000000..7c9a8be7
--- /dev/null
+++ b/.idea/runConfigurations/test_game.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/test_game_EDITOR.xml b/.idea/runConfigurations/test_game_EDITOR.xml
new file mode 100644
index 00000000..a2a3fc81
--- /dev/null
+++ b/.idea/runConfigurations/test_game_EDITOR.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/scopes/shadow.xml b/.idea/scopes/shadow.xml
new file mode 100644
index 00000000..8e551766
--- /dev/null
+++ b/.idea/scopes/shadow.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/statistic.xml b/.idea/statistic.xml
new file mode 100644
index 00000000..06d20e2e
--- /dev/null
+++ b/.idea/statistic.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/umbra.iml b/.idea/umbra.iml
new file mode 100644
index 00000000..6d70257c
--- /dev/null
+++ b/.idea/umbra.iml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..6b0b8b1b
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 91bc0425..bd47a83e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,84 +1,24 @@
-cmake_minimum_required(VERSION 3.24)
-
-Include(FetchContent)
-
-# Fetch SDL for the runtime
-FetchContent_Declare(
- SDL2
- URL https://www.libsdl.org/release/SDL2-devel-2.24.0-VC.zip
-)
-FetchContent_MakeAvailable(SDL2)
-set(SDL2_DIR ${sdl2_SOURCE_DIR})
-list(PREPEND CMAKE_PREFIX_PATH "${sdl2_SOURCE_DIR}/cmake")
-
-# Fetch Catch2 for the file format tests
-FetchContent_Declare(
- Catch2
- GIT_REPOSITORY https://github.com/catchorg/Catch2.git
- GIT_TAG v2.13.9 # or a later release
-)
-FetchContent_MakeAvailable(Catch2)
-list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/extras)
-
-list(APPEND CMAKE_MODULE_PATH "${Catch2_SOURCE_DIR}/contrib")
-
-# Fetch GLM for the renderer
-FetchContent_Declare(
- glm
- GIT_REPOSITORY https://github.com/g-truc/glm.git
- GIT_TAG 0.9.9.2
-)
-
-FetchContent_GetProperties(glm)
-if(NOT glm_POPULATED)
- FetchContent_Populate(glm)
- set(GLM_TEST_ENABLE OFF CACHE BOOL "" FORCE)
- add_subdirectory(${glm_SOURCE_DIR} ${glm_BINARY_DIR})
-endif()
-
-# Fetch SpdLog for.. loggin
-FetchContent_Declare(
- spdlog
- GIT_REPOSITORY https://github.com/gabime/spdlog.git
- GIT_TAG v1.10.0
-)
-
-FetchContent_GetProperties(spdlog)
-if(NOT spdlog_POPULATED)
- FetchContent_Populate(spdlog)
- add_subdirectory(${spdlog_SOURCE_DIR} ${spdlog_BINARY_DIR})
-endif()
-
-FetchContent_Declare(
- imgui
- GIT_REPOSITORY https://github.com/ocornut/imgui
- GIT_TAG 71a0701920dbc83155f718182f01132d1ec2d51e
-)
-
-FetchContent_MakeAvailable(imgui)
-
-FetchContent_Declare(
- dylib
- GIT_REPOSITORY "https://github.com/martin-olivier/dylib"
- GIT_TAG "v2.1.0"
-)
-
-FetchContent_MakeAvailable(dylib)
-
-# Import some find files
-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
-
-project(umbra)
-
-set(CMAKE_STATIC_LIBRARY_PREFIX "")
-set(CMAKE_SHARED_LIBRARY_PREFIX "")
-
-# Core engine
-add_subdirectory(projs/shadow/shadow-engine)
-
-# Runtime executable
-add_subdirectory(projs/shadow/shadow-runtime)
-
-add_subdirectory(projs/shadow/shadow-editor)
-
+cmake_minimum_required(VERSION 3.25)
+
+set_property(GLOBAL PROPERTY GLOBAL_DEPENDS_DEBUG_MODE 1)
+
+#if (MSVC)
+# add_compile_options(-Zc:externC /permissive- /Zc:__cplusplus /Zc:inline /Zc:preprocessor /Zc:lambda /Zc:templateScope)
+#endif ()
+if (MINGW OR LINUX)
+ #add_compile_options(-fpermissive)
+endif ()
+
+# Import some find files
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
+
+project(umbra)
+
+include(shadow-modules.cmake)
+
+set(CMAKE_STATIC_LIBRARY_PREFIX "")
+set(CMAKE_SHARED_LIBRARY_PREFIX "")
+
+add_subdirectory(projs/shadow)
+
add_subdirectory(projs/test-game)
\ No newline at end of file
diff --git a/README.md b/README.md
index 047291c1..02021624 100644
--- a/README.md
+++ b/README.md
@@ -1 +1 @@
-# umbra
+# umbra
diff --git a/cmake/FindD3D12.cmake b/cmake/FindD3D12.cmake
new file mode 100644
index 00000000..1926bb2d
--- /dev/null
+++ b/cmake/FindD3D12.cmake
@@ -0,0 +1,14 @@
+
+SET(D3D12_BIN_DIR ${dx12agility_SOURCE_DIR}/build/native/bin/x64)
+
+SET(D3D12_INCLUDE_DIRS ${dx12agility_SOURCE_DIR}/build/native/include)
+SET(D3D12_BINARY_DIRS ${D3D12_BIN_DIR})
+
+
+function(add_dx12 target)
+ add_custom_command(TARGET ${target} POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${D3D12_BINARY_DIRS}/D3D12Core.dll ${CMAKE_CURRENT_BINARY_DIR}/D3D12/D3D12Core.dll
+ COMMAND_EXPAND_LISTS
+ )
+ target_link_libraries(${target} PRIVATE d3d12.dll)
+endfunction()
\ No newline at end of file
diff --git a/cmake/FindDirectXMath.cmake b/cmake/FindDirectXMath.cmake
new file mode 100644
index 00000000..4ed0447d
--- /dev/null
+++ b/cmake/FindDirectXMath.cmake
@@ -0,0 +1,4 @@
+set(CMAKE_CXX_STANDARD 20)
+
+FILE(GLOB_RECURSE DirectXMath_HEADERS ${DirectXMath_SOURCE_DIR}/Inc/*.h)
+SET(DirectXMath_INCLUDE_DIRS ${DirectXMath_SOURCE_DIR}/Inc)
\ No newline at end of file
diff --git a/cmake/FindImGui.cmake b/cmake/FindImGui.cmake
index 4a031a39..5a1b308b 100644
--- a/cmake/FindImGui.cmake
+++ b/cmake/FindImGui.cmake
@@ -1,27 +1,34 @@
-set(CMAKE_CXX_STANDARD 20)
-find_package(SDL2 REQUIRED)
-find_package(Vulkan REQUIRED)
-
-FILE(GLOB_RECURSE SOURCES ${imgui_SOURCE_DIR}/*.cpp)
-FILE(GLOB_RECURSE HEADERS ${imgui_SOURCE_DIR}/*.h)
-
-FILE(GLOB_RECURSE HEADERS ${imgui_SOURCE_DIR}/backends/imgui_impl_vulkan.h)
-FILE(GLOB_RECURSE SOURCES ${imgui_SOURCE_DIR}/backends/imgui_impl_vulkan.cpp)
-
-add_library(imgui OBJECT
- ${imgui_SOURCE_DIR}/imgui.cpp
- ${imgui_SOURCE_DIR}/imgui_demo.cpp
- ${imgui_SOURCE_DIR}/imgui_draw.cpp
- ${imgui_SOURCE_DIR}/imgui_tables.cpp
- ${imgui_SOURCE_DIR}/imgui_widgets.cpp
- ${imgui_SOURCE_DIR}/backends/imgui_impl_sdl.cpp
- ${imgui_SOURCE_DIR}/backends/imgui_impl_vulkan.cpp
- )
-
-target_include_directories(imgui
- PUBLIC
- ${SDL2_INCLUDE_DIRS}
- ${imgui_SOURCE_DIR}
- ${imgui_SOURCE_DIR}/backends
- )
-target_link_libraries(imgui PRIVATE SDL2::SDL2 Vulkan::Vulkan)
\ No newline at end of file
+set(CMAKE_CXX_STANDARD 20)
+find_package(SDL2 REQUIRED)
+find_package(Vulkan REQUIRED)
+
+SET(imgui_SOURCE_DIR ${CMAKE_SOURCE_DIR}/projs/shadow/extern/imgui)
+
+FILE(GLOB_RECURSE SOURCES ${imgui_SOURCE_DIR}/*.cpp)
+FILE(GLOB_RECURSE HEADERS ${imgui_SOURCE_DIR}/*.h)
+
+FILE(GLOB_RECURSE HEADERS ${imgui_SOURCE_DIR}/backends/imgui_impl_vulkan.h)
+FILE(GLOB_RECURSE SOURCES ${imgui_SOURCE_DIR}/backends/imgui_impl_vulkan.cpp)
+
+add_library(ImGui STATIC
+ ${imgui_SOURCE_DIR}/imgui.cpp
+ ${imgui_SOURCE_DIR}/imgui_demo.cpp
+ ${imgui_SOURCE_DIR}/imgui_draw.cpp
+ ${imgui_SOURCE_DIR}/imgui_tables.cpp
+ ${imgui_SOURCE_DIR}/imgui_widgets.cpp
+ # ${imgui_SOURCE_DIR}/backends/imgui_impl_sdl2.cpp
+ # ${imgui_SOURCE_DIR}/backends/imgui_impl_vulkan.cpp
+)
+
+target_include_directories(ImGui
+ PRIVATE
+ ${SDL2_INCLUDE_DIRS}
+ PUBLIC
+ ${imgui_SOURCE_DIR}
+ ${imgui_SOURCE_DIR}/backends
+)
+target_link_libraries(ImGui
+ # PRIVATE SDL2::SDL2 Vulkan::Vulkan
+)
+
+target_compile_options(ImGui PRIVATE -fPIC)
\ No newline at end of file
diff --git a/imgui.ini b/imgui.ini
deleted file mode 100644
index 7162e922..00000000
--- a/imgui.ini
+++ /dev/null
@@ -1,41 +0,0 @@
-[Window][Debug##Default]
-Pos=876,8
-Size=315,195
-Collapsed=0
-DockId=0x00000008,0
-
-[Window][Dear ImGui Demo]
-Pos=1193,178
-Size=62,25
-Collapsed=0
-DockId=0x00000007,0
-
-[Window][Game module window]
-Pos=1193,8
-Size=62,50
-Collapsed=0
-DockId=0x00000004,0
-
-[Window][Time]
-Pos=1193,60
-Size=62,49
-Collapsed=0
-DockId=0x00000005,0
-
-[Window][Active Modules]
-Pos=1193,111
-Size=62,65
-Collapsed=0
-DockId=0x00000006,0
-
-[Docking][Data]
-DockNode ID=0x00000001 Pos=1196,188 Size=379,195 Split=X
- DockNode ID=0x00000008 Parent=0x00000001 SizeRef=652,419 HiddenTabBar=1 Selected=0x55954704
- DockNode ID=0x00000009 Parent=0x00000001 SizeRef=129,419 Split=Y
- DockNode ID=0x00000002 Parent=0x00000009 SizeRef=219,34 Split=Y Selected=0xFC1D20C0
- DockNode ID=0x00000004 Parent=0x00000002 SizeRef=219,64 Selected=0xFC1D20C0
- DockNode ID=0x00000005 Parent=0x00000002 SizeRef=219,62 Selected=0xE75A179E
- DockNode ID=0x00000003 Parent=0x00000009 SizeRef=219,31 Split=Y Selected=0xEE305C78
- DockNode ID=0x00000006 Parent=0x00000003 SizeRef=219,142 Selected=0xEE305C78
- DockNode ID=0x00000007 Parent=0x00000003 SizeRef=219,55 Selected=0xE87781F4
-
diff --git a/projs/docs/diagrams/architecture.plantuml b/projs/docs/diagrams/architecture.plantuml
index d0f86e70..b704af71 100644
--- a/projs/docs/diagrams/architecture.plantuml
+++ b/projs/docs/diagrams/architecture.plantuml
@@ -1,26 +1,26 @@
-@startuml
-
-class ShadowApplication <> {
- -ModuleManager module_manager
- ~void packagePrivateMethod()
- #{abstract} char protectedMethod(int param)
-}
-
-class ModuleManager <> {
- -vector moduels
- ---
- +void AddModule(Module* mo)
-}
-
-abstract class Module {
- +string domain
- ---
- +void Init()
- +void Update()
- +void ShutDown()
-}
-
-
-
-
+@startuml
+
+class ShadowApplication <> {
+ -ModuleManager module_manager
+ ~void packagePrivateMethod()
+ #{abstract} char protectedMethod(int param)
+}
+
+class ModuleManager <> {
+ -vector moduels
+ ---
+ +void AddModule(Module* mo)
+}
+
+abstract class Module {
+ +string domain
+ ---
+ +void Init()
+ +void Update()
+ +void ShutDown()
+}
+
+
+
+
@enduml
\ No newline at end of file
diff --git a/projs/docs/diagrams/project-layout.plantuml b/projs/docs/diagrams/project-layout.plantuml
index 1326df56..7dca967d 100644
--- a/projs/docs/diagrams/project-layout.plantuml
+++ b/projs/docs/diagrams/project-layout.plantuml
@@ -1,31 +1,31 @@
-@startuml
-[shadow-light] <> as editor
-
- [shadow-entity] <> as shentity
- [shadow-file-format] <> as shff
- [shadow-reflection] <> as shreflection
- [shadow-renderer] <> as shrenderer
- [shadow-utilty] <> as shutitily
-
- [shadow-engine] <> as shengine
-
- shentity --* shengine
- shff --* shengine
- shreflection --* shengine
- shrenderer --* shengine
- shutitily --* shengine
-
-
-[shadow-runner] <> as runner
-
-[test-game] <> as game
-
-shengine <- editor
-runner -> shengine
-
-game ..> shengine : uses
-
-runner --> game : loads
-editor --> game : loads
-
+@startuml
+[shadow-light] <> as editor
+
+ [shadow-entity] <> as shentity
+ [shadow-file-format] <> as shff
+ [shadow-reflection] <> as shreflection
+ [shadow-renderer] <> as shrenderer
+ [shadow-utilty] <> as shutitily
+
+ [shadow-engine] <> as shengine
+
+ shentity --* shengine
+ shff --* shengine
+ shreflection --* shengine
+ shrenderer --* shengine
+ shutitily --* shengine
+
+
+[shadow-runner] <> as runner
+
+[test-game] <> as game
+
+shengine <- editor
+runner -> shengine
+
+game ..> shengine : uses
+
+runner --> game : loads
+editor --> game : loads
+
@enduml
\ No newline at end of file
diff --git a/projs/docs/diagrams/startup.puml b/projs/docs/diagrams/startup.puml
index 9997fb38..045a0b51 100644
--- a/projs/docs/diagrams/startup.puml
+++ b/projs/docs/diagrams/startup.puml
@@ -1,54 +1,54 @@
-@startuml
-!include
-
-autoactivate on
-autonumber
-
-participant main as "int main(args)"
-
-participant app as "ShadowApplication" <<(O,#ADD1B2) singleton>>
-
-participant moduleMg as "ModuleManager" <<(O,#ADD1B2) singleton>>
-
-
-'participant gameDll as "longName" : <$ma_file{scale=0.5}> <>
-
-participant "Game DLL" as dll <<$ma_file{scale=0.5}>> #LightGray <>
-
--> main
-main -> app ** : create
-activate app
-app -> moduleMg ** : create
-return app
-
-main -> app : LoadGame
-
-app -> app : load
-app -> dll ** : create
-return
-
-app -> dll : sh_main
-
-loop for each needed module
- dll -> moduleMg : AddModule()
- return
-end
-
-return
-
-return
-
-main -> app : Init()
-app -> moduleMg : Init()
-
-loop module in modules
- collections module as "Module" <<(O,#ADD1B2)entity>>
- moduleMg -> module : Init()
- return
-end
-return
-
-return
-
-
-
+@startuml
+!include
+
+autoactivate on
+autonumber
+
+participant main as "int main(args)"
+
+participant app as "ShadowApplication" <<(O,#ADD1B2) singleton>>
+
+participant moduleMg as "ModuleManager" <<(O,#ADD1B2) singleton>>
+
+
+'participant gameDll as "longName" : <$ma_file{scale=0.5}> <>
+
+participant "Game DLL" as dll <<$ma_file{scale=0.5}>> #LightGray <>
+
+-> main
+main -> app ** : create
+activate app
+app -> moduleMg ** : create
+return app
+
+main -> app : LoadGame
+
+app -> app : load
+app -> dll ** : create
+return
+
+app -> dll : sh_main
+
+loop for each needed module
+ dll -> moduleMg : AddModule()
+ return
+end
+
+return
+
+return
+
+main -> app : Init()
+app -> moduleMg : Init()
+
+loop module in modules
+ collections module as "Module" <<(O,#ADD1B2)entity>>
+ moduleMg -> module : Init()
+ return
+end
+return
+
+return
+
+
+
diff --git a/projs/docs/thesis/common/includes/declaration.tex b/projs/docs/thesis/common/includes/declaration.tex
index d371f9a4..922220a0 100644
--- a/projs/docs/thesis/common/includes/declaration.tex
+++ b/projs/docs/thesis/common/includes/declaration.tex
@@ -1,31 +1,31 @@
-\selectlanguage{magyar}
-\pagenumbering{gobble}
-%--------------------------------------------------------------------------------------
-% Nyilatkozat
-%--------------------------------------------------------------------------------------
-\begin{center}
-\large
-\textbf{HALLGATÓI NYILATKOZAT}\\
-\end{center}
-
-Alulírott \emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}, szigorló hallgató kijelentem, hogy ezt a \vikmunkatipusat{} meg nem engedett segítség nélkül, saját magam készítettem, csak a megadott forrásokat (szakirodalom, eszközök stb.) használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem.
-
-Hozzájárulok, hogy a jelen munkám alapadatait (szerző(k), cím, angol és magyar nyelvű tartalmi kivonat, készítés éve, konzulens(ek) neve) a BME VIK nyilvánosan hozzáférhető elektronikus formában, a munka teljes szövegét pedig az egyetem belső hálózatán keresztül (vagy autentikált felhasználók számára) közzétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus verziója megegyezik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgozat szövege csak 3 év eltelte után válik hozzáférhetővé.
-
-\begin{flushleft}
-\vspace*{1cm}
-Budapest, \today
-\end{flushleft}
-
-\begin{flushright}
- \vspace*{1cm}
- \makebox[7cm]{\rule{6cm}{.4pt}}\\
- \makebox[7cm]{\emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}}\\
- \makebox[7cm]{hallgató}
-\end{flushright}
-\thispagestyle{empty}
-
-\vfill
-\cleardoublepage
-
-\selectthesislanguage
+\selectlanguage{magyar}
+\pagenumbering{gobble}
+%--------------------------------------------------------------------------------------
+% Nyilatkozat
+%--------------------------------------------------------------------------------------
+\begin{center}
+\large
+\textbf{HALLGATÓI NYILATKOZAT}\\
+\end{center}
+
+Alulírott \emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}, szigorló hallgató kijelentem, hogy ezt a \vikmunkatipusat{} meg nem engedett segítség nélkül, saját magam készítettem, csak a megadott forrásokat (szakirodalom, eszközök stb.) használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem.
+
+Hozzájárulok, hogy a jelen munkám alapadatait (szerző(k), cím, angol és magyar nyelvű tartalmi kivonat, készítés éve, konzulens(ek) neve) a BME VIK nyilvánosan hozzáférhető elektronikus formában, a munka teljes szövegét pedig az egyetem belső hálózatán keresztül (vagy autentikált felhasználók számára) közzétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus verziója megegyezik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgozat szövege csak 3 év eltelte után válik hozzáférhetővé.
+
+\begin{flushleft}
+\vspace*{1cm}
+Budapest, \today
+\end{flushleft}
+
+\begin{flushright}
+ \vspace*{1cm}
+ \makebox[7cm]{\rule{6cm}{.4pt}}\\
+ \makebox[7cm]{\emph{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}}\\
+ \makebox[7cm]{hallgató}
+\end{flushright}
+\thispagestyle{empty}
+
+\vfill
+\cleardoublepage
+
+\selectthesislanguage
diff --git a/projs/docs/thesis/common/includes/guideline.tex b/projs/docs/thesis/common/includes/guideline.tex
index 86e3f94f..4bbe4e20 100644
--- a/projs/docs/thesis/common/includes/guideline.tex
+++ b/projs/docs/thesis/common/includes/guideline.tex
@@ -1,54 +1,54 @@
-\selecthungarian
-%--------------------------------------------------------------------------------------
-% Rovid formai es tartalmi tajekoztato
-%--------------------------------------------------------------------------------------
-
-\footnotesize
-\begin{center}
-\large
-\textbf{\Large Általános információk, a diplomaterv szerkezete}\\
-\end{center}
-
-A diplomaterv szerkezete a BME Villamosmérnöki és Informatikai Karán:
-\begin{enumerate}
-\item Diplomaterv feladatkiírás
-\item Címoldal
-\item Tartalomjegyzék
-\item A diplomatervező nyilatkozata az önálló munkáról és az elektronikus adatok kezeléséről
-\item Tartalmi összefoglaló magyarul és angolul
-\item Bevezetés: a feladat értelmezése, a tervezés célja, a feladat indokoltsága, a diplomaterv felépítésének rövid összefoglalása
-\item A feladatkiírás pontosítása és részletes elemzése
-\item Előzmények (irodalomkutatás, hasonló alkotások), az ezekből levonható következtetések
-\item A tervezés részletes leírása, a döntési lehetőségek értékelése és a választott megoldások indoklása
-\item A megtervezett műszaki alkotás értékelése, kritikai elemzése, továbbfejlesztési lehetőségek
-\item Esetleges köszönetnyilvánítások
-\item Részletes és pontos irodalomjegyzék
-\item Függelék(ek)
-\end{enumerate}
-
-Felhasználható a következő oldaltól kezdődő \LaTeX diplomatervsablon dokumentum tartalma.
-
-A diplomaterv szabványos méretű A4-es lapokra kerüljön. Az oldalak tükörmargóval készüljenek (mindenhol 2,5~cm, baloldalon 1~cm-es kötéssel). Az alapértelmezett betűkészlet a 12 pontos Times New Roman, másfeles sorközzel, de ettől kismértékben el lehet térni, ill. más betűtípus használata is megengedett.
-
-Minden oldalon -- az első négy szerkezeti elem kivételével -- szerepelnie kell az oldalszámnak.
-
-A fejezeteket decimális beosztással kell ellátni. Az ábrákat a megfelelő helyre be kell illeszteni, fejezetenként decimális számmal és kifejező címmel kell ellátni. A fejezeteket decimális aláosztással számozzuk, maximálisan 3 aláosztás mélységben (pl. 2.3.4.1.). Az ábrákat, táblázatokat és képleteket célszerű fejezetenként külön számozni (pl. 2.4. ábra, 4.2. táblázat vagy képletnél (3.2)). A fejezetcímeket igazítsuk balra, a normál szövegnél viszont használjunk sorkiegyenlítést. Az ábrákat, táblázatokat és a hozzájuk tartozó címet igazítsuk középre. A cím a jelölt rész alatt helyezkedjen el.
-
-A képeket lehetőleg rajzoló programmal készítsék el, az egyenleteket egyenlet-szerkesztő segítségével írják le (A \LaTeX~ehhez kézenfekvő megoldásokat nyújt).
-
-Az irodalomjegyzék szövegközi hivatkozása történhet sorszámozva (ez a preferált megoldás) vagy a Harvard-rendszerben (a szerző és az évszám megadásával). A teljes lista névsor szerinti sorrendben a szöveg végén szerepeljen (sorszámozott irodalmi hivatkozások esetén hivatkozási sorrendben). A szakirodalmi források címeit azonban mindig az eredeti nyelven kell megadni, esetleg zárójelben a fordítással. A listában szereplő valamennyi publikációra hivatkozni kell a szövegben (a \LaTeX-sablon a Bib\TeX~segítségével mindezt automatikusan kezeli). Minden publikáció a szerzők után a következő adatok szerepelnek: folyóirat cikkeknél a pontos cím, a folyóirat címe, évfolyam, szám, oldalszám tól-ig. A folyóiratok címét csak akkor rövidítsük, ha azok nagyon közismertek vagy nagyon hosszúak. Internetes hivatkozások megadásakor fontos, hogy az elérési út előtt megadjuk az oldal tulajdonosát és tartalmát (mivel a link egy idő után akár elérhetetlenné is válhat), valamint az elérés időpontját.
-
-\vspace{5mm}
-Fontos:
-\begin{itemize}
- \item A szakdolgozatkészítő / diplomatervező nyilatkozata (a jelen sablonban szereplő szövegtartalommal) kötelező előírás, Karunkon ennek hiányában a szakdolgozat/diplomaterv nem bírálható és nem védhető!
- \item Mind a dolgozat, mind a melléklet maximálisan 15~MB méretű lehet!
-\end{itemize}
-
-\vspace{5mm}
-\begin{center}
-Jó munkát, sikeres szakdolgozatkészítést, ill. diplomatervezést kívánunk!
-\end{center}
-
-\normalsize
-\selectthesislanguage
+\selecthungarian
+%--------------------------------------------------------------------------------------
+% Rovid formai es tartalmi tajekoztato
+%--------------------------------------------------------------------------------------
+
+\footnotesize
+\begin{center}
+\large
+\textbf{\Large Általános információk, a diplomaterv szerkezete}\\
+\end{center}
+
+A diplomaterv szerkezete a BME Villamosmérnöki és Informatikai Karán:
+\begin{enumerate}
+\item Diplomaterv feladatkiírás
+\item Címoldal
+\item Tartalomjegyzék
+\item A diplomatervező nyilatkozata az önálló munkáról és az elektronikus adatok kezeléséről
+\item Tartalmi összefoglaló magyarul és angolul
+\item Bevezetés: a feladat értelmezése, a tervezés célja, a feladat indokoltsága, a diplomaterv felépítésének rövid összefoglalása
+\item A feladatkiírás pontosítása és részletes elemzése
+\item Előzmények (irodalomkutatás, hasonló alkotások), az ezekből levonható következtetések
+\item A tervezés részletes leírása, a döntési lehetőségek értékelése és a választott megoldások indoklása
+\item A megtervezett műszaki alkotás értékelése, kritikai elemzése, továbbfejlesztési lehetőségek
+\item Esetleges köszönetnyilvánítások
+\item Részletes és pontos irodalomjegyzék
+\item Függelék(ek)
+\end{enumerate}
+
+Felhasználható a következő oldaltól kezdődő \LaTeX diplomatervsablon dokumentum tartalma.
+
+A diplomaterv szabványos méretű A4-es lapokra kerüljön. Az oldalak tükörmargóval készüljenek (mindenhol 2,5~cm, baloldalon 1~cm-es kötéssel). Az alapértelmezett betűkészlet a 12 pontos Times New Roman, másfeles sorközzel, de ettől kismértékben el lehet térni, ill. más betűtípus használata is megengedett.
+
+Minden oldalon -- az első négy szerkezeti elem kivételével -- szerepelnie kell az oldalszámnak.
+
+A fejezeteket decimális beosztással kell ellátni. Az ábrákat a megfelelő helyre be kell illeszteni, fejezetenként decimális számmal és kifejező címmel kell ellátni. A fejezeteket decimális aláosztással számozzuk, maximálisan 3 aláosztás mélységben (pl. 2.3.4.1.). Az ábrákat, táblázatokat és képleteket célszerű fejezetenként külön számozni (pl. 2.4. ábra, 4.2. táblázat vagy képletnél (3.2)). A fejezetcímeket igazítsuk balra, a normál szövegnél viszont használjunk sorkiegyenlítést. Az ábrákat, táblázatokat és a hozzájuk tartozó címet igazítsuk középre. A cím a jelölt rész alatt helyezkedjen el.
+
+A képeket lehetőleg rajzoló programmal készítsék el, az egyenleteket egyenlet-szerkesztő segítségével írják le (A \LaTeX~ehhez kézenfekvő megoldásokat nyújt).
+
+Az irodalomjegyzék szövegközi hivatkozása történhet sorszámozva (ez a preferált megoldás) vagy a Harvard-rendszerben (a szerző és az évszám megadásával). A teljes lista névsor szerinti sorrendben a szöveg végén szerepeljen (sorszámozott irodalmi hivatkozások esetén hivatkozási sorrendben). A szakirodalmi források címeit azonban mindig az eredeti nyelven kell megadni, esetleg zárójelben a fordítással. A listában szereplő valamennyi publikációra hivatkozni kell a szövegben (a \LaTeX-sablon a Bib\TeX~segítségével mindezt automatikusan kezeli). Minden publikáció a szerzők után a következő adatok szerepelnek: folyóirat cikkeknél a pontos cím, a folyóirat címe, évfolyam, szám, oldalszám tól-ig. A folyóiratok címét csak akkor rövidítsük, ha azok nagyon közismertek vagy nagyon hosszúak. Internetes hivatkozások megadásakor fontos, hogy az elérési út előtt megadjuk az oldal tulajdonosát és tartalmát (mivel a link egy idő után akár elérhetetlenné is válhat), valamint az elérés időpontját.
+
+\vspace{5mm}
+Fontos:
+\begin{itemize}
+ \item A szakdolgozatkészítő / diplomatervező nyilatkozata (a jelen sablonban szereplő szövegtartalommal) kötelező előírás, Karunkon ennek hiányában a szakdolgozat/diplomaterv nem bírálható és nem védhető!
+ \item Mind a dolgozat, mind a melléklet maximálisan 15~MB méretű lehet!
+\end{itemize}
+
+\vspace{5mm}
+\begin{center}
+Jó munkát, sikeres szakdolgozatkészítést, ill. diplomatervezést kívánunk!
+\end{center}
+
+\normalsize
+\selectthesislanguage
diff --git a/projs/docs/thesis/common/includes/packages.tex b/projs/docs/thesis/common/includes/packages.tex
index 96971237..038a2c0c 100644
--- a/projs/docs/thesis/common/includes/packages.tex
+++ b/projs/docs/thesis/common/includes/packages.tex
@@ -1,67 +1,67 @@
-% thanks to http://tex.stackexchange.com/a/47579/71109
-\usepackage{ifxetex}
-\usepackage{ifluatex}
-\newif\ifxetexorluatex % a new conditional starts as false
-\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0
- \xetexorluatextrue
-\fi
-
-\ifxetexorluatex
- \usepackage{fontspec}
-\else
- \usepackage[T1]{fontenc}
- \usepackage[utf8]{inputenc}
- \usepackage[lighttt]{lmodern}
- \ttfamily\DeclareFontShape{T1}{lmtt}{m}{it}{<->sub*lmtt/m/sl}{}
-\fi
-
-\usepackage[english,magyar]{babel} % Alapértelmezés szerint utoljára definiált nyelv lesz aktív, de később külön beállítjuk az aktív nyelvet.
-
-\usepackage{emptypage} % omit page number on empty pages
-
-%\usepackage{cmap}
-\usepackage{amsfonts,amsmath,amssymb} % Mathematical symbols.
-%\usepackage[ruled,boxed,resetcount,linesnumbered]{algorithm2e} % For pseudocodes. % beware: this is not compatible with LuaLaTeX, see http://tex.stackexchange.com/questions/34814/lualatex-and-algorithm2e
-\usepackage{booktabs} % For publication quality tables for LaTeX
-\usepackage{graphicx}
-
-%\usepackage{fancyhdr}
-%\usepackage{lastpage}
-
-\usepackage{geometry}
-%\usepackage{sectsty}
-\usepackage{setspace} % For setting line spacing
-
-\usepackage[unicode]{hyperref} % For hyperlinks in the generated document.
-\usepackage{xcolor}
-\usepackage{listings} % For source code snippets.
-
-\usepackage[amsmath,thmmarks]{ntheorem} % Theorem-like environments.
-
-\usepackage[hang]{caption}
-
-\singlespacing
-
-\newcommand{\selecthungarian}{
- \selectlanguage{magyar}
- \setlength{\parindent}{2em}
- \setlength{\parskip}{0em}
- \frenchspacing
-}
-
-\newcommand{\selectenglish}{
- \selectlanguage{english}
- \setlength{\parindent}{0em}
- \setlength{\parskip}{0.5em}
- \nonfrenchspacing
- \renewcommand{\figureautorefname}{Figure}
- \renewcommand{\tableautorefname}{Table}
- \renewcommand{\partautorefname}{Part}
- \renewcommand{\chapterautorefname}{Chapter}
- \renewcommand{\sectionautorefname}{Section}
- \renewcommand{\subsectionautorefname}{Section}
- \renewcommand{\subsubsectionautorefname}{Section}
-}
-
-\usepackage[numbers]{natbib}
-\usepackage{xspace}
+% thanks to http://tex.stackexchange.com/a/47579/71109
+\usepackage{ifxetex}
+\usepackage{ifluatex}
+\newif\ifxetexorluatex % a new conditional starts as false
+\ifnum 0\ifxetex 1\fi\ifluatex 1\fi>0
+ \xetexorluatextrue
+\fi
+
+\ifxetexorluatex
+ \usepackage{fontspec}
+\else
+ \usepackage[T1]{fontenc}
+ \usepackage[utf8]{inputenc}
+ \usepackage[lighttt]{lmodern}
+ \ttfamily\DeclareFontShape{T1}{lmtt}{m}{it}{<->sub*lmtt/m/sl}{}
+\fi
+
+\usepackage[english,magyar]{babel} % Alapértelmezés szerint utoljára definiált nyelv lesz aktív, de később külön beállítjuk az aktív nyelvet.
+
+\usepackage{emptypage} % omit page number on empty pages
+
+%\usepackage{cmap}
+\usepackage{amsfonts,amsmath,amssymb} % Mathematical symbols.
+%\usepackage[ruled,boxed,resetcount,linesnumbered]{algorithm2e} % For pseudocodes. % beware: this is not compatible with LuaLaTeX, see http://tex.stackexchange.com/questions/34814/lualatex-and-algorithm2e
+\usepackage{booktabs} % For publication quality tables for LaTeX
+\usepackage{graphicx}
+
+%\usepackage{fancyhdr}
+%\usepackage{lastpage}
+
+\usepackage{geometry}
+%\usepackage{sectsty}
+\usepackage{setspace} % For setting line spacing
+
+\usepackage[unicode]{hyperref} % For hyperlinks in the generated document.
+\usepackage{xcolor}
+\usepackage{listings} % For source code snippets.
+
+\usepackage[amsmath,thmmarks]{ntheorem} % Theorem-like environments.
+
+\usepackage[hang]{caption}
+
+\singlespacing
+
+\newcommand{\selecthungarian}{
+ \selectlanguage{magyar}
+ \setlength{\parindent}{2em}
+ \setlength{\parskip}{0em}
+ \frenchspacing
+}
+
+\newcommand{\selectenglish}{
+ \selectlanguage{english}
+ \setlength{\parindent}{0em}
+ \setlength{\parskip}{0.5em}
+ \nonfrenchspacing
+ \renewcommand{\figureautorefname}{Figure}
+ \renewcommand{\tableautorefname}{Table}
+ \renewcommand{\partautorefname}{Part}
+ \renewcommand{\chapterautorefname}{Chapter}
+ \renewcommand{\sectionautorefname}{Section}
+ \renewcommand{\subsectionautorefname}{Section}
+ \renewcommand{\subsubsectionautorefname}{Section}
+}
+
+\usepackage[numbers]{natbib}
+\usepackage{xspace}
diff --git a/projs/docs/thesis/common/includes/preamble.tex b/projs/docs/thesis/common/includes/preamble.tex
index 863aabc0..b03292fe 100644
--- a/projs/docs/thesis/common/includes/preamble.tex
+++ b/projs/docs/thesis/common/includes/preamble.tex
@@ -1,120 +1,120 @@
-%--------------------------------------------------------------------------------------
-% Page layout setup
-%--------------------------------------------------------------------------------------
-% we need to redefine the pagestyle plain
-% another possibility is to use the body of this command without \fancypagestyle
-% and use \pagestyle{fancy} but in that case the special pages
-% (like the ToC, the References, and the Chapter pages)remain in plane style
-
-\pagestyle{plain}
-\geometry{inner=35mm, outer=25mm, top=28mm, bottom=25mm}
-
-\setcounter{tocdepth}{3}
-%\sectionfont{\large\upshape\bfseries}
-\setcounter{secnumdepth}{3}
-
-\sloppy % Margón túllógó sorok tiltása.
-\widowpenalty=10000 \clubpenalty=10000 %A fattyú- és árvasorok elkerülése
-\def\hyph{-\penalty0\hskip0pt\relax} % Kötőjeles szavak elválasztásának engedélyezése
-
-
-%--------------------------------------------------------------------------------------
-% Setup hyperref package
-%--------------------------------------------------------------------------------------
-\hypersetup{
- % bookmarks=true, % show bookmarks bar?
- unicode=true, % non-Latin characters in Acrobat's bookmarks
- pdftitle={\vikcim}, % title
- pdfauthor={\szerzoMeta}, % author
- pdfsubject={\vikdoktipus}, % subject of the document
- pdfcreator={\szerzoMeta}, % creator of the document
- pdfproducer={}, % producer of the document
- pdfkeywords={}, % list of keywords (separate then by comma)
- pdfnewwindow=true, % links in new window
- colorlinks=true, % false: boxed links; true: colored links
- linkcolor=black, % color of internal links
- citecolor=black, % color of links to bibliography
- filecolor=black, % color of file links
- urlcolor=black % color of external links
-}
-
-
-%--------------------------------------------------------------------------------------
-% Set up listings
-%--------------------------------------------------------------------------------------
-\definecolor{lightgray}{rgb}{0.95,0.95,0.95}
-\lstset{
- basicstyle=\scriptsize\ttfamily, % print whole listing small
- keywordstyle=\color{black}\bfseries, % bold black keywords
- identifierstyle=, % nothing happens
- % default behavior: comments in italic, to change use
- % commentstyle=\color{green}, % for e.g. green comments
- stringstyle=\scriptsize,
- showstringspaces=false, % no special string spaces
- aboveskip=3pt,
- belowskip=3pt,
- backgroundcolor=\color{lightgray},
- columns=flexible,
- keepspaces=true,
- escapeinside={(*@}{@*)},
- captionpos=b,
- breaklines=true,
- frame=single,
- float=!ht,
- tabsize=2,
- literate=*
- {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ö}{{\"o}}1 {ő}{{\H{o}}}1 {ú}{{\'u}}1 {ü}{{\"u}}1 {ű}{{\H{u}}}1
- {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ö}{{\"O}}1 {Ő}{{\H{O}}}1 {Ú}{{\'U}}1 {Ü}{{\"U}}1 {Ű}{{\H{U}}}1
-}
-
-
-%--------------------------------------------------------------------------------------
-% Set up theorem-like environments
-%--------------------------------------------------------------------------------------
-% Using ntheorem package -- see http://www.math.washington.edu/tex-archive/macros/latex/contrib/ntheorem/ntheorem.pdf
-
-\theoremstyle{plain}
-\theoremseparator{.}
-\newtheorem{example}{\pelda}
-
-\theoremseparator{.}
-%\theoremprework{\bigskip\hrule\medskip}
-%\theorempostwork{\hrule\bigskip}
-\theorembodyfont{\upshape}
-\theoremsymbol{{\large \ensuremath{\centerdot}}}
-\newtheorem{definition}{\definicio}
-
-\theoremseparator{.}
-%\theoremprework{\bigskip\hrule\medskip}
-%\theorempostwork{\hrule\bigskip}
-\newtheorem{theorem}{\tetel}
-
-
-%--------------------------------------------------------------------------------------
-% Some new commands and declarations
-%--------------------------------------------------------------------------------------
-\newcommand{\code}[1]{{\upshape\ttfamily\scriptsize\indent #1}}
-\newcommand{\doi}[1]{DOI: \href{http://dx.doi.org/\detokenize{#1}}{\raggedright{\texttt{\detokenize{#1}}}}} % A hivatkozások közt így könnyebb DOI-t megadni.
-
-\DeclareMathOperator*{\argmax}{arg\,max}
-%\DeclareMathOperator*[1]{\floor}{arg\,max}
-\DeclareMathOperator{\sign}{sgn}
-\DeclareMathOperator{\rot}{rot}
-
-
-%--------------------------------------------------------------------------------------
-% Setup captions
-%--------------------------------------------------------------------------------------
-\captionsetup[figure]{aboveskip=10pt}
-
-\renewcommand{\captionlabelfont}{\bf}
-%\renewcommand{\captionfont}{\footnotesize\it}
-
-%--------------------------------------------------------------------------------------
-% Hyphenation exceptions
-%--------------------------------------------------------------------------------------
-\hyphenation{Shakes-peare Mar-seilles ár-víz-tű-rő tü-kör-fú-ró-gép}
-
-
-\author{\vikszerzo}
-\title{\viktitle}
+%--------------------------------------------------------------------------------------
+% Page layout setup
+%--------------------------------------------------------------------------------------
+% we need to redefine the pagestyle plain
+% another possibility is to use the body of this command without \fancypagestyle
+% and use \pagestyle{fancy} but in that case the special pages
+% (like the ToC, the References, and the Chapter pages)remain in plane style
+
+\pagestyle{plain}
+\geometry{inner=35mm, outer=25mm, top=28mm, bottom=25mm}
+
+\setcounter{tocdepth}{3}
+%\sectionfont{\large\upshape\bfseries}
+\setcounter{secnumdepth}{3}
+
+\sloppy % Margón túllógó sorok tiltása.
+\widowpenalty=10000 \clubpenalty=10000 %A fattyú- és árvasorok elkerülése
+\def\hyph{-\penalty0\hskip0pt\relax} % Kötőjeles szavak elválasztásának engedélyezése
+
+
+%--------------------------------------------------------------------------------------
+% Setup hyperref package
+%--------------------------------------------------------------------------------------
+\hypersetup{
+ % bookmarks=true, % show bookmarks bar?
+ unicode=true, % non-Latin characters in Acrobat's bookmarks
+ pdftitle={\vikcim}, % title
+ pdfauthor={\szerzoMeta}, % author
+ pdfsubject={\vikdoktipus}, % subject of the document
+ pdfcreator={\szerzoMeta}, % creator of the document
+ pdfproducer={}, % producer of the document
+ pdfkeywords={}, % list of keywords (separate then by comma)
+ pdfnewwindow=true, % links in new window
+ colorlinks=true, % false: boxed links; true: colored links
+ linkcolor=black, % color of internal links
+ citecolor=black, % color of links to bibliography
+ filecolor=black, % color of file links
+ urlcolor=black % color of external links
+}
+
+
+%--------------------------------------------------------------------------------------
+% Set up listings
+%--------------------------------------------------------------------------------------
+\definecolor{lightgray}{rgb}{0.95,0.95,0.95}
+\lstset{
+ basicstyle=\scriptsize\ttfamily, % print whole listing small
+ keywordstyle=\color{black}\bfseries, % bold black keywords
+ identifierstyle=, % nothing happens
+ % default behavior: comments in italic, to change use
+ % commentstyle=\color{green}, % for e.g. green comments
+ stringstyle=\scriptsize,
+ showstringspaces=false, % no special string spaces
+ aboveskip=3pt,
+ belowskip=3pt,
+ backgroundcolor=\color{lightgray},
+ columns=flexible,
+ keepspaces=true,
+ escapeinside={(*@}{@*)},
+ captionpos=b,
+ breaklines=true,
+ frame=single,
+ float=!ht,
+ tabsize=2,
+ literate=*
+ {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ö}{{\"o}}1 {ő}{{\H{o}}}1 {ú}{{\'u}}1 {ü}{{\"u}}1 {ű}{{\H{u}}}1
+ {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ö}{{\"O}}1 {Ő}{{\H{O}}}1 {Ú}{{\'U}}1 {Ü}{{\"U}}1 {Ű}{{\H{U}}}1
+}
+
+
+%--------------------------------------------------------------------------------------
+% Set up theorem-like environments
+%--------------------------------------------------------------------------------------
+% Using ntheorem package -- see http://www.math.washington.edu/tex-archive/macros/latex/contrib/ntheorem/ntheorem.pdf
+
+\theoremstyle{plain}
+\theoremseparator{.}
+\newtheorem{example}{\pelda}
+
+\theoremseparator{.}
+%\theoremprework{\bigskip\hrule\medskip}
+%\theorempostwork{\hrule\bigskip}
+\theorembodyfont{\upshape}
+\theoremsymbol{{\large \ensuremath{\centerdot}}}
+\newtheorem{definition}{\definicio}
+
+\theoremseparator{.}
+%\theoremprework{\bigskip\hrule\medskip}
+%\theorempostwork{\hrule\bigskip}
+\newtheorem{theorem}{\tetel}
+
+
+%--------------------------------------------------------------------------------------
+% Some new commands and declarations
+%--------------------------------------------------------------------------------------
+\newcommand{\code}[1]{{\upshape\ttfamily\scriptsize\indent #1}}
+\newcommand{\doi}[1]{DOI: \href{http://dx.doi.org/\detokenize{#1}}{\raggedright{\texttt{\detokenize{#1}}}}} % A hivatkozások közt így könnyebb DOI-t megadni.
+
+\DeclareMathOperator*{\argmax}{arg\,max}
+%\DeclareMathOperator*[1]{\floor}{arg\,max}
+\DeclareMathOperator{\sign}{sgn}
+\DeclareMathOperator{\rot}{rot}
+
+
+%--------------------------------------------------------------------------------------
+% Setup captions
+%--------------------------------------------------------------------------------------
+\captionsetup[figure]{aboveskip=10pt}
+
+\renewcommand{\captionlabelfont}{\bf}
+%\renewcommand{\captionfont}{\footnotesize\it}
+
+%--------------------------------------------------------------------------------------
+% Hyphenation exceptions
+%--------------------------------------------------------------------------------------
+\hyphenation{Shakes-peare Mar-seilles ár-víz-tű-rő tü-kör-fú-ró-gép}
+
+
+\author{\vikszerzo}
+\title{\viktitle}
diff --git a/projs/docs/thesis/common/includes/project.tex b/projs/docs/thesis/common/includes/project.tex
index 313cc4ed..251eda78 100644
--- a/projs/docs/thesis/common/includes/project.tex
+++ b/projs/docs/thesis/common/includes/project.tex
@@ -1,10 +1,10 @@
-%--------------------------------------------------------------------------------------
-% Feladatkiiras (a tanszeken atveheto, kinyomtatott valtozat)
-%--------------------------------------------------------------------------------------
-\clearpage
-\begin{center}
-\large
-\textbf{FELADATKIÍRÁS}\\
-\end{center}
-
-A feladatkiírást a tanszéki adminisztrációban lehet átvenni, és a leadott munkába eredeti, tanszéki pecséttel ellátott és a tanszékvezető által aláírt lapot kell belefűzni (ezen oldal \emph{helyett}, ez az oldal csak útmutatás). Az elektronikusan feltöltött dolgozatban már nem kell beleszerkeszteni ezt a feladatkiírást.
+%--------------------------------------------------------------------------------------
+% Feladatkiiras (a tanszeken atveheto, kinyomtatott valtozat)
+%--------------------------------------------------------------------------------------
+\clearpage
+\begin{center}
+\large
+\textbf{FELADATKIÍRÁS}\\
+\end{center}
+
+A feladatkiírást a tanszéki adminisztrációban lehet átvenni, és a leadott munkába eredeti, tanszéki pecséttel ellátott és a tanszékvezető által aláírt lapot kell belefűzni (ezen oldal \emph{helyett}, ez az oldal csak útmutatás). Az elektronikusan feltöltött dolgozatban már nem kell beleszerkeszteni ezt a feladatkiírást.
diff --git a/projs/docs/thesis/common/includes/tdk-variables.tex b/projs/docs/thesis/common/includes/tdk-variables.tex
index 3408e12d..3f315598 100644
--- a/projs/docs/thesis/common/includes/tdk-variables.tex
+++ b/projs/docs/thesis/common/includes/tdk-variables.tex
@@ -1,11 +1,11 @@
-%--------------------------------------------------------------------------------------
-% TDK-specifikus változók
-%--------------------------------------------------------------------------------------
-\newcommand{\tdkszerzoB}{Második Szerző} % Második szerző neve; hagyd üresen, ha egyedül írtad a TDK-t.
-\newcommand{\tdkev}{2014} % A dolgozat írásának éve (pl. "2014") (Ez OTDK-nál eltérhet az aktuális évtől.)
-
-% További adatok az OTDK címlaphoz (BME-s TDK-hoz nem kell kitölteni)
-\newcommand{\tdkevfolyamA}{IV} % Első szerző évfolyama, római számmal (pl. IV).
-\newcommand{\tdkevfolyamB}{III} % Második szerző évfolyama, római számmal (pl. III).
-\newcommand{\tdkkonzulensbeosztasA}{egyetemi tanár} % Első konzulens beosztása (pl. egyetemi docens)
-\newcommand{\tdkkonzulensbeosztasB}{doktorandusz} % Második konzulens beosztása (pl. egyetemi docens)
+%--------------------------------------------------------------------------------------
+% TDK-specifikus változók
+%--------------------------------------------------------------------------------------
+\newcommand{\tdkszerzoB}{Második Szerző} % Második szerző neve; hagyd üresen, ha egyedül írtad a TDK-t.
+\newcommand{\tdkev}{2014} % A dolgozat írásának éve (pl. "2014") (Ez OTDK-nál eltérhet az aktuális évtől.)
+
+% További adatok az OTDK címlaphoz (BME-s TDK-hoz nem kell kitölteni)
+\newcommand{\tdkevfolyamA}{IV} % Első szerző évfolyama, római számmal (pl. IV).
+\newcommand{\tdkevfolyamB}{III} % Második szerző évfolyama, római számmal (pl. III).
+\newcommand{\tdkkonzulensbeosztasA}{egyetemi tanár} % Első konzulens beosztása (pl. egyetemi docens)
+\newcommand{\tdkkonzulensbeosztasB}{doktorandusz} % Második konzulens beosztása (pl. egyetemi docens)
diff --git a/projs/docs/thesis/common/includes/thesis-en.tex b/projs/docs/thesis/common/includes/thesis-en.tex
index c61650e3..6bb612e1 100644
--- a/projs/docs/thesis/common/includes/thesis-en.tex
+++ b/projs/docs/thesis/common/includes/thesis-en.tex
@@ -1,56 +1,56 @@
-%--------------------------------------------------------------------------------------
-% Elnevezések
-%--------------------------------------------------------------------------------------
-\newcommand{\bme}{Budapest University of Technology and Economics}
-\newcommand{\vik}{Faculty of Electrical Engineering and Informatics}
-
-\newcommand{\bmemit}{Department of Measurement and Information Systems}
-
-\newcommand{\keszitette}{Author}
-\newcommand{\konzulens}{Advisor}
-
-\newcommand{\bsc}{Bachelor's Thesis}
-\newcommand{\msc}{Master's Thesis}
-\newcommand{\tdk}{Scientific Students' Association Report}
-\newcommand{\bsconlab}{BSc Project Laboratory}
-\newcommand{\msconlabi}{MSc Project Laboratory 1}
-\newcommand{\msconlabii}{MSc Project Laboratory 2}
-
-\newcommand{\pelda}{Example}
-\newcommand{\definicio}{Definition}
-\newcommand{\tetel}{Theorem}
-
-\newcommand{\bevezetes}{Introduction}
-\newcommand{\koszonetnyilvanitas}{Acknowledgements}
-\newcommand{\fuggelek}{Appendix}
-
-% Optional custom titles
-%\addto\captionsenglish{%
-%\renewcommand*{\listfigurename}{Your list of figures title}
-%\renewcommand*{\listtablename}{Your list of tables title}
-%\renewcommand*{\bibname}{Your bibliography title}
-%}
-
-\newcommand{\szerzo}{\vikszerzoKeresztnev{} \vikszerzoVezeteknev}
-\newcommand{\vikkonzulensA}{\vikkonzulensAMegszolitas\vikkonzulensAKeresztnev{} \vikkonzulensAVezeteknev}
-\newcommand{\vikkonzulensB}{\vikkonzulensBMegszolitas\vikkonzulensBKeresztnev{} \vikkonzulensBVezeteknev}
-\newcommand{\vikkonzulensC}{\vikkonzulensCMegszolitas\vikkonzulensCKeresztnev{} \vikkonzulensCVezeteknev}
-
-\newcommand{\selectthesislanguage}{\selectenglish}
-
-\bibliographystyle{plainnat}
-
-\newcommand{\ie}{i.e.\@\xspace}
-\newcommand{\Ie}{I.e.\@\xspace}
-\newcommand{\eg}{e.g.\@\xspace}
-\newcommand{\Eg}{E.g.\@\xspace}
-\newcommand{\etal}{et al.\@\xspace}
-\newcommand{\etc}{etc.\@\xspace}
-\newcommand{\vs}{vs.\@\xspace}
-\newcommand{\viz}{viz.\@\xspace} % videlicet
-\newcommand{\cf}{cf.\@\xspace} % confer
-\newcommand{\Cf}{Cf.\@\xspace}
-\newcommand{\wrt}{w.r.t.\@\xspace} % with respect to
-\newcommand{\approximately}{approx.\@\xspace}
-
-\newcommand{\appendixnumber}{1} % a fofejezet-szamlalo az angol ABC 1. betuje (A) lesz
+%--------------------------------------------------------------------------------------
+% Elnevezések
+%--------------------------------------------------------------------------------------
+\newcommand{\bme}{Budapest University of Technology and Economics}
+\newcommand{\vik}{Faculty of Electrical Engineering and Informatics}
+
+\newcommand{\bmemit}{Department of Measurement and Information Systems}
+
+\newcommand{\keszitette}{Author}
+\newcommand{\konzulens}{Advisor}
+
+\newcommand{\bsc}{Bachelor's Thesis}
+\newcommand{\msc}{Master's Thesis}
+\newcommand{\tdk}{Scientific Students' Association Report}
+\newcommand{\bsconlab}{BSc Project Laboratory}
+\newcommand{\msconlabi}{MSc Project Laboratory 1}
+\newcommand{\msconlabii}{MSc Project Laboratory 2}
+
+\newcommand{\pelda}{Example}
+\newcommand{\definicio}{Definition}
+\newcommand{\tetel}{Theorem}
+
+\newcommand{\bevezetes}{Introduction}
+\newcommand{\koszonetnyilvanitas}{Acknowledgements}
+\newcommand{\fuggelek}{Appendix}
+
+% Optional custom titles
+%\addto\captionsenglish{%
+%\renewcommand*{\listfigurename}{Your list of figures title}
+%\renewcommand*{\listtablename}{Your list of tables title}
+%\renewcommand*{\bibname}{Your bibliography title}
+%}
+
+\newcommand{\szerzo}{\vikszerzoKeresztnev{} \vikszerzoVezeteknev}
+\newcommand{\vikkonzulensA}{\vikkonzulensAMegszolitas\vikkonzulensAKeresztnev{} \vikkonzulensAVezeteknev}
+\newcommand{\vikkonzulensB}{\vikkonzulensBMegszolitas\vikkonzulensBKeresztnev{} \vikkonzulensBVezeteknev}
+\newcommand{\vikkonzulensC}{\vikkonzulensCMegszolitas\vikkonzulensCKeresztnev{} \vikkonzulensCVezeteknev}
+
+\newcommand{\selectthesislanguage}{\selectenglish}
+
+\bibliographystyle{plainnat}
+
+\newcommand{\ie}{i.e.\@\xspace}
+\newcommand{\Ie}{I.e.\@\xspace}
+\newcommand{\eg}{e.g.\@\xspace}
+\newcommand{\Eg}{E.g.\@\xspace}
+\newcommand{\etal}{et al.\@\xspace}
+\newcommand{\etc}{etc.\@\xspace}
+\newcommand{\vs}{vs.\@\xspace}
+\newcommand{\viz}{viz.\@\xspace} % videlicet
+\newcommand{\cf}{cf.\@\xspace} % confer
+\newcommand{\Cf}{Cf.\@\xspace}
+\newcommand{\wrt}{w.r.t.\@\xspace} % with respect to
+\newcommand{\approximately}{approx.\@\xspace}
+
+\newcommand{\appendixnumber}{1} % a fofejezet-szamlalo az angol ABC 1. betuje (A) lesz
diff --git a/projs/docs/thesis/common/includes/thesis-hu.tex b/projs/docs/thesis/common/includes/thesis-hu.tex
index c6b728a6..8fb483eb 100644
--- a/projs/docs/thesis/common/includes/thesis-hu.tex
+++ b/projs/docs/thesis/common/includes/thesis-hu.tex
@@ -1,45 +1,45 @@
-%--------------------------------------------------------------------------------------
-% Elnevezések
-%--------------------------------------------------------------------------------------
-\newcommand{\bme}{Budapesti Műszaki és Gazdaságtudományi Egyetem}
-\newcommand{\vik}{Villamosmérnöki és Informatikai Kar}
-
-\newcommand{\bmemit}{Méréstechnika és Információs Rendszerek Tanszék}
-
-\newcommand{\keszitette}{Készítette}
-\newcommand{\konzulens}{Konzulens}
-
-\newcommand{\bsc}{Szakdolgozat}
-\newcommand{\msc}{Diplomaterv}
-\newcommand{\tdk}{TDK dolgozat}
-\newcommand{\bsconlab}{BSc Önálló laboratórium}
-\newcommand{\msconlabi}{MSc Önálló laboratórium 1.}
-\newcommand{\msconlabii}{MSc Önálló laboratórium 2.}
-
-\newcommand{\pelda}{Példa}
-\newcommand{\definicio}{Definíció}
-\newcommand{\tetel}{Tétel}
-
-\newcommand{\bevezetes}{Bevezetés}
-\newcommand{\koszonetnyilvanitas}{Köszönetnyilvánítás}
-\newcommand{\fuggelek}{Függelék}
-
-% Opcionálisan átnevezhető címek
-%\addto\captionsmagyar{%
-%\renewcommand{\listfigurename}{Saját ábrajegyzék cím}
-%\renewcommand{\listtablename}{Saját táblázatjegyzék cím}
-%\renewcommand{\bibname}{Saját irodalomjegyzék név}
-%}
-
-\newcommand{\szerzo}{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}
-\newcommand{\vikkonzulensA}{\vikkonzulensAMegszolitas\vikkonzulensAVezeteknev{} \vikkonzulensAKeresztnev}
-\newcommand{\vikkonzulensB}{\vikkonzulensBMegszolitas\vikkonzulensBVezeteknev{} \vikkonzulensBKeresztnev}
-\newcommand{\vikkonzulensC}{\vikkonzulensCMegszolitas\vikkonzulensCVezeteknev{} \vikkonzulensCKeresztnev}
-
-\newcommand{\selectthesislanguage}{\selecthungarian}
-
-\bibliographystyle{huplain}
-
-\def\lstlistingname{lista}
-
-\newcommand{\appendixnumber}{6} % a fofejezet-szamlalo az angol ABC 6. betuje (F) lesz
+%--------------------------------------------------------------------------------------
+% Elnevezések
+%--------------------------------------------------------------------------------------
+\newcommand{\bme}{Budapesti Műszaki és Gazdaságtudományi Egyetem}
+\newcommand{\vik}{Villamosmérnöki és Informatikai Kar}
+
+\newcommand{\bmemit}{Méréstechnika és Információs Rendszerek Tanszék}
+
+\newcommand{\keszitette}{Készítette}
+\newcommand{\konzulens}{Konzulens}
+
+\newcommand{\bsc}{Szakdolgozat}
+\newcommand{\msc}{Diplomaterv}
+\newcommand{\tdk}{TDK dolgozat}
+\newcommand{\bsconlab}{BSc Önálló laboratórium}
+\newcommand{\msconlabi}{MSc Önálló laboratórium 1.}
+\newcommand{\msconlabii}{MSc Önálló laboratórium 2.}
+
+\newcommand{\pelda}{Példa}
+\newcommand{\definicio}{Definíció}
+\newcommand{\tetel}{Tétel}
+
+\newcommand{\bevezetes}{Bevezetés}
+\newcommand{\koszonetnyilvanitas}{Köszönetnyilvánítás}
+\newcommand{\fuggelek}{Függelék}
+
+% Opcionálisan átnevezhető címek
+%\addto\captionsmagyar{%
+%\renewcommand{\listfigurename}{Saját ábrajegyzék cím}
+%\renewcommand{\listtablename}{Saját táblázatjegyzék cím}
+%\renewcommand{\bibname}{Saját irodalomjegyzék név}
+%}
+
+\newcommand{\szerzo}{\vikszerzoVezeteknev{} \vikszerzoKeresztnev}
+\newcommand{\vikkonzulensA}{\vikkonzulensAMegszolitas\vikkonzulensAVezeteknev{} \vikkonzulensAKeresztnev}
+\newcommand{\vikkonzulensB}{\vikkonzulensBMegszolitas\vikkonzulensBVezeteknev{} \vikkonzulensBKeresztnev}
+\newcommand{\vikkonzulensC}{\vikkonzulensCMegszolitas\vikkonzulensCVezeteknev{} \vikkonzulensCKeresztnev}
+
+\newcommand{\selectthesislanguage}{\selecthungarian}
+
+\bibliographystyle{huplain}
+
+\def\lstlistingname{lista}
+
+\newcommand{\appendixnumber}{6} % a fofejezet-szamlalo az angol ABC 6. betuje (F) lesz
diff --git a/projs/docs/thesis/common/includes/titlepage-otdk.tex b/projs/docs/thesis/common/includes/titlepage-otdk.tex
index 54ecb054..d8cfacdb 100644
--- a/projs/docs/thesis/common/includes/titlepage-otdk.tex
+++ b/projs/docs/thesis/common/includes/titlepage-otdk.tex
@@ -1,58 +1,58 @@
-%% OTDK külső címlap
-\begin{titlepage}
- $\;$
- \vspace{5cm}
-
- \begin{center}
- \Huge
- \textbf{TDK-dolgozat}\let\thefootnote\relax\footnote{A dolgozat bemutatását a XXXXXXXXX ``Lorem ipsum dolor sit amet'' című program támogatta.}
- \end{center}
-
- \vspace{13cm}
-
- \Large
- \hspace{8cm} \szerzo
-
- \hspace{8cm} \tdkszerzoB
-
- \hspace{8cm} \tdkev.
-\end{titlepage}
-
-\newpage
-\thispagestyle{empty}
-
-
-%% OTDK belső címlap
-\begin{titlepage}
- \begin{center}
- \includegraphics[width=7cm]{./figures/bme_logo.pdf}
- \vspace{0.3cm}
-
- \bme \\
- \vik \\
- \viktanszek \\
- \vspace{3.5cm}
-
- \huge {\vikcim}
- \vspace{1.5cm}
-
- \large {\textbf{\vikdoktipus}}
- \vfill
-
- {\Large
- {\large \keszitette:} \\ \vspace{0.2cm}
- \szerzo \\ \tdkevfolyamA. évfolyam \\
- \vspace{0.5cm}
- \tdkszerzoB \\ \tdkevfolyamB. évfolyam \\
- \vspace{1.5cm}
- {\large \konzulens:} \\ \vspace{0.2cm}
- \vikkonzulensA,\\ \tdkkonzulensbeosztasA \\
- \vspace{0.5cm}
- \vikkonzulensB,\\ \tdkkonzulensbeosztasB \\
- }
-
- \vspace{2cm}
- \large {\tdkev.}
-
- \end{center}
+%% OTDK külső címlap
+\begin{titlepage}
+ $\;$
+ \vspace{5cm}
+
+ \begin{center}
+ \Huge
+ \textbf{TDK-dolgozat}\let\thefootnote\relax\footnote{A dolgozat bemutatását a XXXXXXXXX ``Lorem ipsum dolor sit amet'' című program támogatta.}
+ \end{center}
+
+ \vspace{13cm}
+
+ \Large
+ \hspace{8cm} \szerzo
+
+ \hspace{8cm} \tdkszerzoB
+
+ \hspace{8cm} \tdkev.
+\end{titlepage}
+
+\newpage
+\thispagestyle{empty}
+
+
+%% OTDK belső címlap
+\begin{titlepage}
+ \begin{center}
+ \includegraphics[width=7cm]{./figures/bme_logo.pdf}
+ \vspace{0.3cm}
+
+ \bme \\
+ \vik \\
+ \viktanszek \\
+ \vspace{3.5cm}
+
+ \huge {\vikcim}
+ \vspace{1.5cm}
+
+ \large {\textbf{\vikdoktipus}}
+ \vfill
+
+ {\Large
+ {\large \keszitette:} \\ \vspace{0.2cm}
+ \szerzo \\ \tdkevfolyamA. évfolyam \\
+ \vspace{0.5cm}
+ \tdkszerzoB \\ \tdkevfolyamB. évfolyam \\
+ \vspace{1.5cm}
+ {\large \konzulens:} \\ \vspace{0.2cm}
+ \vikkonzulensA,\\ \tdkkonzulensbeosztasA \\
+ \vspace{0.5cm}
+ \vikkonzulensB,\\ \tdkkonzulensbeosztasB \\
+ }
+
+ \vspace{2cm}
+ \large {\tdkev.}
+
+ \end{center}
\end{titlepage}
\ No newline at end of file
diff --git a/projs/docs/thesis/common/includes/titlepage-tdk.tex b/projs/docs/thesis/common/includes/titlepage-tdk.tex
index fdd3bb3f..f20e78e1 100644
--- a/projs/docs/thesis/common/includes/titlepage-tdk.tex
+++ b/projs/docs/thesis/common/includes/titlepage-tdk.tex
@@ -1,32 +1,32 @@
-%% TDK címlap
-\begin{titlepage}
- \begin{center}
- \includegraphics[width=7cm]{./figures/bme_logo.pdf}
- \vspace{0.3cm}
-
- \bme \\
- \vik \\
- \viktanszek \\
- \vspace{5cm}
-
- \huge {\vikcim}
- \vspace{1.5cm}
-
- \large {\textbf{\tdk}}
- \vfill
-
- {\Large
- \keszitette: \\ \vspace{0.3cm}
- \szerzo \\
- \tdkszerzoB \\
- \vspace{1.5cm}
- \konzulens: \\ \vspace{0.3cm}
- \vikkonzulensA \\
- \vikkonzulensB \\
- }
-
- \vspace{2cm}
- \large {\tdkev}
- \end{center}
-\end{titlepage}
-%% Címlap vége
+%% TDK címlap
+\begin{titlepage}
+ \begin{center}
+ \includegraphics[width=7cm]{./figures/bme_logo.pdf}
+ \vspace{0.3cm}
+
+ \bme \\
+ \vik \\
+ \viktanszek \\
+ \vspace{5cm}
+
+ \huge {\vikcim}
+ \vspace{1.5cm}
+
+ \large {\textbf{\tdk}}
+ \vfill
+
+ {\Large
+ \keszitette: \\ \vspace{0.3cm}
+ \szerzo \\
+ \tdkszerzoB \\
+ \vspace{1.5cm}
+ \konzulens: \\ \vspace{0.3cm}
+ \vikkonzulensA \\
+ \vikkonzulensB \\
+ }
+
+ \vspace{2cm}
+ \large {\tdkev}
+ \end{center}
+\end{titlepage}
+%% Címlap vége
diff --git a/projs/docs/thesis/common/includes/titlepage.tex b/projs/docs/thesis/common/includes/titlepage.tex
index b7835dd7..0a996d31 100644
--- a/projs/docs/thesis/common/includes/titlepage.tex
+++ b/projs/docs/thesis/common/includes/titlepage.tex
@@ -1,33 +1,33 @@
-\hypersetup{pageanchor=false}
-%--------------------------------------------------------------------------------------
-% The title page
-%--------------------------------------------------------------------------------------
-\begin{titlepage}
-\begin{center}
-\includegraphics[width=60mm,keepaspectratio]{figures/bme_logo.pdf}\\
-\vspace{0.3cm}
-\textbf{\bme}\\
-\textmd{\vik}\\
-\textmd{\viktanszek}\\[5cm]
-
-\vspace{0.4cm}
-{\huge \bfseries \vikcim}\\[0.8cm]
-\vspace{0.5cm}
-\textsc{\Large \vikdoktipus}\\[4cm]
-
-{
- \renewcommand{\arraystretch}{0.85}
- \begin{tabular}{cc}
- \makebox[7cm]{\emph{\keszitette}} & \makebox[7cm]{\emph{\konzulens}} \\ \noalign{\smallskip}
- \makebox[7cm]{\szerzo} & \makebox[7cm]{\vikkonzulensA} \\
- & \makebox[7cm]{\vikkonzulensB} \\
- & \makebox[7cm]{\vikkonzulensC} \\
- \end{tabular}
-}
-
-\vfill
-{\large \today}
-\end{center}
-\end{titlepage}
-\hypersetup{pageanchor=false}
-
+\hypersetup{pageanchor=false}
+%--------------------------------------------------------------------------------------
+% The title page
+%--------------------------------------------------------------------------------------
+\begin{titlepage}
+\begin{center}
+\includegraphics[width=60mm,keepaspectratio]{figures/bme_logo.pdf}\\
+\vspace{0.3cm}
+\textbf{\bme}\\
+\textmd{\vik}\\
+\textmd{\viktanszek}\\[5cm]
+
+\vspace{0.4cm}
+{\huge \bfseries \vikcim}\\[0.8cm]
+\vspace{0.5cm}
+\textsc{\Large \vikdoktipus}\\[4cm]
+
+{
+ \renewcommand{\arraystretch}{0.85}
+ \begin{tabular}{cc}
+ \makebox[7cm]{\emph{\keszitette}} & \makebox[7cm]{\emph{\konzulens}} \\ \noalign{\smallskip}
+ \makebox[7cm]{\szerzo} & \makebox[7cm]{\vikkonzulensA} \\
+ & \makebox[7cm]{\vikkonzulensB} \\
+ & \makebox[7cm]{\vikkonzulensC} \\
+ \end{tabular}
+}
+
+\vfill
+{\large \today}
+\end{center}
+\end{titlepage}
+\hypersetup{pageanchor=false}
+
diff --git a/projs/docs/thesis/plan/src/bib/mybib.bib b/projs/docs/thesis/plan/src/bib/mybib.bib
index b413396c..f2fa78f5 100644
--- a/projs/docs/thesis/plan/src/bib/mybib.bib
+++ b/projs/docs/thesis/plan/src/bib/mybib.bib
@@ -1,79 +1,79 @@
-@book{Wettl04,
- author = {Ferenc Wettl and Gyula Mayer and Péter Szabó},
- publisher = {Panem Könyvkiadó},
- title = {\LaTeX~kézikönyv},
- year = {2004},
-}
-
-@article{Candy86,
- author = {James C. Candy},
- journaltitle = {{IEEE} Trans.\ on Communications},
- month = {01},
- note = {\doi{10.1109/TCOM.1986.1096432}},
- number = {1},
- pages = {72--76},
- title = {Decimation for Sigma Delta Modulation},
- volume = {34},
- year = {1986},
-}
-
-@inproceedings{Lee87,
- author = {Wai L. Lee and Charles G. Sodini},
- booktitle = {Proc.\ of the IEEE International Symposium on Circuits and Systems},
- location = {Philadelphia, PA, USA},
- month = {05~4--7},
- pages = {459--462},
- title = {A Topology for Higher Order Interpolative Coders},
- vol = {2},
- year = {1987},
-}
-
-@thesis{KissPhD,
- author = {Peter Kiss},
- institution = {Technical University of Timi\c{s}oara, Romania},
- month = {04},
- title = {Adaptive Digital Compensation of Analog Circuit Imperfections for Cascaded Delta-Sigma Analog-to-Digital Converters},
- type = {phdthesis},
- year = {2000},
-}
-
-@manual{Schreier00,
- author = {Richard Schreier},
- month = {01},
- note = {\url{http://www.mathworks.com/matlabcentral/fileexchange/}},
- organization = {Oregon State University},
- title = {The Delta-Sigma Toolbox v5.2},
- year = {2000},
-}
-
-@misc{DipPortal,
- author = {{Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar}},
- howpublished = {\url{http://diplomaterv.vik.bme.hu/}},
- title = {Diplomaterv portál (2011. február 26.)},
-}
-
-@incollection{Mkrtychev:1997,
- author = {Mkrtychev, Alexey},
- booktitle = {Logical Foundations of Computer Science},
- doi = {10.1007/3-540-63045-7_27},
- editor = {Adian, Sergei and Nerode, Anil},
- isbn = {978-3-540-63045-6},
- pages = {266-275},
- publisher = {Springer Berlin Heidelberg},
- series = {Lecture Notes in Computer Science},
- title = {Models for the logic of proofs},
- url = {http://dx.doi.org/10.1007/3-540-63045-7_27},
- volume = {1234},
- year = {1997},
-}
-
-@report{Jeney,
- author = {Jeney, Gábor},
- institution = {Budapesti Műszaki és Gazdaságtudományi Egyetem, Híradástechnikai Tanszék},
- location = {Budapest},
- note = {\url{http://www.mcl.hu/~jeneyg/kinezet.pdf}},
- title = {Hogyan néz ki egy igényes dokumentum? {N}éhány szóban az alapvető tipográfiai szabályokról},
- type = {techreport},
- year = {2014},
-}
-
+@book{Wettl04,
+ author = {Ferenc Wettl and Gyula Mayer and Péter Szabó},
+ publisher = {Panem Könyvkiadó},
+ title = {\LaTeX~kézikönyv},
+ year = {2004},
+}
+
+@article{Candy86,
+ author = {James C. Candy},
+ journaltitle = {{IEEE} Trans.\ on Communications},
+ month = {01},
+ note = {\doi{10.1109/TCOM.1986.1096432}},
+ number = {1},
+ pages = {72--76},
+ title = {Decimation for Sigma Delta Modulation},
+ volume = {34},
+ year = {1986},
+}
+
+@inproceedings{Lee87,
+ author = {Wai L. Lee and Charles G. Sodini},
+ booktitle = {Proc.\ of the IEEE International Symposium on Circuits and Systems},
+ location = {Philadelphia, PA, USA},
+ month = {05~4--7},
+ pages = {459--462},
+ title = {A Topology for Higher Order Interpolative Coders},
+ vol = {2},
+ year = {1987},
+}
+
+@thesis{KissPhD,
+ author = {Peter Kiss},
+ institution = {Technical University of Timi\c{s}oara, Romania},
+ month = {04},
+ title = {Adaptive Digital Compensation of Analog Circuit Imperfections for Cascaded Delta-Sigma Analog-to-Digital Converters},
+ type = {phdthesis},
+ year = {2000},
+}
+
+@manual{Schreier00,
+ author = {Richard Schreier},
+ month = {01},
+ note = {\url{http://www.mathworks.com/matlabcentral/fileexchange/}},
+ organization = {Oregon State University},
+ title = {The Delta-Sigma Toolbox v5.2},
+ year = {2000},
+}
+
+@misc{DipPortal,
+ author = {{Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar}},
+ howpublished = {\url{http://diplomaterv.vik.bme.hu/}},
+ title = {Diplomaterv portál (2011. február 26.)},
+}
+
+@incollection{Mkrtychev:1997,
+ author = {Mkrtychev, Alexey},
+ booktitle = {Logical Foundations of Computer Science},
+ doi = {10.1007/3-540-63045-7_27},
+ editor = {Adian, Sergei and Nerode, Anil},
+ isbn = {978-3-540-63045-6},
+ pages = {266-275},
+ publisher = {Springer Berlin Heidelberg},
+ series = {Lecture Notes in Computer Science},
+ title = {Models for the logic of proofs},
+ url = {http://dx.doi.org/10.1007/3-540-63045-7_27},
+ volume = {1234},
+ year = {1997},
+}
+
+@report{Jeney,
+ author = {Jeney, Gábor},
+ institution = {Budapesti Műszaki és Gazdaságtudományi Egyetem, Híradástechnikai Tanszék},
+ location = {Budapest},
+ note = {\url{http://www.mcl.hu/~jeneyg/kinezet.pdf}},
+ title = {Hogyan néz ki egy igényes dokumentum? {N}éhány szóban az alapvető tipográfiai szabályokról},
+ type = {techreport},
+ year = {2014},
+}
+
diff --git a/projs/docs/thesis/plan/src/content/description.tex b/projs/docs/thesis/plan/src/content/description.tex
index 41bc0cb5..3d46b236 100644
--- a/projs/docs/thesis/plan/src/content/description.tex
+++ b/projs/docs/thesis/plan/src/content/description.tex
@@ -1,47 +1,47 @@
-\chapter{Disclaimer}
-
-This document only describes the ideas that I plan to explore in my thesis.
-This is not the final project description for the thesis.
-
-\chapter{Overview}
-
-The idea behind the project is to establish the base for a game engine.
-What this means is that the end product is not something that can compete with the likes of Unity and Unreal engine.
-The goal is to lay the foundation for something that could compete in the future.
-This means that the project will need to make crutial decisions on what frameworks libraries to use, and how the core of the engine should be architected.
-
-The planned engine is the spiritual successor to my old engine called ShadowEngine.
-This means that some parts of the old codebase will be used but every line will have to be rigorously checked.
-This project is not a one person project, I'm planning on involving friends of mine. My responsibilities and the code that I write will constitute as the thesis.
-
-\section{Technical information}
-The project will be mainly written in C++, but some higher level functionality might be implemented in C# For windowing and interacting with the OS it will use SDL2.
-The rendering API is going to be Vulkan.
-Our main focus initially is Windows both for development and for running, as that is what all planned participants have access to.
-
-\chapter{Main tasks}
-\section{Build system}
-The first question that needs decision for the project is what build system to use.
-There are many different C++ build systems. The most common is Cmake and MSBuild. These are both quite capable.
-\subsection{Cmake}
-Cmake is an old powerful build system. it is capable of building almost anything. It is a generator for make files witch are even older.
-Make files and in turn Cmake is highly organized around the actual compilation commands that get run in the end.
-This makes them harder to configure.
-(Magical strings and bad docs)
-
-\subsection{MSbuild}
-MSbuild is Microsoft's build system, it is quite powerful and has really good integration with Visual Studio.
-It is also capable of integrating C# projects to the same workspace.
-Sadly MSbuild can only build C++ on Windows witch means we can't support other platforms in the future.
-MSbuild is also not supported by other IDEs like Clion meaning it would be a total vendor lock in.
-
-\subsection{Bazel}
-Bazel is a little known build system as it is mostly used by large projects.
-It was developed for Google's internal repository, as they keep all of their code in a single monolithic repository.
-This means the Bazel is capable of building basically any language (C/C++, Java C# JS/TS, etc.).
-Bazel is also capable of managing project dependencies without using Git Submodules.
-
-\subsection{Decision}
-After trying both Msbuild and Bazel the decision was to use Bazel.
-Sadly the Clion Bazel plugin has problems on windows,
+\chapter{Disclaimer}
+
+This document only describes the ideas that I plan to explore in my thesis.
+This is not the final project description for the thesis.
+
+\chapter{Overview}
+
+The idea behind the project is to establish the base for a game engine.
+What this means is that the end product is not something that can compete with the likes of Unity and Unreal engine.
+The goal is to lay the foundation for something that could compete in the future.
+This means that the project will need to make crutial decisions on what frameworks libraries to use, and how the core of the engine should be architected.
+
+The planned engine is the spiritual successor to my old engine called ShadowEngine.
+This means that some parts of the old codebase will be used but every line will have to be rigorously checked.
+This project is not a one person project, I'm planning on involving friends of mine. My responsibilities and the code that I write will constitute as the thesis.
+
+\section{Technical information}
+The project will be mainly written in C++, but some higher level functionality might be implemented in C# For windowing and interacting with the OS it will use SDL2.
+The rendering API is going to be Vulkan.
+Our main focus initially is Windows both for development and for running, as that is what all planned participants have access to.
+
+\chapter{Main tasks}
+\section{Build system}
+The first question that needs decision for the project is what build system to use.
+There are many different C++ build systems. The most common is Cmake and MSBuild. These are both quite capable.
+\subsection{Cmake}
+Cmake is an old powerful build system. it is capable of building almost anything. It is a generator for make files witch are even older.
+Make files and in turn Cmake is highly organized around the actual compilation commands that get run in the end.
+This makes them harder to configure.
+(Magical strings and bad docs)
+
+\subsection{MSbuild}
+MSbuild is Microsoft's build system, it is quite powerful and has really good integration with Visual Studio.
+It is also capable of integrating C# projects to the same workspace.
+Sadly MSbuild can only build C++ on Windows witch means we can't support other platforms in the future.
+MSbuild is also not supported by other IDEs like Clion meaning it would be a total vendor lock in.
+
+\subsection{Bazel}
+Bazel is a little known build system as it is mostly used by large projects.
+It was developed for Google's internal repository, as they keep all of their code in a single monolithic repository.
+This means the Bazel is capable of building basically any language (C/C++, Java C# JS/TS, etc.).
+Bazel is also capable of managing project dependencies without using Git Submodules.
+
+\subsection{Decision}
+After trying both Msbuild and Bazel the decision was to use Bazel.
+Sadly the Clion Bazel plugin has problems on windows,
but theses might be fixable with a few PRs or just shipping our own version of the plugin, as it is available on Github
\ No newline at end of file
diff --git a/projs/docs/thesis/plan/src/main.tex b/projs/docs/thesis/plan/src/main.tex
index 70f50e0a..0944ddaf 100644
--- a/projs/docs/thesis/plan/src/main.tex
+++ b/projs/docs/thesis/plan/src/main.tex
@@ -1,99 +1,99 @@
-\documentclass[11pt,a4paper,oneside]{report} % Single-side
-%\documentclass[11pt,a4paper,twoside,openright]{report} % Duplex
-
-\input{includes/packages}
-
-%TODO Set the main variables
-\newcommand{\vikszerzoVezeteknev}{Gipsz}
-\newcommand{\vikszerzoKeresztnev}{Jakab}
-
-\newcommand{\vikkonzulensAMegszolitas}{dr.~}
-\newcommand{\vikkonzulensAVezeteknev}{Konzulens}
-\newcommand{\vikkonzulensAKeresztnev}{Egy}
-
-\newcommand{\vikkonzulensBMegszolitas}{}
-\newcommand{\vikkonzulensBVezeteknev}{Konzulens}
-\newcommand{\vikkonzulensBKeresztnev}{Kettő}
-
-\newcommand{\vikkonzulensCMegszolitas}{}
-\newcommand{\vikkonzulensCVezeteknev}{}
-\newcommand{\vikkonzulensCKeresztnev}{}
-
-\newcommand{\vikcim}{Shadow game engine} % Cím
-\newcommand{\viktanszek}{\bmemit} % Tanszék
-\newcommand{\vikdoktipus}{\bsc} % Dokumentum típusa (\bsc vagy \msc)
-\newcommand{\vikmunkatipusat}{szakdolgozatot} % a "hallgató nyilatkozat" részhez: szakdolgozatot vagy diplomatervet
-
-\input{includes/tdk-variables}
-\newcommand{\szerzoMeta}{\vikszerzoVezeteknev{} \vikszerzoKeresztnev} % egy szerző esetén
-%\newcommand{\szerzoMeta}{\vikszerzoVezeteknev{} \vikszerzoKeresztnev, \tdkszerzoB} % két szerző esetén
-
-%TODO Language configuration -- choose one
-% Beállítások magyar nyelvű dolgozathoz
-%\input{includes/thesis-hu}
-% Settings for English documents
-\input{includes/thesis-en}
-
-\input{includes/preamble}
-
-%--------------------------------------------------------------------------------------
-% Table of contents and the main text
-%--------------------------------------------------------------------------------------
-\begin{document}
-
-\pagenumbering{gobble}
-
-\selectthesislanguage
-
-%TODO Titlepage -- choose one from below
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-\include{includes/titlepage} % Szakdolgozat/Diplomaterv címlap
-%\include{include/titlepage-tdk} % TDK címlap
-%\include{include/titlepage-otdk} % OTDK címlap
-
-
-% Table of Contents
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-\tableofcontents\cleardoublepage
-
-
-% Declaration and Abstract
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-\include{includes/declaration} %TODO Hallgatói nyilatkozat -- TDK és OTDK esetén törlendő!
-%\include{content/abstract} %TODO Összefoglaló -- TDK és OTDK esetén nem kötelező
-
-
-% The main part of the thesis
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-\pagenumbering{arabic}
-
-%TODO import your own content
-\include{content/description}
-%\include{content/latex-tools}
-%\include{content/thesis-format}
-%\include{content/template-usage}
-
-
-% Acknowledgements
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%\include{content/acknowledgement}
-
-
-% List of Figures, Tables
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%\listoffigures\addcontentsline{toc}{chapter}{\listfigurename}
-%\listoftables\addcontentsline{toc}{chapter}{\listtablename}
-
-
-% Bibliography
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%\addcontentsline{toc}{chapter}{\bibname}
-%\bibliography{bib/mybib}
-
-
-% Appendix
-%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%\include{content/appendices}
-
-%\label{page:last}
-\end{document}
+\documentclass[11pt,a4paper,oneside]{report} % Single-side
+%\documentclass[11pt,a4paper,twoside,openright]{report} % Duplex
+
+\input{includes/packages}
+
+%TODO Set the main variables
+\newcommand{\vikszerzoVezeteknev}{Gipsz}
+\newcommand{\vikszerzoKeresztnev}{Jakab}
+
+\newcommand{\vikkonzulensAMegszolitas}{dr.~}
+\newcommand{\vikkonzulensAVezeteknev}{Konzulens}
+\newcommand{\vikkonzulensAKeresztnev}{Egy}
+
+\newcommand{\vikkonzulensBMegszolitas}{}
+\newcommand{\vikkonzulensBVezeteknev}{Konzulens}
+\newcommand{\vikkonzulensBKeresztnev}{Kettő}
+
+\newcommand{\vikkonzulensCMegszolitas}{}
+\newcommand{\vikkonzulensCVezeteknev}{}
+\newcommand{\vikkonzulensCKeresztnev}{}
+
+\newcommand{\vikcim}{Shadow game engine} % Cím
+\newcommand{\viktanszek}{\bmemit} % Tanszék
+\newcommand{\vikdoktipus}{\bsc} % Dokumentum típusa (\bsc vagy \msc)
+\newcommand{\vikmunkatipusat}{szakdolgozatot} % a "hallgató nyilatkozat" részhez: szakdolgozatot vagy diplomatervet
+
+\input{includes/tdk-variables}
+\newcommand{\szerzoMeta}{\vikszerzoVezeteknev{} \vikszerzoKeresztnev} % egy szerző esetén
+%\newcommand{\szerzoMeta}{\vikszerzoVezeteknev{} \vikszerzoKeresztnev, \tdkszerzoB} % két szerző esetén
+
+%TODO Language configuration -- choose one
+% Beállítások magyar nyelvű dolgozathoz
+%\input{includes/thesis-hu}
+% Settings for English documents
+\input{includes/thesis-en}
+
+\input{includes/preamble}
+
+%--------------------------------------------------------------------------------------
+% Table of contents and the main text
+%--------------------------------------------------------------------------------------
+\begin{document}
+
+\pagenumbering{gobble}
+
+\selectthesislanguage
+
+%TODO Titlepage -- choose one from below
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+\include{includes/titlepage} % Szakdolgozat/Diplomaterv címlap
+%\include{include/titlepage-tdk} % TDK címlap
+%\include{include/titlepage-otdk} % OTDK címlap
+
+
+% Table of Contents
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+\tableofcontents\cleardoublepage
+
+
+% Declaration and Abstract
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+\include{includes/declaration} %TODO Hallgatói nyilatkozat -- TDK és OTDK esetén törlendő!
+%\include{content/abstract} %TODO Összefoglaló -- TDK és OTDK esetén nem kötelező
+
+
+% The main part of the thesis
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+\pagenumbering{arabic}
+
+%TODO import your own content
+\include{content/description}
+%\include{content/latex-tools}
+%\include{content/thesis-format}
+%\include{content/template-usage}
+
+
+% Acknowledgements
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+%\include{content/acknowledgement}
+
+
+% List of Figures, Tables
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+%\listoffigures\addcontentsline{toc}{chapter}{\listfigurename}
+%\listoftables\addcontentsline{toc}{chapter}{\listtablename}
+
+
+% Bibliography
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+%\addcontentsline{toc}{chapter}{\bibname}
+%\bibliography{bib/mybib}
+
+
+% Appendix
+%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+%\include{content/appendices}
+
+%\label{page:last}
+\end{document}
diff --git a/projs/shadow/CMakeLists.txt b/projs/shadow/CMakeLists.txt
new file mode 100644
index 00000000..40eaa234
--- /dev/null
+++ b/projs/shadow/CMakeLists.txt
@@ -0,0 +1,33 @@
+project(shadow)
+
+include(FetchContent)
+
+# External code
+add_subdirectory(extern/dxmath)
+add_subdirectory(extern/glm)
+SET(SPDLOG_BUILD_PIC true)
+add_subdirectory(extern/spdlog)
+add_subdirectory(extern/dylib)
+add_subdirectory(extern/vulkan_memory_allocator)
+add_subdirectory(extern/catch2)
+
+if (WIN32)
+ # Fetch SDL for the runtime
+ FetchContent_Declare(
+ SDL2
+ URL https://www.libsdl.org/release/SDL2-devel-2.26.5-VC.zip
+ )
+ FetchContent_MakeAvailable(SDL2)
+ set(SDL2_DIR ${sdl2_SOURCE_DIR})
+ list(PREPEND CMAKE_PREFIX_PATH "${sdl2_SOURCE_DIR}/cmake")
+
+endif ()
+
+# Core engine
+add_subdirectory(shadow-engine)
+
+# Runtime executable
+add_subdirectory(shadow-runtime)
+
+# Editor executable
+add_subdirectory(shadow-editor)
\ No newline at end of file
diff --git a/projs/shadow/README.md b/projs/shadow/README.md
new file mode 100644
index 00000000..9f36073b
--- /dev/null
+++ b/projs/shadow/README.md
@@ -0,0 +1,23 @@
+# Shadow Engine
+
+
+## Folder structure
+```
+/shadow
+|- /extern
+| |- /catch2
+| |- /dxmath
+| |- /dylib
+| |- /glm
+| |- /imgui
+| |- /spdlog
+| |- /vulkan_memory_allocators
+|- /platforms
+| |- /dx12 Files needed for dx12 agility pack [1]
+|- /shadow-editor
+| |- /inc
+| |- /src
+|- /shadow-engine
+| |- files for each bigger module
+|- /shadow-runtime
+```
\ No newline at end of file
diff --git a/projs/shadow/extern/catch2 b/projs/shadow/extern/catch2
new file mode 160000
index 00000000..9c541ca7
--- /dev/null
+++ b/projs/shadow/extern/catch2
@@ -0,0 +1 @@
+Subproject commit 9c541ca72e7857dec71d8a41b97e42c2f1c92602
diff --git a/projs/shadow/extern/dxmath b/projs/shadow/extern/dxmath
new file mode 160000
index 00000000..58f045a6
--- /dev/null
+++ b/projs/shadow/extern/dxmath
@@ -0,0 +1 @@
+Subproject commit 58f045a6caaaad6ce15049bba3cd075ed419c85e
diff --git a/projs/shadow/extern/dylib b/projs/shadow/extern/dylib
new file mode 160000
index 00000000..c5b46c65
--- /dev/null
+++ b/projs/shadow/extern/dylib
@@ -0,0 +1 @@
+Subproject commit c5b46c650a252bcda0dd94a102cdfc85907b9022
diff --git a/projs/shadow/extern/glm b/projs/shadow/extern/glm
new file mode 160000
index 00000000..47585fde
--- /dev/null
+++ b/projs/shadow/extern/glm
@@ -0,0 +1 @@
+Subproject commit 47585fde0c49fa77a2bf2fb1d2ead06999fd4b6e
diff --git a/projs/shadow/extern/imgui b/projs/shadow/extern/imgui
new file mode 160000
index 00000000..762ec445
--- /dev/null
+++ b/projs/shadow/extern/imgui
@@ -0,0 +1 @@
+Subproject commit 762ec445e63a95c1545b18b28d528f8ce38a9afd
diff --git a/projs/shadow/extern/spdlog b/projs/shadow/extern/spdlog
new file mode 160000
index 00000000..cedfeeb9
--- /dev/null
+++ b/projs/shadow/extern/spdlog
@@ -0,0 +1 @@
+Subproject commit cedfeeb95f3af11df7d3b1e7e0d3b86b334dc23b
diff --git a/projs/shadow/extern/vulkan_memory_allocator b/projs/shadow/extern/vulkan_memory_allocator
new file mode 160000
index 00000000..e88fff95
--- /dev/null
+++ b/projs/shadow/extern/vulkan_memory_allocator
@@ -0,0 +1 @@
+Subproject commit e88fff957b94f4b541ccac67a4290f07e52aa610
diff --git a/projs/shadow/platforms/dx12/dx12_agility.cpp b/projs/shadow/platforms/dx12/dx12_agility.cpp
new file mode 100644
index 00000000..3cf4b33a
--- /dev/null
+++ b/projs/shadow/platforms/dx12/dx12_agility.cpp
@@ -0,0 +1,6 @@
+
+#include
+
+extern "C" { __declspec(dllexport) extern const uint32_t D3D12SDKVersion = 4; }
+
+extern "C" { __declspec(dllexport) extern const char8_t *D3D12SDKPath = u8".\\D3D12\\"; }
\ No newline at end of file
diff --git a/projs/shadow/shadow-editor/CMakeLists.txt b/projs/shadow/shadow-editor/CMakeLists.txt
index c98bf417..d84ef22e 100644
--- a/projs/shadow/shadow-editor/CMakeLists.txt
+++ b/projs/shadow/shadow-editor/CMakeLists.txt
@@ -1,21 +1,38 @@
-set(CMAKE_CXX_STANDARD 20)
-find_package(SDL2 CONFIG REQUIRED)
-
-FILE(GLOB_RECURSE SOURCES src/*.cpp inc/*.h)
-
-add_executable(shadow-editor ${SOURCES})
-
-target_include_directories(shadow-editor
- PUBLIC inc/
- PRIVATE ${SDL2_INCLUDE_DIRS})
-target_link_libraries(shadow-editor PRIVATE SDL2::SDL2main PUBLIC shadow-engine)
-
-add_custom_command(TARGET shadow-editor POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy $ $
- COMMAND_EXPAND_LISTS
- )
-
-add_custom_command(TARGET shadow-editor
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/vlkx-resources ${CMAKE_CURRENT_BINARY_DIR}/vlkx-resources
- )
\ No newline at end of file
+set(CMAKE_CXX_STANDARD 20)
+find_package(SDL2 CONFIG REQUIRED)
+
+add_executable(shadow-editor)
+add_executable(shadow::editor ALIAS shadow-editor)
+
+
+FILE(GLOB_RECURSE SOURCES
+ src/*.cpp
+)
+
+target_sources(shadow-editor PUBLIC ${SOURCES})
+
+target_include_directories(shadow-editor
+ PUBLIC inc/
+ PRIVATE ${SDL2_INCLUDE_DIRS})
+
+target_link_libraries(shadow-editor
+ PRIVATE SDL2::SDL2main
+ PUBLIC shadow-engine
+)
+
+target_link_options(shadow-editor
+ PRIVATE -Wl,--export-dynamic
+)
+
+add_custom_command(TARGET shadow-editor
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/vlkx-resources ${CMAKE_CURRENT_BINARY_DIR}/vlkx-resources
+)
+
+if (WIN32)
+ add_custom_command(TARGET shadow-editor
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy $ $
+ COMMAND_EXPAND_LISTS
+ )
+endif ()
\ No newline at end of file
diff --git a/projs/shadow/shadow-editor/inc/EditorModule.h b/projs/shadow/shadow-editor/inc/EditorModule.h
index c8fafca5..0ec2e3f1 100644
--- a/projs/shadow/shadow-editor/inc/EditorModule.h
+++ b/projs/shadow/shadow-editor/inc/EditorModule.h
@@ -1,36 +1,36 @@
-#pragma once
-
-#include "core/Module.h"
-#include "EditorWindow.h"
-#include "core/ShadowApplication.h"
-
-#include