赞 | 400 |
VIP | 0 |
好人卡 | 24 |
积分 | 250 |
经验 | 45372 |
最后登录 | 2024-7-2 |
在线时间 | 3339 小时 |
Lv5.捕梦者 (版主)
- 梦石
- 1
- 星屑
- 24004
- 在线时间
- 3339 小时
- 注册时间
- 2011-7-8
- 帖子
- 3926
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 guoxiaomi 于 2023-6-8 00:42 编辑
RGModern 1.0.4 已发布
RGM 目前有2位贡献者,我和本贴6楼的 kirh_036。
项目已开源,github仓库地址:https://github.com/gxm11/RGModern
在线文档:RGModern使用指南,文档编辑中……
以下照搬 Github 仓库的 Readme。
简介
RGModern 是极具现代化特色的 RMXP 新 runtime,主要使用 C++20 和 Ruby 3 编写。
RGModern 特点:
1. 对 RGSS 功能的几乎 100% 覆盖,并提供了一些额外的实用功能;
2. 使用各种优化技巧提升执行效率,画面流畅,性能强劲;
3. 使用 SDL2 作为底层,支持 Direct3D9,Direct3D11 和 OpenGL 绘制;
4. 驱动多个 worker 完成脚本逻辑、画面渲染等任务。worker 以多线程或者协程的方式合作;
5. 借助 C++ 元编程,RGModern 能自由配置每个 worker 的功能模块,利于二次开发。
编译
游戏制作者请下载:RGM小助手,并按照以下步骤操作:
1. 更新编译环境 1 次;
2. 更新 RGModern 1 次;
3. 选择合适的编译、链接选项,开始编译;
4. 打开产物所在目录。
注意:
1. 第一次使用请更新 2 次编译环境并更新 2 次 RGModern;
2. 小助手自带的 RGModern 仓库安装在 ./msys64/opt/RGModern 下;
3. 选择 Data 文件夹将制作加密包,选择后将强制使用普通模式。
二次开发者请查阅使用指南和 Makefile,或参考 Github Actions 的设置。
使用
在 Windows 上使用必须安装 DirectX 最终用户运行时
直接使用 Game.exe 代替原版的 Game.exe 即可。大多数脚本都会兼容,如果出现不兼容的情况或者其他运行时报错,请查看 error.log 尝试排查错误。
如果出现 RGModern Internal Error 或其他复杂问题,请提出 Issue。如果不方便使用 Issue,可以在此文档反馈需求和缺陷:RGModern用户反馈,当然直接回帖也是OK的~
如果要修改 RGModern 的功能或进行二次开发,可以用开发者模式编译的 main.exe,此 exe 需要读取当前路径下的 src/script 文件夹中的 ruby 脚本运行,可以修改这些脚本文件自定义对 RGSS 的实现。
config.ini
RGModern 在运行时会读取 config.ini 中的配置信息。如果 config.ini 不存在,RGModern 会产生一份新的配置文件,但是可能部分配置项未能正确读取。建议分发游戏时始终携带 config.ini。
config.ini 中有以下几个 section:
1. Game,配置游戏标题和 RTP 路径;
2. System,配置游戏的显示(分辨率、全屏等)和音乐选项;
3. Keymap,配置键盘(或控制器)按键与游戏内的虚拟按键的映射关系;
4. Font,配置游戏中使用的字体名和字体文件路径的映射关系;
5. Kernel,配置渲染器、协作模式等高级选项。
加密
RGModern 支持加密图片素材。
首先需要制作加密包。使用 7-zip 软件打包 Graphics 文件夹并设置密码即可。注意,打包后的 zip 文件中需要包含 Graphics 目录。
在游戏开始加载图片素材前调用:
- Finder.regist("Graphics.zip", "password")
复制代码
其中第一个参数是加密包的文件名,第二个参数是加密包的密码。此后就会优先从加密包中读取资源,如果加密包中没有资源,则会从游戏目录和 RTP 中寻找。
RGModern 不支持加密音乐素材。
RGModern 支持加密 Data 文件夹。如果使用 RGM 小助手编译,选择对应的 Data 文件夹即可。不使用小助手请参照 Makefile 中 Gamew.exe 的编译。
RGModern 不支持原版的加密方案。众所周知,原版加密方案等同于没有加密。RGModern 未来也不会支持原版的加密方案。
设计
如 src/main.hpp 所示,引擎本身是一个由多个 worker 组合而成的 scheduler,每个 worker 管理各自的数据并执行不同的任务,scheduler 负责 worker 之间的任务转发和运行调度。
具体运作原理请查看 src 内的 c++ 源码。RGModern 的代码使用 gcc13 在 -Wall -Wextra -Werror 的选项下编译通过,代码质量有保障,附带详细的 Doxygen 风格的注释,可放心查看。
范例
点击下载 完整测试工程,或https下载
范例里的各个exe都支持win10 64位及以上版本,其中后缀带 _win7 的原则上可以在 win7 上运行,并且你需要安装DirectX 最终用户运行时
工程内部的Game.exe可以代替原版Game.exe使用,Gamew.exe则内嵌了加密的Data文件夹,用来测试数据加密的效果。
执行main.exe会读取src/里的脚本并执行 load.rb,可以从这里查看RGM是如何实现RGSS的各个内部模块和类的,相应的cpp代码也可以作为参考,注释详细,相对好懂。
src里的scripts文件夹已经内嵌于Game.exe和Gamew.exe里了,所以这两个exe的执行不依赖外面的src文件夹。
Graphics.zip的密码是123,可以在范例的箱子事件测试读取加密图片的效果。测试工程中还提供了输入法、分辨率扩展等额外功能,以及单元测试等。
希望大家能帮忙测试一下 RGModern 的效果,提提建议。大部分脚本应该能兼容(涉及到调用外部32位的dll,魔改原版dll和操作Bitmap内容的旧脚本肯定不兼容)。
感谢各位坛友的支持! |
评分
-
查看全部评分
|