Code:
class InputNode
{
public:
virtual void function0();
virtual void function1();
};// Size = 0x8 (8)
class InputCache
{
public:
bool m_disableCache; //0x0
char _0x1[3]; //0x1
float m_conceptCache[234]; //0x4
int m_sourceCache[234]; //0x3AC
};
enum InputDeviceKeys
{
IDK_None, //0x0000
IDK_Escape, //0x0001
IDK_1, //0x0002
IDK_2, //0x0003
IDK_3, //0x0004
IDK_4, //0x0005
IDK_5, //0x0006
IDK_6, //0x0007
IDK_7, //0x0008
IDK_8, //0x0009
IDK_9, //0x000A
IDK_0, //0x000B
IDK_Minus, //0x000C
IDK_Equals, //0x000D
IDK_Backspace, //0x000E
IDK_Tab, //0x000F
IDK_Q, //0x0010
IDK_W, //0x0011
IDK_E, //0x0012
IDK_R, //0x0013
IDK_T, //0x0014
IDK_Y, //0x0015
IDK_U, //0x0016
IDK_I, //0x0017
IDK_O, //0x0018
IDK_P, //0x0019
IDK_LeftBracket, //0x001A
IDK_RightBracket, //0x001B
IDK_Enter, //0x001C
IDK_LeftCtrl, //0x001D
IDK_A, //0x001E
IDK_S, //0x001F
IDK_D, //0x0020
IDK_F, //0x0021
IDK_G, //0x0022
IDK_H, //0x0023
IDK_J, //0x0024
IDK_K, //0x0025
IDK_L, //0x0026
IDK_Semicolon, //0x0027
IDK_Apostrophe, //0x0028
IDK_Grave, //0x0029
IDK_LeftShift, //0x002A
IDK_Backslash, //0x002B
IDK_Z, //0x002C
IDK_X, //0x002D
IDK_C, //0x002E
IDK_V, //0x002F
IDK_B, //0x0030
IDK_N, //0x0031
IDK_M, //0x0032
IDK_Comma, //0x0033
IDK_Period, //0x0034
IDK_Slash, //0x0035
IDK_RightShift, //0x0036
IDK_Multiply, //0x0037
IDK_LeftAlt, //0x0038
IDK_Space, //0x0039
IDK_Capital, //0x003A
IDK_F1, //0x003B
IDK_F2, //0x003C
IDK_F3, //0x003D
IDK_F4, //0x003E
IDK_F5, //0x003F
IDK_F6, //0x0040
IDK_F7, //0x0041
IDK_F8, //0x0042
IDK_F9, //0x0043
IDK_F10, //0x0044
IDK_Numlock, //0x0045
IDK_ScrollLock, //0x0046
IDK_Numpad7, //0x0047
IDK_Numpad8, //0x0048
IDK_Numpad9, //0x0049
IDK_Subtract, //0x004A
IDK_Numpad4, //0x004B
IDK_Numpad5, //0x004C
IDK_Numpad6, //0x004D
IDK_Add, //0x004E
IDK_Numpad1, //0x004F
IDK_Numpad2, //0x0050
IDK_Numpad3, //0x0051
IDK_Numpad0, //0x0052
IDK_Decimal, //0x0053
IDK_OEM_102, //0x0054
IDK_F11, //0x0055
IDK_F12, //0x0056
IDK_F13, //0x0057
IDK_F14, //0x0058
IDK_F15, //0x0059
IDK_Kana, //0x005A
IDK_PTBRSlash, //0x005B
IDK_Convert, //0x005C
IDK_NoConvert, //0x005D
IDK_Yen, //0x005E
IDK_PTBRNUMPADPOINT, //0x005F
IDK_NumpadEquals, //0x0060
IDK_PrevTrack, //0x0061
IDK_At, //0x0062
IDK_Colon, //0x0063
IDK_Underline, //0x0064
IDK_Kanji, //0x0065
IDK_Stop, //0x0066
IDK_Ax, //0x0067
IDK_Unlabeled, //0x0068
IDK_NextTrack, //0x0069
IDK_NumpadEnter, //0x006A
IDK_RightCtrl, //0x006B
IDK_Mute, //0x006C
IDK_Calculator, //0x006D
IDK_PlayPause, //0x006E
IDK_MediaStop, //0x006F
IDK_VolumeDown, //0x0070
IDK_VolumeUp, //0x0071
IDK_WebHome, //0x0072
IDK_NumpadComma, //0x0073
IDK_Divide, //0x0074
IDK_PrintScreen, //0x0075
IDK_RightAlt, //0x0076
IDK_Home, //0x0077
IDK_ArrowUp, //0x0078
IDK_PageUp, //0x0079
IDK_ArrowLeft, //0x007A
IDK_ArrowRight, //0x007B
IDK_End, //0x007C
IDK_ArrowDown, //0x007D
IDK_PageDown, //0x007E
IDK_Insert, //0x007F
IDK_Delete, //0x0080
IDK_LeftWin, //0x0081
IDK_RightWin, //0x0082
IDK_AppMenu, //0x0083
IDK_Power, //0x0084
IDK_Sleep, //0x0085
IDK_Wake, //0x0086
IDK_WebSearch, //0x0087
IDK_WebFavorites, //0x0088
IDK_WebRefresh, //0x0089
IDK_WebStop, //0x008A
IDK_WebForward, //0x008B
IDK_WebBack, //0x008C
IDK_MyComputer, //0x008D
IDK_Mail, //0x008E
IDK_MediaSelect, //0x008F
IDK_Pause, //0x0090
IDK_Undefined //0x0091
};
class IKeyboard
{
public:
virtual void init();
virtual void release();
virtual void preFrameUpdate(float);
virtual void update(float);
virtual bool isDown(InputDeviceKeys);
virtual bool wentDown(InputDeviceKeys);
virtual bool wentUp(InputDeviceKeys);
virtual void enableTypingMode(bool);
virtual bool getBufferedAction(void*);
};// Size = 0x8 (8)
class KeyboardImpl :
public IKeyboard //0x0
{
public:
class Keyboard* m_keyboard; //0x8
char _0x10[56]; //0x10
};// Size = 0x48 (72)
class MessageListener
{
public:
virtual void onMessage( /*fb::Message*/ void*);
virtual unsigned __int16 ordering();
};// Size = 0x8 (8)
class IDevice
{
public:
virtual ~IDevice();
virtual void read(float, bool);
virtual const char* name(unsigned int);
virtual const char* name();
virtual unsigned int controlCount();
virtual bool isConnected();
virtual bool isAnalogue(unsigned int);
virtual float getValue(unsigned int);
virtual int returnsFive();
virtual bool isDown(enum fb::InputDeviceKeys);
virtual bool wentDown(enum fb::InputDeviceKeys);
virtual bool wentUp(enum fb::InputDeviceKeys);
};// Size = 0x8 (8)
class Mouse :
public IDevice, //0x0
public MessageListener //0x8
{
public:
class State
{
public:
__int32 xMove; //0x0
__int32 yMove; //0x4
__int32 zMove; //0x8
};// Size = 0xC (12)
char _0x10[0x7A - 0x10]; //0x10
bool m_cursorMode; //0x7A
bool m_uiOwnsInput; //0x7B
bool m_showCursor; //0x7C
bool m_cursorConfined; //0x7D
bool m_hasOverflowed; //0x7E
bool m_useRawMouseInput; //0x7F
bool m_hasFocus; //0x80
bool m_unknown; //0x81
bool m_cursorHovering; //0x82
char _0x83[0xC4 - 0x83]; //0x81
State m_buffer; //0xC4
bool m_leftButtonDown;//0xD0
bool m_rightButtonDown;//0xD1
};// Size = 0x118 (280)
class IMouse
{
public:
virtual void init();
virtual void release();
virtual void preFrameUpdate(float);
virtual void update(float);
virtual void updateBetweenFrames(float);
virtual void isDown(int);
virtual void wentDown(int);
virtual void wentUp(int);
virtual void getLevel(void*);
virtual void getLevel2(int);
virtual void getBufferedAction(void*);
virtual void enableCursorMode(bool, int);
virtual void setCursorPosition(int, int);
virtual void setCursorRect(bool, unsigned int, unsigned int, unsigned int, unsigned int);
virtual void setMouseSensitivity(float);
virtual void setMouseNormalizationScale(float);
virtual void resetMouseNormalizationScale();
virtual void getMouseSensitivityMultiplier();
virtual void setUIOwnsInput(bool);
virtual void setCursor(int, void*);
};// Size = 0x8 (8)
class MouseImpl :
public IMouse, //0x0
public MessageListener //0x8
{
public:
Mouse* m_mouse; //0x10
char _0x18[8]; //0x18
float m_unknown; //0x20
float m_mouseSensitivity; //0x24
float m_mouseNormalizationScale; //0x28
float m_joySimLevelX; //0x2C
float m_joySimLevelY; //0x30
float m_IDA_Axis0X; //0x34
float m_IDA_Axis0Y; //0x38
float m_IDA_Axis0XPos; //0x3C
float m_IDA_Axis0YPos; //0x40
float m_IDA_Axis0XNeg; //0x44
float m_IDA_Axis0YNeg; //0x48
float m_IDA_Axis2Y; //0x4C
float m_lastSampleTime; //0x50
bool m_updateIDA_Axis0X; //0x54
bool m_updateIDA_Axis0Y; //0x55
bool m_updateIDA_Axis0XPos; //0x56
bool m_updateIDA_Axis0YPos; //0x57
bool m_updateIDA_Axis0XNeg; //0x58
bool m_updateIDA_Axis0YNeg; //0x59
bool m_updateIDA_Axis2Y; //0x5A
char _0x5B[5]; //0x5B
};// Size = 0x60 (96)
class BorderInputNode :
public InputNode //0x0
{
public:
class Pad
{
public:
virtual void function0();
virtual void function1();
virtual void function2();
virtual int preFrame(float);
};// Size = 0x8 (8)
InputCache* m_inputCache; //0x8
bool m_forceReadCache; //0x10
char _0x11[3]; //0x11
__int32 m_padRange_firstId; //0x14
__int32 m_padRange_lastId; //0x18
__int32 m_motionRange_firstId; //0x1C
__int32 m_motionRange_lastId; //0x20
__int32 m_mouseRange_firstId; //0x24
__int32 m_mouseRange_lastId; //0x28
__int32 m_keyboardRange_firstId; //0x2C
__int32 m_keyboardRange_lastId; //0x30
__int32 m_messageRange_firstId; //0x34
__int32 m_messageRange_lastId; //0x38
char _0x3C[20]; //0x3C
Pad* m_pad; //0x50
void* m_motionController; //0x58;
void* m_unknownInputMethod;//0x60
KeyboardImpl* m_keyboard; //0x68
MouseImpl* m_mouse; //0x70
}