Appearance
aowlspt_keycode.h
Source: abi/aowlspt_keycode.h — 400 lines, 3 file-scope functions.
What this header owns
Reproduced verbatim from the header's own banner comment — these notes are frequently the only written record of why the subsystem is shaped the way it is.
text
aowlspt_keycode.h -- UnityEngine.KeyCode, name <-> ordinal.
GENERATED, NOT REMEMBERED. Every line of the table below is the verbatim
output of
python tools/fldoff.py enum UnityEngine.KeyCode
run against the INSTALLED D:/Games/Tarkov/GameAssembly.dll on 2026-08-27.
The tool header it printed was:
ENUM 23015 UnityEngine.KeyCode image=UnityEngine.CoreModule.dll
All 328 members came out. KeyCode's constants are LITERAL (attrs 0x8056) and
live in metadata property 8, `fieldAndParameterDefaultValueData`, which is
NOT encrypted but stores I4/U4 as ECMA-335 compressed integers, BIG-ENDIAN
and zigzagged -- reading four raw bytes there yields -25161728 for
KeyCode.None, which is the number an earlier attempt quoted as proof the
blob "does not decode". It decodes; the reader was wrong. `fldoff.py enum`
re-checks its decoder against 19 independently-known constants before it
prints anything (`il2cpp_resolve.py verify-consts`).
THE REFUSAL RULE. `aowl_keycode_of()` returns AOWL_KC_UNKNOWN (-1) for a
name it does not have. It must NEVER return 0: KeyCode.None IS 0, a real
member, so folding "I do not know this name" onto it turns a typo into a
silently-bound key. -1 is not a KeyCode and cannot be passed to
Input::GetKeyDown by accident.Constants
AOWLSPT_KEYCODE_HAOWL_KC_COUNTAOWL_KC_UNBOUNDAOWL_KC_UNKNOWN
Types
struct AowlKeyCodeEntry
Functions
| Signature | Line |
|---|---|
int aowl_kc_fold(int c) | 372 |
int32_t aowl_keycode_of(const char* name) | 377 |
char aowl_keycode_name(int32_t ordinal) | 391 |

