Releases: Daylily-Zeleen/GD-EOS
GD-EOS v0.5.1
This is an emergency bugfix version.
这是一个紧急修复版本。
Only about "aoolu" build: fix EOSEpicAccountId/EOSProductUserID.get_local() is not equal to the field "local_user_id" with get from apis callback info.
Hop this plugin can help you and consider to buy me a coffee please.
仅影响 “aoolu” 构建版本: 修复 EOSEpicAccountId/EOSProductUserID.get_local() 与其他回调信息中的 "local_user_id" 字段不相等的问题。
希望这个插件能够帮到你,插件开发不易,也希望能为我充电.
Full Changelog: v0.5.0...v0.5.1
GD-EOS v0.5.0
This release has break changes. Please use as appropriate.
这个发布版有破坏性变化,请酌情使用。
The pre-compiled plugin in this release uses EOS SDK version 1.19.0.7 (it is not support 32bit windows / android).
If you wish to support 32-bit systems, please use EOS SDK 1.18.1.2 or an earlier version for compilation.
Breaking Changes:
- All interfaces that previously returned
XXXPackedResultwith only result_code and a string type field now directly returnString, and the correspondingPackedResultclasses are no longer generated (e.g.,to_string()). - Removed
is_equal()method from classes. Handle types can now be compared directly (the example project has been updated accordingly). - Added SDK version check at compile time (EOS SDK after 1.18.1.2 does not support 32-bit Windows/Android).
Major Optimizations:
- Attempt to locate xaudio2_9.dll in the file system.
- Added
EOSNotificationclass to handleAddNotifyXXXrelated interfaces, eliminating the need forRemoveNotifyXXX. - Generated missing constant documentation descriptions.
- Maintain references to handle class wrapper objects inheriting from
RefCountedwhen emitting handle signals (addressing signal thread safety issues introduced in Godot 4.5). - Refactored code generator into multiple files for improved maintainability.
- Removed extensive hardcoding, refactored file parsing logic, and corrected type conversions.
- Significantly optimized parsing and generation performance of the code generator.
- Ensured all deprecated objects are no longer generated.
- Conversion between EOS unions and Godot Variants is now generated by the code generator.
- Improved error checking output in the code generator.
- Optimized CI by splitting into multiple files for easier maintenance.
Hop this plugin can help you and consider to buy me a coffee please.
该发布版预编译的插件使用的 EOS SDK 版本为 1.19.0.7 (不支持32位的windows与Android平台)。
如果希望支持32位系统,请使用 EOS SDK 1.18.1.2 或更早的版本进行编译。
破坏性变化:
- 所有原来返回
XXXPackedResult中只有 result_code 与 字符串类型 两个字段的接口,均改为直接返回String, 且不再生成对应的PackedResult类(如to_string())。 - 类移除
is_equal()方法,现在可将获得的句柄类型直接进行比较(示例工程也相应做了修改)。 - 编译时检查sdk版本(EOS SDK 1.18.1.2 之后不支持 32 位 windows/android)。
主要优化:
- 尝试在文件系统中查询 xaudio2_9.dll。
- 添加
EOSNotification类处理AddNotifyXXX相关接口, 不再需要RemoveNotifyXXX。 - 生成缺失的常量文档描述。
- 发送句柄信号时保持对继承自
RefCounted的句柄类包装对象的引用(Godot4.5引入的信号线程安全问题)。 - 重构代码生成器,分为多文件以提高可维护性。
- 移除大量硬编码,重构文件解析逻辑,类型转换修正。
- 代码生成器的解析与生成性能大幅优化。
- 确保所有弃用对象不再生成。
- EOS 联合体与 Godot Variant 之间的转换由代码生成器生成。
- 优化代码生成器的错误检查输出。
- 优化 CI,拆分多文件方便维护。
希望这个插件能够帮到你,插件开发不易,也希望能为我充电.
What's Changed by pull requests.
- [Fix]Fix finding xAudio29.dll on windows . by @Daylily-Zeleen in #6
- Fx some ide issues. by @Daylily-Zeleen in #7
- [Optimize]文件传输回调添加 EOS_CALL , 简化相关的生成代码 by @Daylily-Zeleen in #8
- [Windows]尝试在系统文件中查找 xaudio2_9.dll by @Daylily-Zeleen in #10
- 优化README的描述 by @Daylily-Zeleen in #11
- 优化_CallbackClientData相关代码生成,减少宏定义 by @Daylily-Zeleen in #12
- 移除重复实例化返回的句柄对象的生成代码。 by @Daylily-Zeleen in #13
- 添加 EOSNotification 处理 AddNotifyXXX 相关接口,不再需要 RemoveNotifyXXX 接口 by @Daylily-Zeleen in #14
- 不生成原来 AddNotifyXXX 的回调信号 by @Daylily-Zeleen in #15
- 减少RemoveNotify相关的文档生成 by @Daylily-Zeleen in #16
- 重命名
EOSNotification的信号notified为received, 绑定相关成员。优化相关文档提示 by @Daylily-Zeleen in #17 - 生成缺失的常量文档描述。 by @Daylily-Zeleen in #18
Full Changelog: v0.4.0...v0.5.0
GD-EOS v0.4.0
This release has break changes. Please use as appropriate.
这个发布版有破坏性变化,请酌情使用。
Change:
- If return
EOS_EResultand an object type of "Out" argument, let the generated api return the wrapper object directly instead ofEOSPackedResult. If returnnull, please useEOS.get_last_error_code()to check the error. - Remove
ESODataClassOptionsand redundant members ofEOSDataClass. - Use
EOSDataClassas base class ofEOSPackedResult.
Optimize:
- Optimize document generating for improving readability:
- Remove redundant empty lines.
- Reduce insert new line.
- Change callback arguments names to "snake_case".
Hop this plugin can help you and consider to buy me a coffee please.
变化:
- 不再为返回
EOS_EResult与 返回单个 对象类型参数的接口生成相应的EOSPackedResult,生成的接口改为直接返回相应的包装对象。如果返回null,请通过EOS.get_last_error_code()检查错误信息。 - 移除
ESODataClassOptions以及EOSDataClass中的不必要成员。 - 将
EOSDataClass作为EOSPackedResult的基类。
优化:
- 优化文档生成以方便阅读:
- 移除不必要的空行
- 减少换行
- 将回调参数说明转为 "snake_case"
希望这个插件能够帮到你,插件开发不易,也希望能为我充电.
Full Changelog: v0.3.1...v0.4.0
GD-EOS v0.3.1
New:
- Add IOS support.
Change:
- Do not generate reserved (should not be called by users) APIs of EOS SDK.
- Rename "gdeos.gdextension" to "gd-eos.gdextension".
Optimize:
- (CI) Add IOS build.
- (CI) Use
ubantu-latestinstead of specific version.
Fix:
- Fix version number updation.
Hop this plugin can help you and consider to buy me a coffee please.
新的东西:
- 添加 IOS 支持。
变化:
- 不再生成 EOS SDK 所保留(不能被用户调用)的接口。
- 将 "gdeos.gdextension" 重命名为 "gd-eos.gdextension"。
优化:
- (CI) 添加 IOS 编译。
- (CI) 不再指定 ubantu 的版本号。
修复:
- 修复版本号的更新
希望这个插件能够帮到你,插件开发不易,也希望能为我充电.
Full Changelog: v0.3.0...v0.3.1
GD-EOS v0.3.0 🎉
This is a version with some break changes and significant optimizations.
I strongly recommend using the latest version for new users.
For old users, if you don't have a widely explicitly use the return value types of the API and want to use the reference documentation in the editor, I also recommend using the latest version.
New:
- 🎉 Extract documents from EOS C SDK to generate editor help for this plugin.
- NOTE: GENERATED DOCUMENTS JUST FOR REFERENCE ONLY!!
- Need compile with godo-cpp 4.3-stable( or later) and use godot 4.3-stable( or later).
- Add flag to compile "AOOLU" version:
AOOLE( Assume Only One Local User), to hide mostlocal_user_idproperties/ arguments by assuming that there have only one local user, please refer README for more details.
Update:
- Use godot-cpp 4.3 stable by default (you still can checkout 4.2 and compile with it by yourself).
- Update README.
Break change:
(Uniform naming) Add "EOS" prefix to the name of EOSPackedResult's subclass.
Fix:
Pass pure handle (EOS_AntiCheatCommon_ClientHandle) as int value between bindings and EOS SDK.
Optimize:
- Fix many typos.
- Refactor compile system, to skip generate bindings when cleaning.
- (CI) No longer keep separate artifacts for each platform/arch.
- (CI) Compile following version:
- Without editor documents ( minimum godot version 4.2)
- Without editor documents ( minimum godot version 4.2) + AOOLU
- With editor documents ( minimum godot version 4.3)
- With editor documents ( minimum godot version 4.3) + AOOLU
- Optimize the return string format of
_to_string(), let them like native classes.
Hop this plugin can help you and consider to buy me a coffee please.
这是一个有着一些破坏性变化和重大优化的版本。
对于新用户来说我强烈推荐使用最新版本。
对于老用户来说如果你没有广泛的显式写出API的返回值类型,并且希望在编辑器中查看参考文档,我也建议使用最新版本。
新的东西:
- 🎉从 EOS C SDK 中提取文档用于生成该插件在编辑器中的帮助文档。
- 注意:生成的文档仅供参考!!
- 需要与godo-cpp 4.3-stable(或更新的版本)一起编译并使用godot 4.3-stable(或更新的版本)。
- 添加标志用于编译“AOOLU”版本:
AOOLU( Assume Only One Local User),通过假定只使用一个本地用户来隐藏大多数名为local_user_id的属性/参数,详情请查看自述文件。
更新:
- 默认使用 godot-cpp 4.3 stable(你仍然可以自行检出godot-cpp 的4.2的分支进行编译)。
- 更新自述文件。
破坏性变化:
(统一命名)为EOSPackedResult的子类命名添加“EOS”前缀。
修复:
- 修复大量拼写错误。
- 重构构建系统,在清理时跳过绑定生成阶段。
- (CI)不再保留不同平台、架构的artifact。
- (CI)同时编译以下版本
- 不带编辑器文档(适用于godot 4.2 以上)
- 不带编辑器文档(适用于godot 4.2 以上)+ AOOLU
- 带编辑器文档(适用于godot 4.3 以上)
- 带编辑器文档(适用于godot 4.3 以上)+ AOOLU
- 优化
_to_string()返回值的格式,使它们更像使原生的类型。
希望这个插件能够帮到你,插件开发不易,也希望能为我充电.
Full Changelog: v0.2.0...v0.3.0
GD-EOS v0.2.0
Update dependencies:
- Use EOS SDK 1.16.4 to compile with precompiled libraries.
- Update godot-cpp.
Fix:
- Fix crash when destructing
EOSMultiplayerPeer. - Fix some errors of demo project.
Optimizes:
- Let code generator fit 3.9 or later versions of Python.
- Some changes of code generator to fit latest EOS SDK 1.16.4.
- Optimize and add tutorial video links to README files.
- Strip ".dev" keyword of compiled libraries' name (convenient for development).
Hop this plugin can help you and consider to buy me a coffee please.
更新依赖:
- 使用 EOS SDK 1.16.4 来编译预编译的二进制库。
- 更新 godot-cpp。
修复:
- 修复析构
EOSMultiplayerPeer时发生崩溃。 - 修复一些示例项目中的错误。
优化:
- 调整代码生成器使其能够兼容 Python3.9 或更新的版本。
- 调整代码生成器以兼容最新的 EOS SDK 1.16.4。
- 优化README文件,并向其添加教学视频链接。
- 去除编译后库文件名称中的".dev"关键词,方便开发。
希望这个插件能够帮到你,插件开发不易,也希望能为我充电.
Full Changelog: v0.1.7...v0.2.0
GD-EOS v0.1.7
Fix compile system: Ensure android build can link to the correct lib EOSSDK.
Full Changelog: v0.1.6...v0.1.7
GD-EOS v0.1.6
GD-EOS v0.1.5
Updata:
- Update EOS SDK to
1.16.3(🤖exporting for Android have some change, please refer toReadme.md).
Fix:
- Fix the return value of
EOSMultiplayerPeer::add_mesh_peer().
Full Changelog: v0.1.4...v0.1.5
GD-EOS v0.1.4
Fix:
- String type conversions.
- Fix double free in file transferation's callbacks.
Optimization:
- Special handling for file transferation.
- Add
out_data_buffertoEOSPlayerDataStorage_WriteFileDataCallbackInfoinstead of callback output argument (this is due to GDExtension limitation). - Optimize the generate logic of EOS struct's classes, get rid of useless union type fields, clearify the typed array binding.
- Add
find_user_idandfind_unique_idtoEOSMultiplayerPeer, for instead ofget_peer_idandget_user_idto get "peer_id" or "user_id" if you don't need to distinguish between local and remote.
Other:
- Add more known issues to readme (due to EOS self or GDExtension limitation).
- Begin this release, I will only upload the all-platforms pack, to avoid users download release pack only and can't work correctly in editor.
If you need seperated versions, please goto github actions page, or compile by yourself.