Skip to content

Releases: BAKAOLC/STS2-RitsuLib

0.3.0

22 May 02:50
v0.3.0
607d773

Choose a tag to compare

  • Added some null path call intercept handling for FMod to address some issues with the FMod plugin
  • Breaking Change: Removed the RunSidecar design, which has been completely replaced by RunSavedData
  • Added the ability to register TargetTypes, to support custom TargetType registration
  • The primary target version has been changed to 0.106.0, and 0.104.0 compatibility support has been removed
    • The loading target detection mechanism of the Loader has been strengthened, and now the hash verification will be used for branch version files, and the version that does not match will be discarded directly

  • 对 FMod 的空路径调用进行了一定拦截处理,以解决 FMod 插件对此存在的一些问题
  • 破坏性变更: 删除了 RunSidecar 的相关设计,该系统已被 RunSavedData 完全取代
  • 添加了 TargetType 的注册能力,以支持自定义 TargetType 的注册
  • 主要目标版本已更改为 0.106.0,并删除了 0.104.0 的兼容性支持
    • 强化了 Loader 的加载目标检测机制,现在会对分支版本文件使用哈希校验,未匹配的版本将直接被丢弃

Full Changelog: v0.2.40...v0.3.0

Development build (dev)

22 May 19:35
45f90e7

Choose a tag to compare

Pre-release

This is an automated development build from branch dev.

  • Development Version: 9999.0.0-dev.26308012862+45f90e73 (independent from stable release versions)

  • Current Stable Line in repo: 0.3.0

  • 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: 45f90e73

  • Workflow Run: #26308012862

0.2.40

21 May 04:18
v0.2.40
f80d8a6

Choose a tag to compare

  • Added support for injecting missing localization keys into LocTable
  • Fixed a potential stack overflow issue in the autocomplete feature when dealing with recursive model references

  • 补全了 I18NLocTable 缺少的部分注入支持
  • 修复了之前新加入的自动补全能力对于部分 Warper 模型有可能产生循环递归而导致栈溢出崩溃的问题

Full Changelog: v0.2.39...v0.2.40

0.2.39

20 May 18:57
v0.2.39
ce692c5

Choose a tag to compare

  • Fix the issue that may report an error when clicking on the relic list in a new map

  • 修复在新地图中点击遗物列表时可能会报错的问题

Full Changelog: v0.2.38...v0.2.39

0.2.38

20 May 18:30
v0.2.38
ca395cc

Choose a tag to compare

  • Re-optimized part of the telemetry logic to ensure more stable operation
  • Modified the reading logic for ModManager, especially for the Mod type, to bypass the crash issue during reading caused by fields being changed to properties in the ported version

  • 重新优化一部分遥测逻辑,保证其工作更稳定
  • 修改了对 ModManager 的读取逻辑,尤其是对 Mod 类型的读取,以绕过移植版中将字段改为属性导致读取时闪退的问题

Full Changelog: v0.2.37...v0.2.38

0.2.37

20 May 12:23
v0.2.37
57ae075

Choose a tag to compare

  • Optimized the usage of i18n texts to avoid reading texts before initialization is complete
  • Fixed the missing fallback paths
  • Fixed the RunSavedData working path to ensure it works for all versions
  • Fixed and optimized the TimeLine and Epoch working logic to make it more consistent with the game's original behavior
  • The telemetry feature will be temporarily disabled on mobile devices

  • 调整了部分内容多语言文本的使用时机,以避免在未初始化完成时读取
  • 修正了缺失的部分 fallback 路径
  • 修正了 RunSavedData 的工作路径以保证各个版本均能正常工作
  • 修正优化了 TimeLine 和 Epoch 的工作逻辑以使其更符合游戏原版的表现
  • 现在移动端将暂时禁用遥测功能

What's Changed

New Contributors

Full Changelog: v0.2.36...v0.2.37

0.2.36

20 May 04:54
v0.2.36
3eb89d5

Choose a tag to compare

  • Optimized the injection points of the map voting cleanup to avoid potential Harmony injection collisions
  • Fixed the issue where some devices may fail to find the GetAct method
  • Continued to optimize the telemetry data information
  • Added an update check system, which will pop up a notification toast when a new version is found
    • The automatic update check will only be performed once per session when the user first enters the main menu

  • 调整了地图投票清理相关的注入点,以避开容易导致 Harmony 注入碰撞的问题
  • 修复了部分设备可能会出现的找不到 GetAct 方法的问题
  • 继续优化了遥测的数据信息
  • 增加了更新检查系统,当检查到有新版本时,会弹出更新提示 Toast 通知用户
    • 自动更新检查仅在每次会话首次进入主菜单时检查一次

Full Changelog: v0.2.35...v0.2.36

0.2.35

19 May 14:18
v0.2.35
ebfe2a0

Choose a tag to compare

  • Optimized some telemetry system data management to ensure the work chain is more stable and accurate

  • 优化了部分遥测系统的数据管理方式,以确保工作链路更稳定和准确

Full Changelog: v0.2.34...v0.2.35

0.2.34

19 May 11:37
v0.2.34
174a816

