- 修复
Ue-Csv
和Ue-Json
输出时,结构名字和输出资源文件名不一致时生成的路径错误 - 生成的UE的加载代码允许自己指定Loader
- 修复在
Ue-Csv
和Ue-Json
输出时, Excel存在空的合成Key单元格时会crash的BUG。 - 升级
org.apache.poi
到 5.0.0 - 升级
org.apache.xmlbeans
到 4.0.0
- 增加
--enable-alias-mapping
选项,用于在映射Excel列到目标数据结构时,开启别名匹配。 - protobuf的枚举类型解析支持message内嵌enum。
- 对大文件处理每5000行打印一次进度日志。
- [实验性] 使用
--disable-excel-formular
关闭公式后,将采用流式读取机制索引数据,以降低内存开销。同时会关闭日期格式的探测。 - 优化公式错误时的处理流程,现在公式错误不会中断执行仅会打印出Warning。
- 更新
org.codehaus.mojo.build-helper-maven-plugin
到 3.2.0 - 更新
commons-codec
到 1.15 - 更新
org.msgpack.msgpack-core
到 0.8.22 - 更新
com.google.protobuf.protobuf-java
到 3.13.0 - 更新
org.apache.logging.log4j
到 2.14.0 - 更新
org.json
到 20201115 - 更新
com.google.protobuf
到 3.14.0
- 补充部分遗漏的大文件的进度日志
- 修复大文件日志的异常问题
- 增加
--enable-alias-mapping
选项,用于在映射Excel列到目标数据结构时,开启别名匹配。 - protobuf的枚举类型解析支持message内嵌enum。
- 对大文件处理每5000行打印一次进度日志。
- 更新
maven-shade-plugin.maven-shade-plugin
到 3.2.4 - 更新
org.codehaus.mojo.build-helper-maven-plugin
到 3.2.0 - 更新
commons-codec
到 1.15 - 更新
org.msgpack.msgpack-core
到 0.8.21 - 更新
com.google.protobuf.protobuf-java
到 3.13.0 - [实验性] 使用
--disable-excel-formular
关闭公式后,将采用流式读取机制索引数据,以降低内存开销。同时会关闭日期格式的探测。
- 增加
UeCfg-CsvObjectWrapper
选项,接受两个参数用于指定Ue-Csv
模式输出时,map和array的包裹字符 - 优化命令行模式的参数解析
- 支持自定义的验证器指向oneof
- 修复在Excel验证器中配置完整路径时索引不到验证器的BUG
- header里(不包含UE输出)增加
data_source
来方便各类工具在读取失败时提示数据来源。 - 修正自定义插件重名时的反射数据导出问题,如果发现名字冲突,插件的key采用full name
- 修复大整数可能丢失精度的BUG
- 允许输入的pb文件不用打包插件的proto(
xresloader.proto
,xresloader_ue.proto
)和protobuf官方的proto文件(如:google/protobuf/duration.proto
,google/protobuf/descriptor.proto
等) - 增加
--ignore-unknown-dependency
选项用于忽略未知的输入协议的依赖项 - 优化版本号选项
--data-version
,在批处理模式设置位默认版本号,对所有批处理项生效,在普通模式设置版本号,仅对当前转表项生效 - 重构,重命名
DataDstMessageDescriptor
->DataDstTypeDescriptor
。 - 增加对map类型的支持,map的key必须是整数或字符串,value可以是任意类型。在 UE-Json 和 UE-Csv 输出中,会使用
TMap<KEY类型, VALUE类型>
来输出代码。
- 优化一些issue的上报提示
- 增加plain模式的
oneof
支持,输入为[类型名或ID或别名][分隔符][具体内容的plain模式数据]
, 比如:item|1001,123
。不支持 UE-Csv 输出的非嵌套模式(UeCfg-RecursiveMode=False
) - 增加
oneof
的sample - 修复
enum
字段类型输出二进制时的值类型错误 - 优化
oneof
字段的配置冲突检测 - 标记 UE-Csv 输出的非嵌套模式(
UeCfg-RecursiveMode=False
) 为不推荐的,以后将被移除。 - [实验性] UE-Json 和 UE-Csv 输出的蓝图代码中,增加指示oneof分支的字段,便于对
oneof
输出的分支判断和反射使用 - 优化一系列错误提示流程
- 增加一个python工具,可以打印转出的protobuf二进制数据(需要
pip/python3 -m pip install protobuf [--user]
)
- 修复 UE-Csv 格式输出的一处空数据的崩溃BUG
- 增加BUG上报说明
- 修复启用多文件合并功能时,UE-Csv 格式输出会输出多次Header的BUG
- sample输出增加递归模式的 UE-Csv
- [实验性] UE-Csv 格式输出的现在也支持plain模式了(不包含非嵌套模式(
UeCfg-RecursiveMode=False
))
- 修复一处枚举类型验证器复用丢失的问题
- 增加插件
org.xresloader.field_required
, 用于向proto3提供,proto2的 required 约束 - 升级protobuf到3.12.1
- 升级log4j到2.13.3
- 升级org.json到20200518
- 常规更新
- 升级protobuf到3.11.4
- 升级maven-shade-plugin到3.2.3
- 升级build-helper-maven-plugin到3.1.0
- 升级commons-codec到1.14
- 升级log4j到2.13.2
- 升级msgpack-core到0.8.20
- 升级poi到4.1.2
- 升级commons-csv到1.8
- 修复导出文件选项可能爆栈失败的问题
- 调整协议描述输出的枚举数据,同时输出name和number
- 更新图标
- 修复一处协议配置错误没有打印具体原因的问题
- 添加
--require-mapping-all
选项用于检查message中所有字段都必须被配置映射关系,用于检查配置遗漏 - 增加protobuf插件 -
org.xresloader.msg_require_mapping_all
可以设置某个message的所有字段必须被全部映射,用于检查配置遗漏 - 协议里直接配置
enum
类型也支持默认增加该类型的验证器 - 大量优化内部数据结构,更好地分离映射关系和AST描述
- 增加实验性功能Plain模式,允许把message所有字段或动态长度的数组配置在一个单元格内(UE-CSV模式暂不支持)
- 修复输出的UE导入文件的没有自动删除老的导入条目的问题
- UE-CSV 和 UE-Json 模式输出也按照field定义顺序输出(即: 先Key再Value,然后二级排序按field的定义number)
- 对
-i/--option-print <文件名>
和-c/--const-print <文件名>
的字段输出排序,有利于diff - 更新 protobuf 到 3.10.0
- 使用 org.msgpack.msgpack-core 替换 org.msgpack.msgpack,保持和 lua/javascript/xml等一样的输出顺序。
- msgpack 的输出结构变化(详见: https://github.com/xresloader/xresloader/tree/master/loader-binding/msgpack )
- 更新log4j到2.12.1
- 更新org.json到20190722
- 更新protobuf到3.9.2
- 更新poi到4.1.1
- hash算法更替为SHA-256
- 协议外层包体增加
data_message_type
用于方便使用者通过反射机制查找data_block
对应的数据结构 - 增加
-i/--option-print <文件名>
用于输出协议配置中的选项信息 - 对内部的
Map<string, int32>
类型输出排序,有利于-c/--const-print <文件名>
时有序输出枚举值 - 移除
-c/--const-print <文件名>
时导出的google.protobuf
的内置枚举类型值。
- 增加protobuf插件 - org.xresloader.field_alias 可以设置字段别名并用于配置了验证器的excel数据中
- 增加protobuf插件 - org.xresloader.enum_alias 可以设置枚举项目的别名并用于配置了验证器的excel数据中
- 增加protobuf插件 - org.xresloader.field_ratio 可以设置字段放大倍数值,可用于需要转出整数类型的百分率/千分率/万分率,但excel中保留小数表达
- 常量导出现在会导出protobuf的message里包含oneof了(使用C++的命名规则
k大写驼峰名字
) - 支持解析protobuf的内嵌message
- 数字类型转字符串,使用
%g
格式(去除不必要的小数点和0) - 更新 maven-compiler-plugin 到 3.8.1
- 更新 commons-codec 到 1.13
- 更新 log4j 到 2.12.0
- 更新 protobuf 到 3.9.1
- 更新 org.apache.poi 到 4.1.0
- 更新 commons-csv 到 1.7
- 修订powershell的sample生成脚本
- 优化sample输出脚本,先移除过期的
UnreaImportSettings.json
文件。 - 增加
UeCfg-RecursiveMode=true/false
的 SchemeMeta 用以控制是否启用嵌套模式,默认统一为开启嵌套模式。 - 增加
UeCfg-DestinationPath=<PATH>
的 SchemeMeta 用以控制输出的uassert目录。 - 重新开启
--disable-empty-list
和--enable-empty-list
的功能。
- 增加protobuf插件 - org.xresloader.ue.ue_type_is_class (用于UE代码输出时直接输出UE支持的
TSoftClassPtr<T>
来替换TSoftObjectPtr<T>
类型) - 增加和优化xresloader内部的Message描述抽象
- 支持UE-JSON的嵌套模式导出
- 自动创建输出目录
- 不再自动猜测Name字段,必须指定key_tag或者显式命名Name字段。(用于区分嵌套子类型和转表类型)
- 优化统一插件命名
- 增加protobuf插件 - org.xresloader.ue.not_data_table (用于UE代码输出时显式指定不输出转表数据加载代码)
- 增加UE输出的Clear接口,用于把所有的数据清空
- 增加UE输出的GetRowName接口,用于方便C++接口调用
- 修复UE接口返回的IsValid参数错误的问题
- 对protobuf的proto 3增加protobuf的扩展插件支持
- 增加protobuf插件 - org.xresloader.verifier (支持和Excel里一样的验证器语法)
- 增加protobuf插件 - org.xresloader.msg_description
- 增加protobuf插件 - org.xresloader.field_description
- 增加protobuf插件 - org.xresloader.ue.key_tag (用于UE代码输出时输出Key -> Name 的函数)
- 增加protobuf插件 - org.xresloader.ue.ue_type_name (用于UE代码输出时直接输出UE支持的
TSoftObjectPtr<T>
类型) - 增加protobuf插件 - org.xresloader.ue.helper (用于UE代码输出时的Utility类的类名后缀)
- sample里增加一个协议里的verifier示例
- 修复UE代码输出中,多输出了Name字段的问题
- 修复int32类型转出UE代码时,变成了int64的问题
- 输出的类名包含包名前缀
- 包名由 com.owent.xresloader 改为 org.xresloader.core
- 协议包名由 com.owent.xresloader.pb 改为 org.xresloader.pb
- 初步支持 UnrealEngine 4 的数据表和代码导出
- 更新protobuf到 3.7.1
- 更新maven-compiler-plugin到3.8.0
- 更新maven-shade-plugin到3.2.1
- 更新commons-codec到1.12
- 更新log4j到2.11.2
- 使用org.msgpack.msgpack-core代替org.msgpack.msgpack
- 更新org.json到20180813
- 更新poi到4.0.1
- 修复一些lint,迁移到 POI 4.X.X 的API
- javascript全局导出支持多层namespace
- 修订sample脚本问题导致的node.js转出选项不正确的问题
- 优化执行转表时创建对象的数量,使用共享的输出缓存,不再依赖运行时java反射
- 补充sample的新的示例的README
- 增加一些错误提示信息的行提示和表名提示,用以辅助排查配置错误
- org.json更新到20180130
- com.google.protobuf更新到3.5.1
- Lua常量输出支持module("模块名", package.seeall)的模式
- 支持使用"或"符号|分隔的多个验证器
- 支持整数范围验证器
- 更新protobuf到3.5.0
- 更新log4j到2.10.0
- 修复部分类型没有使用公式的BUG
- 修改版本号规则为3位,和maven内大多数库的结构一致,主版本号.功能版本号.修订版本号
- 增加-a --data-version用于允许用户设置数据内数据版本号,方便业务做多版本兼容
- 更新commons-codec到1.11
- 更新log4j到2.9.1
- 更新org.json到20171018
- 更新POI到3.17
- 更新protobuf到3.4.0
- 更新json到20170506
- 更新log4j到2.9.0
- 更新maven-shade-plugin到3.1.0
- 更新maven-compiler-plugin到3.7.0
- 统一使用“sheet”作为输出的“表”的称谓
- 修复lua和javascript无pretty模式输出的首行注释问题
- 修复验证器误报error日志的问题
- 更新log4j到2.8.2
- 修复1.3.2.0版本中,使用命令行模式时,同一个表会被转多次的BUG
- 使用maven-compiler-plugin来指定java版本
- 发现jvm在Windows平台下,默认编码为UTF-8时的BUG,加一个FAQ
- 移除一批对poi的deprecated的API的使用,兼容至poi 4.1版本。poi 4.2版本后API又要改名,到时候再换一次
- 现在对1970年之前的时间,都视为日期无效,只取时分秒
- 更新build-helper-maven-plugin到3.0.0
- 更新maven-shade-plugin到3.0.0
- 更新commons-cli到1.4
- 更新log4j到2.8.1
- 更新protobuf到3.2.0
- 优化命令行模式的信息输出
- 修复scheme表读取失败时返回码未增加失败计数的问题
- 允许多个package(命名空间),当缩写类型名称存在于多个命名空间时,必须使用完整类型名
- 修复1.3.0.1中仅二进制输出会导出默认required字段的问题
- 修正移除转表失败是的错误提示信息
- 修复1.3.0.0不兼容以前版本对proto v2 的required字段生成默认值的行为
- 重复的元表增加warning
- 支持差异化合表(不再要求合表的Key的那一行必须一致)
- 增加验证器功能,允许使用验证器校验数据和转换数据
- json配置和conf元表配置也支持合表
- 字符串类型不再走元表替换(没有实际意义)
- 允许通过外部参数设置描述信息(Meta)
- 大规模优化数据流,减少转表开销
- sample里生成pb文件时也会调用tools里的脚本生成header的pb和cpp文件(现在c++的header增加了版本号检查,需要不低于当前所用的protobuf版本)
- 更新build-helper-maven-plugin到1.12
- 更新log4j到2.6.2
- 更新ini4j到20160810
- 更新支持protobuf 3.0
- sample和loader-binding自动适应proto v2和proto v3
- 同步更新sample代码,同时支持proto v2和proto v3
- 修复excel里配置成list而协议不是repeated时的错误提示
- 使用log4j2来输出日志
- 控制台输出颜色支持
- javascript的写入全局可以设置导出的到统一名字空间(lua和其他输出很容易在上层做包装,但是js不行,所以js特别处理一下)
- 修正数组嵌套数组的结构转换丢失的BUG
- 补充msgpack的读取说明,补充node.js的读取示例代码
- 修正一些导出头字段名错误的问题
- 修正XML输出数组类型数据会多一层的BUG
- XML输出数组将会带数据索引号
- 统一版本号管理,从POM文件中自动生成
- 更新sample数据
- 增加javascript的导出支持
- 返回码改为失败的数量,无失败则返回0(用以和jre执行崩溃的返回码是1相统一)
- 更新build-helper-maven-plugin到1.10
- 更新maven-shade-plugin到2.4.3
- 更新json到20160212
- 优化转换错误的一些错误提示
- 依赖库更新,全部更新到目前为止的最新稳定版
- 增加导出enum名称集的功能
- 修正没有元信息表时,公式选项被忽略的BUG
- 修正Shceme数据未覆盖时会使用上一次的配置而不是默认值的BUG
- xml输出允许指定根节点Tag Name
- 允许把枚举类型提取到外部
- 优化protobuf的读取逻辑,对于相同的描述文件不再反复转换
- 整理部分字符串拼接代码
- macro数据缓存(几乎一个项目的macro表只有一个,但是要转换的表有几十个,所以对macro可以做特殊的预处理)
- 增加通过std输入转换列表的功能,提升转换速度
- 更换gnu.getopt为commons-cli,优化参数转换代码