Index: VulkanGame.vcxproj
===================================================================
--- VulkanGame.vcxproj	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ VulkanGame.vcxproj	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -71,6 +71,6 @@
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <IncludePath>include;D:\VulkanSDK\1.1.108.0\Include;$(IncludePath)</IncludePath>
-    <LibraryPath>lib;D:\VulkanSDK\1.1.108.0\Lib;$(LibraryPath)</LibraryPath>
+    <IncludePath>include;D:\VulkanSDK\1.2.135.0\Include;$(IncludePath)</IncludePath>
+    <LibraryPath>lib;D:\VulkanSDK\1.2.135.0\Lib;$(LibraryPath)</LibraryPath>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -135,4 +135,10 @@
     <ClCompile Include="FileStackWalker.cpp" />
     <ClCompile Include="game-gui-sdl.cpp" />
+    <ClCompile Include="gui\button.cpp" />
+    <ClCompile Include="gui\game-screen.cpp" />
+    <ClCompile Include="gui\main-screen.cpp" />
+    <ClCompile Include="gui\panel.cpp" />
+    <ClCompile Include="gui\screen.cpp" />
+    <ClCompile Include="gui\ui-element.cpp" />
     <ClCompile Include="logger.cpp" />
     <ClCompile Include="main-vulkan.cpp" />
@@ -151,4 +157,10 @@
     <ClInclude Include="graphics-pipeline.hpp" />
     <ClInclude Include="graphics-pipeline_vulkan.hpp" />
+    <ClInclude Include="gui\button.hpp" />
+    <ClInclude Include="gui\game-screen.hpp" />
+    <ClInclude Include="gui\main-screen.hpp" />
+    <ClInclude Include="gui\panel.hpp" />
+    <ClInclude Include="gui\screen.hpp" />
+    <ClInclude Include="gui\ui-element.hpp" />
     <ClInclude Include="logger.hpp" />
     <ClInclude Include="StackWalker.h" />
Index: compile.bat
===================================================================
--- compile.bat	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ compile.bat	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -4,5 +4,5 @@
 cd shaders
 
-set VULKAN_SDK_PATH=D:\VulkanSDK\1.1.108.0
+set VULKAN_SDK_PATH=D:\VulkanSDK\1.2.135.0
 
 for %%f in (*.vert *.frag) do (
Index: gui/button.cpp
===================================================================
--- gui/button.cpp	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ gui/button.cpp	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -2,5 +2,5 @@
 
 #include <SDL2/SDL_ttf.h>
-#include <SDL2/SDL2_gfxPrimitives.h>
+// #include <SDL2/SDL2_gfxPrimitives.h>
 
 #include "../vulkan-game.hpp"
@@ -72,6 +72,8 @@
    uint8_t colorA = cur_color & 0xFF;
 
+   /*
    boxRGBA(&this->renderer, this->x + x, this->y + y, this->x + this->width, this->y + this->height,
       colorR, colorG, colorB, colorA);
+   */
 
    SDL_Rect rect = {
Index: gui/panel.cpp
===================================================================
--- gui/panel.cpp	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ gui/panel.cpp	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -3,5 +3,5 @@
 #include <iostream>
 
-#include <SDL2/SDL2_gfxPrimitives.h>
+// #include <SDL2/SDL2_gfxPrimitives.h>
 
 using namespace std;
@@ -42,6 +42,8 @@
    SDL_RenderClear(&this->renderer);
 
+   /*
    roundedBoxRGBA(&this->renderer, 0, 0, this->width, this->height,
       8, 0x33, 0x33, 0x33, 0xFF);
+   */
 
    int borderThickness = 1;
@@ -52,7 +54,9 @@
    uint8_t colorA = this->color & 0xFF;
 
+   /*
    roundedBoxRGBA(&this->renderer, borderThickness, borderThickness,
       this->width - borderThickness, this->height - borderThickness,
       8, colorR, colorG, colorB, colorA);
+   */
 
    for (UIElement*& uiElement : this->uiElements) {
Index: main-vulkan.cpp
===================================================================
--- main-vulkan.cpp	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ main-vulkan.cpp	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -1,8 +1,8 @@
-#include "vulkan-game.hpp"
-
 #include <iostream>
 
 #include "consts.hpp"
 #include "crash-logger.hpp"
+
+#include "vulkan-game.hpp"
 
 using namespace std;
Index: vulkan-game.cpp
===================================================================
--- vulkan-game.cpp	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ vulkan-game.cpp	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -1731,5 +1731,5 @@
       if (closestAsteroid != nullptr) {
          // TODO: Use some sort of smart pointer instead
-         eot = new EffectOverTime(asteroidPipeline, asteroidObjects, closestAsteroidIndex,
+         eot = new EffectOverTime<AsteroidVertex, SSBO_Asteroid>(asteroidPipeline, asteroidObjects, closestAsteroidIndex,
             offset_of(&SSBO_Asteroid::hp), -20.0f);
          effects.push_back(eot);
Index: vulkan-game.hpp
===================================================================
--- vulkan-game.hpp	(revision 6bfd91c3110f270b55eba810a4044c29ece92cd2)
+++ vulkan-game.hpp	(revision aa7707debaf679f9726a89d6342e9788e9f385ed)
@@ -2,4 +2,5 @@
 #define _VULKAN_GAME_H
 
+#include <algorithm>
 #include <chrono>
 #include <map>
