Closed SimpleTease closed 3 years ago
@jdgleaver Could try Mr. Boom on OpenDingux? Core is set to use 16-bpp.
Core has no assets and is standalone. Load core, Start core, Play freeware Bomberman clone.
@SimpleTease 16bpp - very nice!
I can confirm that the core runs flawlessly on an RG350M running OpenDingux. It requires the following trivial makefile fix, however:
diff --git a/Makefile b/Makefile
index 56abbe9..531a8b0 100644
--- a/Makefile
+++ b/Makefile
@@ -225,7 +225,7 @@ else ifeq ($(platform), gcw0)
CXX = /opt/gcw0-toolchain/usr/bin/mipsel-linux-g++
AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar
fpic := -fPIC
- SHARED := -shared -Wl,--no-undefined -Wl,-version-script=$(LIBRETRO_DIR)/link.T
+ SHARED := -shared -Wl,--no-undefined -Wl,--version-script=$(CORE_DIR)/link.T
FLAGS += -DDINGUX -fomit-frame-pointer -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float
WANT_BPP := 16
Thank you! Safe to add Dingux to gitlab-ci.yml recipe also? Thinking of combining both in next PR. Or you can too. ;)
@jdgleaver Performance question. https://github.com/Javanaise/mrboom-libretro/blob/3955b348e496669f4074743312f341854bf07613/libretro/retro.cpp#L413-L422
Could that help Dingux with other cores?
SDL_CreateTexture
+ SDL_TEXTUREACCESS_STREAMING
+ SDL_UpdateTexture
Thank you! Safe to add Dingux to gitlab-ci.yml recipe also? Thinking of combining both in next PR. Or you can too. ;)
Ah, I see you already added it - yes, this is fine :)
Could that help Dingux with other cores? SDL_CreateTexture + SDL_TEXTUREACCESS_STREAMING + SDL_UpdateTexture
Hmm... Not sure... I will try to investigate after the holidays
@SimpleTease how about using the rumble functionality when we ignite bombs with the remote control?
Based on SameBoy, it should be semi-minor. https://github.com/LIJI32/SameBoy/blob/6b30de5fb1c9c7c177ea544db9fe82e7d40a2171/Core/rumble.c https://github.com/LIJI32/SameBoy/blob/195329463b0927c6e9bf13ea2aceb849b5301bb1/Core/rumble.h https://github.com/LIJI32/SameBoy/blob/bdd27ce50d4b27898e11e8a34c9371e210f10846/libretro/libretro.c
The trick is how to modulate the rumble amplitude.
rumble.set_rumble_state(0, RETRO_RUMBLE_STRONG, 65535 * amplitude);
If you do that, you mightest as well add achivements also. Come up with simple and hard badges to get people to player longer.
Some platforms require 16-bit depth to avoid massive speed penalties.