Browse Source

Merge pull request #1055 from qndel/gmenu_left_right

gmenu_left_right bin exact
pull/100/head
Robin Eklind 7 years ago committed by GitHub
parent
commit
8ec6423ea4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      Source/gmenu.cpp
  2. 2
      Source/gmenu.h

28
Source/gmenu.cpp

@ -289,10 +289,10 @@ BOOL gmenu_presskeys(int a1)
case VK_SPACE:
return FALSE;
case VK_LEFT:
gmenu_left_right(0);
gmenu_left_right(FALSE);
break;
case VK_RIGHT:
gmenu_left_right(1);
gmenu_left_right(TRUE);
break;
case VK_UP:
gmenu_up_down(0);
@ -304,27 +304,23 @@ BOOL gmenu_presskeys(int a1)
return TRUE;
}
void gmenu_left_right(int a1)
void gmenu_left_right(BOOL isRight)
{
signed int v1; // edx
unsigned int v2; // eax
int v3; // eax
int plOffset;
v1 = sgpCurrItem->dwFlags;
if (sgpCurrItem->dwFlags & 0x40000000) {
v2 = sgpCurrItem->dwFlags & 0xFFF;
if (a1) {
if (v2 == ((v1 >> 12) & 0xFFF))
plOffset = sgpCurrItem->dwFlags & 0xFFF;
if (isRight) {
if (plOffset == (int)(sgpCurrItem->dwFlags & 0xFFF000) >> 12)
return;
v3 = v2 + 1;
plOffset++;
} else {
if (!(v1 & 0xFFF))
if (!plOffset)
return;
v3 = v2 - 1;
plOffset--;
}
_LOWORD(v1) = v1 & 0xF000;
sgpCurrItem->dwFlags = v1;
sgpCurrItem->dwFlags |= v3;
sgpCurrItem->dwFlags &= 0xFFFFF000;
sgpCurrItem->dwFlags |= plOffset;
sgpCurrItem->fnMenu(FALSE);
}
}

2
Source/gmenu.h

@ -25,7 +25,7 @@ void gmenu_draw_menu_item(TMenuItem *pItem, int a2);
void gmenu_clear_buffer(int x, int y, int width, int height);
int gmenu_get_lfont(TMenuItem *pItem);
BOOL gmenu_presskeys(int a1);
void gmenu_left_right(int a1);
void gmenu_left_right(BOOL isRight);
BOOL gmenu_on_mouse_move();
BOOLEAN gmenu_valid_mouse_pos(int *plOffset);
int gmenu_left_mouse(int a1);

Loading…
Cancel
Save