Skip to content

Releases: BAKAOLC/STS2-RitsuLib

0.4.17

10 Jun 11:45
v0.4.17
9f4e9bd

Choose a tag to compare

  • Modified the right-click binding execution logic; when the target object deletes itself, the remaining binding execution will be interrupted and directly enter the settlement process.
    • Avoid as much as possible performing operations in right-click binding events that would cause the object itself to be deleted, because the game's Hook logic is inconsistent with such situations and cannot ensure stable judgment of whether the state diverges.
  • Modified the trigger event of right-click binding, which should solve the problem of not being able to correctly trigger right-click binding in some cases.
  • Continued to fix refresh issues in some secondary resource UIs.
  • Modified the HoverTip processing logic for secondary resources, cleared the fixed appending of Amount text, and changed the relevant parameters to be injected into LocString to allow users to define the Amount text themselves.
  • Added some helper methods to simplify development.

  • 修改了右键绑定执行逻辑,当目标对象删除自身时将会打断剩余绑定执行并直接进入结算流程
    • 尽可能避免在右键绑定事件中执行会导致对象自身被删除等情况的操作,因为游戏中的 Hook 逻辑和这种情况不一致,它无法确保在这种情况下稳定判定状态是否分歧
  • 修改了右键绑定的触发事件,应当能够解决部分情况下无法正确触发右键绑定的问题
  • 继续修正了部分次级资源 UI 的刷新问题
  • 修改了次级资源的 HoverTip 处理逻辑,清理了固定的 Amount 文本追加,并将相关参数改为注入到 LocString 中以允许用户自行定义 Amount 文本
  • 增加了部分辅助方法以简化开发

Full Changelog: v0.4.16...v0.4.17

Development build (dev)

10 Jun 11:46
d3a5c01

Choose a tag to compare

Pre-release

This is an automated development build from branch dev.

  • Development Version: 9999.0.0-dev.27273818147+d3a5c01e (independent from stable release versions)

  • Current Stable Line in repo: 0.4.17

  • 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: d3a5c01e

  • Workflow Run: #27273818147

0.4.16

09 Jun 18:31
v0.4.16
7fd7e59

Choose a tag to compare

  • Fixed an issue where the layout of some UI elements was not completely correct.
  • Added preview checks to the secondary resource processing logic to avoid possible errors in certain situations.
  • Added a path to support optional secondary resource payment.
    • Still in experimental feature status, no guarantee of API stability. Please use with caution and provide relevant issues to help improve.
  • Added a log to output whether the character has Epoch and Timeline enabled.
  • Relaxed some interface checks for Epoch and Timeline to allow characters that have not registered RitsuLib to use related interfaces normally.

  • 修正了部分 UI 元素布局不完全正确的问题
  • 次级资源处理逻辑补充了 preview 检查,以避免在某些情况下可能出现的错误
  • 补充了一条路径以支持可选的次级资源支付
    • 仍为实验性功能状态,并不保证功能 API 稳定性,请谨慎使用并尽可能提供相关的 issue 以协助改进
  • 补充了一个输出角色是否启用 Epoch 和 Timeline 的日志
  • 解除了部分对 Epoch 和 Timeline 的接口检查,以允许未注册 RitsuLib 的角色也能正常使用相关接口

Full Changelog: v0.4.15...v0.4.16

0.4.15

09 Jun 10:08
v0.4.15
90c114d

Choose a tag to compare

  • Cleaned up structure and heavily split composite patches to improve JIT-ability of patches
  • Added ComputedEnergyVar, ComputedStarsVar, ComputedPowerVar<T> computed dynamic variables to support more dynamic variable usage needs
  • Fixed incorrect toggle judgment logic for content source tooltip
  • Adjusted content source retrieval logic to avoid possible deviations in certain specific scenarios
    • Since BaseLib's implementation cannot accurately determine the base source of CustomEnums, it is fixed as BaseLib for such cases
  • Reverted Label optimization in settings menu to ensure consistency in display style
  • Adjusted CardModel.GetDescriptionForPile injection point to fix issue where required text might not be correctly injected in some cases
    • If you previously encountered the issue of Keyword description not displaying, it should be fixed as a result.

  • 清理结构并大量拆分了复合 Patch 以提高补丁的可 JIT 化能力
  • 增加了 ComputedEnergyVarComputedStarsVarComputedPowerVar<T> 计算型动态变量,以支持更多的动态变量使用需求
  • 修正了内容来源悬浮窗的错误的开关判定逻辑
  • 调整了内容来源的获取逻辑,以避免部分特定场景下可能出现的偏差
    • 由于 BaseLib 的实现无法准确判定 CustomEnums 的基础来源,因此对于此类固定显示为 BaseLib
  • 回退了设置菜单中的 Label 优化以保证显示样式的一致性
  • 调整了 CardModel.GetDescriptionForPile 注入点,以修正某些情况下可能并没有正确注入所需文本的问题
    • 如果你之前遇到了 Keyword 描述不显示的问题,它应当被因此修正

