ITADN

BSInputDevice VR memory layout

#134OpenAtomCrafty 创建于 2026-03-20
A
AtomCraftycommented
In the VR build of the game the `BSInputDevice` class has an additional single-byte field inserted right after the vtable, which means all other fields get shifted back by 8 bytes. CLib currently doesn't account for this, so trying to access any fields of a device (for example by calling `BSInputDevice::IsPressed` ) will produce incorrect results or flat out crash the game. Fixing this issue would probably entail pulling out all fields of `BSInputDevice` and its many subclasses into `RUNTIME_DATA` structs, as it is done for many other classes.
4 条评论