Explorar el Código

+ Support for setting orthographic camera from scene information
- Removed specific stuff for the nier automata background I was using as test

Signed-off-by: Alexis Maiquez <almamu@almamu.com>

Alexis Maiquez hace 8 años
padre
commit
32c36b8aee
Se han modificado 8 ficheros con 300 adiciones y 508 borrados
  1. 182 279
      .idea/workspace.xml
  2. 1 1
      CMakeLists.txt
  3. 0 12
      common.h
  4. 103 19
      main.cpp
  5. 0 186
      nier_test.cpp
  6. 0 11
      nier_test.h
  7. 12 0
      wallpaperengine/video/renderer.cpp
  8. 2 0
      wallpaperengine/video/renderer.h

+ 182 - 279
.idea/workspace.xml

@@ -15,24 +15,12 @@
     <list default="true" id="18bb2960-e23f-4286-86eb-946e53957973" name="Default" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
       <change beforePath="$PROJECT_DIR$/CMakeLists.txt" afterPath="$PROJECT_DIR$/CMakeLists.txt" />
-      <change beforePath="$PROJECT_DIR$/nier_test.cpp" afterPath="$PROJECT_DIR$/nier_test.cpp" />
-      <change beforePath="$PROJECT_DIR$/nier_test.h" afterPath="$PROJECT_DIR$/nier_test.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/fs/fileResolver.h" afterPath="$PROJECT_DIR$/wallpaperengine/fs/fileResolver.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/image.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/image.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/image.h" afterPath="$PROJECT_DIR$/wallpaperengine/image.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/irrlicht.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/irrlicht.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/irrlicht.h" afterPath="$PROJECT_DIR$/wallpaperengine/irrlicht.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/material.cpp" afterPath="" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/material.h" afterPath="" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/object.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/object.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/object.h" afterPath="$PROJECT_DIR$/wallpaperengine/object.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/object3d.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/object3d.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/object3d.h" afterPath="$PROJECT_DIR$/wallpaperengine/object3d.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/scene.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/scene.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/scene.h" afterPath="$PROJECT_DIR$/wallpaperengine/scene.h" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/shaders/compiler.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/shaders/compiler.cpp" />
-      <change beforePath="$PROJECT_DIR$/wallpaperengine/shaders/compiler.h" afterPath="$PROJECT_DIR$/wallpaperengine/shaders/compiler.h" />
+      <change beforePath="$PROJECT_DIR$/common.h" afterPath="" />
+      <change beforePath="$PROJECT_DIR$/main.cpp" afterPath="$PROJECT_DIR$/main.cpp" />
+      <change beforePath="$PROJECT_DIR$/nier_test.cpp" afterPath="" />
+      <change beforePath="$PROJECT_DIR$/nier_test.h" afterPath="" />
+      <change beforePath="$PROJECT_DIR$/wallpaperengine/video/renderer.cpp" afterPath="$PROJECT_DIR$/wallpaperengine/video/renderer.cpp" />
+      <change beforePath="$PROJECT_DIR$/wallpaperengine/video/renderer.h" afterPath="$PROJECT_DIR$/wallpaperengine/video/renderer.h" />
     </list>
     <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -45,33 +33,33 @@
   <component name="ExecutionTargetManager" SELECTED_TARGET="CMakeBuildProfile:Debug" />
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="nier_test.cpp" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/nier_test.cpp">
+      <file leaf-file-name="main.cpp" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/main.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="124">
-              <caret line="62" column="0" lean-forward="false" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
+            <state relative-caret-position="-300">
+              <caret line="41" column="70" lean-forward="false" selection-start-line="41" selection-start-column="70" selection-end-line="41" selection-end-column="70" />
               <folding>
-                <element signature="e#0#30#0" expanded="true" />
+                <element signature="e#0#19#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+      <file leaf-file-name="compiler.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/wallpaperengine/shaders/compiler.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="180">
-              <caret line="15" column="984" lean-forward="false" selection-start-line="15" selection-start-column="984" selection-end-line="15" selection-end-column="984" />
+            <state relative-caret-position="1596">
+              <caret line="133" column="83" lean-forward="false" selection-start-line="133" selection-start-column="83" selection-end-line="133" selection-end-column="83" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="nier_test.h" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/nier_test.h">
+      <file leaf-file-name="material.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/wallpaperengine/video/material.cpp">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="84">
-              <caret line="7" column="22" lean-forward="false" selection-start-line="7" selection-start-column="22" selection-end-line="7" selection-end-column="22" />
+              <caret line="7" column="20" lean-forward="false" selection-start-line="7" selection-start-column="20" selection-end-line="7" selection-end-column="20" />
               <folding />
             </state>
           </provider>
@@ -80,8 +68,8 @@
       <file leaf-file-name="texture.h" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/wallpaperengine/texture.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="132">
-              <caret line="11" column="0" lean-forward="false" selection-start-line="11" selection-start-column="0" selection-end-line="12" selection-end-column="47" />
+            <state relative-caret-position="120">
+              <caret line="10" column="37" lean-forward="false" selection-start-line="10" selection-start-column="37" selection-end-line="10" selection-end-column="37" />
               <folding />
             </state>
           </provider>
