commit
bfc3f18bc7
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue