Merge pull request #2 from alexbatalov/main

merged
This commit is contained in:
JordanCpp 2022-05-24 00:12:50 +04:00 committed by GitHub
commit bfc3f18bc7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 3 deletions

View File

@ -831,6 +831,22 @@ void gameMouseRefresh()
}
}
bool gameMouseClickOnInterfaceBar()
{
Rect interfaceBarWindowRect;
windowGetRect(gInterfaceBarWindow, &interfaceBarWindowRect);
int interfaceBarWindowRectLeft = 0;
int interfaceBarWindowRectRight = _scr_size.right;
if (gInterfaceBarMode) {
interfaceBarWindowRectLeft = interfaceBarWindowRect.left;
interfaceBarWindowRectRight = interfaceBarWindowRect.right;
}
return _mouse_click_in(interfaceBarWindowRectLeft, interfaceBarWindowRect.top, interfaceBarWindowRectRight, interfaceBarWindowRect.bottom);
}
// 0x44BFA8
void _gmouse_handle_event(int mouseX, int mouseY, int mouseState)
{
@ -852,8 +868,7 @@ void _gmouse_handle_event(int mouseX, int mouseY, int mouseState)
}
}
// TODO: allow clicking to the left and right of the INTERFACE_BAR if gInterfaceBarMode is enabled
if (!_mouse_click_in(0, 0, _scr_size.right - _scr_size.left, _scr_size.bottom - _scr_size.top - INTERFACE_BAR_HEIGHT)) {
if (gameMouseClickOnInterfaceBar()) {
return;
}

View File

@ -186,5 +186,6 @@ int _gmouse_3d_move_to(int x, int y, int elevation, Rect* a4);
int gameMouseHandleScrolling(int x, int y, int cursor);
void _gmouse_remove_item_outline(Object* object);
int objectIsDoor(Object* object);
bool gameMouseClickOnInterfaceBar();
#endif /* GAME_MOUSE_H */

View File

@ -401,8 +401,12 @@ int tileInit(TileData** a1, int squareGridWidth, int squareGridHeight, int hexGr
// 0x4B11E4
void _tile_set_border(int windowWidth, int windowHeight, int hexGridWidth, int hexGridHeight)
{
// TODO: Borders, scroll blockers and tile system overall were designed
// with 640x480 in mind, so using windowWidth and windowHeight is
// meaningless for calculating borders. For now keep borders for original
// resolution.
int v1 = tileFromScreenXY(-320, -240, 0);
int v2 = tileFromScreenXY(-320, windowHeight + 240, 0);
int v2 = tileFromScreenXY(-320, ORIGINAL_ISO_WINDOW_HEIGHT + 240, 0);
_tile_border = abs(hexGridWidth - 1 - v2 % hexGridWidth - _tile_x) + 6;
dword_66BBC8 = abs(_tile_y - v1 / hexGridWidth) + 7;