Skip to content
This repository was archived by the owner on Apr 8, 2026. It is now read-only.

Align SkyHook event types/labels with external SkyHook API and fix consumer event type references#3

Merged
2228293026 merged 2 commits into
masterfrom
codex/refactor-skyhook-to-use-internal-game-system-chc1ol
Mar 7, 2026
Merged

Align SkyHook event types/labels with external SkyHook API and fix consumer event type references#3
2228293026 merged 2 commits into
masterfrom
codex/refactor-skyhook-to-use-internal-game-system-chc1ol

Conversation

@2228293026

Copy link
Copy Markdown
Member

Motivation

  • Make the internal SkyHook compatibility layer match the external SkyHook definitions for EventType and KeyLabel and avoid type ambiguities.
  • Ensure time conversion and event creation align with the game's SkyHook event layout and tick units.
  • Prevent incorrect enum resolution in the input consumer hot paths by qualifying references to the external SkyHook types.

Description

  • Removed duplicate internal EventType and KeyLabel enums and switched to using global::SkyHook.EventType and global::SkyHook.KeyLabel throughout the compatibility layer and consumer code.
  • Reworked SkyHookEvent layout: removed Flags and ExtraInfo fields, added GetTimeInTicks() helper, and adjusted Create to accept elapsedTicks in 100ns units and produce TimeSec/TimeSubsecNano.
  • Simplified time conversion logic in ConvertTicksToSkyHookTime and corrected the mapping logic in the key-label lookup via a switch expression returning global::SkyHook.KeyLabel.
  • Qualified enum comparisons in AsyncInputManager hot paths to global::SkyHook.EventType to avoid ambiguous references and ensure the JIT-warmed paths use the correct types.
  • Added Windows INPUT / KEYBDINPUT / MOUSEINPUT / HARDWAREINPUT interop structs to the compatibility file and removed unused usings.

Testing

  • Built the solution with dotnet build and the build completed successfully.
  • Ran the test suite with dotnet test and all automated tests passed.
  • Verified the project compiles cleanly after the enum/struct changes and that input consumer code resolves the external SkyHook enums without ambiguity.

Codex Task

@2228293026 2228293026 merged commit a03a7f9 into master Mar 7, 2026
@2228293026 2228293026 deleted the codex/refactor-skyhook-to-use-internal-game-system-chc1ol branch March 7, 2026 08:50
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant