搜索附件  
同能RPG制作大师 附件中心 同能RM技术讨论区 RPG Maker XP 讨论区 [怨念]RGSS102J补丁v1.01~附源码: RGSS102JPatchV1.01.rar

[怨念]RGSS102J补丁v1.01~附源码: RGSS102JPatchV1.01.rar

 

[怨念]RGSS102J补丁v1.01~附源码:
针对RGSS102J.dll的补丁程序~

by 灼眼的夏娜

说明:
   主要实现功能,提供RGSS中的so扩展支持,考虑扩充部分内部类?

熟悉ruby的人都知道ruby里有一种c语言的扩展库,但测试在RM中却无法使用require失败~
究其原因有以下几点:1、RGSS中对require方法进行了某些特殊处理;2、RGSS中对于C扩展运行所需要的条件不具备?- -  ruby的C扩展在windows下就是以dll形式提供的,然后扩展dll链接到ruby解释器的lib文件,然后ruby解释器require的时候Load dll并调用扩展dll中的一个 void Init_XXXX()方法进行初始化扩展类。
因此我们只要是我们编写的扩展dll链接到ruby解释器上应该就行了~
RMruby的解释器封装在RGSS102Jdll里~
因此我们只需要导出RGSS102J里供扩展dll所需要的函数并提供lib文件即可~
所以我们反汇编得到需要的函数地址~
然后这里怎么导出呢?有两种办法:一是直接修改RGSS102J.dll的导出表,而是新建一个dll直接jmp到对应的地址。 该补丁采用的后一种方法,因为该补丁顺便可以直接提供一些RGSS内部类的扩展。
至此 使RM支持扩展dll的条件全部具备,剩下的就是体力活了>
Loading...

QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

GMT+8, 2024-11-24 01:19 , Processed in 0.049250 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部