Browse Source

Fix some bugs:
- Linker error due to implicit destructor
- Out-of-order ctor references caused us to use id:0 for shaders

Sam Jaffe 6 years ago
parent
commit
01d4f0fcfa

+ 1 - 0
engine/include/game/engine/game_dispatch.hpp

@@ -23,6 +23,7 @@ namespace engine {
   class game_dispatch {
   public:
     game_dispatch(std::shared_ptr<graphics::renderer> renderer);
+    ~game_dispatch();
 
     void process_key_event(raw_key_t key, bool press);
     void process_mouse_event(math::vec2 click, bool press);

+ 2 - 0
engine/src/game_dispatch.cpp

@@ -30,6 +30,8 @@ namespace engine {
         counter(new fps_counter(minimum_frame_duration, *renderer->manager())),
         scenes(), current_timestamp(env::clock::now()), curr_scene() {}
 
+  game_dispatch::~game_dispatch() {}
+
   game_dispatch::current_scene_info::current_scene_info() {}
 
   game_dispatch::current_scene_info::current_scene_info(scene * curr)

+ 1 - 1
graphics/src/shader_program.cpp

@@ -13,7 +13,7 @@
 using namespace graphics;
 
 shader_program::shader_program(identity<shader> frag, identity<shader> vert)
-    : identity<shader_program>(shaders::init(fragment_shader, vertex_shader)),
+    : identity<shader_program>(shaders::init(frag, vert)),
       fragment_shader(frag), vertex_shader(vert) {}
 
 void shader_program::activate() const { shaders::activate(id); }