summaryrefslogtreecommitdiff
path: root/src/candy_gear.cpp
diff options
context:
space:
mode:
authorFrederico Linhares <fred@linhares.blue>2022-10-10 16:13:12 -0300
committerFrederico Linhares <fred@linhares.blue>2022-10-10 16:15:09 -0300
commit9d6d723846d737b0bcc6b51afefcf313f723dcd0 (patch)
treed4b6ea5556fc9c56e28ea01ffe8375bee0a464bb /src/candy_gear.cpp
parent63d7d305da643ec20fed3cdd60c4daec29272c41 (diff)
feat Move configuration from YAML file to game
Diffstat (limited to 'src/candy_gear.cpp')
-rw-r--r--src/candy_gear.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/candy_gear.cpp b/src/candy_gear.cpp
index 7ed1d13..f9c5528 100644
--- a/src/candy_gear.cpp
+++ b/src/candy_gear.cpp
@@ -22,6 +22,7 @@
#include <yaml-cpp/yaml.h>
+#include "core.hpp"
#include "view_2d.hpp"
#include "view_3d.hpp"
@@ -60,6 +61,17 @@ parse_node(mrb_state *mrb, const YAML::Node &node)
}
static mrb_value
+cg_mCandyGear_set_game_name(mrb_state *mrb, mrb_value self)
+{
+ mrb_value name;
+
+ mrb_get_args(mrb, "S", &name);
+ cg_core.game_name = RSTRING_PTR(name);
+
+ return self;
+}
+
+static mrb_value
cg_mCandyGear_load_yaml(mrb_state *mrb, mrb_value self)
{
const char *file_path;
@@ -146,6 +158,27 @@ cg_mCandyGear_quit(mrb_state *mrb, mrb_value self)
}
void
+cg_candy_gear_init_config(mrb_state *mrb)
+{
+ struct RClass *cg_m;
+
+ cg_m = mrb_module_get(mrb, "CandyGear");
+
+ mrb_define_class_method(
+ mrb, cg_m, "game_name=", cg_mCandyGear_set_game_name, MRB_ARGS_REQ(1));
+}
+
+void
+cg_candy_gear_finish_config(mrb_state *mrb)
+{
+ struct RClass *cg_m;
+
+ cg_m = mrb_module_get(mrb, "CandyGear");
+
+ mrb_undef_class_method(mrb, cg_m, "game_name=");
+}
+
+void
cg_candy_gear_init(mrb_state *mrb)
{
struct RClass *cg_m;