[R3EXS]

[2.0.0] - 2026-07-05

CXX 扩展

  • 使用 c++23 重写了整体逻辑,代码更加简洁,易于维护
  • 并行计算 magickey,真正发挥 SIMD 的优势,解码速度为原来的 4 倍
  • 默认对所有平台都开启 -march=native -O3 编译

Ruby 扩展

  • 清理了大量的 Ruby 代码,特别是 RGSS3.rb 文件里面的代码,逻辑更加清晰
  • 优化了项目的整体结构,删除了不必要的文件和依赖
  • ast.rb 改为使用类方法,方便后续可能的多线程实现
  • EventCommand 类不再处理 505 指令,由于该指令对应的 parameter 其实是对 205 指令里面的 MoveRoute 的参数的引用, 所以重复处理没有意义,而且这样可以避免许多由于使用了其他翻译软件读取 rvdata2 后再写入 rvdata2,导致的 505 指令的参数被破坏的问题
  • 添加了一个 Logger 类来打印日志
  • 修复了 Color 和 Tone 反序列化赋值错位的问题
  • 移除了不提取 note 的功能,后续可能考虑使用更好的方法实现
  • ruby 的支持降低到 >=3.0.0

[1.1.1] - 2025-07-21

  • rgss3a_rvdata2 方法添加 AVX 优化
  • rgss3a_rvdata2 方法使用 mmap 代替 fopen

[1.1.0] - 2025-04-09

  • 添加了递归搜索目标目录下的 *.rvdata2 文件的功能
  • 修复了 R3EXS::EventCommand 类里面的 205 和 505 指令的处理问题
  • 修复了 StringsInjector 里面的逻辑错误,即在遍历 AST 时,错误地将翻译后的字符串放入 location 中
  • gli 版本更新到 2.22.2

[1.0.5] - 2025-03-12

  • rb_in_strings 方法里面添加将 Scripts_info.json 文件拷贝至目标目录里面,以避免后续报错
  • 优化了一下 json_rvdata2 方法里的输出

[1.0.4] - 2025-03-11

  • 修复 rvdata2_json 方法里处理 Scripts 的 BUG
  • rb_ex_strings 方法里 Extract 单词拼写修正
  • oj 版本更新到 3.16.10
  • redcarpet 版本更新到 3.6.1

[1.0.3] - 2025-02-15

  • 添加 RGSS3AFileError 类以处理加密格式不支持的问题
  • 将 rgss3a_rvdata2 方法里面的文件路径统一为 Unix 格式
  • 完善 rgss3a_rvdata2 方法的异常抛出

[1.0.2] - 2025-02-14

[1.0.1] - 2025-02-14

  • 添加了 gemspec 文件里面的 metadata 信息
  • 修改了一下生成 yard 文档的选项

[1.0.0] - 2025-02-13

添加功能

  • decrypt - 解码 Game.rgss3a 文件
  • rvdata2_json - 将 rvdata2 文件序列化为 json 格式
  • json_rvdata2 - 将 json 文件反序列化为 rvdata2 文件
  • ex_strings - 提取所有的字符串
  • in_strings - 注入所有的字符串