diff --git a/binding-mri/binding-mri.cpp b/binding-mri/binding-mri.cpp index 2ec472d..a471ab4 100644 --- a/binding-mri/binding-mri.cpp +++ b/binding-mri/binding-mri.cpp @@ -541,14 +541,15 @@ static void mriBindingExecute(){ char* options_argv[] = {options_argv1, options_argv2, options_argv3, NULL}; ruby_sysinit(&argc, &argv); RUBY_INIT_STACK; - ruby_setup(); + ruby_init(); + ruby_init_loadpath(); rb_enc_set_default_external(rb_enc_from_encoding(rb_utf8_encoding())); Config &conf = shState->rtData().config; if (!conf.rubyLoadpaths.empty()){ /* Setup custom load paths */ - VALUE lpaths = rb_gv_get(":"); + VALUE lpaths = rb_gv_get("$:"); for (size_t i = 0; i < conf.rubyLoadpaths.size(); ++i){ std::string &path = conf.rubyLoadpaths[i]; @@ -557,8 +558,8 @@ static void mriBindingExecute(){ rb_ary_push(lpaths, pathv); } } - RbData rbData; - shState->setBindingData(&rbData); + RbData *rbData = new RbData(); + shState->setBindingData(rbData); BacktraceData btData; mriBindingInit(); @@ -573,7 +574,7 @@ static void mriBindingExecute(){ #ifdef DEBUG printf("[mirBindingExecure] Ruby cleanup\n"); #endif - ruby_cleanup(0); + //ruby_cleanup(0); shState->rtData().rqTermAck.set(); } diff --git a/scripts/Game_Map.rb b/scripts/Game_Map.rb index 623fe52..4a5c505 100644 --- a/scripts/Game_Map.rb +++ b/scripts/Game_Map.rb @@ -268,7 +268,7 @@ class Game_Map #-------------------------------------------------------------------------- def scroll_down(distance) if $game_switches[98] == true - @display_y = [@display_y + distance, (Graphics.height / 28) * 128].min + @display_y = [@display_y + distance, (self.height - Graphics.height / 28) * 128].min else @display_y += distance end