Skip to content

Libretro fixes and one hotfix for YNOnline Users with loooong playtimes #3385

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 30, 2025

Conversation

Ghabry
Copy link
Member

@Ghabry Ghabry commented Mar 28, 2025

Guess @Mimigris should also test this a bit.

I only hacked the frame counter to overflow after about two seconds. Works for me (it renders are usual, thats not the RPG_RT behaviour but who cares).

Ghabry added 3 commits March 28, 2025 18:04
This is only used by our app for certain functionality.
Otherwise the arrays will index out of bounds when the frame counter overflows.

Discovered via the YNOOnline project were savegames that are used for multiple years can happen :)
@Ghabry Ghabry added Crash libretro Libretro port related, including RetroArch, RetroPie and related projects labels Mar 28, 2025
@Ghabry Ghabry added this to the 0.8.1 milestone Mar 28, 2025
@Mimigris
Copy link

This seems to work well 👍
I'm not really sure to understand about the overflowing part and the two seconds, does it mean there is a time frame where the water tile issue could be present? If so, a crash could still occur if a map had to be loaded within that timeframe and the data generated was incorrect, though I have not been able to trigger a crash with that using this build.

@Ghabry
Copy link
Member Author

Ghabry commented Mar 29, 2025

I meant I did a test locally where I altered the frame counter in such a way that it will overflow two seconds after selecting "new game" to simulate what happens.

The frame counter overflowing has no negative impact. It could be that for a brief moment (during the overflow) that an animation advances faster but otherwise there will be no negative things happening. That frame counter is never used for any timedelta calculations, so "begin > end" cannot happen.

For all other time measurement we use a different frame counter that always starts at 0 so for this to overflow the Player must really run for 1.5 years without reloading the website :D.

@carstene1ns carstene1ns merged commit b1ae9a7 into EasyRPG:master Mar 30, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Battle Crash libretro Libretro port related, including RetroArch, RetroPie and related projects Window/Scenes
Development

Successfully merging this pull request may close these issues.

4 participants