@@ -97,33 +85,41 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="image.cpp" pinned="false" current-in-tab="true">
+      <file leaf-file-name="image.cpp" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/wallpaperengine/image.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="392">
-              <caret line="136" column="5" lean-forward="true" selection-start-line="136" selection-start-column="5" selection-end-line="136" selection-end-column="5" />
-              <folding>
-                <element signature="e#0#30#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="1632">
+              <caret line="136" column="5" lean-forward="false" selection-start-line="136" selection-start-column="5" selection-end-line="136" selection-end-column="5" />
+              <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="fileResolver.cpp" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp">
+      <file leaf-file-name="image.h" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/wallpaperengine/image.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="580">
-              <caret line="107" column="101" lean-forward="false" selection-start-line="107" selection-start-column="101" selection-end-line="107" selection-end-column="101" />
+            <state relative-caret-position="72">
+              <caret line="6" column="44" lean-forward="false" selection-start-line="6" selection-start-column="44" selection-end-line="6" selection-end-column="44" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="scene.cpp" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/wallpaperengine/scene.cpp">
+      <file leaf-file-name="object3d.h" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/wallpaperengine/object3d.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="544">
-              <caret line="104" column="0" lean-forward="false" selection-start-line="104" selection-start-column="0" selection-end-line="104" selection-end-column="0" />
+            <state relative-caret-position="312">
+              <caret line="26" column="0" lean-forward="false" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="fileResolver.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1080">
+              <caret line="90" column="65" lean-forward="false" selection-start-line="90" selection-start-column="65" selection-end-line="90" selection-end-column="65" />
               <folding />
             </state>
           </provider>
@@ -133,9 +129,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>GLSL</find>
-      <find>WGL_CONTEXT_MA</find>
-      <find>glui</find>
       <find>Cannot create</find>
       <find>glXCreate</find>
       <find>glXCreateContex</find>
@@ -163,6 +156,9 @@
       <find>new wp::image</find>
       <find>new wp::object</find>
       <find>mater</find>
+      <find>do_decompres</find>
+      <find>nier_</find>
+      <find>IShaderConstantSetCallBack</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -172,7 +168,6 @@
     <option name="CHANGED_PATHS">
       <list>
         <option value="$PROJECT_DIR$/compiler.cpp" />
-        <option value="$PROJECT_DIR$/main.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/camera.h" />
         <option value="$PROJECT_DIR$/wallpaperengine/irrlicht.h" />
         <option value="$PROJECT_DIR$/wallpaperengine/render/render.h" />
@@ -188,8 +183,6 @@
         <option value="$PROJECT_DIR$/wallpaperengine/video/material.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/video/material.h" />
         <option value="$PROJECT_DIR$/wallpaperengine/video/node.cpp" />
-        <option value="$PROJECT_DIR$/wallpaperengine/video/renderer.h" />
-        <option value="$PROJECT_DIR$/wallpaperengine/video/renderer.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/camera.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/config.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/config.h" />
@@ -209,7 +202,6 @@
         <option value="$PROJECT_DIR$/wallpaperengine/fs/fileResolver.h" />
         <option value="$PROJECT_DIR$/wallpaperengine/object3d.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/scene.cpp" />
-        <option value="$PROJECT_DIR$/CMakeLists.txt" />
         <option value="$PROJECT_DIR$/wallpaperengine/object3d.h" />
         <option value="$PROJECT_DIR$/wallpaperengine/scene.h" />
         <option value="$PROJECT_DIR$/wallpaperengine/object.h" />
@@ -219,9 +211,13 @@
         <option value="$PROJECT_DIR$/wallpaperengine/texture.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp" />
         <option value="$PROJECT_DIR$/nier_test.h" />
-        <option value="$PROJECT_DIR$/nier_test.cpp" />
         <option value="$PROJECT_DIR$/s3tc.cpp" />
         <option value="$PROJECT_DIR$/wallpaperengine/image.cpp" />
+        <option value="$PROJECT_DIR$/wallpaperengine/video/renderer.h" />
+        <option value="$PROJECT_DIR$/wallpaperengine/video/renderer.cpp" />
+        <option value="$PROJECT_DIR$/nier_test.cpp" />
+        <option value="$PROJECT_DIR$/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/main.cpp" />
       </list>
     </option>
   </component>
@@ -261,7 +257,35 @@
           <expand>
             <path>
               <item name="wallengine" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" />
-              <item name="temp" type="462c0819:PsiDirectoryNode" />
+              <item name="linux-wallpaperengine" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wallengine" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" />
+              <item name="linux-wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="res" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wallengine" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" />
+              <item name="linux-wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="wallpaperengine" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wallengine" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" />
+              <item name="linux-wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="fs" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wallengine" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" />
+              <item name="linux-wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="shaders" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="wallengine" type="dad4c3:CidrFilesViewHelper$MyProjectTreeStructure$1" />
+              <item name="linux-wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="wallpaperengine" type="462c0819:PsiDirectoryNode" />
+              <item name="video" type="462c0819:PsiDirectoryNode" />
             </path>
           </expand>
           <select />
@@ -333,53 +357,55 @@
       <workItem from="1530906949920" duration="14611000" />
       <workItem from="1531002668909" duration="7171000" />
       <workItem from="1531833563019" duration="18910000" />
+      <workItem from="1535381505231" duration="2647000" />
+      <workItem from="1537556584820" duration="152000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="125569000" />
+    <option name="totallyTimeSpent" value="128368000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="1099" y="469" width="1882" height="1032" extended-state="0" />
     <layout>
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17839871" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.36163354" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3242655" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="CMake" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32861805" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32752994" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33841133" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.27364865" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.27312297" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3242655" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32752994" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
     </layout>
     <layout-to-restore>
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32535365" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3242655" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="CMake" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32861805" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33841133" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33949944" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297062" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17839871" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.36165577" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32752994" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="true" content_ui="tabs" />
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.27312297" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26441786" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
     </layout-to-restore>
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -411,26 +437,17 @@
           <line>309</line>
           <option name="timeStamp" value="45" />
         </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp</url>
+          <line>90</line>
+          <option name="timeStamp" value="131" />
+        </line-breakpoint>
       </breakpoints>
