mirror of https://github.com/OpenRCT2/OpenRCT2.git
Refactor UI/Input MouseInput to Title Case
This commit is contained in:
parent
34f362b86e
commit
1643c62939
|
@ -401,7 +401,7 @@ public:
|
||||||
switch (e.button.button)
|
switch (e.button.button)
|
||||||
{
|
{
|
||||||
case SDL_BUTTON_LEFT:
|
case SDL_BUTTON_LEFT:
|
||||||
store_mouse_input(MOUSE_STATE_LEFT_PRESS, mousePos);
|
StoreMouseInput(MOUSE_STATE_LEFT_PRESS, mousePos);
|
||||||
_cursorState.left = CURSOR_PRESSED;
|
_cursorState.left = CURSOR_PRESSED;
|
||||||
_cursorState.old = 1;
|
_cursorState.old = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -409,7 +409,7 @@ public:
|
||||||
_cursorState.middle = CURSOR_PRESSED;
|
_cursorState.middle = CURSOR_PRESSED;
|
||||||
break;
|
break;
|
||||||
case SDL_BUTTON_RIGHT:
|
case SDL_BUTTON_RIGHT:
|
||||||
store_mouse_input(MOUSE_STATE_RIGHT_PRESS, mousePos);
|
StoreMouseInput(MOUSE_STATE_RIGHT_PRESS, mousePos);
|
||||||
_cursorState.right = CURSOR_PRESSED;
|
_cursorState.right = CURSOR_PRESSED;
|
||||||
_cursorState.old = 2;
|
_cursorState.old = 2;
|
||||||
break;
|
break;
|
||||||
|
@ -428,7 +428,7 @@ public:
|
||||||
switch (e.button.button)
|
switch (e.button.button)
|
||||||
{
|
{
|
||||||
case SDL_BUTTON_LEFT:
|
case SDL_BUTTON_LEFT:
|
||||||
store_mouse_input(MOUSE_STATE_LEFT_RELEASE, mousePos);
|
StoreMouseInput(MOUSE_STATE_LEFT_RELEASE, mousePos);
|
||||||
_cursorState.left = CURSOR_RELEASED;
|
_cursorState.left = CURSOR_RELEASED;
|
||||||
_cursorState.old = 3;
|
_cursorState.old = 3;
|
||||||
break;
|
break;
|
||||||
|
@ -436,7 +436,7 @@ public:
|
||||||
_cursorState.middle = CURSOR_RELEASED;
|
_cursorState.middle = CURSOR_RELEASED;
|
||||||
break;
|
break;
|
||||||
case SDL_BUTTON_RIGHT:
|
case SDL_BUTTON_RIGHT:
|
||||||
store_mouse_input(MOUSE_STATE_RIGHT_RELEASE, mousePos);
|
StoreMouseInput(MOUSE_STATE_RIGHT_RELEASE, mousePos);
|
||||||
_cursorState.right = CURSOR_RELEASED;
|
_cursorState.right = CURSOR_RELEASED;
|
||||||
_cursorState.old = 4;
|
_cursorState.old = 4;
|
||||||
break;
|
break;
|
||||||
|
@ -461,13 +461,13 @@ public:
|
||||||
|
|
||||||
if (_cursorState.touchIsDouble)
|
if (_cursorState.touchIsDouble)
|
||||||
{
|
{
|
||||||
store_mouse_input(MOUSE_STATE_RIGHT_PRESS, fingerPos);
|
StoreMouseInput(MOUSE_STATE_RIGHT_PRESS, fingerPos);
|
||||||
_cursorState.right = CURSOR_PRESSED;
|
_cursorState.right = CURSOR_PRESSED;
|
||||||
_cursorState.old = 2;
|
_cursorState.old = 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
store_mouse_input(MOUSE_STATE_LEFT_PRESS, fingerPos);
|
StoreMouseInput(MOUSE_STATE_LEFT_PRESS, fingerPos);
|
||||||
_cursorState.left = CURSOR_PRESSED;
|
_cursorState.left = CURSOR_PRESSED;
|
||||||
_cursorState.old = 1;
|
_cursorState.old = 1;
|
||||||
}
|
}
|
||||||
|
@ -482,13 +482,13 @@ public:
|
||||||
|
|
||||||
if (_cursorState.touchIsDouble)
|
if (_cursorState.touchIsDouble)
|
||||||
{
|
{
|
||||||
store_mouse_input(MOUSE_STATE_RIGHT_RELEASE, fingerPos);
|
StoreMouseInput(MOUSE_STATE_RIGHT_RELEASE, fingerPos);
|
||||||
_cursorState.right = CURSOR_RELEASED;
|
_cursorState.right = CURSOR_RELEASED;
|
||||||
_cursorState.old = 4;
|
_cursorState.old = 4;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
store_mouse_input(MOUSE_STATE_LEFT_RELEASE, fingerPos);
|
StoreMouseInput(MOUSE_STATE_LEFT_RELEASE, fingerPos);
|
||||||
_cursorState.left = CURSOR_RELEASED;
|
_cursorState.left = CURSOR_RELEASED;
|
||||||
_cursorState.old = 3;
|
_cursorState.old = 3;
|
||||||
}
|
}
|
||||||
|
|
|
@ -505,7 +505,7 @@ public:
|
||||||
|
|
||||||
void HandleInput() override
|
void HandleInput() override
|
||||||
{
|
{
|
||||||
game_handle_input();
|
GameHandleInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleKeyboard(bool isTitle) override
|
void HandleKeyboard(bool isTitle) override
|
||||||
|
|
|
@ -105,7 +105,7 @@ static void GameHandleKeyScroll()
|
||||||
{
|
{
|
||||||
window_unfollow_sprite(mainWindow);
|
window_unfollow_sprite(mainWindow);
|
||||||
}
|
}
|
||||||
input_scroll_viewport(scrollCoords);
|
InputScrollViewport(scrollCoords);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t InputScancodeToRCTKeycode(int32_t sdl_key)
|
static int32_t InputScancodeToRCTKeycode(int32_t sdl_key)
|
||||||
|
@ -138,7 +138,7 @@ void InputHandleKeyboard(bool isTitle)
|
||||||
{
|
{
|
||||||
if (!(gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_SHIFT_Z | PLACE_OBJECT_MODIFIER_COPY_Z)))
|
if (!(gInputPlaceObjectModifier & (PLACE_OBJECT_MODIFIER_SHIFT_Z | PLACE_OBJECT_MODIFIER_COPY_Z)))
|
||||||
{
|
{
|
||||||
game_handle_edge_scroll();
|
GameHandleEdgeScroll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ void InputHandleKeyboard(bool isTitle)
|
||||||
|
|
||||||
// Handle key input
|
// Handle key input
|
||||||
int32_t key;
|
int32_t key;
|
||||||
while (!gOpenRCT2Headless && (key = get_next_key()) != 0)
|
while (!gOpenRCT2Headless && (key = GetNextKey()) != 0)
|
||||||
{
|
{
|
||||||
if (key == 255)
|
if (key == 255)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -33,14 +33,14 @@
|
||||||
#include <openrct2/world/Scenery.h>
|
#include <openrct2/world/Scenery.h>
|
||||||
#include <openrct2/world/Sprite.h>
|
#include <openrct2/world/Sprite.h>
|
||||||
|
|
||||||
struct rct_mouse_data
|
struct RCTMouseData
|
||||||
{
|
{
|
||||||
uint32_t x;
|
uint32_t x;
|
||||||
uint32_t y;
|
uint32_t y;
|
||||||
uint32_t state;
|
uint32_t state;
|
||||||
};
|
};
|
||||||
|
|
||||||
static rct_mouse_data _mouseInputQueue[64];
|
static RCTMouseData _mouseInputQueue[64];
|
||||||
static uint8_t _mouseInputQueueReadIndex = 0;
|
static uint8_t _mouseInputQueueReadIndex = 0;
|
||||||
static uint8_t _mouseInputQueueWriteIndex = 0;
|
static uint8_t _mouseInputQueueWriteIndex = 0;
|
||||||
|
|
||||||
|
@ -61,40 +61,39 @@ ScreenCoordsXY gTooltipCursor;
|
||||||
|
|
||||||
static int16_t _clickRepeatTicks;
|
static int16_t _clickRepeatTicks;
|
||||||
|
|
||||||
static int32_t game_get_next_input(ScreenCoordsXY& screenCoords);
|
static int32_t GameGetNextInput(ScreenCoordsXY& screenCoords);
|
||||||
static void input_widget_over(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex);
|
static void InputWidgetOver(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex);
|
||||||
static void input_widget_over_change_check(
|
static void InputWidgetOverChangeCheck(rct_windowclass windowClass, rct_windownumber windowNumber, rct_widgetindex widgetIndex);
|
||||||
rct_windowclass windowClass, rct_windownumber windowNumber, rct_widgetindex widgetIndex);
|
static void InputWidgetOverFlatbuttonInvalidate();
|
||||||
static void input_widget_over_flatbutton_invalidate();
|
void ProcessMouseOver(const ScreenCoordsXY& screenCoords);
|
||||||
void process_mouse_over(const ScreenCoordsXY& screenCoords);
|
void ProcessMouseTool(const ScreenCoordsXY& screenCoords);
|
||||||
void process_mouse_tool(const ScreenCoordsXY& screenCoords);
|
void InvalidateScroll();
|
||||||
void invalidate_scroll();
|
static RCTMouseData* GetMouseInput();
|
||||||
static rct_mouse_data* get_mouse_input();
|
void TileElementRightClick(int32_t type, TileElement* tileElement, const ScreenCoordsXY& screenCoords);
|
||||||
void tile_element_right_click(int32_t type, TileElement* tileElement, const ScreenCoordsXY& screenCoords);
|
static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, int32_t state);
|
||||||
static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t state);
|
static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex);
|
||||||
static void input_widget_left(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex);
|
void InputStateWidgetPressed(
|
||||||
void input_state_widget_pressed(
|
|
||||||
const ScreenCoordsXY& screenCoords, int32_t state, rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget);
|
const ScreenCoordsXY& screenCoords, int32_t state, rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget);
|
||||||
void set_cursor(CursorID cursor_id);
|
void SetCursor(CursorID cursor_id);
|
||||||
static void input_window_position_continue(
|
static void InputWindowPositionContinue(
|
||||||
rct_window* w, const ScreenCoordsXY& lastScreenCoords, const ScreenCoordsXY& newScreenCoords);
|
rct_window* w, const ScreenCoordsXY& lastScreenCoords, const ScreenCoordsXY& newScreenCoords);
|
||||||
static void input_window_position_end(rct_window* w, const ScreenCoordsXY& screenCoords);
|
static void InputWindowPositionEnd(rct_window* w, const ScreenCoordsXY& screenCoords);
|
||||||
static void input_window_resize_begin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void InputWindowResizeBegin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void input_window_resize_continue(rct_window* w, const ScreenCoordsXY& screenCoords);
|
static void InputWindowResizeContinue(rct_window* w, const ScreenCoordsXY& screenCoords);
|
||||||
static void input_window_resize_end();
|
static void InputWindowResizeEnd();
|
||||||
static void input_viewport_drag_begin(rct_window* w);
|
static void InputViewportDragBegin(rct_window* w);
|
||||||
static void input_viewport_drag_continue();
|
static void InputViewportDragContinue();
|
||||||
static void input_viewport_drag_end();
|
static void InputViewportDragEnd();
|
||||||
static void input_scroll_begin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void InputScrollBegin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void input_scroll_continue(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void InputScrollContinue(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
static void input_scroll_end();
|
static void InputScrollEnd();
|
||||||
static void input_scroll_part_update_hthumb(rct_window* w, rct_widgetindex widgetIndex, int32_t x, int32_t scroll_id);
|
static void InputScrollPartUpdateHThumb(rct_window* w, rct_widgetindex widgetIndex, int32_t x, int32_t scroll_id);
|
||||||
static void input_scroll_part_update_hleft(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
static void InputScrollPartUpdateHLeft(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
||||||
static void input_scroll_part_update_hright(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
static void InputScrollPartUpdateHRight(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
||||||
static void input_scroll_part_update_vthumb(rct_window* w, rct_widgetindex widgetIndex, int32_t y, int32_t scroll_id);
|
static void InputScrollPartUpdateVThumb(rct_window* w, rct_widgetindex widgetIndex, int32_t y, int32_t scroll_id);
|
||||||
static void input_scroll_part_update_vtop(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
static void InputScrollPartUpdateVTop(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
||||||
static void input_scroll_part_update_vbottom(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
static void InputScrollPartUpdateVBottom(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id);
|
||||||
static void input_update_tooltip(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
static void InputUpdateTooltip(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
|
|
||||||
#pragma region Mouse input
|
#pragma region Mouse input
|
||||||
|
|
||||||
|
@ -102,7 +101,7 @@ static void input_update_tooltip(rct_window* w, rct_widgetindex widgetIndex, con
|
||||||
*
|
*
|
||||||
* rct2: 0x006EA627
|
* rct2: 0x006EA627
|
||||||
*/
|
*/
|
||||||
void game_handle_input()
|
void GameHandleInput()
|
||||||
{
|
{
|
||||||
window_visit_each([](rct_window* w) { window_event_periodic_update_call(w); });
|
window_visit_each([](rct_window* w) { window_event_periodic_update_call(w); });
|
||||||
|
|
||||||
|
@ -110,14 +109,14 @@ void game_handle_input()
|
||||||
|
|
||||||
int32_t state;
|
int32_t state;
|
||||||
ScreenCoordsXY screenCoords;
|
ScreenCoordsXY screenCoords;
|
||||||
while ((state = game_get_next_input(screenCoords)) != MOUSE_STATE_RELEASED)
|
while ((state = GameGetNextInput(screenCoords)) != MOUSE_STATE_RELEASED)
|
||||||
{
|
{
|
||||||
game_handle_input_mouse(screenCoords, state & 0xFF);
|
GameHandleInputMouse(screenCoords, state & 0xFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_inputFlags & INPUT_FLAG_5)
|
if (_inputFlags & INPUT_FLAG_5)
|
||||||
{
|
{
|
||||||
game_handle_input_mouse(screenCoords, state);
|
GameHandleInputMouse(screenCoords, state);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -126,9 +125,9 @@ void game_handle_input()
|
||||||
screenCoords.x = std::clamp(screenCoords.x, 0, screenWidth - 1);
|
screenCoords.x = std::clamp(screenCoords.x, 0, screenWidth - 1);
|
||||||
screenCoords.y = std::clamp(screenCoords.y, 0, screenHeight - 1);
|
screenCoords.y = std::clamp(screenCoords.y, 0, screenHeight - 1);
|
||||||
|
|
||||||
game_handle_input_mouse(screenCoords, state);
|
GameHandleInputMouse(screenCoords, state);
|
||||||
process_mouse_over(screenCoords);
|
ProcessMouseOver(screenCoords);
|
||||||
process_mouse_tool(screenCoords);
|
ProcessMouseTool(screenCoords);
|
||||||
}
|
}
|
||||||
|
|
||||||
window_visit_each([](rct_window* w) { window_event_unknown_08_call(w); });
|
window_visit_each([](rct_window* w) { window_event_unknown_08_call(w); });
|
||||||
|
@ -138,9 +137,9 @@ void game_handle_input()
|
||||||
*
|
*
|
||||||
* rct2: 0x006E83C7
|
* rct2: 0x006E83C7
|
||||||
*/
|
*/
|
||||||
static int32_t game_get_next_input(ScreenCoordsXY& screenCoords)
|
static int32_t GameGetNextInput(ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
rct_mouse_data* input = get_mouse_input();
|
RCTMouseData* input = GetMouseInput();
|
||||||
if (input == nullptr)
|
if (input == nullptr)
|
||||||
{
|
{
|
||||||
const CursorState* cursorState = context_get_cursor_state();
|
const CursorState* cursorState = context_get_cursor_state();
|
||||||
|
@ -159,7 +158,7 @@ static int32_t game_get_next_input(ScreenCoordsXY& screenCoords)
|
||||||
*
|
*
|
||||||
* rct2: 0x00407074
|
* rct2: 0x00407074
|
||||||
*/
|
*/
|
||||||
static rct_mouse_data* get_mouse_input()
|
static RCTMouseData* GetMouseInput()
|
||||||
{
|
{
|
||||||
// Check if that location has been written to yet
|
// Check if that location has been written to yet
|
||||||
if (_mouseInputQueueReadIndex == _mouseInputQueueWriteIndex)
|
if (_mouseInputQueueReadIndex == _mouseInputQueueWriteIndex)
|
||||||
|
@ -168,7 +167,7 @@ static rct_mouse_data* get_mouse_input()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rct_mouse_data* result = &_mouseInputQueue[_mouseInputQueueReadIndex];
|
RCTMouseData* result = &_mouseInputQueue[_mouseInputQueueReadIndex];
|
||||||
_mouseInputQueueReadIndex = (_mouseInputQueueReadIndex + 1) % std::size(_mouseInputQueue);
|
_mouseInputQueueReadIndex = (_mouseInputQueueReadIndex + 1) % std::size(_mouseInputQueue);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -178,7 +177,7 @@ static rct_mouse_data* get_mouse_input()
|
||||||
*
|
*
|
||||||
* rct2: 0x006E957F
|
* rct2: 0x006E957F
|
||||||
*/
|
*/
|
||||||
static void input_scroll_drag_begin(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex)
|
static void InputScrollDragBegin(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex)
|
||||||
{
|
{
|
||||||
_inputState = InputState::ScrollRight;
|
_inputState = InputState::ScrollRight;
|
||||||
gInputDragLast = screenCoords;
|
gInputDragLast = screenCoords;
|
||||||
|
@ -195,7 +194,7 @@ static void input_scroll_drag_begin(const ScreenCoordsXY& screenCoords, rct_wind
|
||||||
* Based on (heavily changed)
|
* Based on (heavily changed)
|
||||||
* rct2: 0x006E9E0E, 0x006E9ED0
|
* rct2: 0x006E9E0E, 0x006E9ED0
|
||||||
*/
|
*/
|
||||||
static void input_scroll_drag_continue(const ScreenCoordsXY& screenCoords, rct_window* w)
|
static void InputScrollDragContinue(const ScreenCoordsXY& screenCoords, rct_window* w)
|
||||||
{
|
{
|
||||||
rct_widgetindex widgetIndex = _dragWidget.widget_index;
|
rct_widgetindex widgetIndex = _dragWidget.widget_index;
|
||||||
uint8_t scrollIndex = _dragScrollIndex;
|
uint8_t scrollIndex = _dragScrollIndex;
|
||||||
|
@ -236,7 +235,7 @@ static void input_scroll_drag_continue(const ScreenCoordsXY& screenCoords, rct_w
|
||||||
*
|
*
|
||||||
* rct2: 0x006E8ACB
|
* rct2: 0x006E8ACB
|
||||||
*/
|
*/
|
||||||
static void input_scroll_right(const ScreenCoordsXY& screenCoords, int32_t state)
|
static void InputScrollRight(const ScreenCoordsXY& screenCoords, int32_t state)
|
||||||
{
|
{
|
||||||
rct_window* w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number);
|
rct_window* w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number);
|
||||||
if (w == nullptr)
|
if (w == nullptr)
|
||||||
|
@ -253,7 +252,7 @@ static void input_scroll_right(const ScreenCoordsXY& screenCoords, int32_t state
|
||||||
if (screenCoords.x != 0 || screenCoords.y != 0)
|
if (screenCoords.x != 0 || screenCoords.y != 0)
|
||||||
{
|
{
|
||||||
_ticksSinceDragStart = 1000;
|
_ticksSinceDragStart = 1000;
|
||||||
input_scroll_drag_continue(screenCoords, w);
|
InputScrollDragContinue(screenCoords, w);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MOUSE_STATE_RIGHT_RELEASE:
|
case MOUSE_STATE_RIGHT_RELEASE:
|
||||||
|
@ -267,7 +266,7 @@ static void input_scroll_right(const ScreenCoordsXY& screenCoords, int32_t state
|
||||||
*
|
*
|
||||||
* rct2: 0x006E8655
|
* rct2: 0x006E8655
|
||||||
*/
|
*/
|
||||||
static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t state)
|
static void GameHandleInputMouse(const ScreenCoordsXY& screenCoords, int32_t state)
|
||||||
{
|
{
|
||||||
rct_window* w;
|
rct_window* w;
|
||||||
rct_widget* widget;
|
rct_widget* widget;
|
||||||
|
@ -287,10 +286,10 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case MOUSE_STATE_RELEASED:
|
case MOUSE_STATE_RELEASED:
|
||||||
input_widget_over(screenCoords, w, widgetIndex);
|
InputWidgetOver(screenCoords, w, widgetIndex);
|
||||||
break;
|
break;
|
||||||
case MOUSE_STATE_LEFT_PRESS:
|
case MOUSE_STATE_LEFT_PRESS:
|
||||||
input_widget_left(screenCoords, w, widgetIndex);
|
InputWidgetLeft(screenCoords, w, widgetIndex);
|
||||||
break;
|
break;
|
||||||
case MOUSE_STATE_RIGHT_PRESS:
|
case MOUSE_STATE_RIGHT_PRESS:
|
||||||
window_close_by_class(WC_TOOLTIP);
|
window_close_by_class(WC_TOOLTIP);
|
||||||
|
@ -307,11 +306,11 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
case WWT_VIEWPORT:
|
case WWT_VIEWPORT:
|
||||||
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO)))
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_MANAGER | SCREEN_FLAGS_TITLE_DEMO)))
|
||||||
{
|
{
|
||||||
input_viewport_drag_begin(w);
|
InputViewportDragBegin(w);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WWT_SCROLL:
|
case WWT_SCROLL:
|
||||||
input_scroll_drag_begin(screenCoords, w, widgetIndex);
|
InputScrollDragBegin(screenCoords, w, widgetIndex);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -319,7 +318,7 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case InputState::WidgetPressed:
|
case InputState::WidgetPressed:
|
||||||
input_state_widget_pressed(screenCoords, state, widgetIndex, w, widget);
|
InputStateWidgetPressed(screenCoords, state, widgetIndex, w, widget);
|
||||||
break;
|
break;
|
||||||
case InputState::PositioningWindow:
|
case InputState::PositioningWindow:
|
||||||
w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number);
|
w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number);
|
||||||
|
@ -329,21 +328,21 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
input_window_position_continue(w, gInputDragLast, screenCoords);
|
InputWindowPositionContinue(w, gInputDragLast, screenCoords);
|
||||||
if (state == MOUSE_STATE_LEFT_RELEASE)
|
if (state == MOUSE_STATE_LEFT_RELEASE)
|
||||||
{
|
{
|
||||||
input_window_position_end(w, screenCoords);
|
InputWindowPositionEnd(w, screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case InputState::ViewportRight:
|
case InputState::ViewportRight:
|
||||||
if (state == MOUSE_STATE_RELEASED)
|
if (state == MOUSE_STATE_RELEASED)
|
||||||
{
|
{
|
||||||
input_viewport_drag_continue();
|
InputViewportDragContinue();
|
||||||
}
|
}
|
||||||
else if (state == MOUSE_STATE_RIGHT_RELEASE)
|
else if (state == MOUSE_STATE_RIGHT_RELEASE)
|
||||||
{
|
{
|
||||||
input_viewport_drag_end();
|
InputViewportDragEnd();
|
||||||
if (_ticksSinceDragStart < 500)
|
if (_ticksSinceDragStart < 500)
|
||||||
{
|
{
|
||||||
// If the user pressed the right mouse button for less than 500 ticks, interpret as right click
|
// If the user pressed the right mouse button for less than 500 ticks, interpret as right click
|
||||||
|
@ -352,7 +351,7 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case InputState::DropdownActive:
|
case InputState::DropdownActive:
|
||||||
input_state_widget_pressed(screenCoords, state, widgetIndex, w, widget);
|
InputStateWidgetPressed(screenCoords, state, widgetIndex, w, widget);
|
||||||
break;
|
break;
|
||||||
case InputState::ViewportLeft:
|
case InputState::ViewportLeft:
|
||||||
w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number);
|
w = window_find_by_number(_dragWidget.window_classification, _dragWidget.window_number);
|
||||||
|
@ -410,10 +409,10 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case MOUSE_STATE_RELEASED:
|
case MOUSE_STATE_RELEASED:
|
||||||
input_scroll_continue(w, widgetIndex, screenCoords);
|
InputScrollContinue(w, widgetIndex, screenCoords);
|
||||||
break;
|
break;
|
||||||
case MOUSE_STATE_LEFT_RELEASE:
|
case MOUSE_STATE_LEFT_RELEASE:
|
||||||
input_scroll_end();
|
InputScrollEnd();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -427,23 +426,23 @@ static void game_handle_input_mouse(const ScreenCoordsXY& screenCoords, int32_t
|
||||||
{
|
{
|
||||||
if (state == MOUSE_STATE_LEFT_RELEASE)
|
if (state == MOUSE_STATE_LEFT_RELEASE)
|
||||||
{
|
{
|
||||||
input_window_resize_end();
|
InputWindowResizeEnd();
|
||||||
}
|
}
|
||||||
if (state == MOUSE_STATE_RELEASED || state == MOUSE_STATE_LEFT_RELEASE)
|
if (state == MOUSE_STATE_RELEASED || state == MOUSE_STATE_LEFT_RELEASE)
|
||||||
{
|
{
|
||||||
input_window_resize_continue(w, screenCoords);
|
InputWindowResizeContinue(w, screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case InputState::ScrollRight:
|
case InputState::ScrollRight:
|
||||||
input_scroll_right(screenCoords, state);
|
InputScrollRight(screenCoords, state);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma region Window positioning / resizing
|
#pragma region Window positioning / resizing
|
||||||
|
|
||||||
void input_window_position_begin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
void InputWindowPositionBegin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
_inputState = InputState::PositioningWindow;
|
_inputState = InputState::PositioningWindow;
|
||||||
gInputDragLast = screenCoords - w->windowPos;
|
gInputDragLast = screenCoords - w->windowPos;
|
||||||
|
@ -452,7 +451,7 @@ void input_window_position_begin(rct_window* w, rct_widgetindex widgetIndex, con
|
||||||
_dragWidget.widget_index = widgetIndex;
|
_dragWidget.widget_index = widgetIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_window_position_continue(
|
static void InputWindowPositionContinue(
|
||||||
rct_window* w, const ScreenCoordsXY& lastScreenCoords, const ScreenCoordsXY& newScreenCoords)
|
rct_window* w, const ScreenCoordsXY& lastScreenCoords, const ScreenCoordsXY& newScreenCoords)
|
||||||
{
|
{
|
||||||
int32_t snapProximity;
|
int32_t snapProximity;
|
||||||
|
@ -461,7 +460,7 @@ static void input_window_position_continue(
|
||||||
window_move_and_snap(w, newScreenCoords - lastScreenCoords, snapProximity);
|
window_move_and_snap(w, newScreenCoords - lastScreenCoords, snapProximity);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_window_position_end(rct_window* w, const ScreenCoordsXY& screenCoords)
|
static void InputWindowPositionEnd(rct_window* w, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
_inputState = InputState::Normal;
|
_inputState = InputState::Normal;
|
||||||
gTooltipTimeout = 0;
|
gTooltipTimeout = 0;
|
||||||
|
@ -469,7 +468,7 @@ static void input_window_position_end(rct_window* w, const ScreenCoordsXY& scree
|
||||||
window_event_moved_call(w, screenCoords);
|
window_event_moved_call(w, screenCoords);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_window_resize_begin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
static void InputWindowResizeBegin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
_inputState = InputState::Resizing;
|
_inputState = InputState::Resizing;
|
||||||
gInputDragLast = screenCoords;
|
gInputDragLast = screenCoords;
|
||||||
|
@ -480,7 +479,7 @@ static void input_window_resize_begin(rct_window* w, rct_widgetindex widgetIndex
|
||||||
_originalWindowHeight = w->height;
|
_originalWindowHeight = w->height;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_window_resize_continue(rct_window* w, const ScreenCoordsXY& screenCoords)
|
static void InputWindowResizeContinue(rct_window* w, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
if (screenCoords.y < static_cast<int32_t>(context_get_height()) - 2)
|
if (screenCoords.y < static_cast<int32_t>(context_get_height()) - 2)
|
||||||
{
|
{
|
||||||
|
@ -492,7 +491,7 @@ static void input_window_resize_continue(rct_window* w, const ScreenCoordsXY& sc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_window_resize_end()
|
static void InputWindowResizeEnd()
|
||||||
{
|
{
|
||||||
_inputState = InputState::Normal;
|
_inputState = InputState::Normal;
|
||||||
gTooltipTimeout = 0;
|
gTooltipTimeout = 0;
|
||||||
|
@ -503,7 +502,7 @@ static void input_window_resize_end()
|
||||||
|
|
||||||
#pragma region Viewport dragging
|
#pragma region Viewport dragging
|
||||||
|
|
||||||
static void input_viewport_drag_begin(rct_window* w)
|
static void InputViewportDragBegin(rct_window* w)
|
||||||
{
|
{
|
||||||
w->flags &= ~WF_SCROLLING_TO_LOCATION;
|
w->flags &= ~WF_SCROLLING_TO_LOCATION;
|
||||||
_inputState = InputState::ViewportRight;
|
_inputState = InputState::ViewportRight;
|
||||||
|
@ -518,7 +517,7 @@ static void input_viewport_drag_begin(rct_window* w)
|
||||||
// gInputFlags |= INPUT_FLAG_5;
|
// gInputFlags |= INPUT_FLAG_5;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_viewport_drag_continue()
|
static void InputViewportDragContinue()
|
||||||
{
|
{
|
||||||
rct_window* w;
|
rct_window* w;
|
||||||
rct_viewport* viewport;
|
rct_viewport* viewport;
|
||||||
|
@ -533,7 +532,7 @@ static void input_viewport_drag_continue()
|
||||||
// the session if the window no longer exists
|
// the session if the window no longer exists
|
||||||
if (w == nullptr)
|
if (w == nullptr)
|
||||||
{
|
{
|
||||||
input_viewport_drag_end();
|
InputViewportDragEnd();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -577,7 +576,7 @@ static void input_viewport_drag_continue()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_viewport_drag_end()
|
static void InputViewportDragEnd()
|
||||||
{
|
{
|
||||||
_inputState = InputState::Reset;
|
_inputState = InputState::Reset;
|
||||||
context_show_cursor();
|
context_show_cursor();
|
||||||
|
@ -587,7 +586,7 @@ static void input_viewport_drag_end()
|
||||||
|
|
||||||
#pragma region Scroll bars
|
#pragma region Scroll bars
|
||||||
|
|
||||||
static void input_scroll_begin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
static void InputScrollBegin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
rct_widget* widget;
|
rct_widget* widget;
|
||||||
|
|
||||||
|
@ -659,7 +658,7 @@ static void input_scroll_begin(rct_window* w, rct_widgetindex widgetIndex, const
|
||||||
window_invalidate_by_number(widgetIndex, w->classification);
|
window_invalidate_by_number(widgetIndex, w->classification);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_scroll_continue(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
static void InputScrollContinue(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
rct_widget* widget;
|
rct_widget* widget;
|
||||||
int32_t scroll_part, scroll_id;
|
int32_t scroll_part, scroll_id;
|
||||||
|
@ -670,7 +669,7 @@ static void input_scroll_continue(rct_window* w, rct_widgetindex widgetIndex, co
|
||||||
if (w->classification != gPressedWidget.window_classification || w->number != gPressedWidget.window_number
|
if (w->classification != gPressedWidget.window_classification || w->number != gPressedWidget.window_number
|
||||||
|| widgetIndex != gPressedWidget.widget_index)
|
|| widgetIndex != gPressedWidget.widget_index)
|
||||||
{
|
{
|
||||||
invalidate_scroll();
|
InvalidateScroll();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -681,7 +680,7 @@ static void input_scroll_continue(rct_window* w, rct_widgetindex widgetIndex, co
|
||||||
{
|
{
|
||||||
int32_t originalTooltipCursorX = gTooltipCursor.x;
|
int32_t originalTooltipCursorX = gTooltipCursor.x;
|
||||||
gTooltipCursor.x = screenCoords.x;
|
gTooltipCursor.x = screenCoords.x;
|
||||||
input_scroll_part_update_hthumb(w, widgetIndex, screenCoords.x - originalTooltipCursorX, scroll_id);
|
InputScrollPartUpdateHThumb(w, widgetIndex, screenCoords.x - originalTooltipCursorX, scroll_id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -689,13 +688,13 @@ static void input_scroll_continue(rct_window* w, rct_widgetindex widgetIndex, co
|
||||||
{
|
{
|
||||||
int32_t originalTooltipCursorY = gTooltipCursor.y;
|
int32_t originalTooltipCursorY = gTooltipCursor.y;
|
||||||
gTooltipCursor.y = screenCoords.y;
|
gTooltipCursor.y = screenCoords.y;
|
||||||
input_scroll_part_update_vthumb(w, widgetIndex, screenCoords.y - originalTooltipCursorY, scroll_id);
|
InputScrollPartUpdateVThumb(w, widgetIndex, screenCoords.y - originalTooltipCursorY, scroll_id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scroll_part != _currentScrollArea)
|
if (scroll_part != _currentScrollArea)
|
||||||
{
|
{
|
||||||
invalidate_scroll();
|
InvalidateScroll();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -705,31 +704,31 @@ static void input_scroll_continue(rct_window* w, rct_widgetindex widgetIndex, co
|
||||||
window_event_scroll_mousedrag_call(w, scroll_id, newScreenCoords);
|
window_event_scroll_mousedrag_call(w, scroll_id, newScreenCoords);
|
||||||
break;
|
break;
|
||||||
case SCROLL_PART_HSCROLLBAR_LEFT:
|
case SCROLL_PART_HSCROLLBAR_LEFT:
|
||||||
input_scroll_part_update_hleft(w, widgetIndex, scroll_id);
|
InputScrollPartUpdateHLeft(w, widgetIndex, scroll_id);
|
||||||
break;
|
break;
|
||||||
case SCROLL_PART_HSCROLLBAR_RIGHT:
|
case SCROLL_PART_HSCROLLBAR_RIGHT:
|
||||||
input_scroll_part_update_hright(w, widgetIndex, scroll_id);
|
InputScrollPartUpdateHRight(w, widgetIndex, scroll_id);
|
||||||
break;
|
break;
|
||||||
case SCROLL_PART_VSCROLLBAR_TOP:
|
case SCROLL_PART_VSCROLLBAR_TOP:
|
||||||
input_scroll_part_update_vtop(w, widgetIndex, scroll_id);
|
InputScrollPartUpdateVTop(w, widgetIndex, scroll_id);
|
||||||
break;
|
break;
|
||||||
case SCROLL_PART_VSCROLLBAR_BOTTOM:
|
case SCROLL_PART_VSCROLLBAR_BOTTOM:
|
||||||
input_scroll_part_update_vbottom(w, widgetIndex, scroll_id);
|
InputScrollPartUpdateVBottom(w, widgetIndex, scroll_id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_scroll_end()
|
static void InputScrollEnd()
|
||||||
{
|
{
|
||||||
_inputState = InputState::Reset;
|
_inputState = InputState::Reset;
|
||||||
invalidate_scroll();
|
InvalidateScroll();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* rct2: 0x006E98F2
|
* rct2: 0x006E98F2
|
||||||
*/
|
*/
|
||||||
static void input_scroll_part_update_hthumb(rct_window* w, rct_widgetindex widgetIndex, int32_t x, int32_t scroll_id)
|
static void InputScrollPartUpdateHThumb(rct_window* w, rct_widgetindex widgetIndex, int32_t x, int32_t scroll_id)
|
||||||
{
|
{
|
||||||
rct_widget* widget = &w->widgets[widgetIndex];
|
rct_widget* widget = &w->widgets[widgetIndex];
|
||||||
|
|
||||||
|
@ -767,7 +766,7 @@ static void input_scroll_part_update_hthumb(rct_window* w, rct_widgetindex widge
|
||||||
*
|
*
|
||||||
* rct2: 0x006E99A9
|
* rct2: 0x006E99A9
|
||||||
*/
|
*/
|
||||||
static void input_scroll_part_update_vthumb(rct_window* w, rct_widgetindex widgetIndex, int32_t y, int32_t scroll_id)
|
static void InputScrollPartUpdateVThumb(rct_window* w, rct_widgetindex widgetIndex, int32_t y, int32_t scroll_id)
|
||||||
{
|
{
|
||||||
assert(w != nullptr);
|
assert(w != nullptr);
|
||||||
rct_widget* widget = &w->widgets[widgetIndex];
|
rct_widget* widget = &w->widgets[widgetIndex];
|
||||||
|
@ -806,7 +805,7 @@ static void input_scroll_part_update_vthumb(rct_window* w, rct_widgetindex widge
|
||||||
*
|
*
|
||||||
* rct2: 0x006E9A60
|
* rct2: 0x006E9A60
|
||||||
*/
|
*/
|
||||||
static void input_scroll_part_update_hleft(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
static void InputScrollPartUpdateHLeft(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
||||||
{
|
{
|
||||||
assert(w != nullptr);
|
assert(w != nullptr);
|
||||||
if (window_find_by_number(w->classification, w->number))
|
if (window_find_by_number(w->classification, w->number))
|
||||||
|
@ -823,7 +822,7 @@ static void input_scroll_part_update_hleft(rct_window* w, rct_widgetindex widget
|
||||||
*
|
*
|
||||||
* rct2: 0x006E9ABF
|
* rct2: 0x006E9ABF
|
||||||
*/
|
*/
|
||||||
static void input_scroll_part_update_hright(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
static void InputScrollPartUpdateHRight(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
||||||
{
|
{
|
||||||
assert(w != nullptr);
|
assert(w != nullptr);
|
||||||
rct_widget* widget = &w->widgets[widgetIndex];
|
rct_widget* widget = &w->widgets[widgetIndex];
|
||||||
|
@ -849,7 +848,7 @@ static void input_scroll_part_update_hright(rct_window* w, rct_widgetindex widge
|
||||||
*
|
*
|
||||||
* rct2: 0x006E9C37
|
* rct2: 0x006E9C37
|
||||||
*/
|
*/
|
||||||
static void input_scroll_part_update_vtop(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
static void InputScrollPartUpdateVTop(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
||||||
{
|
{
|
||||||
assert(w != nullptr);
|
assert(w != nullptr);
|
||||||
if (window_find_by_number(w->classification, w->number))
|
if (window_find_by_number(w->classification, w->number))
|
||||||
|
@ -866,7 +865,7 @@ static void input_scroll_part_update_vtop(rct_window* w, rct_widgetindex widgetI
|
||||||
*
|
*
|
||||||
* rct2: 0x006E9C96
|
* rct2: 0x006E9C96
|
||||||
*/
|
*/
|
||||||
static void input_scroll_part_update_vbottom(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
static void InputScrollPartUpdateVBottom(rct_window* w, rct_widgetindex widgetIndex, int32_t scroll_id)
|
||||||
{
|
{
|
||||||
assert(w != nullptr);
|
assert(w != nullptr);
|
||||||
rct_widget* widget = &w->widgets[widgetIndex];
|
rct_widget* widget = &w->widgets[widgetIndex];
|
||||||
|
@ -896,7 +895,7 @@ static void input_scroll_part_update_vbottom(rct_window* w, rct_widgetindex widg
|
||||||
*
|
*
|
||||||
* rct2: 0x006E9253
|
* rct2: 0x006E9253
|
||||||
*/
|
*/
|
||||||
static void input_widget_over(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex)
|
static void InputWidgetOver(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex)
|
||||||
{
|
{
|
||||||
rct_windowclass windowClass = WC_NULL;
|
rct_windowclass windowClass = WC_NULL;
|
||||||
rct_windownumber windowNumber = 0;
|
rct_windownumber windowNumber = 0;
|
||||||
|
@ -909,7 +908,7 @@ static void input_widget_over(const ScreenCoordsXY& screenCoords, rct_window* w,
|
||||||
widget = &w->widgets[widgetIndex];
|
widget = &w->widgets[widgetIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
input_widget_over_change_check(windowClass, windowNumber, widgetIndex);
|
InputWidgetOverChangeCheck(windowClass, windowNumber, widgetIndex);
|
||||||
|
|
||||||
if (w != nullptr && widgetIndex != -1 && widget->type == WWT_SCROLL)
|
if (w != nullptr && widgetIndex != -1 && widget->type == WWT_SCROLL)
|
||||||
{
|
{
|
||||||
|
@ -922,12 +921,12 @@ static void input_widget_over(const ScreenCoordsXY& screenCoords, rct_window* w,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
window_event_scroll_mouseover_call(w, scrollId, newScreenCoords);
|
window_event_scroll_mouseover_call(w, scrollId, newScreenCoords);
|
||||||
input_update_tooltip(w, widgetIndex, screenCoords);
|
InputUpdateTooltip(w, widgetIndex, screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
input_update_tooltip(w, widgetIndex, screenCoords);
|
InputUpdateTooltip(w, widgetIndex, screenCoords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -935,8 +934,7 @@ static void input_widget_over(const ScreenCoordsXY& screenCoords, rct_window* w,
|
||||||
*
|
*
|
||||||
* rct2: 0x006E9269
|
* rct2: 0x006E9269
|
||||||
*/
|
*/
|
||||||
static void input_widget_over_change_check(
|
static void InputWidgetOverChangeCheck(rct_windowclass windowClass, rct_windownumber windowNumber, rct_widgetindex widgetIndex)
|
||||||
rct_windowclass windowClass, rct_windownumber windowNumber, rct_widgetindex widgetIndex)
|
|
||||||
{
|
{
|
||||||
// Prevents invalid widgets being clicked source of bug is elsewhere
|
// Prevents invalid widgets being clicked source of bug is elsewhere
|
||||||
if (widgetIndex == -1)
|
if (widgetIndex == -1)
|
||||||
|
@ -947,7 +945,7 @@ static void input_widget_over_change_check(
|
||||||
|| widgetIndex != gHoverWidget.widget_index)
|
|| widgetIndex != gHoverWidget.widget_index)
|
||||||
{
|
{
|
||||||
// Invalidate last widget cursor was on if widget is a flat button
|
// Invalidate last widget cursor was on if widget is a flat button
|
||||||
input_widget_over_flatbutton_invalidate();
|
InputWidgetOverFlatbuttonInvalidate();
|
||||||
|
|
||||||
// Set new cursor over widget
|
// Set new cursor over widget
|
||||||
gHoverWidget.window_classification = windowClass;
|
gHoverWidget.window_classification = windowClass;
|
||||||
|
@ -956,7 +954,7 @@ static void input_widget_over_change_check(
|
||||||
|
|
||||||
// Invalidate new widget cursor is on if widget is a flat button
|
// Invalidate new widget cursor is on if widget is a flat button
|
||||||
if (windowClass != 255)
|
if (windowClass != 255)
|
||||||
input_widget_over_flatbutton_invalidate();
|
InputWidgetOverFlatbuttonInvalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -964,7 +962,7 @@ static void input_widget_over_change_check(
|
||||||
* Used to invalidate flat button widgets when the mouse leaves and enters them. This should be generalised so that all widgets
|
* Used to invalidate flat button widgets when the mouse leaves and enters them. This should be generalised so that all widgets
|
||||||
* can use this in the future.
|
* can use this in the future.
|
||||||
*/
|
*/
|
||||||
static void input_widget_over_flatbutton_invalidate()
|
static void InputWidgetOverFlatbuttonInvalidate()
|
||||||
{
|
{
|
||||||
rct_window* w = window_find_by_number(gHoverWidget.window_classification, gHoverWidget.window_number);
|
rct_window* w = window_find_by_number(gHoverWidget.window_classification, gHoverWidget.window_number);
|
||||||
if (w != nullptr)
|
if (w != nullptr)
|
||||||
|
@ -982,7 +980,7 @@ static void input_widget_over_flatbutton_invalidate()
|
||||||
*
|
*
|
||||||
* rct2: 0x006E95F9
|
* rct2: 0x006E95F9
|
||||||
*/
|
*/
|
||||||
static void input_widget_left(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex)
|
static void InputWidgetLeft(const ScreenCoordsXY& screenCoords, rct_window* w, rct_widgetindex widgetIndex)
|
||||||
{
|
{
|
||||||
rct_windowclass windowClass = WC_NULL;
|
rct_windowclass windowClass = WC_NULL;
|
||||||
rct_windownumber windowNumber = 0;
|
rct_windownumber windowNumber = 0;
|
||||||
|
@ -1020,7 +1018,7 @@ static void input_widget_left(const ScreenCoordsXY& screenCoords, rct_window* w,
|
||||||
case WWT_RESIZE:
|
case WWT_RESIZE:
|
||||||
if (window_can_resize(w)
|
if (window_can_resize(w)
|
||||||
&& (screenCoords.x >= w->windowPos.x + w->width - 19 && screenCoords.y >= w->windowPos.y + w->height - 19))
|
&& (screenCoords.x >= w->windowPos.x + w->width - 19 && screenCoords.y >= w->windowPos.y + w->height - 19))
|
||||||
input_window_resize_begin(w, widgetIndex, screenCoords);
|
InputWindowResizeBegin(w, widgetIndex, screenCoords);
|
||||||
break;
|
break;
|
||||||
case WWT_VIEWPORT:
|
case WWT_VIEWPORT:
|
||||||
_inputState = InputState::ViewportLeft;
|
_inputState = InputState::ViewportLeft;
|
||||||
|
@ -1038,10 +1036,10 @@ static void input_widget_left(const ScreenCoordsXY& screenCoords, rct_window* w,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WWT_CAPTION:
|
case WWT_CAPTION:
|
||||||
input_window_position_begin(w, widgetIndex, screenCoords);
|
InputWindowPositionBegin(w, widgetIndex, screenCoords);
|
||||||
break;
|
break;
|
||||||
case WWT_SCROLL:
|
case WWT_SCROLL:
|
||||||
input_scroll_begin(w, widgetIndex, screenCoords);
|
InputScrollBegin(w, widgetIndex, screenCoords);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (widget_is_enabled(w, widgetIndex) && !widget_is_disabled(w, widgetIndex))
|
if (widget_is_enabled(w, widgetIndex) && !widget_is_disabled(w, widgetIndex))
|
||||||
|
@ -1069,7 +1067,7 @@ static void input_widget_left(const ScreenCoordsXY& screenCoords, rct_window* w,
|
||||||
*
|
*
|
||||||
* rct2: 0x006ED833
|
* rct2: 0x006ED833
|
||||||
*/
|
*/
|
||||||
void process_mouse_over(const ScreenCoordsXY& screenCoords)
|
void ProcessMouseOver(const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
rct_window* window;
|
rct_window* window;
|
||||||
|
|
||||||
|
@ -1091,7 +1089,7 @@ void process_mouse_over(const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
if (viewport_interaction_left_over(screenCoords))
|
if (viewport_interaction_left_over(screenCoords))
|
||||||
{
|
{
|
||||||
set_cursor(CursorID::HandPoint);
|
SetCursor(CursorID::HandPoint);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1143,14 +1141,14 @@ void process_mouse_over(const ScreenCoordsXY& screenCoords)
|
||||||
}
|
}
|
||||||
|
|
||||||
viewport_interaction_right_over(screenCoords);
|
viewport_interaction_right_over(screenCoords);
|
||||||
set_cursor(cursorId);
|
SetCursor(cursorId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* rct2: 0x006ED801
|
* rct2: 0x006ED801
|
||||||
*/
|
*/
|
||||||
void process_mouse_tool(const ScreenCoordsXY& screenCoords)
|
void ProcessMouseTool(const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
if (_inputFlags & INPUT_FLAG_TOOL_ACTIVE)
|
if (_inputFlags & INPUT_FLAG_TOOL_ACTIVE)
|
||||||
{
|
{
|
||||||
|
@ -1167,7 +1165,7 @@ void process_mouse_tool(const ScreenCoordsXY& screenCoords)
|
||||||
*
|
*
|
||||||
* rct2: 0x006E8DA7
|
* rct2: 0x006E8DA7
|
||||||
*/
|
*/
|
||||||
void input_state_widget_pressed(
|
void InputStateWidgetPressed(
|
||||||
const ScreenCoordsXY& screenCoords, int32_t state, rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget)
|
const ScreenCoordsXY& screenCoords, int32_t state, rct_widgetindex widgetIndex, rct_window* w, rct_widget* widget)
|
||||||
{
|
{
|
||||||
rct_windowclass cursor_w_class;
|
rct_windowclass cursor_w_class;
|
||||||
|
@ -1416,7 +1414,7 @@ void input_state_widget_pressed(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void input_update_tooltip(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
static void InputUpdateTooltip(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
if (gTooltipWidget.window_classification == 255)
|
if (gTooltipWidget.window_classification == 255)
|
||||||
{
|
{
|
||||||
|
@ -1459,7 +1457,7 @@ static void input_update_tooltip(rct_window* w, rct_widgetindex widgetIndex, con
|
||||||
*
|
*
|
||||||
* rct2: 0x00406CD2
|
* rct2: 0x00406CD2
|
||||||
*/
|
*/
|
||||||
int32_t get_next_key()
|
int32_t GetNextKey()
|
||||||
{
|
{
|
||||||
uint8_t* keysPressed = const_cast<uint8_t*>(context_get_keys_pressed());
|
uint8_t* keysPressed = const_cast<uint8_t*>(context_get_keys_pressed());
|
||||||
for (int32_t i = 0; i < 221; i++)
|
for (int32_t i = 0; i < 221; i++)
|
||||||
|
@ -1480,7 +1478,7 @@ int32_t get_next_key()
|
||||||
*
|
*
|
||||||
* rct2: 0x006ED990
|
* rct2: 0x006ED990
|
||||||
*/
|
*/
|
||||||
void set_cursor(CursorID cursor_id)
|
void SetCursor(CursorID cursor_id)
|
||||||
{
|
{
|
||||||
assert(cursor_id != CursorID::Undefined);
|
assert(cursor_id != CursorID::Undefined);
|
||||||
if (_inputState == InputState::Resizing)
|
if (_inputState == InputState::Resizing)
|
||||||
|
@ -1494,7 +1492,7 @@ void set_cursor(CursorID cursor_id)
|
||||||
*
|
*
|
||||||
* rct2: 0x006E876D
|
* rct2: 0x006E876D
|
||||||
*/
|
*/
|
||||||
void invalidate_scroll()
|
void InvalidateScroll()
|
||||||
{
|
{
|
||||||
rct_window* w = window_find_by_number(gPressedWidget.window_classification, gPressedWidget.window_number);
|
rct_window* w = window_find_by_number(gPressedWidget.window_classification, gPressedWidget.window_number);
|
||||||
if (w != nullptr)
|
if (w != nullptr)
|
||||||
|
@ -1508,7 +1506,7 @@ void invalidate_scroll()
|
||||||
/**
|
/**
|
||||||
* rct2: 0x00406C96
|
* rct2: 0x00406C96
|
||||||
*/
|
*/
|
||||||
void store_mouse_input(int32_t state, const ScreenCoordsXY& screenCoords)
|
void StoreMouseInput(int32_t state, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
uint32_t writeIndex = _mouseInputQueueWriteIndex;
|
uint32_t writeIndex = _mouseInputQueueWriteIndex;
|
||||||
uint32_t nextWriteIndex = (writeIndex + 1) % std::size(_mouseInputQueue);
|
uint32_t nextWriteIndex = (writeIndex + 1) % std::size(_mouseInputQueue);
|
||||||
|
@ -1516,7 +1514,7 @@ void store_mouse_input(int32_t state, const ScreenCoordsXY& screenCoords)
|
||||||
// Check if the queue is full
|
// Check if the queue is full
|
||||||
if (nextWriteIndex != _mouseInputQueueReadIndex)
|
if (nextWriteIndex != _mouseInputQueueReadIndex)
|
||||||
{
|
{
|
||||||
rct_mouse_data* item = &_mouseInputQueue[writeIndex];
|
RCTMouseData* item = &_mouseInputQueue[writeIndex];
|
||||||
item->x = screenCoords.x;
|
item->x = screenCoords.x;
|
||||||
item->y = screenCoords.y;
|
item->y = screenCoords.y;
|
||||||
item->state = state;
|
item->state = state;
|
||||||
|
@ -1525,7 +1523,7 @@ void store_mouse_input(int32_t state, const ScreenCoordsXY& screenCoords)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void game_handle_edge_scroll()
|
void GameHandleEdgeScroll()
|
||||||
{
|
{
|
||||||
rct_window* mainWindow;
|
rct_window* mainWindow;
|
||||||
int32_t scrollX, scrollY;
|
int32_t scrollX, scrollY;
|
||||||
|
@ -1556,15 +1554,15 @@ void game_handle_edge_scroll()
|
||||||
else if (cursorState->position.y >= context_get_height() - 1)
|
else if (cursorState->position.y >= context_get_height() - 1)
|
||||||
scrollY = 1;
|
scrollY = 1;
|
||||||
|
|
||||||
input_scroll_viewport(ScreenCoordsXY(scrollX, scrollY));
|
InputScrollViewport(ScreenCoordsXY(scrollX, scrollY));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool input_test_place_object_modifier(PLACE_OBJECT_MODIFIER modifier)
|
bool InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER modifier)
|
||||||
{
|
{
|
||||||
return gInputPlaceObjectModifier & modifier;
|
return gInputPlaceObjectModifier & modifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
void input_scroll_viewport(const ScreenCoordsXY& scrollScreenCoords)
|
void InputScrollViewport(const ScreenCoordsXY& scrollScreenCoords)
|
||||||
{
|
{
|
||||||
rct_window* mainWindow = window_get_main();
|
rct_window* mainWindow = window_get_main();
|
||||||
rct_viewport* viewport = mainWindow->viewport;
|
rct_viewport* viewport = mainWindow->viewport;
|
||||||
|
|
|
@ -715,7 +715,7 @@ static void window_editor_inventions_list_drag_open(ResearchItem* researchItem)
|
||||||
WC_EDITOR_INVENTION_LIST_DRAG, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_SNAPPING);
|
WC_EDITOR_INVENTION_LIST_DRAG, WF_STICK_TO_FRONT | WF_TRANSPARENT | WF_NO_SNAPPING);
|
||||||
w->widgets = window_editor_inventions_list_drag_widgets;
|
w->widgets = window_editor_inventions_list_drag_widgets;
|
||||||
w->colours[1] = COLOUR_WHITE;
|
w->colours[1] = COLOUR_WHITE;
|
||||||
input_window_position_begin(w, 0, gTooltipCursor);
|
InputWindowPositionBegin(w, 0, gTooltipCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -80,7 +80,7 @@ void window_map_tooltip_update_visibility()
|
||||||
std::memcpy(&stringId, _mapTooltipArgs.Data(), sizeof(rct_string_id));
|
std::memcpy(&stringId, _mapTooltipArgs.Data(), sizeof(rct_string_id));
|
||||||
|
|
||||||
if (_cursorHoldDuration < 25 || stringId == STR_NONE
|
if (_cursorHoldDuration < 25 || stringId == STR_NONE
|
||||||
|| input_test_place_object_modifier(
|
|| InputTestPlaceObjectModifier(
|
||||||
static_cast<PLACE_OBJECT_MODIFIER>(PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
static_cast<PLACE_OBJECT_MODIFIER>(PLACE_OBJECT_MODIFIER_COPY_Z | PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
||||||
|| window_find_by_class(WC_ERROR) != nullptr)
|
|| window_find_by_class(WC_ERROR) != nullptr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1194,7 +1194,7 @@ static void window_tile_inspector_tool_update(rct_window* w, rct_widgetindex wid
|
||||||
CoordsXY mapCoords;
|
CoordsXY mapCoords;
|
||||||
TileElement* clickedElement = nullptr;
|
TileElement* clickedElement = nullptr;
|
||||||
bool mouseOnViewport = false;
|
bool mouseOnViewport = false;
|
||||||
if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z))
|
if (InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_COPY_Z))
|
||||||
{
|
{
|
||||||
auto info = get_map_coordinates_from_pos(screenCoords, ViewportInteractionFlags);
|
auto info = get_map_coordinates_from_pos(screenCoords, ViewportInteractionFlags);
|
||||||
clickedElement = info.Element;
|
clickedElement = info.Element;
|
||||||
|
@ -1231,7 +1231,7 @@ static void window_tile_inspector_tool_update(rct_window* w, rct_widgetindex wid
|
||||||
|
|
||||||
static void window_tile_inspector_update_selected_tile(rct_window* w, const ScreenCoordsXY& screenCoords)
|
static void window_tile_inspector_update_selected_tile(rct_window* w, const ScreenCoordsXY& screenCoords)
|
||||||
{
|
{
|
||||||
const bool ctrlIsHeldDown = input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z);
|
const bool ctrlIsHeldDown = InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_COPY_Z);
|
||||||
|
|
||||||
// Mouse hasn't moved
|
// Mouse hasn't moved
|
||||||
if (screenCoords.x == windowTileInspectorToolMouseX && screenCoords.y == windowTileInspectorToolMouseY
|
if (screenCoords.x == windowTileInspectorToolMouseX && screenCoords.y == windowTileInspectorToolMouseY
|
||||||
|
|
|
@ -1216,7 +1216,7 @@ static void sub_6E1F34(
|
||||||
{
|
{
|
||||||
if (!gSceneryCtrlPressed)
|
if (!gSceneryCtrlPressed)
|
||||||
{
|
{
|
||||||
if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z))
|
if (InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_COPY_Z))
|
||||||
{
|
{
|
||||||
// CTRL pressed
|
// CTRL pressed
|
||||||
auto flags = VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_RIDE
|
auto flags = VIEWPORT_INTERACTION_MASK_TERRAIN & VIEWPORT_INTERACTION_MASK_RIDE
|
||||||
|
@ -1233,7 +1233,7 @@ static void sub_6E1F34(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!(input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z)))
|
if (!(InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_COPY_Z)))
|
||||||
{
|
{
|
||||||
// CTRL not pressed
|
// CTRL not pressed
|
||||||
gSceneryCtrlPressed = false;
|
gSceneryCtrlPressed = false;
|
||||||
|
@ -1242,7 +1242,7 @@ static void sub_6E1F34(
|
||||||
|
|
||||||
if (!gSceneryShiftPressed)
|
if (!gSceneryShiftPressed)
|
||||||
{
|
{
|
||||||
if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
if (InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
||||||
{
|
{
|
||||||
// SHIFT pressed
|
// SHIFT pressed
|
||||||
gSceneryShiftPressed = true;
|
gSceneryShiftPressed = true;
|
||||||
|
@ -1253,7 +1253,7 @@ static void sub_6E1F34(
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
if (InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_SHIFT_Z))
|
||||||
{
|
{
|
||||||
// SHIFT pressed
|
// SHIFT pressed
|
||||||
gSceneryShiftPressZOffset = (gSceneryShiftPressY - screenPos.y + 4);
|
gSceneryShiftPressZOffset = (gSceneryShiftPressY - screenPos.y + 4);
|
||||||
|
@ -2111,7 +2111,7 @@ static void top_toolbar_tool_update_scenery_clear(const ScreenCoordsXY& screenPo
|
||||||
*/
|
*/
|
||||||
static void top_toolbar_tool_update_land(const ScreenCoordsXY& screenPos)
|
static void top_toolbar_tool_update_land(const ScreenCoordsXY& screenPos)
|
||||||
{
|
{
|
||||||
const bool mapCtrlPressed = input_test_place_object_modifier(PLACE_OBJECT_MODIFIER_COPY_Z);
|
const bool mapCtrlPressed = InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER_COPY_Z);
|
||||||
|
|
||||||
map_invalidate_selection_rect();
|
map_invalidate_selection_rect();
|
||||||
|
|
||||||
|
|
|
@ -93,21 +93,21 @@ extern InputState _inputState;
|
||||||
extern uint8_t _inputFlags;
|
extern uint8_t _inputFlags;
|
||||||
extern uint16_t _tooltipNotShownTicks;
|
extern uint16_t _tooltipNotShownTicks;
|
||||||
|
|
||||||
void input_window_position_begin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
void InputWindowPositionBegin(rct_window* w, rct_widgetindex widgetIndex, const ScreenCoordsXY& screenCoords);
|
||||||
|
|
||||||
void title_handle_keyboard_input();
|
void title_handle_keyboard_input();
|
||||||
void game_handle_input();
|
void GameHandleInput();
|
||||||
void game_handle_keyboard_input();
|
void game_handle_keyboard_input();
|
||||||
void game_handle_edge_scroll();
|
void GameHandleEdgeScroll();
|
||||||
int32_t get_next_key();
|
int32_t GetNextKey();
|
||||||
|
|
||||||
void store_mouse_input(int32_t state, const ScreenCoordsXY& screenCoords);
|
void StoreMouseInput(int32_t state, const ScreenCoordsXY& screenCoords);
|
||||||
|
|
||||||
void input_set_flag(INPUT_FLAGS flag, bool on);
|
void input_set_flag(INPUT_FLAGS flag, bool on);
|
||||||
bool input_test_flag(INPUT_FLAGS flag);
|
bool input_test_flag(INPUT_FLAGS flag);
|
||||||
void input_reset_flags();
|
void input_reset_flags();
|
||||||
|
|
||||||
bool input_test_place_object_modifier(PLACE_OBJECT_MODIFIER modifier);
|
bool InputTestPlaceObjectModifier(PLACE_OBJECT_MODIFIER modifier);
|
||||||
|
|
||||||
void input_set_state(InputState state);
|
void input_set_state(InputState state);
|
||||||
InputState input_get_state();
|
InputState input_get_state();
|
||||||
|
@ -116,6 +116,6 @@ void reset_tooltip_not_shown();
|
||||||
|
|
||||||
void input_reset_place_obj_modifier();
|
void input_reset_place_obj_modifier();
|
||||||
|
|
||||||
void input_scroll_viewport(const ScreenCoordsXY& screenCoords);
|
void InputScrollViewport(const ScreenCoordsXY& screenCoords);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue