Releases: BAKAOLC/STS2-RitsuLib
Releases · BAKAOLC/STS2-RitsuLib
0.2.29
- Modify the target version of 0.105.0 to 0.105.1 and delete the support for 0.105.0
- Fixed the display effect error of the card outline rule when it is生效时部分情况下的显示效果错误问题
- Optimized and adjusted a portion of the node factory logic
- 修改 0.105.0 目标为 0.105.1,并删除 0.105.0 目标支持
- 修复了卡牌 Outline 规则生效时部分情况下的显示效果错误问题
- 优化调整了一部分节点工厂逻辑
Full Changelog: v0.2.28...v0.2.29
Development build (dev)
This is an automated development build from branch dev.
-
Development Version:
9999.0.0-dev.25608786706+45286b8b(independent from stable release versions) -
Current Stable Line in repo:
0.2.29 -
Purpose: quick testing and integration validation.
-
Stability: may change frequently and can include breaking changes.
-
Install target: developers/testers only.
-
Repository: BAKAOLC/STS2-RitsuLib
-
Commit:
45286b8b -
Workflow Run: #25608786706
0.2.28
- Fixed an issue where logs could generate large amounts of unbounded noise under some weak-network conditions.
- Fixed an issue where, during handshake negotiation, attempts to initiate the handshake could retry without limit in some cases.
- Fixed an issue where, after a player disconnects, attempts to send messages to that player could retry without limit.
- setting system of runtime interop now supports I18N protocol, allowing mod authors to localize the settings interface using I18N system.
- setting system of runtime interop now supports default value protocol, allowing mod authors to set default value target in the settings interface.
- refactored some persistence related code, unified the structure and allowed using a unified interface to handle persistence operations.
- now
SaveScopeenum has two new enum values:RunSidecarandInMemory, representing session-level persistence and in-memory persistence respectively.
- now
- adjusted the log output level and timing of the patcher system, greatly reducing the log noise during normal operation.
- most debug information is now downgraded to
DEBUGlevel, if needed, please pass the--log-levelparameter at runtime to adjust the log level.
- most debug information is now downgraded to
- 修正了部分弱网环境下会在日志无限制产生大量噪音的问题
- 修正了握手协商过程中,部分情况下会无限制的尝试发起握手协商的问题
- 修正了在玩家断连后,会重复尝试再次发送消息至该玩家的问题
- 设置系统的弱依赖引用协议现在增加了 I18N 协议支持,以允许 mod 作者使用 I18N 系统来本地化设置界面
- 设置系统的弱依赖引用协议现在支持了默认值协议支持,以允许 mod 作者在设置界面中设置默认值目标
- 重构了部分持久化系统的相关代码,将结构改为更统一的形式,并允许使用统一接口来处理持久化操作
- 现在
SaveScope枚举增加了RunSidecar和InMemory两个新的枚举值,分别表示对局级持久化和内存持久化
- 现在
- 调整了 Patcher 系统的日志输出 Level 和时机,现在在正常运行过程中的日志噪音被大幅降低
- 大部分调试信息降低至了
DEBUG级别,如果有需要,请在运行时传递--log-level参数来调整日志级别
- 大部分调试信息降低至了
Full Changelog: v0.2.27...v0.2.28
0.2.27
- Improve the implementation details of AnyPlayer and Anyone targeting logic
- Add support for extra icon amount labels on the bottom right corner, and handle conflicts with vanilla UI
- Follow STS2 0.105.0: replace removed
Hook.AfterCardRetainedwithHook.AfterFlush, addBeforeFlushpatch, expose newBeforeFlushEventandCardsFlushedEvent; the legacyCardRetainedEventis replayed per retained card and marked[Obsolete] - Follow STS2 0.105.0
Badgeconstructor change:RuntimeTemplateBadgeandBadgePool.CreateAllpostfix now thread the newwonflag through the matching base ctor signature, eliminatingMissingMethodExceptionon the death screen for mods that registerModBadgeTemplate - Switch version-conditional compilation to cumulative interval macros (
STS2_AT_LEAST_<ver>) underbuild/RitsuLib.CompatDefines.targets; legacy single-targetSTS2_V_<ver>macros are gone - Maintained version is now 0.105.0, and the 0.104.0 branch will be treated as a Compat branch and will be maintained at the same level as 0.103.2
- Therefore, code still targeting 0.104.0 needs to use the new nuget package
- 优化 AnyPlayer 和 Anyone 的部分逻辑的实现细节
- 补充了右下角的额外数值角标槽位,并且增加了对不同原版角标的默认占位处理,在冲突时会报告错误
- 跟随 STS2 0.105.0 的钩子改动:用
Hook.AfterFlush取代被移除的Hook.AfterCardRetained,并补打BeforeFlush,新增BeforeFlushEvent与CardsFlushedEvent;原CardRetainedEvent在 0.105+ 上按张从AfterFlush.retainedCards回放,并标记[Obsolete]引导订阅方迁移到CardsFlushedEvent - 跟随 STS2 0.105.0
Badge构造器签名变更:RuntimeTemplateBadge与BadgePool.CreateAll后缀现按新won参数透传到匹配的基类构造函数,修复 mod 登记ModBadgeTemplate后在死亡结算页因MissingMethodException闪退的隐患 - 把版本条件编译统一改为累积区间宏(
STS2_AT_LEAST_<ver>),归口到build/RitsuLib.CompatDefines.targets;旧的单点版本宏STS2_V_<ver>已全部移除 - 主要面向版本已修改为 0.105.0,现行的 0.104.0 分支将转变为 Compat 分支并与 0.103.2 视为同等维护等级处理。
- 因此仍然面向 0.104.0 的代码需要使用新的 nuget 包
Full Changelog: v0.2.26...v0.2.27
0.2.26
- Fix some issues with max hand size calculation and modifier registration
- Fix some issues with version migration and modifier registration
- Extra icon amount labels now support custom color and outline color
- 修复了在某些情况下,手牌数量修改会重复生效的问题
- 修复了在设置版本迁移过程中会错误的触发重复注册的问题
- 额外数值角标功能现在支持自定义颜色和描边颜色了
Full Changelog: v0.2.25...v0.2.26
0.2.25
- Fixed some issues with HookedSingletonModel that were causing it to not work correctly
- 修正了 HookedSingletonModel 的部分错误实现,现在应当能正常工作了
Full Changelog: v0.2.24...v0.2.25
0.2.24
- Redesigned build workflow, now the Compat target product's manifest will have a
(STS2 <version> compat)suffix in thenamefield to clearly indicate that it is a compatibility package for a specific STS2 version. - Added a Loader project, which is used to load the corresponding STS2-RitsuLib.dll based on the game version.
- It will first look for the STS2-RitsuLib.dll corresponding to the current game version.
- If not found, it will select the one with the version closest to but lower than the current version.
- If none is found, it will load the latest version.
- The CI build artifact now contains a
STS2-RitsuLib.<version>.variant-pack.zipfile- Applicable to users, to reduce the need for users to manually download the corresponding package and switch files according to the version.
- Not applicable to development environment, because the base dll will be replaced with Loader, which will cause compilation failure.
- Only experimental support, it may be removed after the Steam Workshop is online.
- Added a website deployment workflow, which will deploy the documentation as a static website to GitHub Pages.
- Added an I18N table bridge, which is used to bridge the I18N object to the game's LocTable as a virtual LocTable.
- 重新修改了编译工作流,现在产出的 Compat 包的 manifest 中
name字段会添加(STS2 <version> compat)后缀以明确指出是针对特定 STS2 版本的兼容包 - 增加了 Loader 项目,用于根据游戏版本选择加载对应的 STS2-RitsuLib.dll
- 会优先查找当前游戏版本对应的 STS2-RitsuLib.dll
- 如果没有找到,则从低于该版本且最接近的版本中选择一个
- 如果都没有找到,则加载最新版本
- CI 构建产物现在会包含一个
STS2-RitsuLib.<version>.variant-pack.zip文件- 适用于用户,以减少用户必须根据版本手动下载对应包和来回切换文件的操作
- 无法用于开发环境使用,因为基础 dll 会被替换为 Loader,这会导致编译失败
- 仅为实验性支持,Steam 创意工坊上线后可能会被移除
- 修改了文档,添加了网站部署工作流,现在会把相关文档作为静态网站部署到 GitHub Pages
- 增加了一个 I18N 表桥接器,用于将 I18N 对象桥接到游戏内 LocTable 中作为虚拟 LocTable 使用
Full Changelog: v0.2.23...v0.2.24
0.2.23
- Added an extra corner amount labels system, allowing models to display extra amounts on the three corners other than the bottom right.
- Added HookedSingletonModel for simplifying singleton model hook subscription registration
- Added a set of JSON utilities (
STS2RitsuLib.Utils.Json)- JSON Pointer:
JsonPointer(RFC 6901,https://www.rfc-editor.org/rfc/rfc6901) - JSON Merge Patch:
JsonMergePatch(RFC 7386,https://www.rfc-editor.org/rfc/rfc7386) - JSON Patch:
JsonPatch(RFC 6902,https://www.rfc-editor.org/rfc/rfc6902) - JSON Canonicalization (JCS):
JsonCanonicalizer(RFC 8785,https://www.rfc-editor.org/rfc/rfc8785) - I-JSON Validation:
JsonIJsonValidator(RFC 7493,https://www.rfc-editor.org/rfc/rfc7493)
- JSON Pointer:
- Extended the Mod Settings registration capability without dependencies, and added ModData persistence support in non-dependency environments
- No related documentation yet, as I really don't know how to write documentation
- 添加了一个额外角标数值系统,使得支持的模型允许在除了右下角以外的三个角上显示额外的数值。
- 添加了 HookedSingletonModel 用于简化单例模型的钩子订阅注册
- 添加了一组 JSON 工具类(
STS2RitsuLib.Utils.Json)- JSON Pointer:
JsonPointer(RFC 6901,https://www.rfc-editor.org/rfc/rfc6901) - JSON Merge Patch:
JsonMergePatch(RFC 7386,https://www.rfc-editor.org/rfc/rfc7386) - JSON Patch:
JsonPatch(RFC 6902,https://www.rfc-editor.org/rfc/rfc6902) - JSON 规范化(JCS):
JsonCanonicalizer(RFC 8785,https://www.rfc-editor.org/rfc/rfc8785) - I-JSON 校验:
JsonIJsonValidator(RFC 7493,https://www.rfc-editor.org/rfc/rfc7493)
- JSON Pointer:
- 继续扩展了无依赖时的 Mod 设置注册能力,并增加了无依赖环境时的 ModData 持久化能力支持
- 暂时没有相关文档,因为我真不会写文档
Full Changelog: v0.2.21...v0.2.23
0.2.21
- Modified logic to get initial cards, relics, and potions in ModCharacterTemplate
- Somewhat lifted the restriction on FMod support, now if the audio file in the PCK is not imported by Godot, it should be able to be played by FMod
- It is necessary to ensure that the audio file does not use the import option, otherwise Godot will treat it as an imported resource, rather than a raw file, which will cause FMod to fail to obtain the correct audio data
- If played forcibly, the game will crash, therefore this restriction is still maintained
- It is necessary to ensure that the audio file does not use the import option, otherwise Godot will treat it as an imported resource, rather than a raw file, which will cause FMod to fail to obtain the correct audio data
- Improved the layout and style of the settings interface, now supports more setting values
- Fixed the character visual processing logic in the fake merchant scene
- Fixed the issue that multiple FMod Guid tables will cause the previous loaded Guid tables to be invalid when loaded
- Added
FmodStudioDeferredBankRegistration.RegisterBankandFmodStudioDeferredBankRegistration.RegisterStudioGuidMappingsmethods, used to defer the loading of FMod banks and Guid tables until theDeferredInitializationCompletedEventis raised, and load them in one batch to ensure that the correct content is loaded when FMod is available
- 修改了 ModCharacterTemplate 对初始卡、遗物、药水的获取逻辑
- 一定程度上解除对 FMod 支持的限制,现在如果 PCK 内放置的音频是没有被 Godot 导入过的,那么它应当可以被 FMod 播放了
- 需要确保设置音频文件不使用导入选项,否则 Godot 会将其视为导入资源,而不是原始文件,这将会导致 FMod 无法获取正确的音频数据
- 如果强行播放,将会导致游戏崩溃,因此目前仍然保持这种限制
- 需要确保设置音频文件不使用导入选项,否则 Godot 会将其视为导入资源,而不是原始文件,这将会导致 FMod 无法获取正确的音频数据
- 继续优化设置界面的布局和样式,现在支持了更多的设置值
- 修复了假商人场景的角色视觉处理逻辑
- 修复了多个 FMod Guid 表加载时会错误的导致之前加载的 Guid 表失效的问题
- 增加了
FmodStudioDeferredBankRegistration.RegisterBank和FmodStudioDeferredBankRegistration.RegisterStudioGuidMappings方法,用于将 FMod bank 和 Guid 表的加载推迟到DeferredInitializationCompletedEvent之后,并在同一批里完成加载,以保证在 FMod 可用时在正确加载所需内容
What's Changed
- fix(character): merge registered starter content by @alkaid616 in #31
New Contributors
- @alkaid616 made their first contribution in #31
Full Changelog: v0.2.19...v0.2.21
0.2.19
- Provide
MaterialUtils.CreateUnmodulatedHsvShaderMaterialmethod to create HSV shader material withH=0, S=1, V=1 - Optimize the implementation of
AnyPlayer、Anyonehand operation to improve logic safety - Optimize the logic of
CardRewardto improve logic safety - Optimize and fix the anchor point calculation logic of extra card piles, now you can pass custom anchor point parameters.
- Also fix the anchor point calculation of some animation targets (e.g. card fly animation) to find the correct target position and enter it (roughly).
- 提供了
MaterialUtils.CreateUnmodulatedHsvShaderMaterial方法用于创建H=0, S=1, V=1的 HSV 着色器材质- 这可以用于
FrameMaterial以保持你的贴图颜色不变
- 这可以用于
- 优化了
AnyPlayer、Anyone的手柄操作实现,以提升逻辑的安全性 - 优化了
CardReward的相关逻辑,以提升逻辑的安全性 - 优化修正了额外牌堆的锚点计算逻辑,现在允许传递自定义的锚点参数了
- 并且修正了部分动画目标(如卡牌飞行动画)的锚点计算,现在它们会找到正确的目标位置钻进去了(大概)
Full Changelog: v0.2.18...v0.2.19