From e492db93f63e86b9f84daa2b3548708c588f82d2 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Wed, 17 Apr 2024 17:42:14 +1000 Subject: [PATCH] Fix opening inventory with hidden block selected not displaying the block's details as the menu title --- src/ExtMath.c | 9 +++++---- src/Screens.c | 9 ++++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/ExtMath.c b/src/ExtMath.c index 28f8a1a81..0d6462552 100644 --- a/src/ExtMath.c +++ b/src/ExtMath.c @@ -417,10 +417,11 @@ double Math_Atan2(double x, double y) { return Atan(y / x) + PI; return Atan(y / x) - PI; } - if (y > 0) - return PI / 2.0; - if (y < 0) - return -PI / 2.0; + + /* x = 0 case */ + if (y > 0) return PI / 2.0; + if (y < 0) return -PI / 2.0; + return DBL_NAN; } diff --git a/src/Screens.c b/src/Screens.c index 779fa8740..c61925b85 100644 --- a/src/Screens.c +++ b/src/Screens.c @@ -1649,10 +1649,17 @@ static void InventoryScreen_MoveToSelected(struct InventoryScreen* s) { if (Game_ClassicMode) { /* Accuracy: Original classic preserves selected block across inventory menu opens */ TableWidget_SetToIndex(table, table->selectedIndex); + TableWidget_RecreateTitle(table, true); } else { TableWidget_SetToBlock(table, Inventory_SelectedBlock); + + if (table->selectedIndex == -1) { + /* Hidden block in inventory - display title for it still */ + InventoryScreen_OnUpdateTitle(Inventory_SelectedBlock); + } else { + TableWidget_RecreateTitle(table, true); + } } - TableWidget_RecreateTitle(table, true); } static void InventoryScreen_Init(void* screen) {