-      <option name="time" value="130" />
+      <option name="time" value="132" />
     </breakpoint-manager>
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file:///usr/include/irrlicht/matrix4.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="277">
-          <caret line="988" column="8" lean-forward="true" selection-start-line="988" selection-start-column="8" selection-end-line="988" selection-end-column="8" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file:///usr/include/irrlicht/irrList.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="204">
-          <caret line="19" column="6" lean-forward="false" selection-start-line="19" selection-start-column="6" selection-end-line="19" selection-end-column="6" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file:///usr/include/irrlicht/SMaterial.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="262">
@@ -449,7 +466,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="298">
           <caret line="115" column="13" lean-forward="false" selection-start-line="115" selection-start-column="13" selection-end-line="115" selection-end-column="13" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -457,61 +473,15 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="198">
           <caret line="377" column="23" lean-forward="false" selection-start-line="377" selection-start-column="23" selection-end-line="377" selection-end-column="23" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/pkg.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1316">
-          <caret line="130" column="8" lean-forward="false" selection-start-line="130" selection-start-column="8" selection-end-line="130" selection-end-column="8" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/pkg.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="108">
-          <caret line="9" column="36" lean-forward="false" selection-start-line="9" selection-start-column="36" selection-end-line="9" selection-end-column="36" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/node.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="39" lean-forward="false" selection-start-line="0" selection-start-column="39" selection-end-line="0" selection-end-column="39" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/renderer.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="60">
-          <caret line="5" column="39" lean-forward="false" selection-start-line="5" selection-start-column="39" selection-end-line="5" selection-end-column="39" />
-          <folding>
-            <element signature="e#57#74#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/renderer.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="12">
-          <caret line="1" column="43" lean-forward="false" selection-start-line="1" selection-start-column="43" selection-end-line="1" selection-end-column="43" />
-          <folding>
-            <element signature="e#0#37#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/pkg.cpp" />
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/pkg.h" />
     <entry file="file://$PROJECT_DIR$/wallpaperengine/camera.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="168">
           <caret line="14" column="0" lean-forward="false" selection-start-line="14" selection-start-column="0" selection-end-line="17" selection-end-column="38" />
-          <folding>
-            <element signature="e#57#87#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -519,7 +489,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="35" lean-forward="false" selection-start-line="0" selection-start-column="35" selection-end-line="0" selection-end-column="35" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -527,7 +496,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="48">
           <caret line="4" column="27" lean-forward="false" selection-start-line="4" selection-start-column="27" selection-end-line="4" selection-end-column="27" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -535,7 +503,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="252">
           <caret line="21" column="1" lean-forward="true" selection-start-line="21" selection-start-column="1" selection-end-line="21" selection-end-column="1" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -543,17 +510,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="48">
           <caret line="4" column="30" lean-forward="false" selection-start-line="4" selection-start-column="30" selection-end-line="4" selection-end-column="30" />
-          <folding>
-            <element signature="e#53#72#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/irrlicht.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="37" lean-forward="false" selection-start-line="0" selection-start-column="37" selection-end-line="0" selection-end-column="37" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -561,7 +517,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="132">
           <caret line="11" column="43" lean-forward="false" selection-start-line="11" selection-start-column="43" selection-end-line="12" selection-end-column="52" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -569,9 +524,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="60">
           <caret line="5" column="34" lean-forward="false" selection-start-line="5" selection-start-column="34" selection-end-line="5" selection-end-column="34" />
-          <folding>
-            <element signature="e#59#89#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -579,9 +531,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="72">
           <caret line="6" column="12" lean-forward="false" selection-start-line="6" selection-start-column="12" selection-end-line="6" selection-end-column="12" />
-          <folding>
-            <element signature="e#57#85#0" expanded="false" />
-          </folding>
         </state>
       </provider>
     </entry>
@@ -589,49 +538,15 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#44#0" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/file.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="144">
-          <caret line="12" column="49" lean-forward="false" selection-start-line="12" selection-start-column="49" selection-end-line="12" selection-end-column="49" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/file.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="144">
-          <caret line="12" column="64" lean-forward="false" selection-start-line="12" selection-start-column="64" selection-end-line="12" selection-end-column="64" />
-          <folding />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/file.cpp" />
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/file.h" />
     <entry file="file://$PROJECT_DIR$/wallpaperengine/shaders/compiler.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="432">
           <caret line="41" column="35" lean-forward="false" selection-start-line="41" selection-start-column="35" selection-end-line="41" selection-end-column="35" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/shaders/compiler.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="72">
-          <caret line="9" column="0" lean-forward="false" selection-start-line="9" selection-start-column="0" selection-end-line="9" selection-end-column="0" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/main.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="530">
-          <caret line="79" column="0" lean-forward="false" selection-start-line="79" selection-start-column="0" selection-end-line="79" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -639,7 +554,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="208">
           <caret line="246" column="0" lean-forward="false" selection-start-line="246" selection-start-column="0" selection-end-line="246" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -647,7 +561,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="420">
           <caret line="38" column="15" lean-forward="false" selection-start-line="38" selection-start-column="15" selection-end-line="38" selection-end-column="15" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -655,194 +568,184 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="96">
           <caret line="15" column="0" lean-forward="false" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
