Releases: zeromake/ONScripter-zero
Releases · zeromake/ONScripter-zero
v0.9.24
v0.9.23
fix: sdl update 2.30.8
v0.9.22
v0.9.21
v0.9.20
bugfix
- 修复如果没有 ons, mine 目录无法选择其它目录作为游戏目录
v0.9.19
feat: support script config font
v0.9.18
v0.9.17
bugfix
- android 默认目录回退
/
改为/mnt
- 修复 lua 调用里无法正确的读取到 ns 脚本里调用的参数
v0.9.16
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
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 脚本……