From 4f184e46f571fb474a8088cac07cd631daefcbe8 Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sun, 21 Jul 2024 16:21:20 +1000 Subject: [PATCH] PS1/Saturn/NDS: disable held block for better performance (now ~58 FPS when standing still on PS1, ~50 when moving) --- src/Animations.c | 2 +- src/Core.h | 6 +++--- src/HeldBlockRenderer.c | 4 ++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Animations.c b/src/Animations.c index e6da228c2..693d1dc9a 100644 --- a/src/Animations.c +++ b/src/Animations.c @@ -12,7 +12,7 @@ #include "Options.h" #include "Logger.h" -#ifdef CC_BUILD_ANIMATIONS +#ifndef CC_BUILD_NOFPUHARDWARE static void Animations_Update(int loc, struct Bitmap* bmp, int stride); #ifdef CC_BUILD_LOWMEM diff --git a/src/Core.h b/src/Core.h index 5534579b4..7f27c40d5 100644 --- a/src/Core.h +++ b/src/Core.h @@ -382,7 +382,7 @@ typedef cc_uint8 cc_bool; #define CC_BUILD_HTTPCLIENT #define CC_BUILD_TOUCH #define CC_BUILD_SMALLSTACK - #undef CC_BUILD_ANIMATIONS /* Very costly in FPU less system */ + #define CC_BUILD_NOFPUHARDWARE #undef CC_BUILD_ADVLIGHTING #elif defined __WIIU__ #define CC_BUILD_WIIU @@ -410,9 +410,9 @@ typedef cc_uint8 cc_bool; #define CC_BUILD_COOPTHREADED #define CC_BUILD_NOMUSIC #define CC_BUILD_NOSOUNDS + #define CC_BUILD_NOFPUHARDWARE #undef CC_BUILD_RESOURCES #undef CC_BUILD_NETWORKING - #undef CC_BUILD_ANIMATIONS /* Very costly in FPU less system */ #undef CC_BUILD_ADVLIGHTING #undef CC_BUILD_FILESYSTEM #elif defined OS2 @@ -432,9 +432,9 @@ typedef cc_uint8 cc_bool; #define CC_BUILD_NOSOUNDS #define CC_BUILD_SMALLSTACK #define CC_BUILD_TINYSTACK + #define CC_BUILD_NOFPUHARDWARE #undef CC_BUILD_RESOURCES #undef CC_BUILD_NETWORKING - #undef CC_BUILD_ANIMATIONS /* Very costly in FPU less system */ #undef CC_BUILD_ADVLIGHTING #undef CC_BUILD_FILESYSTEM #endif diff --git a/src/HeldBlockRenderer.c b/src/HeldBlockRenderer.c index 438152b28..c0adc37f0 100644 --- a/src/HeldBlockRenderer.c +++ b/src/HeldBlockRenderer.c @@ -253,7 +253,11 @@ static void OnInit(void) { held_entity.VTABLE = &heldEntity_VTABLE; held_entity.NoShade = true; +#ifdef CC_BUILD_NOFPUHARDWARE + HeldBlockRenderer_Show = false; +#else HeldBlockRenderer_Show = Options_GetBool(OPT_SHOW_BLOCK_IN_HAND, true); +#endif held_lastBlock = Inventory_SelectedBlock; Event_Register_(&GfxEvents.ProjectionChanged, NULL, OnProjectionChanged);