-          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/material.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/material.h" />
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/material.cpp" />
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/scene.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="48">
-          <caret line="4" column="30" lean-forward="false" selection-start-line="4" selection-start-column="30" selection-end-line="4" selection-end-column="30" />
-          <folding />
+        <state relative-caret-position="168">
+          <caret line="14" column="17" lean-forward="false" selection-start-line="14" selection-start-column="17" selection-end-line="14" selection-end-column="17" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/material.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/object.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="60">
-          <caret line="10" column="5" lean-forward="true" selection-start-line="10" selection-start-column="5" selection-end-line="47" selection-end-column="9" />
-          <folding />
+        <state relative-caret-position="336">
+          <caret line="28" column="27" lean-forward="false" selection-start-line="28" selection-start-column="27" selection-end-line="28" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/material.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/camera.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="576">
-          <caret line="49" column="9" lean-forward="true" selection-start-line="49" selection-start-column="9" selection-end-line="60" selection-end-column="9" />
-          <folding />
+        <state relative-caret-position="156">
+          <caret line="14" column="12" lean-forward="false" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="44" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/object3d.h">
+    <entry file="file:///usr/include/c++/8.1.1/bits/stl_iterator.h" />
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/object.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="312">
-          <caret line="26" column="0" lean-forward="false" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
-          <folding>
-            <element signature="e#61#100#0" expanded="false" />
-          </folding>
+        <state relative-caret-position="530">
+          <caret line="124" column="0" lean-forward="false" selection-start-line="124" selection-start-column="0" selection-end-line="124" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/scene.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/node.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="14" column="17" lean-forward="false" selection-start-line="14" selection-start-column="17" selection-end-line="14" selection-end-column="17" />
-          <folding>
-            <element signature="e#55#74#0" expanded="false" />
-          </folding>
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/object.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/object3d.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="336">
-          <caret line="28" column="27" lean-forward="false" selection-start-line="28" selection-start-column="27" selection-end-line="28" selection-end-column="27" />
-          <folding>
-            <element signature="e#57#76#0" expanded="false" />
-          </folding>
+        <state relative-caret-position="12">
+          <caret line="1" column="0" lean-forward="false" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/camera.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/scene.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="156">
-          <caret line="14" column="12" lean-forward="false" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="44" />
-          <folding />
+        <state relative-caret-position="1248">
+          <caret line="104" column="0" lean-forward="false" selection-start-line="104" selection-start-column="0" selection-end-line="104" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file:///usr/include/c++/8.1.1/bits/stl_iterator.h">
+    <entry file="file://$PROJECT_DIR$/s3tc.cpp" />
+    <entry file="file://$PROJECT_DIR$/res/shaders/common.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="217">
-          <caret line="793" column="0" lean-forward="false" selection-start-line="793" selection-start-column="0" selection-end-line="793" selection-end-column="0" />
-          <folding />
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/object.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/node.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="530">
-          <caret line="124" column="0" lean-forward="false" selection-start-line="124" selection-start-column="0" selection-end-line="124" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#30#0" expanded="false" />
-          </folding>
+        <state relative-caret-position="0">
+          <caret line="0" column="39" lean-forward="false" selection-start-line="0" selection-start-column="39" selection-end-line="0" selection-end-column="39" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/material.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/renderer.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="156">
-          <caret line="15" column="69" lean-forward="true" selection-start-line="15" selection-start-column="69" selection-end-line="16" selection-end-column="27" />
-          <folding />
+        <state relative-caret-position="192">
+          <caret line="16" column="12" lean-forward="false" selection-start-line="16" selection-start-column="12" selection-end-line="16" selection-end-column="67" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/node.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/renderer.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding />
+        <state relative-caret-position="392">
+          <caret line="45" column="0" lean-forward="false" selection-start-line="45" selection-start-column="0" selection-end-line="45" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/object3d.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/material.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="12">
-          <caret line="1" column="0" lean-forward="false" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
-          <folding />
+        <state relative-caret-position="276">
+          <caret line="25" column="31" lean-forward="false" selection-start-line="25" selection-start-column="31" selection-end-line="25" selection-end-column="31" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/image.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/irrlicht.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="72">
-          <caret line="6" column="44" lean-forward="false" selection-start-line="6" selection-start-column="44" selection-end-line="6" selection-end-column="44" />
-          <folding />
+        <state relative-caret-position="0">
+          <caret line="0" column="37" lean-forward="false" selection-start-line="0" selection-start-column="37" selection-end-line="0" selection-end-column="37" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/texture.h">
+    <entry file="file://$PROJECT_DIR$/nier_test.cpp" />
+    <entry file="file://$PROJECT_DIR$/nier_test.h" />
+    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="132">
-          <caret line="11" column="0" lean-forward="false" selection-start-line="11" selection-start-column="0" selection-end-line="12" selection-end-column="47" />
+        <state relative-caret-position="180">
+          <caret line="15" column="116" lean-forward="false" selection-start-line="15" selection-start-column="116" selection-end-line="15" selection-end-column="116" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/video/material.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="84">
+          <caret line="7" column="20" lean-forward="false" selection-start-line="7" selection-start-column="20" selection-end-line="7" selection-end-column="20" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/texture.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/image.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="156">
-          <caret line="13" column="23" lean-forward="false" selection-start-line="13" selection-start-column="23" selection-end-line="13" selection-end-column="23" />
+        <state relative-caret-position="72">
+          <caret line="6" column="44" lean-forward="false" selection-start-line="6" selection-start-column="44" selection-end-line="6" selection-end-column="44" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/scene.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/object3d.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="544">
-          <caret line="104" column="0" lean-forward="false" selection-start-line="104" selection-start-column="0" selection-end-line="104" selection-end-column="0" />
+        <state relative-caret-position="312">
+          <caret line="26" column="0" lean-forward="false" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/image.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="580">
-          <caret line="107" column="101" lean-forward="false" selection-start-line="107" selection-start-column="101" selection-end-line="107" selection-end-column="101" />
+        <state relative-caret-position="1632">
+          <caret line="136" column="5" lean-forward="false" selection-start-line="136" selection-start-column="5" selection-end-line="136" selection-end-column="5" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/nier_test.h">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/texture.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="84">
-          <caret line="7" column="22" lean-forward="false" selection-start-line="7" selection-start-column="22" selection-end-line="7" selection-end-column="22" />
+        <state relative-caret-position="120">
+          <caret line="10" column="37" lean-forward="false" selection-start-line="10" selection-start-column="37" selection-end-line="10" selection-end-column="37" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/texture.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="180">
-          <caret line="15" column="984" lean-forward="false" selection-start-line="15" selection-start-column="984" selection-end-line="15" selection-end-column="984" />
+        <state relative-caret-position="156">
+          <caret line="13" column="23" lean-forward="false" selection-start-line="13" selection-start-column="23" selection-end-line="13" selection-end-column="23" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/nier_test.cpp">
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/shaders/compiler.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="124">
-          <caret line="62" column="0" lean-forward="false" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#30#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="1596">
+          <caret line="133" column="83" lean-forward="false" selection-start-line="133" selection-start-column="83" selection-end-line="133" selection-end-column="83" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/s3tc.cpp">
+    <entry file="file://$PROJECT_DIR$/common.h" />
+    <entry file="file://$PROJECT_DIR$/wallpaperengine/fs/fileResolver.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1592">
-          <caret line="505" column="28" lean-forward="true" selection-start-line="505" selection-start-column="28" selection-end-line="505" selection-end-column="28" />
+        <state relative-caret-position="1080">
+          <caret line="90" column="65" lean-forward="false" selection-start-line="90" selection-start-column="65" selection-end-line="90" selection-end-column="65" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/wallpaperengine/image.cpp">
+    <entry file="file://$PROJECT_DIR$/main.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="392">
-          <caret line="136" column="5" lean-forward="true" selection-start-line="136" selection-start-column="5" selection-end-line="136" selection-end-column="5" />
+        <state relative-caret-position="-300">
+          <caret line="41" column="70" lean-forward="false" selection-start-line="41" selection-start-column="70" selection-end-line="41" selection-end-column="70" />
           <folding>