Full Changelog: v0.4.14...v0.4.15

0.4.14

08 Jun 13:55
v0.4.14
9e39ba6

Choose a tag to compare

  • Fixed the issue where the call chain for displaying secondary resource cost bindings in the card UI was broken.
  • Added a wrapper class for secondary resource costs in the card UI.
  • Added some convenience methods to simplify registration and updating of secondary resource UI.
  • Added some convenience methods to simplify Capability-related calls and operations.
  • Refactored part of the ModSettingsUi rendering to improve interface performance, and simplified some layouts to provide more page space.

  • 修正了卡牌 UI 中次级资源费用显示挂钩的调用链断开的问题
  • 补充了一个卡牌 UI 上次级资源费用的包装类
  • 补充了一些快捷方法,用于简化次级资源 UI 的注册和更新
  • 补充了一些快捷方法,用于简化 Capability 的相关调用和操作
  • 重构了部分 ModSettingsUi 的渲染实现,以提升界面性能,并简化了部分布局以提供更大的页面空间

What's Changed

Full Changelog: v0.4.13...v0.4.14

0.4.13

07 Jun 13:54
v0.4.13
897ffab

Choose a tag to compare

  • Fixed an issue where main interface buttons could compete for layer priority with other main interface buttons.
  • Fixed an issue where secondary resources might lose cost definitions and other information when copied.
  • Redesigned the creation logic and hovertip binding logic of the secondary resource energy gauge to handle related content in a more reasonable and standardized manner.

  • 修复了主界面按钮可能会和其他主界面按钮抢占层级的问题
  • 修复了次级资源在复制时可能会丢失费用定义等信息的问题
  • 重新设计了次级资源能量表盘的创建逻辑和 hovertip 绑定逻辑,以用更合理和规范化的方式来处理相关内容

Full Changelog: v0.4.12...v0.4.13

0.4.12

07 Jun 09:00
v0.4.12
dd36557

Choose a tag to compare

  • The settings interface button of RitsuLib will now be displayed above the Modding row of the vanilla game, instead of below it.
  • A main menu button has been added to RitsuLib, which identifies the version and compatibility branch info of RitsuLib, and allows clicking to open the settings interface of RitsuLib.
    • Enabled by default, can be turned off in the settings interface.
  • Optimized the implementation of some patches to ensure they are more precise with less coverage, reducing and avoiding potential future logic divergence caused by duplicated logic.
  • Added an experimental secondary resource system to unify the implementation of auto-refreshing resources like energy in the game and token-accumulating resources like Radiance (as well as other types).
    • API stability is not guaranteed; it may undergo significant changes in future versions, but the current version is mostly usable and requires more testing.
    • By default, secondary resource display is not provided, but a unified hook system allows creating custom UI to show secondary resource counts on the game's energy UI, cards, and multiplayer list.
      • Includes a simple basic style implementation. If no specific needs, it can be used directly; otherwise, implement a custom factory to create custom UI.
    • Currently covered capabilities:
      • Resource definition (quantity range, turn-start behavior, persistence behavior, localization table, title, description, small icon, large icon)
      • Resource calculation and settlement (quantity judgment, X-cost, free play, play judgment, hook chain, history, etc.)
      • Resource display (energy UI, on cards, in multiplayer list)
      • Resource persistence (save, load, reload)
      • Resource localization (multi-language icon display, title, description)
      • Resource dynamic variables (DynamicVar wrapper)
      • Resource operation command set (SecondaryResourceCmd)
  • Adjusted some judgments of right-click interaction; now, when the execution side check returns false, the task is still marked as complete to ensure execution integrity.
    • Also fixed the inconsistency of capability logic hierarchy with other styles.
  • Adjusted the log output when registering content; now the ID of the registered content will be output to the log.

  • 现在 RitsuLib 的设置界面按钮将移动至游戏原版的 Modding 行的上方显示,而不再是其下方
  • RitsuLib 现在增加了一个主界面按钮,用于标识 RitsuLib 的版本和兼容分支信息,并允许点击后打开 RitsuLib 的设置界面
    • 默认开启,可在设置界面中关闭
  • 优化了部分补丁的实现方案,以保证其覆盖面更小且精确,以减少和避免因复制逻辑而可能产生的未来逻辑分歧问题
  • 增加了一个实验性的次级资源系统,用于统一实现类似于游戏中的能量这种自动刷新的资源以及辉星这种累积Token的资源(以及其他类型)
    • 不保证 API 稳定性,可能在未来版本中发生重大变化,但目前版本已基本可用,且需要更多测试
    • 默认不提供次级资源的显示,并带有统一的挂钩处理以允许在游戏的能量UI、卡牌上、多人列表处创建自定义UI用以显示次级资源数量
      • 带有简单的基本样式实现,如果没有特定的需求,可以直接使用,否则请自行实现 factory 以创建自定义UI
    • 目前已覆盖的能力范围:
      • 资源定义(数量范围、回合开始行为、持久化行为、本地化表、标题、描述、小图标、大图标)
      • 资源计算与结算(数量判定、X费、免费打出、打出判定、Hook链、历史记录等)
      • 资源显示(能量UI、卡牌上、多人列表处)
      • 资源持久化(存档、读档、重载)
      • 资源本地化(多语言图标显示、标题、描述)
      • 资源动态变量(DynamicVar 包装)
      • 资源操作指令集(SecondaryResourceCmd)
  • 调整了右键交互的部分判定,现在在执行端检查时判定 false 也会标记任务完成以保证执行的完整性
    • 同时修正了 capability 的相关逻辑层级与其他样式不一致的问题
  • 调整了注册内容时输出的日志信息,现在会将注册的内容的 ID 输出至日志中

