Skip to content

Add KeyMap DAT file support (#617) - #4507

Open
KT053374 wants to merge 1 commit into
ACEmulator:masterfrom
KT053374:feature/datloader-keymap
Open

KT053374 wants to merge 1 commit into
ACEmulator:masterfrom
KT053374:feature/datloader-keymap

Conversation

@KT053374

Copy link
Copy Markdown
Contributor

Summary

Implements KeyMap (0x14) parsing in ACE.DatLoader as a focused partial fix for #617.

  • Adds KeyMap.cs with support for map names and GUIDs, devices, meta keys, input-map groups, and control bindings.
  • Adds collection-count validation, duplicate input-map detection, and malformed-record handling.
  • Adds five self-contained regression tests.
  • Removes the KeyMap exclusion from UnpackPortalDatFiles_NoExceptions.

Testing

  • KeyMapTests: 5 passed, 0 failed.
  • UnpackPortalDatFiles_NoExceptions: Passed against End of Retail client_portal.dat in 4 minutes, 28 seconds.
  • Both KeyMap records (0x14000000 and 0x14000002) successfully decoded.
  • Git whitespace validation passed.

Scope

This PR addresses KeyMap support only. The remaining unsupported file types, RenderMaterial, MaterialModifier, and MaterialInstance, are unchanged.

Partially addresses #617
#617

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