Releases: BAKAOLC/STS2-RitsuLib
0.2.13
- Implemented a set of APIs for refreshing the partial visual effects of cards, relics, potions, and other resources at runtime
- Fixed a bug that could cause the quality color to be incorrect in certain cases
- 增加了一组 API 用于运行时刷新卡牌、遗物、药水、能量球等资源的部分视觉效果
- 修复了一个特定情况下会导致品质颜色错误的错误
Full Changelog: v0.2.12...v0.2.13
0.2.12
- Added an optional Order to the registrars for starting cards, relics, potions, and other content, to allow for a certain degree of custom sorting
- Continued to expand resource overriding functionality significantly; overriding support across various paths has been greatly improved
- Added custom badge support
- Modified the NuGet package's Targets definition; now you need to explicitly define RitsuLibDeployDir to the folder where files need to be copied for the files to be copied there
- Will not be placed in subfolders; please specify the final destination folder yourself
- Extended and reorganized the entire settings system; the file structure layout is now slightly clearer
- Added a Custom constructor for creating custom controls
- Added a workflow for constructing settings pages and data binding based on annotation types
- Fixed a misplaced reference example and simplified the descriptive text
- Added a Spine preview example page to serve as a demonstration for the annotation construction settings page
- Adjusted the version number log output format for the compatible version
- 对起始卡牌、遗物、药水等内容的注册器添加了一个可选的 Order,以用于一定程度上允许自定义排序
- 继续扩展了大量资源覆写功能,现在多种路径上的覆写支持能力都获得了大幅提升
- 添加了自定义 badge 支持
- 修改了 NuGet 包的 Targets 定义,现在需要自己显式定义 RitsuLibDeployDir 到需要复制的文件夹才会复制文件过去
- 不会放置于子文件夹,请自行指定到最终目标文件夹
- 扩展、整理了整个设置系统,现在文件结构布局会略微清晰一些
- 增加了 Custom 构造器,用于创建自定义控件
- 增加了依靠注解类型来构造设置页面和数据绑定的工作方式
- 修正了一个摆放位置错误的参考示例,并简化了描述文本
- 新增了一个 Spine 预览示例页,用于作为注解构造设置页面的演示
- 调整了兼容版本的版本号日志输出格式
Full Changelog: v0.2.11...v0.2.12
0.2.11
- Reverted a patch modification to address a specific issue
- Now the compatibility version branch files output a specific compatibility version label to the log, so that they can be distinguished from the official version in the log
- 回退了一个补丁的修改方案,以解决特定情况下的问题
- 现在兼容性版本分支文件会输出特定的兼容性版本标签到日志中,以使其能够在日志中与正式版本区分开来
Full Changelog: v0.2.10...v0.2.11
0.2.10
- The custom card deck's card flight start position now allows users to pass in a custom delegate to calculate the start position, thereby supporting start position specifications for various requirements
(Why didn't I do this together before?) - The released ZIP packages will now include API documentation and PDB symbol files
- Modified the implementation of some patches and added markers for determining order; the execution order of patches should now be more controllable
- Fixed some synchronization issues with mirror settings that were introduced by previous interface optimizations
- Experimentally added a network system for optional side-loaded network data pipeline; please consider using with caution
- It is based on the vanilla network system
- It does not use the vanilla structure, so it will not directly break net id allocation
- It will try to detect the network pipeline availability in several specific ways and automatically enable it when available
- Therefore, it should be able to work normally with users who have no Mod installed, unless a mod specifies that other clients must be able to handle certain data
- 现在自定义牌堆的卡牌飞行起始位置允许用户传入自定义的委托来计算起始位置,从而支持各种需求的起始位置指定了
(我之前为什么没一起做?) - 现在开始发布的 ZIP 包会携带 API 文档和 PDB 符号文件了
- 修改了部分补丁的实现方案并增加了一些确定顺序用的标记,现在补丁的执行顺序应当更为可控了
- 修复了部分由于之前的界面优化而引入的镜像设置的同步问题
- 实验性的加入了一套网络系统,用于实现可选的侧载网络数据管道,请谨慎考虑使用
- 它基于原版的网络系统实现
- 它不使用原版的结构,因此不会直接破坏 net id 分配
- 它会用几种特定方式尝试探测网络管道是否可用,并在可用时自动启用
- 因此它和无 Mod 用户应当能正常工作进行联机,除非有 mod 指定了要求其他客户端必须能够处理它的某些数据
What's Changed
Full Changelog: v0.2.9...v0.2.10
0.2.9
- Now supports prefix-matching completion for IDs of content registered based on RitsuLib in the console by omitting the MODID_TYPE_ prefix
- For example: the
TestCardcard from theSamplemod should be registered asSAMPLE_CARD_TEST_CARD
Previously, the full IDcard SAMPLE_CARD_TEST_CARDwas required to autocomplete
Now it can be automatically completed toSAMPLE_CARD_TEST_CARDwhen enteringcard TEST_CARD - Note: This is not fuzzy matching, but strict prefix matching identical to the original completion system, and it will only handle ID completion for content registered via RitsuLib
- For example: the
- The custom card stack's card flight target position now allows users to pass in a custom delegate to calculate the target position, thereby supporting target position specification for various requirements
- The UI backend logic of the ModSettings system has undergone a major refactor, and it should now be more fluid when updating data
- 现在支持在控制台中用省略 MODID_TYPE_ 的方式进行前缀匹配补全基于 RitsuLib 注册的内容的 ID 了
- 如:
Sample这个 mod 的TestCard卡牌,它应当会被注册为SAMPLE_CARD_TEST_CARD
之前需要使用card SAMPLE_CARD_TEST_CARD的完整 ID 才能补全
现在可以在输入card TEST_CARD的时候自动补全为SAMPLE_CARD_TEST_CARD了 - 注意:这不是模糊匹配,而是和原补全系统相同的严格前缀匹配,并且只会处理经由 RitsuLib 注册的内容的 ID 补全
- 如:
- 现在自定义牌堆的卡牌飞行目标位置允许用户传入自定义的委托来计算目标位置,从而支持各种需求的目标位置指定了
- 对 ModSettings 系统的界面后端逻辑进行了大幅度重构,现在它在更新数据时应当更为流畅了
Full Changelog: v0.2.8...v0.2.9
0.2.8
- Adjusted the registration logic for the guidebook button
- Now supports specifying that character filter buttons be inserted at the desired location according to a rule-based priority
- Now supports specifying a card pool to be added as a new filter button to the guidebook (also supports insertion at the desired location according to rule-based priority)
- Renamed the animator construction interface; the original one is retained and marked as obsolete
- Spine animations now also run on our own wrapped state machine driver by default
- Added a simple wrapper to allow in-game character form switching based on the animation state machine
- Fixed the initialization timing of the animation state machine to ensure that the initial state can be correctly specified by the state machine
- Added the implementation of the AnimationTree state machine backend
- Fixed the event subscription system; it will now correctly match the API changes in 0.103.2 and 0.104.0
- 调整了图鉴按钮的注册逻辑
- 现在支持指定将角色过滤按钮按指定的规则优先级插入到需求位置
- 现在支持指定卡池作为新的过滤按钮加入到图鉴中(同样支持按规则优先级插入到需求位置)
- 重命名了动画状态机的构造接口,原有的被保留并标注为过时
- 现在 Spine 动画也默认走我们自己包装的状态机驱动了
- 增加了一个简单的包装以允许基于动画状态机实现角色局内形态切换
- 修正了动画状态机的初始化时机,以保证能正确由状态机来指定初始状态
- 增加了 AnimationTree 状态机后端的实现
- 修正了事件订阅系统,现在将会正确匹配 0.103.2 和 0.104.0 的 API 变更
Full Changelog: v0.2.7...v0.2.8
0.2.7
- Added registration and conversion logic for CardTag, with an API similar to Keyword.
(Although I think the two can do pretty much the same thing, aside from the lack of hovertip...) - Fixed the auto-sorting direction of the card pile in the bottom left corner; it now correctly sorts to the right.
Additionally, it now re-layouts when toggling visibility. - Improved a comprehensive character resource replacement mechanism, which can be used to specify the replacement of most resources for any character.
Extended some APIs to support more convenient registration of resource replacements. - Fixed and unified the parsing hierarchy order at the resource layer. The current parsing order from low to high is as follows:
- Model native definitions (including definitions replaced through implementing interfaces)
- Replacement definitions registered via Content Pack / Programmatic
- Override definitions registered via Mod
- 补充了 CardTag 的注册和转换逻辑,API 与 Keyword 类似。
(虽然我觉得除了没有 hovertip 外它们两个基本可以干差不多的事……) - 修复了左下角牌堆的自动排序方向,现在会正确往右侧排序。
另外现在会在切换可见性的时候重新布局了。 - 完善了一整套的角色资源替换机制,可以用于指定替换任意角色的大多数资源。
扩展了部分 API 以支持更便捷的注册资源替换。 - 修正并统一了资源层的解析层级顺序,现在的解析顺序从低到高依次为:
- Model 原生定义(包括通过实现接口替换的定义)
- Content Pack / Programmatic 注册的替换定义
- Mod 注册的 Override 定义
What's Changed
- Ergonomic: Add CreateRgbShaderMaterial and pageDescription by @GlitchedReme in #25
New Contributors
- @GlitchedReme made their first contribution in #25
Full Changelog: v0.2.6...v0.2.7
0.2.6
- Added a temporary ability template (ModTemporaryPowerTemplate) for creating effects similar to the vanilla game's temporary power, temporary agility, and temporary focus
- Improved support for Settings registration under weak reference scenarios
- Now supports most setting types and properties
- Added a schema file to facilitate editing and validation of settings in editors such as VS Code
Compatibility Warning
-
Due to upstream changes, many API signatures have been modified, so major version support will only be for version 0.104.0 and above
- For this reason, most compatibility for 0.99.1 has been removed
- Many APIs have been re-standardized; now Keyword, Pile, etc. have been changed to use a unified ID generation rule, and some original specific parameters have been removed
-
Currently, experimental support for splitting packages for different versions has been introduced; if you need to use some features and optimizations of the new version in the old version, you can use it
- However, the original specific compatibility handling has not been re-introduced (as the main branch is no longer maintaining relevant content), so some old mods may need to be modified and recompiled
- When the game merges the beta branch into the official version, you will still need to actively make API changes for the new version
- In the future, this workflow may be followed, and there will be specific branch-specific versions available on NuGet.
- 增加了临时能力模板(ModTemporaryPowerTemplate),用于创建类似游戏中原版存在的 临时力量、临时敏捷、临时集中 的效果
- 对弱引用情况下的 Settings 的注册支持能力进行了提升
- 现在支持了大多数的设置类型和属性
- 添加了 schema 文件,用于在 vscode 等编辑器中可以更方便的进行设置的编辑和验证
兼容性警告
-
由于上游的变更,许多 api 签名已经被修改,所以主要版本支持将只支持 0.104.0 及以上版本
- 基于这个原因,大部分的针对 0.99.1 的兼容性已经被移除
- 许多 api 已重新标准化,现在 Keyword、Pile 等已改为使用统一的 ID 生成规则,原本的部分特定参数被移除
-
目前实验性的引入分包支持不同版本,如果需要在老版本使用新版本的一些功能和优化,可以使用
- 但是并没有重新引入原有的特定兼容性处理(因为主干分支已不再维护相关内容),因此部分老 mod 可能需要进行修改和重编
- 当游戏合并 beta 分支到正式版时,你仍然需要主动针对新版本进行 api 修改
- 未来可能会遵循这个工作流,并且在 nuget 会有特定的针对分支的版本可用。
Full Changelog: v0.2.5...v0.2.6
0.2.5
Compatibility Warning
-
Due to upstream changes, many API signatures have been modified, so major version support will only be for version 0.104.0 and above
- For this reason, most compatibility for 0.99.1 has been removed
- Many APIs have been re-standardized; now Keyword, Pile, etc. have been changed to use a unified ID generation rule, and some original specific parameters have been removed
-
Currently, experimental support for splitting packages for different versions has been introduced; if you need to use some features and optimizations of the new version in the old version, you can use it
- However, the original specific compatibility handling has not been re-introduced (as the main branch is no longer maintaining relevant content), so some old mods may need to be modified and recompiled
- When the game merges the beta branch into the official version, you will still need to actively make API changes for the new version
- In the future, this workflow may be followed, and there will be specific branch-specific versions available on NuGet.
兼容性警告
-
由于上游的变更,许多 api 签名已经被修改,所以主要版本支持将只支持 0.104.0 及以上版本
- 基于这个原因,大部分的针对 0.99.1 的兼容性已经被移除
- 许多 api 已重新标准化,现在 Keyword、Pile 等已改为使用统一的 ID 生成规则,原本的部分特定参数被移除
-
目前实验性的引入分包支持不同版本,如果需要在老版本使用新版本的一些功能和优化,可以使用
- 但是并没有重新引入原有的特定兼容性处理(因为主干分支已不再维护相关内容),因此部分老 mod 可能需要进行修改和重编
- 当游戏合并 beta 分支到正式版时,你仍然需要主动针对新版本进行 api 修改
- 未来可能会遵循这个工作流,并且在 nuget 会有特定的针对分支的版本可用。
Full Changelog: v0.2.3...v0.2.5
0.2.3
Compatibility Warning
- Due to upstream changes, some API signatures have been modified, so this version will only support 0.104.0
- For this reason, a large amount of compatibility adaptations for 0.99.1 have been removed
- Some APIs have been re-standardized and corrected accordingly; now Keyword, Pile, etc. have been changed to use unified ID generation (the original parameter specification is no longer supported)
Full Changelog: v0.2.2...v0.2.3