Full Changelog: v0.4.11...v0.4.12

0.4.11

06 Jun 20:17
v0.4.11
a6c0d0a

Choose a tag to compare

  • Fixed the judgment conditions for Act map music, removed the assumption that all scenes have FMOD Event set, and added defensive handling for empty definition scenes.
  • HookedSingletonModel now records the passed CombatState and RunState to allow access to current state in hook callbacks.
    • Note: you cannot use it outside the hook callback, because correctness is only guaranteed inside the actual hook callback.
    • If the relevant hook itself passes data such as Player, you should prefer using them to obtain CombatState and RunState.
  • Adjusted some implementations of LifecyclePatches; now attempts to call lifecycle events at more specific order timings, and added support for some Events.

  • 修正了对 Act 地图音乐的判定条件,去除了假定所有场景都设置了 FMOD Event 的假设,并对空定义场景进行了防御性处理
  • HookedSingletonModel 现在会记录传递的 CombatState 和 RunState,以允许在 hook 回调中访问当前状态
    • 注意,你不能将其在 Hook 回调之外使用,因为它只有在实际的 Hook 回调中才能确保正确性
    • 如果相关的 Hook 本身有传递 Player 等数据,你应该优先使用它们来获取 CombatState 和 RunState
  • 调整了 LifecyclePatches 的一些实现,现在会尝试更明确的顺序时机调用发布生命周期事件,并补充了部分 Event 的支持

Full Changelog: v0.4.10...v0.4.11

0.4.10

05 Jun 12:55
v0.4.10
89ed1e7

Choose a tag to compare

  • Added some handling under Linux to allow Harmony patching to work correctly without using specific environment variables.
  • Completed part of the OrbCapability implementation; now for OrbModel, support has been added for extending its passive effects, activation, etc.
  • Fixed an issue where some controls might produce unexpected error messages.
  • Fixed an issue in the 0.103.2 compatibility version where a method incorrectly used a higher version API implementation.
  • Refactored the icon implementation logic for the compendium, adding safety protection to prevent the failure of a single button from causing other icons to fail as well.
    • Added an additional fallback to allow using a blank icon to create buttons when all paths fail.
  • Fixed the injection logic for some Keywords; for outdated string-type Keywords, a more accurate implementation path is now used to ensure correct functionality.
    • However, this is still outdated logic; please switch to using the enum-based Keyword type whenever possible.

  • 补充了在 Linux 环境下的一些处理,以允许在不使用特定环境变量下运行也能正确进行 Harmony 补丁工作
  • 补全了部分 OrbCapability 的实现,现在对于 OrbModel 支持扩展其被动和激发等效果了
  • 修复了部分控件可能会产生意外的报错信息的问题
  • 修复了 0.103.2 兼容版本中,有个方法错误的使用了高版本的 API 实现的问题
  • 重构了图鉴图标实现的逻辑,增加了安全保护以避免因单一按钮创建失败而导致其他图标一起失败的问题
    • 补充了一个额外的回退,以允许在全部路径失败时使用纯空白图标创建按钮
  • 修复了部分 Keyword 的注入逻辑,对于过时的字符串类型 Keyword 现在使用了更准确的实现路径,以保证其功能正确
    • 然而这仍然是一个过时逻辑,请尽可能改为使用枚举值的 Keyword 类型

Full Changelog: v0.4.9...v0.4.10

0.4.9

05 Jun 01:53
v0.4.9
b859f1c

Choose a tag to compare

  • Adjusted some framework initialization logic to make its workflow more accurate and reliable.
  • Optimized the parsing information panel for failed multiplayer game joins, and provided a copyable and exportable report function.
  • Added a diagnosis panel for multiplayer game state inconsistency, and provided a copyable and exportable report function.
  • The main version is modified to adapt to version 0.107.0, and compatibility support for version 0.105.1 is removed.

  • 调整了部分框架初始化逻辑,以使其工作流更为准确可靠
  • 优化了多人游戏加入失败时的解析信息面板,并提供了可复制导出的报告功能
  • 新增了多人游戏状态不一致时的诊断面板,并提供了可复制导出的报告功能
  • 主版本修改为适配 0.107.0 版本,移除了 0.105.1 版本的兼容性支持

What's Changed

New Contributors

Full Changelog: v0.4.8...v0.4.9