-            <element signature="e#0#30#0" expanded="true" />
+            <element signature="e#0#19#0" expanded="true" />
           </folding>
         </state>
       </provider>

+ 1 - 1
CMakeLists.txt

@@ -13,6 +13,6 @@ find_package(Irrlicht REQUIRED)
 
 include_directories(${X11_INCLUDE_DIR} ${IRRLICHT_INCLUDE_DIR} .)
 
-add_executable(wallengine main.cpp common.h nier_test.cpp wallpaperengine/shaders/compiler.h wallpaperengine/shaders/compiler.cpp nier_test.h wallpaperengine/project.cpp wallpaperengine/project.h wallpaperengine/scene.cpp wallpaperengine/scene.h wallpaperengine/object.cpp wallpaperengine/object.h wallpaperengine/camera.cpp wallpaperengine/camera.h wallpaperengine/core.cpp wallpaperengine/core.h wallpaperengine/image.cpp wallpaperengine/image.h wallpaperengine/object3d.cpp wallpaperengine/object3d.h wallpaperengine/effect.cpp wallpaperengine/effect.h wallpaperengine/fs/fileResolver.cpp wallpaperengine/fs/fileResolver.h wallpaperengine/irrlicht.cpp wallpaperengine/irrlicht.h wallpaperengine/config.cpp wallpaperengine/config.h wallpaperengine/video/renderer.cpp wallpaperengine/video/renderer.h wallpaperengine/video/node.cpp wallpaperengine/video/node.h wallpaperengine/video/material.cpp wallpaperengine/video/material.h wallpaperengine/texture.cpp wallpaperengine/texture.h)
+add_executable(wallengine main.cpp common.h wallpaperengine/shaders/compiler.h wallpaperengine/shaders/compiler.cpp wallpaperengine/project.cpp wallpaperengine/project.h wallpaperengine/scene.cpp wallpaperengine/scene.h wallpaperengine/object.cpp wallpaperengine/object.h wallpaperengine/camera.cpp wallpaperengine/camera.h wallpaperengine/core.cpp wallpaperengine/core.h wallpaperengine/image.cpp wallpaperengine/image.h wallpaperengine/object3d.cpp wallpaperengine/object3d.h wallpaperengine/effect.cpp wallpaperengine/effect.h wallpaperengine/fs/fileResolver.cpp wallpaperengine/fs/fileResolver.h wallpaperengine/irrlicht.cpp wallpaperengine/irrlicht.h wallpaperengine/config.cpp wallpaperengine/config.h wallpaperengine/video/renderer.cpp wallpaperengine/video/renderer.h wallpaperengine/video/node.cpp wallpaperengine/video/node.h wallpaperengine/video/material.cpp wallpaperengine/video/material.h wallpaperengine/texture.cpp wallpaperengine/texture.h)
 
 target_link_libraries(wallengine ${X11_LIBRARIES} ${X11_Xxf86vm_LIB} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${ZLIB_LIBRARIES} ${IRRLICHT_LIBRARY})

+ 0 - 12
common.h

@@ -1,12 +0,0 @@
-//
-// Created by almamu on 27/06/18.
-//
-
-#ifndef TEMP_COMMON_H
-#define TEMP_COMMON_H
-
-extern int WinID;
-extern irr::video::IVideoDriver* driver;
-extern irr::IrrlichtDevice* device;
-
-#endif //TEMP_COMMON_H

+ 103 - 19
main.cpp

@@ -2,30 +2,61 @@
 #include <irrlicht/irrlicht.h>
 #include <sstream>
 #include <wallpaperengine/config.h>
-#include <wallpaperengine/fs/fileResolver.h>
-#include "nier_test.h"
+#include <wallpaperengine/video/renderer.h>
+#include <wallpaperengine/video/material.h>
+
+#include "wallpaperengine/shaders/compiler.h"
+#include "wallpaperengine/project.h"
 #include "wallpaperengine/irrlicht.h"
 
 int WinID = 0;
+irr::SIrrlichtCreationParameters _irr_params;
 
