Skip to content

v1.0.1: トリガ設定を Xbox の LT/RT 命名に統一 + バージョン表記 - #4

Merged
mayaqf merged 2 commits into
mainfrom
feat/v1.0.1-lt-rt-naming
Aug 23, 2026
Merged

v1.0.1: トリガ設定を Xbox の LT/RT 命名に統一 + バージョン表記#4
mayaqf merged 2 commits into
mainfrom
feat/v1.0.1-lt-rt-naming

Conversation

@mayaqf

@mayaqf mayaqf commented Aug 23, 2026

Copy link
Copy Markdown
Owner

概要

連射発動トリガの設定名を PlayStation 命名(L2/R2)から Xbox 命名(LT/RT)に統一し、ビルドバージョン v1.0.1 を導入します。本プロジェクトは XInput(Xbox API) ベースであるため、基本表記を Xbox 名に揃え、PS 名は対応表のみに局所化します。

変更内容

1. LT/RT 命名統一(クリーンブレイク・破壊的変更)

  • ini キー EnableL2/EnableR2EnableLT/EnableRT
  • 構造体フィールド enableL2/enableR2enableLT/enableRT(Config.h/cpp・XFireEngine.cpp・テスト)
  • コードコメント・テスト診断出力の L2/R2 表記も LT/RT に統一
  • EnableL2/EnableR2 キーは受理しない(フォールバック無し)

2. バージョン v1.0.1 の記録

  • CMakeLists.txt: project(... VERSION 1.0.1)XFIRE_VERSION_MAJOR/MINOR/PATCH を数値マクロで注入
  • Version.h(新規): 数値を文字列化して "1.0.1" を構築(0.0.0 フォールバック付き)
  • exports.cpp: 起動診断ログ [STICKYINIT] version=1.0.1 ... にバージョン表示
  • assets/XInputXFire.ini: ヘッダコメント (v1.0.1)
  • README.md: ini ブロックにバージョンコメント、診断ログ説明に version= 追記

なぜ数値マクロか: 文字列マクロ XFIRE_VERSION="..." は VS ジェネレータの Release 構成でクォートエスケープが壊れマクロ定義が落ちるため、数値3つを注入してヘッダで文字列化する方式を採用しました。

破壊的変更(BREAKING CHANGE)

ini キー EnableL2/EnableR2EnableLT/EnableRT にリネームされます。旧 ini で EnableL2=0 等によりトリガを無効化していた場合、新キー未設定となり既定(有効)に戻ります。EnableLT=0 / EnableRT=0 に書き換えてください。

検証

  • x64 クリーンビルド: コンパイル成功 / 単体テスト 93 checks, 0 failed, ALL TESTS PASSED / DLL に version=1.0.1 が埋め込まれフォールバック文字列無しを確認
  • x86 ビルド: コンパイル成功 / DLL に version=1.0.1 埋込確認
  • サブエージェントレビュー(pr-review-toolkit:code-reviewer): 信頼度≥80の指摘ゼロ。リネーム完全性・テスト整合性・Version.h マクロ正確性・診断ログフォーマット/バッファ寸法すべて合格
  • 備考: 開発機の Smart App Control/Device Guard が新規ビルドの未署名 exe をブロックするためローカル ctest 再実行は不可(環境要因・コード不具合ではない。CI 上では制約なしで ctest 実行)

レビューポイント

  • EnableL2/EnableR2 の旧名参照がコード全体に残っていないか(grep 済み・0件)
  • Version.h の二段階文字列化マクロが正しく "1.0.1" を生成するか
  • クリーンブレイクの破壊的変更をリリースノートで告知するか(generate_release_notes: true なのでコミットメッセージの BREAKING CHANGE が反映されます)

mayaqf and others added 2 commits August 23, 2026 18:52
- Rename ini keys EnableL2/EnableR2 -> EnableLT/EnableRT and struct fields
  enableL2/enableR2 -> enableLT/enableRT across Config, XFireEngine, tests.
  Clean break: legacy EnableL2/EnableR2 keys are no longer accepted.
- Add build version v1.0.1 via CMake project VERSION, injected as integer
  macros XFIRE_VERSION_MAJOR/MINOR/PATCH and stringified in new Version.h.
  Emitted in the [STICKYINIT] diagnostic log line. Integer macros avoid the
  VS generator's Release-config string-macro quoting breakage.
- Add version comment to XInputXFire.ini header and README ini block.
- Unify LT/RT trigger naming in code comments and test diagnostics
  (XFireEngine.h, Config.h, xfire_unit, TestHarness, xinput_probe).

BREAKING CHANGE: ini keys EnableL2/EnableR2 renamed to EnableLT/EnableRT.
Configs that set EnableL2=0 to disable a trigger revert to the default
(enabled) and must use EnableLT=0 / EnableRT=0 instead.

Co-Authored-By: Claude <noreply@anthropic.com>
Address review findings on the v1.0.1 LT/RT rename PR:

- Config.cpp: detect removed EnableL2/EnableR2 keys and emit a [CONFIG]
  warning (value still ignored = clean break maintained). Prevents a
  user's "disabled" intent from silently flipping to the default
  (enabled=true) on upgrade with no diagnostic trace.
- Version.h: guard MAJOR/MINOR/PATCH fallbacks individually so a partial
  macro injection cannot yield a malformed half-version; add trailing
  newline.
- xfire_unit.cpp: add T31 (clean break: removed keys ignored -> default
  true), T32/T32b (engine respects enableLT/RT=false per-trigger gate),
  and extend T30e to also cover EnableRT unknown-value fallback. 98
  checks, 0 failed.
- README.md: full XINPUT_GAMEPAD_RIGHT_SHOULDER name, version placeholder
  in the [STICKYINIT] doc line, and mention removed-key detection in the
  [CONFIG] description.
- assets/XInputXFire.ini: drop trailing whitespace on a blank line.

Co-Authored-By: Claude <noreply@anthropic.com>
@mayaqf
mayaqf merged commit 374b9eb into main Aug 23, 2026
1 check passed
@mayaqf
mayaqf deleted the feat/v1.0.1-lt-rt-naming branch August 23, 2026 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant