Skip to content

Releases: zeromake/ONScripter-zero

v0.9.24

05 Nov 14:46
Compare
Choose a tag to compare
fix: ONS_CHUNK_EVENT support Mix_Playing

v0.9.23

12 Oct 06:56
Compare
Choose a tag to compare
fix: sdl update 2.30.8

v0.9.22

26 Aug 12:46
Compare
Choose a tag to compare

Change

  • ns2 格式支持超过 2G

Full Changelog: v0.9.21...v0.9.22

v0.9.21

26 Aug 02:51
Compare
Choose a tag to compare

Change

Full Changelog: v0.9.20...v0.9.21

v0.9.20

23 May 02:34
Compare
Choose a tag to compare

bugfix

  • 修复如果没有 ons, mine 目录无法选择其它目录作为游戏目录

v0.9.19

21 Apr 13:20
Compare
Choose a tag to compare
feat: support script config font

v0.9.18

18 Apr 15:34
Compare
Choose a tag to compare

bugfix

  • 修复直接打开 exe 没有默认设置当前目录为 root 目录

feature

  • 更新 xrepo 的依赖

Full Changelog: v0.9.18...v0.9.18

v0.9.17

01 Apr 01:34
Compare
Choose a tag to compare

bugfix

  • android 默认目录回退 / 改为 /mnt
  • 修复 lua 调用里无法正确的读取到 ns 脚本里调用的参数

v0.9.16

05 Mar 14:44
Compare
Choose a tag to compare

bugfix

  • 修复 ons for 循环嵌套出现 break 无法消费掉对应 next 命令
for %1=1 to 0 step 1; 不满足条件直接 break 了,跳过语句直到出现 next
    for %2 = 1 to 0 step 1; 被 break 跳过了,所以下面的 next 就没有对应的 for 了
    next; 修改前会被这个 next 消费掉
next; 报错
  • 修复 ons lua 默认把 ns 调用的参数 push 到 lua state 里,这个是一个不兼容操作(后面打算做一个 feature 开关列表,来支持)。

feature

  • 增加 logi 命令,可以用来打印日志,签名同 sprintf,只能使用 string, int 作为参数填充
  • 增加 continue 命令,强制跳转下一次循环,实际为 next 的别名,但是不会消费 nest_info

v0.9.15

05 Mar 03:01
Compare
Choose a tag to compare

bugfix

  • 修复 playSound 里的 SDL_RW 没有正确回收。

feature

  • lua 的 NSCOM 调用现在可以在 ns 脚本里传入 int, string 参数
  • lua 增加一个 NSReadFile,用来支持读取 csv 文件之类的纯文本。
  • ns2 打包和解包工具支持 utf8 文件名打包(修复 unix 环境下无法解包带 gbk 的 nsa 文件),ons 引擎支持对该 ns2 的兼容读取,现在取文件会比较两次 gbk, utf8 的文件名。
  • ons 的内置 gbk 转码修正 utf8 到 gbk 不全的情况。
  • ons 的 trans_mode 重构
  • ons 的 loadImage 做一个文件内容 lru 缓存,默认缓存 64 个图片内容
  • ons 的内建纯色矩阵支持透明色,示例:>800,200,#ff00005a,颜色支持 #fff, #ffff, #ffffff, #ffffffff 的类 css 变长写法(仅限在 sp 的 > 内建矩阵里有限)。
  • DirectReader 的多字节数字的读写改为 readxxxBE, readLongLE
  • 为 sp 添加新的图片处理器语法,做图片合成,剪切,透明
  • 更新第三方依赖
    • fmt 10.2.1
    • bzip2 1.0.8
    • stb 2024.02.13-alpha
    • brotli 1.1.0
    • sdl2 2.30.0
    • sdl2_image 2.8.2
    • sdl2_mixer 2.8.0
    • sdl2_ttf 2.22.0
    • jpeg 2024.01.10-alpha
    • zlib 1.3.1
    • webp 1.3.2
    • zlib 1.3.1
    • ghc_filesystem 1.5.14
    • luajit 2024.02.04-alpha
    • png 1.6.43

通知

最近重新学习了 3d 游戏引擎的基本渲染逻辑,然后发现了 onscripter 性能差的点。

  • 一个是单线程加载图片资源(没有异步方案,nsa 也不支持多线程读取)
  • 所有的渲染方式全部是走的 cpu 渲染到一个纹理(类似 bmp 的渲染方式)再渲染到 sdl 的 renderer,sp 越多渲染越慢
  • 如果进行窗口放大(android 默认放大到窗口大小),图片加载默认直接缩放 surface,内存消耗非常的大……,时间也很慢(正常应该是直接不缩放,在渲染到目标时才直接缩放,需要走 gpu 管线渲染)

大概率不会再考虑直接对该引擎做性能优化了,考虑新开一个项目(MIT协议)做好后兼容 ns 脚本……