add RGSS 3.0.1 etc classes equality comparison #67

Merged
cremno merged 2 commits from add-rgss-3-0-1-etc-classes-equality-comparison into master 2014-09-02 18:09:10 +00:00
2 changed files with 5 additions and 1 deletions

View File

@ -114,7 +114,7 @@ static void mriBindingInit()
_rb_define_module_function(rb_mKernel, "msgbox", mriPrint); _rb_define_module_function(rb_mKernel, "msgbox", mriPrint);
_rb_define_module_function(rb_mKernel, "msgbox_p", mriP); _rb_define_module_function(rb_mKernel, "msgbox_p", mriP);
rb_define_global_const("RGSS_VERSION", rb_str_new_cstr("3.0.0")); rb_define_global_const("RGSS_VERSION", rb_str_new_cstr("3.0.1"));
} }
else else
{ {

View File

@ -22,6 +22,7 @@
#include "etc.h" #include "etc.h"
#include "binding-util.h" #include "binding-util.h"
#include "serializable-binding.h" #include "serializable-binding.h"
#include "sharedstate.h"
DEF_TYPE(Color); DEF_TYPE(Color);
DEF_TYPE(Tone); DEF_TYPE(Tone);
@ -68,6 +69,9 @@ ATTR_INT_RW(Rect, Height)
VALUE otherObj; \ VALUE otherObj; \
Klass *other; \ Klass *other; \
rb_get_args(argc, argv, "o", &otherObj RB_ARG_END); \ rb_get_args(argc, argv, "o", &otherObj RB_ARG_END); \
if (rgssVer >= 3) \
if (!rb_typeddata_is_kind_of(otherObj, &Klass##Type)) \
return Qfalse; \
other = getPrivateDataCheck<Klass>(otherObj, Klass##Type); \ other = getPrivateDataCheck<Klass>(otherObj, Klass##Type); \
return rb_bool_new(*p == *other); \ return rb_bool_new(*p == *other); \
} }