-int game_test_main();
-
-int main(int argc, char* argv[])
+irr::f32 g_AnimationSpeed = 0.1f;
+irr::f32 g_Scale = 2.5f;
+irr::f32 g_ScrollSpeed = 0.0f;
+irr::f32 g_Direction = 0.0f;
+irr::f32 g_Strength = 0.07f;
+irr::f32 g_SpecularPower = 1.0f;
+irr::f32 g_SpecularStrength = 1.0f;
+irr::f32 g_SpecularColor [3] = {1.0f, 1.0f, 1.0f};
+irr::f32 g_Texture1Resolution [4] = {1.0f, 1.0f, 1.0f, 1.0f};
+irr::f32 g_Texture0 = 0;
+irr::f32 g_Texture1 = 1;
+irr::f32 g_Texture2 = 2;
+irr::f32 g_Time = 0;
+
+class MyShaderCallback : public irr::video::IShaderConstantSetCallBack
 {
-    // parse the integer if it exists
-    if (argc >= 1)
+    virtual void OnSetConstants (irr::video::IMaterialRendererServices* services, int32_t userData)
     {
-        std::stringstream ss;
-        ss << std::hex << argv[1];
-        ss >> WinID;
+        irr::video::IVideoDriver* driver = services->getVideoDriver ();
+
+        irr::core::matrix4 worldViewProj;
+        worldViewProj = driver->getTransform(irr::video::ETS_PROJECTION);
+        worldViewProj *= driver->getTransform(irr::video::ETS_VIEW);
+        worldViewProj *= driver->getTransform(irr::video::ETS_WORLD);
+
+        services->setVertexShaderConstant ("g_AnimationSpeed", &g_AnimationSpeed, 1);
+        services->setVertexShaderConstant ("g_Scale", &g_Scale, 1);
+        services->setVertexShaderConstant ("g_ScrollSpeed", &g_ScrollSpeed, 1);
+        services->setVertexShaderConstant ("g_Direction", &g_Direction, 1);
+        services->setVertexShaderConstant ("g_Time", &g_Time, 1);
+        services->setVertexShaderConstant ("g_ModelViewProjectionMatrix", worldViewProj.pointer(), 16);
+        services->setVertexShaderConstant ("g_Texture0Resolution", g_Texture1Resolution, 4);
+        services->setVertexShaderConstant ("g_Texture1Resolution", g_Texture1Resolution, 4);
+        services->setVertexShaderConstant ("g_Texture2Resolution", g_Texture1Resolution, 4);
+
+        // TODO: Support up to 7 materials (as wallpaper engine)
+        services->setPixelShaderConstant ("g_Strength", &g_Strength, 1);
+        services->setPixelShaderConstant ("g_SpecularPower", &g_SpecularPower, 1);
+        services->setPixelShaderConstant ("g_SpecularStrength", &g_SpecularStrength, 1);
+        services->setPixelShaderConstant ("g_SpecularColor", g_SpecularColor, 3);
+        services->setPixelShaderConstant ("g_Texture0", &g_Texture0, 1);
+        services->setPixelShaderConstant ("g_Texture1", &g_Texture1, 1);
+        services->setPixelShaderConstant ("g_Texture2", &g_Texture2, 1);
     }
-
-    printf("Initializing X11 to %d\n", WinID);
-
-    return game_test_main ();
-}
-
-irr::SIrrlichtCreationParameters _irr_params;
+};
 
 int init_irrlicht()
 {
@@ -69,15 +100,68 @@ void preconfigure_wallpaper_engine ()
     wp::fs::resolver.changeWorkingDirectory(wp::config::path::base);
 }
 
-int game_test_main ()
+int main(int argc, char* argv[])
 {
+    // parse the integer if it exists
+    if (argc >= 1)
+    {
+        std::stringstream ss;
+        ss << std::hex << argv[1];
+        ss >> WinID;
+    }
+
+    printf("Initializing X11 to %d\n", WinID);
+
+
     if (init_irrlicht())
     {
         return 1;
     }
 
     preconfigure_wallpaper_engine ();
-    nier_test ();
+
+    // do_decompress ();
+    irr::io::path _wp_engine_folder = "/home/almamu/Development/tmp/nier__automata_-_become_as_gods_edition/";
+
+    // set our working directory
+    wp::fs::resolver.changeWorkingDirectory (_wp_engine_folder);
+    wp::project* wp_project = new wp::project ();
+
+    if (wp_project->getScene ()->isOrthogonal() == true)
+    {
+        wp::video::renderer::setupOrthographicCamera (wp_project->getScene ());
+    }
+    else
+    {
+        wp::irrlicht::device->getLogger ()->log ("Non-orthogonal cameras not supported yet!!");
+        return 0;
+    }
+
+    // register nodes
+    wp::video::renderer::queueNode (wp_project->getScene ());
+
+    int32_t lastTime = 0;
+    int32_t minimumTime = 1000 / 90;
+    int32_t currentTime = 0;
+
+    while (wp::irrlicht::device->run () && wp::irrlicht::driver)
+    {
+        // if (device->isWindowActive ())
+        {
+            currentTime = wp::irrlicht::device->getTimer ()->getTime ();
+            g_Time = currentTime / 1000.0f;
+
+            if (currentTime - lastTime > minimumTime)
+            {
+                wp::video::renderer::render ();
+                lastTime = currentTime;
+            }
+            else
+            {
+                wp::irrlicht::device->sleep (1, false);
+            }
+        }
+    }
 
     return 0;
 }

+ 0 - 186
nier_test.cpp

