设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 15635|回复: 24
打印 上一主题 下一主题

[原创发布] [怨念]RGSS102J补丁v1.01~附源码

 关闭 [复制链接]

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
跳转到指定楼层
1
发表于 2009-7-7 22:18:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 灼眼的夏娜 于 2009-7-17 11:57 编辑

针对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的条件全部具备,剩下的就是体力活了><(OTL ruby解释器的函数好多- -望天)

目前仅提供1.01版本测试 :函数部分导出
待补完必要的以后发布源码工程~

v1.01-OLE初步测试版

源码&测试工程地址~
http://rgss102jpatch.googlecode.com/svn/trunk/
^ ^

RGSS102JPatchV1.01.rar

759.97 KB, 下载次数: 2331

RMXP&amp;RMVX通用Web化完成- -|||

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

25
发表于 2010-7-10 20:11:01 | 只看该作者
是重写了RGSS102J.DLL?还是什么?
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2007-2-19
帖子
21
24
发表于 2010-7-8 12:47:19 | 只看该作者
夏娜大人想多了……RM是可以秒杀require的。只要修改一下$LOAD_PATH变量就行了。 ...
DeathKing 发表于 2010-2-28 22:43


RM显然只可以require 文本文件= =

点评

我没说不行啊……不过require的参数(一个文件名)如果不在$LOAD_PATH里面的目录下的话,就必须文件的绝对路径。  发表于 2010-7-8 12:52
回复 支持 反对

使用道具 举报

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
609
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

23
发表于 2010-3-1 07:09:31 | 只看该作者
不可,RM和RGE都是死都加载不了so的那种
.rb连require都不用直接粘贴进去就好
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

22
发表于 2010-2-28 22:43:06 | 只看该作者
夏娜大人想多了……RM是可以秒杀require的。只要修改一下$LOAD_PATH变量就行了。

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

21
发表于 2009-10-12 13:27:32 | 只看该作者
额额…………我是冲着源码来的

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

20
发表于 2009-10-11 20:45:50 | 只看该作者
本帖最后由 link006007 于 2009-10-11 20:46 编辑

原来这个神奇的东西已经发布这么久了吗 - -
没第一时间膜拜真是太遗憾了

现在只好挖坟回帖了
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
19
 楼主| 发表于 2009-7-17 11:57:23 | 只看该作者
大喜,这样子socket库可以用了~\(≧▽≦)/~

2年的怨念泪目……
面粉 发表于 2009-7-16 22:45

- -b ms 暂时还不支持socket 需要自己编译源码= =
RMXP&amp;RMVX通用Web化完成- -|||
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-10-22
帖子
519
18
发表于 2009-7-16 22:45:20 | 只看该作者
大喜,这样子socket库可以用了~\(≧▽≦)/~

2年的怨念泪目……
3rd chapter ==> 55% 完工日期===>202X年?

跳不跳呢跳不跳呢跳不跳呢……下个项目死磕HQ……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
255
在线时间
1 小时
注册时间
2009-7-15
帖子
3
17
发表于 2009-7-16 22:23:24 | 只看该作者
额~~!哈……3楼的……我用笔记本~~!不怕自动断电……哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 01:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表