diff --git a/Umbra.CPP.props b/Umbra.CPP.props
index 67da68c..15c84c7 100644
--- a/Umbra.CPP.props
+++ b/Umbra.CPP.props
@@ -1,21 +1,6 @@
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
-
-
-
-
-
-
+
+
@@ -26,32 +11,29 @@
x64
- $(SolutionDir)bin\$(Configuration)\
- $(SolutionDir)obj\$(Configuration)\
+ $(SolutionDir)bin\$(Configuration)\$(MSBuildProjectName)\
+ $(SolutionDir)obj\$(Configuration)\$(MSBuildProjectName)\
+ $(SolutionDir)
Application
-
v143
Unicode
-
+
+
true
+ true
-
- false
- true
-
-
- true
-
-
+
false
+ false
true
+
NotUsing
@@ -63,6 +45,8 @@
pch.h
stdcpp20
true
+
+ %(AdditionalIncludes.Split(';'));asd;%(AdditionalIncludeDirectories)
Console
diff --git a/Umbra.props b/Umbra.props
new file mode 100644
index 0000000..0d9948f
--- /dev/null
+++ b/Umbra.props
@@ -0,0 +1,13 @@
+
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+
\ No newline at end of file
diff --git a/projs/shadow-engine/shadow-engine.cpp b/projs/shadow-engine/shadow-engine.cpp
index 7865a49..0ffdd3f 100644
--- a/projs/shadow-engine/shadow-engine.cpp
+++ b/projs/shadow-engine/shadow-engine.cpp
@@ -1,5 +1,6 @@
#include
#include
+#include
// You must include the command line parameters for your main function to be recognized by SDL
int main(int argc, char** args) {
diff --git a/projs/shadow-engine/shadow-engine.vcxproj b/projs/shadow-engine/shadow-engine.vcxproj
index 7183409..3d4c32e 100644
--- a/projs/shadow-engine/shadow-engine.vcxproj
+++ b/projs/shadow-engine/shadow-engine.vcxproj
@@ -18,32 +18,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
-
- true
-
-
-
- true
-
-
- false
-
-
- false
-
diff --git a/projs/shadow-entity/shadow-entity.vcxproj b/projs/shadow-entity/shadow-entity.vcxproj
index 6162b3d..ea2e7c8 100644
--- a/projs/shadow-entity/shadow-entity.vcxproj
+++ b/projs/shadow-entity/shadow-entity.vcxproj
@@ -1,162 +1,33 @@
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 15.0
- {47591591-E091-4B88-8418-74D3CBEC5712}
- Win32Proj
- shadow_entity
- 10.0
-
-
-
- x64
-
-
- StaticLibrary
- true
- v143
- Unicode
-
-
- StaticLibrary
- false
- v143
- true
- Unicode
-
-
- StaticLibrary
- true
- v143
- Unicode
-
-
- StaticLibrary
- false
- v143
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
- true
-
-
- false
-
-
- false
-
-
-
- NotUsing
- Level3
- Disabled
- true
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- Disabled
- true
- _DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- MaxSpeed
- true
- true
- true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
- true
- true
-
-
-
-
- NotUsing
- Level3
- MaxSpeed
- true
- true
- true
- NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
- true
- true
-
-
-
-
-
-
-
-
+
+
+
+
+ 15.0
+ {47591591-E091-4B88-8418-74D3CBEC5712}
+ Win32Proj
+ shadow_entity
+ 10.0
+
+
+ StaticLibrary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/projs/shadow-file-format-test/packages.config b/projs/shadow-file-format-test/packages.config
new file mode 100644
index 0000000..88f987c
--- /dev/null
+++ b/projs/shadow-file-format-test/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/projs/shadow-file-format-test/pch.cpp b/projs/shadow-file-format-test/pch.cpp
new file mode 100644
index 0000000..250fb27
--- /dev/null
+++ b/projs/shadow-file-format-test/pch.cpp
@@ -0,0 +1,5 @@
+//
+// pch.cpp
+//
+
+#include "pch.h"
diff --git a/projs/shadow-file-format-test/pch.h b/projs/shadow-file-format-test/pch.h
new file mode 100644
index 0000000..0572a70
--- /dev/null
+++ b/projs/shadow-file-format-test/pch.h
@@ -0,0 +1,7 @@
+//
+// pch.h
+//
+
+#pragma once
+
+#include "gtest/gtest.h"
diff --git a/projs/shadow-file-format-test/shadow-file-format-test.vcxproj b/projs/shadow-file-format-test/shadow-file-format-test.vcxproj
new file mode 100644
index 0000000..951ec61
--- /dev/null
+++ b/projs/shadow-file-format-test/shadow-file-format-test.vcxproj
@@ -0,0 +1,110 @@
+
+
+
+
+ {3b7d6797-cc0c-43fa-8866-f438032e1c67}
+ Win32Proj
+ 10.0.19041.0
+ Application
+ v143
+ Unicode
+ shadow-file-format-test
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+
+
+
+
+ {b2e3515c-3fe0-44b9-9abe-8584a836230f}
+
+
+
+
+
+
+
+
+
+
+
+
+ Use
+ pch.h
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Level3
+
+
+ true
+ Console
+
+
+
+
+ Use
+ pch.h
+ Disabled
+ X64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Level3
+
+
+ true
+ Console
+
+
+
+
+ Use
+ pch.h
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+
+
+ true
+ Console
+ true
+ true
+
+
+
+
+ Use
+ pch.h
+ X64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ Level3
+ ProgramDatabase
+
+
+ true
+ Console
+ true
+ true
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/projs/shadow-file-format-test/shadow-file-format-test.vcxproj.user b/projs/shadow-file-format-test/shadow-file-format-test.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/projs/shadow-file-format-test/shadow-file-format-test.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/projs/shadow-file-format-test/test.cpp b/projs/shadow-file-format-test/test.cpp
new file mode 100644
index 0000000..e238589
--- /dev/null
+++ b/projs/shadow-file-format-test/test.cpp
@@ -0,0 +1,6 @@
+#include "pch.h"
+
+TEST(TestCaseName, TestName) {
+ EXPECT_EQ(1, 1);
+ EXPECT_TRUE(true);
+}
\ No newline at end of file
diff --git a/projs/shadow-file-format/shadow-file-format.vcxproj b/projs/shadow-file-format/shadow-file-format.vcxproj
index a57f291..69655da 100644
--- a/projs/shadow-file-format/shadow-file-format.vcxproj
+++ b/projs/shadow-file-format/shadow-file-format.vcxproj
@@ -1,23 +1,6 @@
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
+
15.0
{B2E3515C-3FE0-44B9-9ABE-8584A836230F}
@@ -25,136 +8,24 @@
shadow_file_format
10.0
+
+ StaticLibrary
+
-
- x64
-
-
- StaticLibrary
- true
- v143
- Unicode
-
-
- StaticLibrary
- false
- v143
- true
- Unicode
-
-
- StaticLibrary
- true
- v143
- Unicode
-
-
- StaticLibrary
- false
- v143
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
- true
-
-
- false
-
-
- false
-
-
-
- NotUsing
- Level3
- Disabled
- true
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- Disabled
- true
- _DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
-
-
-
-
- NotUsing
- Level3
- MaxSpeed
- true
- true
- true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
- true
- true
-
-
-
-
- NotUsing
- Level3
- MaxSpeed
- true
- true
- true
- NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- pch.h
-
-
- Windows
- true
- true
- true
-
-
-
+
+
+
+
+
+ {7b9e6056-e4fb-411b-9612-a2fd679c2b69}
+
diff --git a/projs/shadow-file-format/shadow-file-format.vcxproj.filters b/projs/shadow-file-format/shadow-file-format.vcxproj.filters
index 5d15f65..f322c4d 100644
--- a/projs/shadow-file-format/shadow-file-format.vcxproj.filters
+++ b/projs/shadow-file-format/shadow-file-format.vcxproj.filters
@@ -15,8 +15,31 @@
-
+
+ Source Files
+
+
+ Source Files
+
+
Source Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
\ No newline at end of file
diff --git a/projs/shadow-file-format/shadow-file-format.vcxproj.user b/projs/shadow-file-format/shadow-file-format.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/projs/shadow-file-format/shadow-file-format.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/projs/shadow-file-format/src/SFFElement.cpp b/projs/shadow-file-format/src/SFFElement.cpp
new file mode 100644
index 0000000..82d4975
--- /dev/null
+++ b/projs/shadow-file-format/src/SFFElement.cpp
@@ -0,0 +1,26 @@
+//#include "pch.h"
+#include "SFFElement.h"
+
+SFFElement* SFFElement::GetFirstChild()
+{
+ return children.size() > 0 ? children[0]: nullptr;
+}
+
+SFFElement* SFFElement::GetChildByIndex(int i)
+{
+ ChildrenMap::iterator it = children.begin();
+ for (size_t i = 0; i < i; i++)
+ {
+ it++;
+ }
+ return it->second;
+}
+
+SFFElement* SFFElement::GetChildByName(std::string name)
+{
+ ChildrenMap::iterator it = children.find(name);
+ if (it != children.end()) {
+ return it->second;
+ }
+ return nullptr;
+}
diff --git a/projs/shadow-file-format/src/SFFElement.h b/projs/shadow-file-format/src/SFFElement.h
new file mode 100644
index 0000000..1002099
--- /dev/null
+++ b/projs/shadow-file-format/src/SFFElement.h
@@ -0,0 +1,31 @@
+#pragma once
+
+#include