@@ -1,186 +0,0 @@
-#include <irrlicht/irrlicht.h>
-#include <cstdint>
-#include <iostream>
-#include <wallpaperengine/config.h>
-#include <wallpaperengine/video/renderer.h>
-#include <wallpaperengine/video/material.h>
-
-#include "common.h"
-#include "wallpaperengine/shaders/compiler.h"
-#include "wallpaperengine/project.h"
-#include "wallpaperengine/irrlicht.h"
-#include "nier_test.h"
-
-irr::f32 g_AnimationSpeed = 0.1f;
-irr::f32 g_Scale = 2.5f;
-irr::f32 g_ScrollSpeed = 0.0f;
-irr::f32 g_Direction = 0.0f;
-irr::f32 g_Strength = 0.07f;
-irr::f32 g_SpecularPower = 1.0f;
-irr::f32 g_SpecularStrength = 1.0f;
-irr::f32 g_SpecularColor [3] = {1.0f, 1.0f, 1.0f};
-irr::f32 g_Texture1Resolution [4] = {1.0f, 1.0f, 1.0f, 1.0f};
-irr::f32 g_Texture0 = 0;
-irr::f32 g_Texture1 = 1;
-irr::f32 g_Texture2 = 2;
-irr::f32 g_Time = 0;
-
-class MyShaderCallback : public irr::video::IShaderConstantSetCallBack
-{
-    virtual void OnSetConstants (irr::video::IMaterialRendererServices* services, int32_t userData)
-    {
-        irr::video::IVideoDriver* driver = services->getVideoDriver ();
-
-        irr::core::matrix4 worldViewProj;
-        worldViewProj = driver->getTransform(irr::video::ETS_PROJECTION);
-        worldViewProj *= driver->getTransform(irr::video::ETS_VIEW);
-        worldViewProj *= driver->getTransform(irr::video::ETS_WORLD);
-
-        services->setVertexShaderConstant ("g_AnimationSpeed", &g_AnimationSpeed, 1);
-        services->setVertexShaderConstant ("g_Scale", &g_Scale, 1);
-        services->setVertexShaderConstant ("g_ScrollSpeed", &g_ScrollSpeed, 1);
-        services->setVertexShaderConstant ("g_Direction", &g_Direction, 1);
-        services->setVertexShaderConstant ("g_Time", &g_Time, 1);
-        services->setVertexShaderConstant ("g_ModelViewProjectionMatrix", worldViewProj.pointer(), 16);
-        services->setVertexShaderConstant ("g_Texture0Resolution", g_Texture1Resolution, 4);
-        services->setVertexShaderConstant ("g_Texture1Resolution", g_Texture1Resolution, 4);
-        services->setVertexShaderConstant ("g_Texture2Resolution", g_Texture1Resolution, 4);
-
-        // TODO: Support up to 7 materials (as wallpaper engine)
-        services->setPixelShaderConstant ("g_Strength", &g_Strength, 1);
-        services->setPixelShaderConstant ("g_SpecularPower", &g_SpecularPower, 1);
-        services->setPixelShaderConstant ("g_SpecularStrength", &g_SpecularStrength, 1);
-        services->setPixelShaderConstant ("g_SpecularColor", g_SpecularColor, 3);
-        services->setPixelShaderConstant ("g_Texture0", &g_Texture0, 1);
-        services->setPixelShaderConstant ("g_Texture1", &g_Texture1, 1);
-        services->setPixelShaderConstant ("g_Texture2", &g_Texture2, 1);
-    }
-};
-
-int nier_test ()
-{
-    do_decompress ();
-    irr::io::path _wp_engine_folder = "/home/almamu/Development/tmp/nier__automata_-_become_as_gods_edition/";
-
-    // set our working directory
-    wp::fs::resolver.changeWorkingDirectory (_wp_engine_folder);
-    wp::project* wp_project = new wp::project ();
-    /*wp::fs::resolver.changeWorkingDirectory (wp::config::path::resources);
-
-    irr::io::path _water_example = wp::fs::resolver.resolve ("materials/water-intact.png");
-    irr::io::path _mud_example = wp::fs::resolver.resolve ("materials/plant-on-water.png");
-    irr::io::path _background_example = wp::fs::resolver.resolve ("materials/top-part.png");
-    irr::io::path _waterripple_normal = wp::fs::resolver.resolve ("materials/effects/waterripplenormal.png");
-    irr::io::path _waterripple_frag_shader = wp::fs::resolver.resolve ("shaders/effects/waterripple_opengl.frag");
-    irr::io::path _waterripple_vert_shader = wp::fs::resolver.resolve ("shaders/effects/waterripple_opengl.vert");
-    irr::io::path _white = wp::fs::resolver.resolve ("materials/white.png");
-
-    // check for ps and vs support
-    if (wp::irrlicht::driver->queryFeature (irr::video::EVDF_PIXEL_SHADER_1_1) == false && wp::irrlicht::driver->queryFeature (irr::video::EVDF_ARB_FRAGMENT_PROGRAM_1) == false)
-    {
-        wp::irrlicht::device->getLogger ()->log ("WARNING: Pixel shaders disabled because of missing driver/hardware support");
-        _waterripple_frag_shader = "";
-    }
-
-    if (wp::irrlicht::driver->queryFeature (irr::video::EVDF_VERTEX_SHADER_1_1) == false && wp::irrlicht::driver->queryFeature (irr::video::EVDF_ARB_VERTEX_PROGRAM_1) == false)
-    {
-        wp::irrlicht::device->getLogger ()->log ("WARNING: Vertex shaders disabled because of missing driver/hardware support");
-        _waterripple_vert_shader = "";
-    }
-
-    irr::video::IGPUProgrammingServices* gpuProgrammingServices = wp::irrlicht::driver->getGPUProgrammingServices ();
-
-    int32_t materialType1 = 0;
-
-    if (gpuProgrammingServices)
-    {
-        MyShaderCallback* shader = new MyShaderCallback ();
-
-        wp::shaders::compiler _vert(_waterripple_vert_shader, wp::shaders::compiler::Type::Type_Vertex);
-        wp::shaders::compiler _frag(_waterripple_frag_shader, wp::shaders::compiler::Type::Type_Pixel);
-
-        materialType1 = gpuProgrammingServices->addHighLevelShaderMaterial(
-                _vert.precompile ().c_str (), "vertexMain", irr::video::EVST_VS_2_0,
-                _frag.precompile ().c_str (), "pixelMain", irr::video::EPST_PS_2_0,
-                shader, irr::video::EMT_TRANSPARENT_ALPHA_CHANNEL, 0, irr::video::EGSL_DEFAULT
-        );
-
-        shader->drop ();
-    }
-
-    // load some basic textures
-    irr::video::ITexture*	waterTexture = wp::irrlicht::driver->getTexture (_water_example.c_str ());
-    irr::video::ITexture*	mudTexture = wp::irrlicht::driver->getTexture (_mud_example.c_str ());
-    irr::video::ITexture*	backgroundExample = wp::irrlicht::driver->getTexture (_background_example.c_str ());
-    irr::video::ITexture*	waterRippleNormalTexture = wp::irrlicht::driver->getTexture (_waterripple_normal.c_str ());
-    irr::video::ITexture*	whiteTexture = wp::irrlicht::driver->getTexture (_white.c_str ());
-
-    // get scene manager
-    irr::scene::ISceneManager* sceneManager = wp::irrlicht::device->getSceneManager ();*/
-
-    if (wp_project->getScene ()->isOrthogonal() == true)
-    {
-        wp::video::renderer::setupOrthographicCamera (
-                wp_project->getScene ()->getProjectionWidth (),
-                wp_project->getScene ()->getProjectionHeight (),
-                wp_project->getScene ()->getCamera ()->getCenter (),
-                wp_project->getScene ()->getCamera ()->getEye (),
-                wp_project->getScene ()->getCamera ()->getUp ().X,
-                wp_project->getScene ()->getCamera ()->getUp ().Y
-        );
-    }
-    else
-    {
-        wp::irrlicht::device->getLogger ()->log ("Non-orthogonal cameras not supported yet!!");
-        return 0;
-    }
-
-/*    wp::video::material* waterNode = new wp::video::material (irr::core::vector3df (960.0f, 540.0f, 0.0f), wp_project->getScene ());
-    wp::video::material* backgroundNode = new wp::video::material (irr::core::vector3df (960.0f, 540.0f, 0.0f), wp_project->getScene ());
-    wp::video::material* mudNode = new wp::video::material (irr::core::vector3df (960.0f, 540.0f, 0.0f), wp_project->getScene ());
-
-    backgroundNode->getMaterial ().setTexture (0, backgroundExample);
-    backgroundNode->setType (irr::video::EMT_TRANSPARENT_ALPHA_CHANNEL);
-
-    mudNode->getMaterial ().setTexture (0, mudTexture);
-    mudNode->setType (irr::video::EMT_TRANSPARENT_ALPHA_CHANNEL);
-
-    waterNode->setFlag (irr::video::EMF_LIGHTING, false);
-    waterNode->setFlag (irr::video::EMF_BLEND_OPERATION, true);
-
-    waterNode->getMaterial ().setTexture (0, waterTexture);
-    waterNode->getMaterial ().setTexture (1, waterRippleNormalTexture);
-    waterNode->getMaterial ().setTexture (2, whiteTexture);
-    waterNode->setType ( (irr::video::E_MATERIAL_TYPE) materialType1);*/
-
-    // register nodes
-    wp::video::renderer::queueNode (wp_project->getScene ());
-    // wp::video::renderer::queueNode (backgroundNode);
-    // wp::video::renderer::queueNode (mudNode);
-    // wp::video::renderer::queueNode (waterNode);
-
-    int32_t lastTime = 0;
-    int32_t minimumTime = 1000 / 90;
-    int32_t currentTime = 0;
-
-    while (wp::irrlicht::device->run () && wp::irrlicht::driver)
-    {
-        // if (device->isWindowActive ())
-        {
-            currentTime = wp::irrlicht::device->getTimer ()->getTime ();
-            g_Time = currentTime / 1000.0f;
-
-            if (currentTime - lastTime > minimumTime)
-            {
-                wp::video::renderer::render ();
-                lastTime = currentTime;
-            }
-            else
-            {
-                wp::irrlicht::device->sleep (1, false);
-            }
-        }
-    }
-
-    return 0;
-}

