From fa1a00f472e07cd43e78abe247f23934e3dfb3ab Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sun, 15 Sep 2019 12:45:34 +1000 Subject: [PATCH] Fix 'select a block' disappearing and grey-ish transparent quad behind block still showing when mouse is over an empty inventory slot in classic mode --- misc/Window.m | 2 +- src/Widgets.c | 5 +++-- src/Window.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/misc/Window.m b/misc/Window.m index 38a934f8d..0f18d07a2 100644 --- a/misc/Window.m +++ b/misc/Window.m @@ -94,7 +94,7 @@ void Window_ProcessEvents(void) { case NSKeyUp: key = Window_MapKey([ev keyCode]); - if (key) Input_SetPressed(key, true); + if (key) Input_SetPressed(key, false); break; case NSScrollWheel: diff --git a/src/Widgets.c b/src/Widgets.c index 3af51f846..457df51a0 100644 --- a/src/Widgets.c +++ b/src/Widgets.c @@ -527,6 +527,7 @@ static void TableWidget_MakeBlockDesc(String* desc, BlockID block) { String name; int block_ = block; if (Game_PureClassic) { String_AppendConst(desc, "Select block"); return; } + if (block == BLOCK_AIR) return; name = Block_UNSAFE_GetName(block); String_AppendString(desc, &name); @@ -558,9 +559,9 @@ void TableWidget_MakeDescTex(struct TableWidget* w, BlockID block) { struct DrawTextArgs args; Gfx_DeleteTexture(&w->descTex.ID); - if (block == BLOCK_AIR) return; String_InitArray(desc, descBuffer); TableWidget_MakeBlockDesc(&desc, block); + if (!desc.length) return; DrawTextArgs_Make(&args, &desc, w->font, true); Drawer2D_MakeTextTexture(&w->descTex, &args); @@ -618,7 +619,7 @@ static void TableWidget_Render(void* widget, double delta) { } cellSize = w->cellSize; - if (w->selectedIndex != -1 && Game_ClassicMode) { + if (w->selectedIndex != -1 && Game_ClassicMode && w->blocks[w->selectedIndex] != BLOCK_AIR) { TableWidget_GetCoords(w, w->selectedIndex, &x, &y); off = cellSize * 0.1f; diff --git a/src/Window.c b/src/Window.c index 3b38dc3d6..3030104c8 100644 --- a/src/Window.c +++ b/src/Window.c @@ -3785,7 +3785,7 @@ void Window_ProcessEvents(void) { case 11: /* NSKeyUp */ key = Window_MapKey((int)objc_msgSend(ev, sel_registerName("keyCode"))); - if (key) Input_SetPressed(key, true); + if (key) Input_SetPressed(key, false); break; case 22: /* NSScrollWheel */