Choose a tag to compare

  • Toast system added Persistence setting, allowing it to remain visible without automatically disappearing over time
  • Added MainMenuReadyEvent lifecycle event, allowing unified registration and reuse of the main menu initialization time point for specific behavior logic
  • Added Telemetry system, allowing data collection and reporting under user authorization, and allowing other mods to reuse the system to collect and report data to their own endpoints
    • RitsuLib will now register requests for the following data:
      • Basic usage data (including game version, running platform, RitsuLib version, anonymous player ID)
      • Mod installation list data (removed path information to maintain privacy)
      • Error log data (including error type, error stack, game version)
    • When a mod requests telemetry data, a toast will be displayed to prompt the user to authorize. Only after the user authorizes will the data be allowed to be uploaded through the dispatcher.
    • Built-in support for data includes the RunHistory record after the game ends, which can be requested by developers who want to analyze and balance the game data
      • RitsuLib itself does not request and report related data
    • The backend protocol is available at schemas\telemetry\v1\openapi.yaml, which follows the OpenAPI 3.1 specification and can be used directly by tools to automatically generate server code
      • You can also refer to the schemas\telemetry\v1\telemetry-batch.schema.json and schemas\telemetry\v1\telemetry-event.schema.json files to verify the data format
  • Marked string usage of CardKeyword and CardTag as obsolete, indicating that they are now available to be converted to enum types to call through vanilla methods
  • Added missing FMOD support
  • Modified the implementation of HookedSingletonModel, changed to use a single HookType parameter to construct the instance, avoiding the issue of some hooks being triggered multiple times
  • Added ModelCloneRegistry system, allowing to listen to model clone operations and execute custom logic
  • Modified the implementation of CardHandOutline, now using a unified new wrapper as the main logic, and migrating the original registration API to the new wrapper

  • Toast 系统增加了 Persistence 设置,允许使其保持可见而不会随时间自动消失
  • 修改增加了 MainMenuReadyEvent 生命周期事件,便于统一注册复用主菜单的初始化时间点进行一些特定行为逻辑
  • 增加了 Telemetry 系统,允许在用户授权的前提下进行数据收集和上报,并允许其他模组复用该系统进行数据收集和上报到自己的端点
    • RitsuLib 现在会注册请求以下数据:
      • 基础使用数据(包括游戏版本,运行的平台,RitsuLib 版本,匿名玩家 ID)
      • Mod 安装列表数据(去除了路径等信息以保持脱敏性)
      • 错误日志数据(包括错误类型,错误堆栈,游戏版本)
    • 当模组申请获取遥测数据时,会弹出 Toast 提示用户授权。仅当用户授权后才会允许通过调度器上传数据。
    • 内置支持的数据还包括对局结束后的 RunHistory 记录,对于希望统计分析对局数据的开发者可以请求相关数据用于分析和平衡调整
      • RitsuLib 自身并不请求和上报相关数据
    • 后端协议请参考 schemas\telemetry\v1\openapi.yaml 文件,此文件遵循 OpenAPI 3.1 规范,可以直接用于工具自动生成服务端代码
      • 你也可以参考 schemas\telemetry\v1\telemetry-batch.schema.jsonschemas\telemetry\v1\telemetry-event.schema.json 文件来校验数据格式
  • 给 string 类型的 CardKeywordCardTag 使用方式标注了过时,以提示已经可转换为枚举类型以通过原版方法调用
  • 补充了部分缺失的 FMOD 支持
  • 修改了 HookedSingletonModel 的实现,改为使用单一的 HookType 参数构造实例,避免部分 Hook 可能会多次触发的问题
    • 旧的构造函数已标记为过时,请使用新的构造函数代替
  • 增加了 ModelCloneRegistry 系统,允许监听模型复制操作并执行自定义逻辑
  • 修改了 CardHandOutline 的实现,现在使用统一的新包装作为主要逻辑,并将原有注册 API 迁移到新的包装中

Full Changelog: v0.2.33...v0.2.34

0.2.33

17 May 10:31
v0.2.33
0c9774e

Choose a tag to compare

  • Redesign and construct a better RunSavedData system
    • Data preservation mechanism with host authority, will automatically synchronize data to all clients at the start of the game
    • Allows adjusting data before the game starts, and actively synchronizing data when switching characters or preparing
    • Note: The data will be snapshotted at the start of the game, and subsequent operations should not rely on external data updates, but should use similar normal numerical update methods to update the recorded data
  • Add IModAncientActValidity interface, providing a method similar to BaseLib's IsValidForAct
  • Enhance the vanilla DevConsole with comprehensive, standardized, and prescriptive improvements
    • Now most completion candidate IDs will automatically include the localized name in the current game language
    • Now allows using the localized name to search completion candidates
  • Add AssetProfile support for ModifierModel, allowing definition of mutually exclusive groups and sorting
  • Remove the gate logic for the settings menu and add more logic to ensure the entry point always exists

  • 重新设计并构造了一个更好的 RunSavedData 系统
    • 数据保持主机权威机制,将会在对局开始/恢复时从主机分发数据同步到所有客户端
    • 允许在对局开始前调整数据,并在切换角色、准备状态时主动同步数据,也允许手动调度推送数据
    • 注意:对局开始时会对数据进行快照处理,之后的操作不应靠外部数据更新,而是用类似原版正常数值更新的方式更新记录数据
  • 补充了 IModAncientActValidity 接口,用于提供类似于 BaseLibIsValidForAct 方法
  • 完整的对原版的所有 DevConsole 进行了规范、统一、指定性的增强
    • 现在补全的提示 ID 大多会自动添加对应当前游戏语言的本地化名称
    • 现在允许使用对应当前游戏语言的本地化名称来搜索补全提示
  • 补充了 ModifierModelAssetProfile 支持,以及互斥组定义和排序能力
  • 移除了设置菜单的门禁逻辑,并补充了更多的确保节点存在的逻辑以保证设置菜单入口始终存在

Full Changelog: v0.2.32...v0.2.33