mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-26 22:01:13 +00:00
d85b9cdd71
- fixed handling of DimAllowed.
139 lines
3 KiB
Text
139 lines
3 KiB
Text
|
|
struct KeyBindings native
|
|
{
|
|
native static String NameKeys(int k1, int k2);
|
|
|
|
native int, int GetKeysForCommand(String cmd);
|
|
native void SetBind(int key, String cmd);
|
|
native void UnbindACommand (String str);
|
|
}
|
|
|
|
struct OptionValues native
|
|
{
|
|
native static int GetCount(Name group);
|
|
native static String GetText(Name group, int index);
|
|
native static double GetValue(Name group, int index);
|
|
native static String GetTextValue(Name group, int index);
|
|
}
|
|
|
|
struct JoystickConfig native
|
|
{
|
|
enum EJoyAxis
|
|
{
|
|
JOYAXIS_None = -1,
|
|
JOYAXIS_Yaw,
|
|
JOYAXIS_Pitch,
|
|
JOYAXIS_Forward,
|
|
JOYAXIS_Side,
|
|
JOYAXIS_Up,
|
|
// JOYAXIS_Roll, // Ha ha. No roll for you.
|
|
NUM_JOYAXIS,
|
|
};
|
|
|
|
native float GetSensitivity();
|
|
native void SetSensitivity(float scale);
|
|
|
|
native float GetAxisScale(int axis);
|
|
native void SetAxisScale(int axis, float scale);
|
|
|
|
native float GetAxisDeadZone(int axis);
|
|
native void SetAxisDeadZone(int axis, float zone);
|
|
|
|
native int GetAxisMap(int axis);
|
|
native void SetAxisMap(int axis, int gameaxis);
|
|
|
|
native String GetName();
|
|
native int GetNumAxes();
|
|
native String GetAxisName(int axis);
|
|
|
|
}
|
|
|
|
class Menu : Object native
|
|
{
|
|
enum EMenuKey
|
|
{
|
|
MKEY_Up,
|
|
MKEY_Down,
|
|
MKEY_Left,
|
|
MKEY_Right,
|
|
MKEY_PageUp,
|
|
MKEY_PageDown,
|
|
MKEY_Enter,
|
|
MKEY_Back,
|
|
MKEY_Clear,
|
|
NUM_MKEYS,
|
|
|
|
// These are not buttons but events sent from other menus
|
|
|
|
MKEY_Input,
|
|
MKEY_Abort,
|
|
MKEY_MBYes,
|
|
MKEY_MBNo,
|
|
}
|
|
|
|
enum EMenuMouse
|
|
{
|
|
MOUSE_Click,
|
|
MOUSE_Move,
|
|
MOUSE_Release
|
|
};
|
|
|
|
enum EMenuState
|
|
{
|
|
Off, // Menu is closed
|
|
On, // Menu is opened
|
|
WaitKey, // Menu is opened and waiting for a key in the controls menu
|
|
OnNoPause, // Menu is opened but does not pause the game
|
|
};
|
|
|
|
native Menu mParentMenu;
|
|
native bool mMouseCapture;
|
|
native bool mBackbuttonSelected;
|
|
native bool DontDim;
|
|
|
|
void Init(Menu parent)
|
|
{
|
|
mParentMenu = parent;
|
|
}
|
|
|
|
native static int MenuTime();
|
|
native static void SetVideoMode();
|
|
native static Menu GetCurrentMenu();
|
|
native static void SetMenu(Name mnu, int param = 0);
|
|
native static void StartMessage(String msg, int mode = 0, Name command = 'none');
|
|
|
|
virtual bool TranslateKeyboardEvents() { return true; }
|
|
virtual void SetFocus(MenuItemBase fc) {}
|
|
virtual bool CheckFocus(MenuItemBase fc) { return false; }
|
|
virtual void ReleaseFocus() {}
|
|
virtual void ResetColor() {}
|
|
|
|
native virtual bool Responder(InputEventData ev);
|
|
native virtual bool MenuEvent (int mkey, bool fromcontroller);
|
|
native virtual bool MouseEvent(int type, int mx, int my);
|
|
native virtual void Ticker();
|
|
native virtual void Drawer();
|
|
native void Close();
|
|
native void ActivateMenu();
|
|
|
|
static void MenuSound(Sound snd)
|
|
{
|
|
S_Sound (snd, CHAN_VOICE | CHAN_UI, snd_menuvolume, ATTN_NONE);
|
|
}
|
|
|
|
static void DrawConText (int color, int x, int y, String str)
|
|
{
|
|
screen.DrawText (ConFont, color, x, y, str, DTA_CellX, 8 * CleanXfac_1, DTA_CellY, 8 * CleanYfac_1);
|
|
}
|
|
|
|
}
|
|
|
|
class MenuDescriptor : Object native
|
|
{
|
|
native Name mMenuName;
|
|
native String mNetgameMessage;
|
|
native Class<Menu> mClass;
|
|
|
|
native static MenuDescriptor GetDescriptor(Name n);
|
|
}
|
|
|