注意:本次更新对广播系统的 WebSocket 功能作出了破坏性更改,如果您此前高度依赖 WebSocket 功能,请您仔细阅读此更新日志。
从此版本开始可以通过 Echo-Live WebSocket Server 建立本地服务器以进行跨设备协同。
新增
编辑器
- 编辑器新增 WebSocket 连接,可向 WebSocket 服务器发送消息。
- 编辑器对话框状态仪表板新增支持右键标记对话框。
- 标记效果会在方块左侧显示对应的图标。
- 共有 3 种状态:
- 取消标记:无效果。
- 已选中:显示旗帜图标,此时未被选中的对话框将不会收到消息。
- 已排除:显示禁止图标,不会收到任何消息。
- 仅接收定向广播的对话框会在默认情况下显示一个半隐的禁止图标。
- 启用高对比度时,禁止图标会旋转 90 度以便和标记排除状态区分。
- 编辑器对话框状态仪表板新增移动设备震动反馈。
- 震动信号为:
- 发送下一条消息:短。
- 添加、更改标记:短、长。
- 移除标记:长、短。
- 震动信号为:
快速格式化代码
- 新增自定义类。语法:
@<类名>
—— 会自动添加echo-text-
前缀。@<:类名>
—— 不会添加前缀。
对话框
- 新增
targeted
URL 参数,填入任意内容即视为仅接收定向广播。- 仅在编辑器对话框状态仪表板中标记为 “已选中” 才能收到消息。
消息格式
- 消息格式中的
style
字段新增shadow
字段,用于设置文本投影,包含:x
、y
—— 偏移量,需要指定长度单位,默认为0
。blur
—— 模糊规模,需要指定长度单位,默认为0.25em
。color
—— 投影颜色,默认为#000000
。
音效
- 新增铅笔音效
pencil
,包含 12 条音频,用于打印音效。 - 新增翻页音效
paper
,包含 1 条音频,用于新对话入场音效。
广播
- 广播系统新增支持选中多个投递目标。
- 广播系统新增支持反选投递目标。
API
target
字段新增语法前缀-
,用于反选目标。
配置文件
- 新增
editor.websocket
配置项,用于控制编辑器的 WebSocket 连接,包含:enable
—— 启用编辑器的 WebSocket 连接,默认为false
。url
—— WebSocket 连接地址,默认为ws://127.0.0.1:3000
。auto_url
—— 启用自动设置连接地址,默认为true
。reconnect_limit
—— 最大重连尝试次数,默认为5
。
- 新增
advanced.performance
配置项,用于调整性能细节,包含:foreach_text_style_by_message_data
—— 基于消息数据遍历文本样式,默认为false
。row_search_threshold
—— 横向搜索触发阈值,默认为1
。
- 新增
advanced.device.enable
配置项,用于启用硬件设备控制,默认为true
。
注册表
- 新增
text_style
注册表,用于存放消息格式中的样式信息。注册表项包含以下字段:name
—— 样式字段名。class
、style
—— 应用的类名和样式名,类型为String
或Array<String>
,可使用通配符{value}
来填入值。- 当消息格式的样式字段值类型为
Object
时,可自定义通配符名称。 - 插入管道符
|
可定义默认值,例如{value|16px}
。
- 当消息格式的样式字段值类型为
custom_style
—— 自定义样式值,默认为false
,启用后,style
需填写完整的样式定义语句。- 例如:
text-shadow: {x|0} {y|0} {blur|0.25em} {color|#000000};
- 例如:
is_style
—— 是style
字段,为style
字段单独配置,默认为false
。
sound
注册表新增allow_duplicate
字段,用于控制是否允许随机音效随机到重复音效,默认为false
。sound
注册表新增type
字段,用于区分用途,可填写print
或next
。
其他
- 新增开发者工具:导出本地化文本,用于上传至 Crowdin,位于
dev/lang_export.html
。
更改
配置文件编辑器
- 更改配置名 “显示语言” 为 “界面语言” 以和其他显示相关的配置区分。
- 调整了配置文件编辑器一些元素的无障碍语义。
- 限制了配置文件编辑器中关于页面的 LOGO 高度。
- 配置文件编辑器现在会按用途排序音效列表。
配置文件
- 配置文件数据版本更改为 10。
accessible
配置项更名为accessibility
。其中:drotanopia_and_deuteranopia
配置项更名为protanopia_and_deuteranopia
。
广播
- 广播终端现在会忽略由自己发送的消息,用以应对来自 WebSocket 的广播。
- 【破坏性更改】 现在广播客户端会向 WebSocket 转发所有消息。
- 现在广播系统在接收 WebSocket 消息时会尝试读取二进制数据。
API
- 修正了
unknown
的拼写错误,API 名称由error_unknow
更改为error_unknown
。 target
字段现在可以是Array<String>
类型,以选定多个目标。
其他
- 消息格式中的样式现在基于数据驱动。
res/script/text-styles.js
移动至res/data/text_style.js
并重写。
- 更改了文本样式中下划线的实现方式。
- 将命令控制台函数执行结果消息的本地化文本中的
count
变量重命名为n
以支持复数变体。 - 现在可在编辑器输出标签页输出内容文本框中发送
/cmd
来打开 / 关闭命令控制台。
移除
- 由于动画冲突,消息格式
style
字段中实验性的rock
字段已于消息格式样式数据驱动化中被移除。
修复
1.5.X 版本前的漏洞
- 红色盲 protanopia 被错拼为 drotanopia。
- 随机音效有可能重复播放同一个音效。
- 随机音效可以随机到负数导致音效缺失。
- 历史记录在尝试重连 WebSocket 时在编辑器日志中的终端类型不正确。
- 编辑器输出标签页输出内容只有在同时开启插入头尾内容时才会正确裁切。
1.5.X 版本中的漏洞
- 翻译键名 date 错拼为 data。
- 客户端还是不会向 WebSocket 服务器发送除 hello 消息以外的消息。
Echo-Live 从此版本开始采用自动化打包,您可以在 build-info.txt
文件中查看打包信息。