From 3224950a1cf7fe19f011f1eb60ade372c542daf7 Mon Sep 17 00:00:00 2001
From: Jonas Kulla <Nyocurio@gmail.com>
Date: Fri, 15 Aug 2014 22:35:57 +0200
Subject: [PATCH] MRI-Binding: Add crude 'rgss_main' implementation (RGSS3)

No F12 reset yet.
---
 binding-mri/binding-mri.cpp | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/binding-mri/binding-mri.cpp b/binding-mri/binding-mri.cpp
index 63d684f..b0e4d11 100644
--- a/binding-mri/binding-mri.cpp
+++ b/binding-mri/binding-mri.cpp
@@ -75,7 +75,9 @@ RB_METHOD(mriP);
 RB_METHOD(mriDataDirectory);
 RB_METHOD(mkxpPuts);
 
-#ifndef RGSS3
+#ifdef RGSS3
+RB_METHOD(mriRgssMain);
+#else
 RB_METHOD(_kernelCaller);
 #endif
 
@@ -104,8 +106,10 @@ static void mriBindingInit()
 	fileIntBindingInit();
 
 #ifdef RGSS3
-	_rb_define_module_function(rb_mKernel, "msgbox",   mriPrint);
-	_rb_define_module_function(rb_mKernel, "msgbox_p", mriP);
+	_rb_define_module_function(rb_mKernel, "rgss_main", mriRgssMain);
+
+	_rb_define_module_function(rb_mKernel, "msgbox",    mriPrint);
+	_rb_define_module_function(rb_mKernel, "msgbox_p",  mriP);
 #else
 	_rb_define_module_function(rb_mKernel, "print", mriPrint);
 	_rb_define_module_function(rb_mKernel, "p",     mriP);
@@ -196,7 +200,19 @@ RB_METHOD(mriDataDirectory)
 	return pathStr;
 }
 
-#ifndef RGSS3
+#ifdef RGSS3
+
+RB_METHOD(mriRgssMain)
+{
+	RB_UNUSED_PARAM;
+
+	// TODO: Implement F12 reset
+	rb_yield(Qnil);
+
+	return Qnil;
+}
+
+#else
 
 RB_METHOD(_kernelCaller)
 {