libretro / easyrpg-libretro

⚠️⚠️⚠️ DON'T USE THIS FORK FOR YOUR OWN BUILDS / PACKAGES / ETC ⛔️⛔️⛔️ NO SUPPORT WHEN YOU USE IT ⚠️⚠️⚠️ It is only used by the libretro buildbot. ❤️❤️❤️ For your own builds use the upstream repository: https://github.com/EasyRPG/Player/ (See: "Building a libretro core" in the Readme) ❤️❤️❤️
https://easyrpg.org/
GNU General Public License v3.0
10 stars 8 forks source link

Crash when closing core on Android #36

Closed spielvan closed 5 years ago

spielvan commented 5 years ago

Hello, my dear, congratulations on the great design, this is practically complete with everything working, I remember that we were talking about Ini problems, accents, Wads, now everything working a wonder, the only bug I noticed was when it leaves the core of easy rpg that closes the retroarch , otherwise this is perfect, congratulations for the great work, and a great 2019.

Ghabry commented 5 years ago

Well, figuring out these shutdown crashes is very annoying (and only happens on Android), therefore: Patches welcome, won't look at this very soon.

Ghabry commented 5 years ago

@spielvan I rewrote the whole init and shutdown code. Please retest when the core is rebuilt (can take a day). The core version should be cd707dc

spielvan commented 5 years ago

@spielvan I rewrote the whole init and shutdown code. Please retest when the core is rebuilt (can take a day). The core version should be cd707dc

I tested what came out on 17.04.2019, 14:47 and still continues closing all retroarch, when I click on close core.

Ghabry commented 5 years ago

Can confirm this behaviour and the stacktrace is useless, so I won't work on a fix for this because figuring this out will take days. Maybe some RetroArch update will fix it by chance, as all other systems work :/

spielvan commented 5 years ago

Can confirm this behaviour and the stacktrace is useless, so I won't work on a fix for this because figuring this out will take days. Maybe some RetroArch update will fix it by chance, as all other systems work :/

I suspect that retroarch is a core interfering in the other, in these latter versions, it has other colors that close the retroarch when it clicks close core, I will test here previous versions of retroarch, 1.75, 174 ..., I am thinking that retroarch is including so much in the last versions that left the whole code very heavy and unstable.

spielvan commented 5 years ago

But the important thing that Easy RPG itself works normal, one thing I remembered is how to slow down the dpad Dead Zone? because he ends up walking very fast, which in the RPG marker gets in the way of the precise movements. A hug.

Ghabry commented 5 years ago

what do you mean with dpad deadzone? A digital pad only has pressed and not pressed as states.

spielvan commented 5 years ago

what do you mean with dpad deadzone? A digital pad only has pressed and not pressed as states.

The dead zone would be the zone that the character walks, with the touch on the directional, type the sensitivity of the mouse, for more precise movements a low sensitivity, for faster movements a high sensitivity. I was playing the RPG Marker game "Rigar and the Soldiers of the King" has part that has platforms that need to get well on the tip of the same to jump, something like that and if the movement is not very precise, ends up not being able to execute in those parts .

Ghabry commented 5 years ago

@spielvan Could you download the latest core from the core downloader?

I think I found a workaround, is the same bug as on Windows...

spielvan commented 5 years ago

@spielvan Could you download the latest core from the core downloader?

I think I found a workaround, is the same bug as on Windows...

Can I download yes, is it already available? or down tomorrow, this problem also occurs with other colors type the latest builds of parallel64, atari800 .. I do not know the reason when you click to close the core closes the retroarch.

Ghabry commented 5 years ago

yes, I tested the core already @spielvan

Ghabry commented 5 years ago

No idea what the problem for parallel and atari is, for EasyRPG the problem is that I use the Audio callback API (only 3 cores use this one) which makes Audio run independent of the game in another thread and RetroArch somehow calls the callbacks again when the core was already unloaded -> crash.

That's obviously a RetroArch bug, I workaround it by disabling the audio callbacks now when shutting down. parallel and atari don't use this function but it's still possible that the bug is similiar but with other callbacks.

spielvan commented 5 years ago

No idea what the problem for parallel and atari is, for EasyRPG the problem is that I use the Audio callback API (only 3 cores use this one) which makes Audio run independent of the game in another thread and RetroArch somehow calls the callbacks again when the core was already unloaded -> crash.

That's obviously a RetroArch bug, I workaround it by disabling the audio callbacks now when shutting down. parallel and atari don't use this function but it's still possible that the bug is similiar but with other callbacks.

Now it's working perfectly, congratulations, man, there's only two things left, an option to use cheats and a way for dpad not to walk so fast, to be able to make short and precise movements. A big hug

Ghabry commented 5 years ago

Cheats through the libretro API make no sense because this is not an emulator, the memory layout is different. You can enable the debug mode in the core options and map it to the RetroPad.

Can you send me a game that is unplayable with the current way the dpad works? I have no issues doing single-tile moves.

spielvan commented 5 years ago

Rygar 1: And the soldiers of the King

Rygar 2: Against the Empire of Evil

Rygar 3: Rygar in the Lost Kingdom