diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 67 |
1 files changed, 28 insertions, 39 deletions
diff --git a/src/main.cpp b/src/main.cpp index 3876db0..34cbcb4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,15 +14,10 @@ * limitations under the License. */ -#ifdef DEBUG -#include <iostream> -#endif - #include "camera.hpp" #include "candy_gear.hpp" #include "core.hpp" #include "key.hpp" -#include "log.hpp" #include "model.hpp" #include "model/instance.hpp" #include "sound.hpp" @@ -44,7 +39,6 @@ int main(int argc, char *argv[]) // Random numbers random_number_generator.seed(random_seed()); - mrb_state *mrb = mrb_open(); mrb_value main_obj; mrb_sym sym_init, sym_key_down, sym_key_up, sym_quit, sym_tick; FILE *fp; @@ -54,39 +48,35 @@ int main(int argc, char *argv[]) try{ cg_sCore::loader.execute(nullptr); } catch(const CommandError &error) { -#ifdef DEBUG - std::cout << error.what() << std::endl; -#endif + cg_core.log.message(Log::Level::Fatal, error.what()); return 1; } - if (!mrb) { /* handle error */ } - mrb_define_module(mrb, "CandyGear"); - cg_camera_init(mrb); - cg_candy_gear_init(mrb); - cg_key_init(mrb); - cg_log_init(mrb); - cg_model_init(mrb); - cg_model_instance_init(mrb); - cg_sound_init(mrb); - cg_texture_init(mrb); - - main_obj = mrb_obj_iv_inspect(mrb, mrb->top_self); - sym_init = mrb_intern_cstr(mrb, "init"); - sym_key_down = mrb_intern_cstr(mrb, "key_down"); - sym_key_up = mrb_intern_cstr(mrb, "key_up"); - sym_quit = mrb_intern_cstr(mrb, "quit"); - sym_tick = mrb_intern_cstr(mrb, "tick"); + mrb_define_module(cg_core.mrb, "CandyGear"); + cg_camera_init(cg_core.mrb); + cg_candy_gear_init(cg_core.mrb); + cg_key_init(cg_core.mrb); + cg_model_init(cg_core.mrb); + cg_model_instance_init(cg_core.mrb); + cg_sound_init(cg_core.mrb); + cg_texture_init(cg_core.mrb); + + main_obj = mrb_obj_iv_inspect(cg_core.mrb, cg_core.mrb->top_self); + sym_init = mrb_intern_cstr(cg_core.mrb, "init"); + sym_key_down = mrb_intern_cstr(cg_core.mrb, "key_down"); + sym_key_up = mrb_intern_cstr(cg_core.mrb, "key_up"); + sym_quit = mrb_intern_cstr(cg_core.mrb, "quit"); + sym_tick = mrb_intern_cstr(cg_core.mrb, "tick"); fp = fopen(argv[2], "r"); - mrb_load_irep_file(mrb, fp); + mrb_load_irep_file(cg_core.mrb, fp); fclose(fp); - if (mrb->exc) - handle_error(mrb); + if (cg_core.mrb->exc) + handle_error(cg_core.mrb); else { - mrb_funcall_id(mrb, main_obj, sym_init, 0); - if (mrb->exc) handle_error(mrb); + mrb_funcall_id(cg_core.mrb, main_obj, sym_init, 0); + if (cg_core.mrb->exc) handle_error(cg_core.mrb); } frame_start = SDL_GetTicks(); @@ -101,13 +91,13 @@ int main(int argc, char *argv[]) { case SDL_KEYDOWN: mrb_funcall_id( - mrb, main_obj, sym_key_down, 1, - mrb_int_value(mrb, event.key.keysym.sym)); + cg_core.mrb, main_obj, sym_key_down, 1, + mrb_int_value(cg_core.mrb, event.key.keysym.sym)); break; case SDL_KEYUP: mrb_funcall_id( - mrb, main_obj, sym_key_up, 1, - mrb_int_value(mrb, event.key.keysym.sym)); + cg_core.mrb, main_obj, sym_key_up, 1, + mrb_int_value(cg_core.mrb, event.key.keysym.sym)); break; case SDL_MOUSEMOTION: break; @@ -116,13 +106,13 @@ int main(int argc, char *argv[]) case SDL_MOUSEBUTTONUP: break; case SDL_QUIT: - mrb_funcall_id(mrb, main_obj, sym_quit, 0); + mrb_funcall_id(cg_core.mrb, main_obj, sym_quit, 0); break; } } - mrb_funcall_id(mrb, main_obj, sym_tick, 0); - if (mrb->exc) handle_error(mrb); + mrb_funcall_id(cg_core.mrb, main_obj, sym_tick, 0); + if (cg_core.mrb->exc) handle_error(cg_core.mrb); cg_core.vk_graphics_pipeline->draw(); @@ -141,7 +131,6 @@ int main(int argc, char *argv[]) } } - mrb_close(mrb); cg_sCore::loader.revert(nullptr); return 0; |