Skip to content

SRWYAccess v2.93

Choose a tag to compare

@stephenso1120-cmyk stephenso1120-cmyk released this 05 Aug 00:49

SRWYAccess v2.93 — 週年擴充相容性與效能大修

對應 2026-08-04 的遊戲更新(週年擴充)。

新增

  • 標題選單「擴充劇情」播報:遊戲更新在標題選單新增的擴充劇情入口現在會正常播報。
  • 標題選單改讀官方文字:標題選單的播報改為優先朗讀遊戲畫面上的官方在地化文字,涵蓋遊戲支援的全部 15 種語言,播報內容與畫面顯示完全一致;讀取不到時才退回模組內建的五語言對照表。
  • 繁體中文自述文件:新增 README.zh-TW,完整的中文安裝說明、快捷鍵清單與常見問題。

效能(修復更新後的滯後)

遊戲更新增加了場景物件數量,放大了模組全場景掃描的成本,造成整體反應變慢。本版全面修正:

  • 選單偵測加入「落空快取」——沒有選單開啟時不再每次輪詢都重新掃描全場景,只在遊戲切換輸入狀態時重掃。
  • 系統選項、教學、支援攻防、戰鬥字幕的搜尋加入冷卻或交替排程;旁白/字幕的常駐掃描拉長間隔並互相錯開。
  • 指標優先文字比對:遊戲內部字串實例沒變就跳過昂貴的字串轉換,套用於字幕、教學頁面、選項數值、戰鬥確認動畫文字。
  • 戰術地圖敵我查詢大改造:不再為地圖上每個單位讀取名字和 HP(每單位約 25 次原生呼叫降為約 5 次);單位名字在整場地圖期間快取;距離/具名/最低 HP 三種敵人查詢共用同一次掃描;游標讀取路徑去除重複的原生呼叫。

穩定性

  • 崩潰保護不再怕遊戲更新:SRWYSafe.dll 原本依賴寫死的記憶體位址,遊戲一更新就失效。現在改為在崩潰當下驗證已知遊戲 bug 的指令特徵(位元組簽名+空指標檢查)並自動定位恢復路徑,首次命中後快取。遊戲日後更新無需重新修補。

安裝

將壓縮檔內容放到遊戲目錄(詳見 README):SRWYSafe.dll、Tolk.dll、nvdaControllerClient64.dll 放遊戲根目錄,Mods\SRWYAccess.dll 放 Mods 資料夾。本版必須同時更新 SRWYSafe.dll


SRWYAccess v2.93 — Anniversary Expansion Compatibility & Performance Overhaul

Updated for the 2026-08-04 game update (Anniversary Expansion).

New

  • "Expansion Story" title menu option is announced: the new entry added by the game update is now read.
  • Title menu reads official labels: title menu announcements now read the game's own on-screen localized text first — covering all 15 languages the game supports, always matching what is displayed — with the mod's built-in 5-language table as fallback.
  • Traditional Chinese README: added README.zh-TW with full installation instructions, hotkey list, and FAQ in Chinese.

Performance (fixes post-update lag)

The game update increased scene object counts, which amplified the cost of the mod's whole-scene scans and slowed everything down. This release addresses it comprehensively:

  • Menu-handler discovery now caches negative results — when no menu is open, the mod no longer rescans the whole scene every poll, only when the game switches input state.
  • SystemOption / Tutorial / Supporter / battle-subtitle searches gained cooldowns or alternate scheduling; standing narration/subtitle scans lengthened and staggered.
  • Pointer-first text comparison: skip the expensive string conversion when the game's internal string instance is unchanged — applied to subtitles, tutorial pages, option values, and battle-check animation text.
  • Tactical map query overhaul: enemy/ally queries no longer read name + HP for every unit on the map (~25 native calls per unit down to ~5); unit names are cached for the map's lifetime; the three enemy views (distance / named / lowest-HP) share one base scan per tile; the cursor read path drops duplicated native calls.

Stability

  • Crash protection now survives game updates: SRWYSafe.dll used to rely on hardcoded memory addresses that broke on every game update. It now verifies the known IL2CPP class-init bug at crash time (instruction byte signature + null-pointer check) and self-locates the recovery path, caching it after the first hit. Future game updates need no re-patching.

Installation

Place the archive contents into the game directory (see README): SRWYSafe.dll, Tolk.dll, nvdaControllerClient64.dll in the game root; Mods\SRWYAccess.dll in the Mods folder. This release requires updating SRWYSafe.dll as well.