+ 0 - 11
nier_test.h

@@ -1,11 +0,0 @@
-//
-// Created by almamu on 4/07/18.
-//
-
-#ifndef WALLENGINE_NIER_TEST_H
-#define WALLENGINE_NIER_TEST_H
-
-void do_decompress ();
-int nier_test ();
-
-#endif //WALLENGINE_NIER_TEST_H

+ 12 - 0
wallpaperengine/video/renderer.cpp

@@ -10,6 +10,18 @@ namespace wp
             s_nodes.push_back (node);
         }
 
+        void renderer::setupOrthographicCamera (wp::scene* scene)
+        {
+            setupOrthographicCamera (
+                    scene->getProjectionWidth (),
+                    scene->getProjectionHeight (),
+                    scene->getCamera ()->getCenter (),
+                    scene->getCamera ()->getEye (),
+                    scene->getCamera ()->getUp ().X,
+                    scene->getCamera ()->getUp ().Y
+            );
+        }
+
         void renderer::setupOrthographicCamera (irr::f32 width, irr::f32 height, irr::core::vector3df position, irr::core::vector3df lookat, irr::f32 znear, irr::f32 zfar)
         {
             irr::core::matrix4 identity; identity.makeIdentity ();

+ 2 - 0
wallpaperengine/video/renderer.h

@@ -4,6 +4,7 @@
 #include <vector>
 
 #include <wallpaperengine/video/node.h>
+#include <wallpaperengine/scene.h>
 
 namespace wp
 {
@@ -13,6 +14,7 @@ namespace wp
         {
         public:
             static void queueNode (node* node);
+            static void setupOrthographicCamera (wp::scene* scene);
             static void setupOrthographicCamera (irr::f32 width, irr::f32 height, irr::core::vector3df position, irr::core::vector3df lookat, irr::f32 znear, irr::f32 zfar);
             static void render ();