AmigaPorts / devilutionX

Diablo build for BigEndian and SDL1.2 systems
https://jenkins.amigadev.com/job/DevilutionX/job/master/lastSuccessfulBuild/artifact/
The Unlicense
10 stars 5 forks source link

AmigaOS4 build for SDL2 tend to freezes #55

Open kas1e opened 4 years ago

kas1e commented 4 years ago

Build today's version of devolution over SDL2, and when I just run it in fullscreen mode it shows me intro "blizzard" animation, and once I hit "ESC" it just freezes. No crash log, nothing. CPU loading 0%, the whole system still operational.

Also setting the "fullscreen" option in .ini file didn't take into account, the game runs in full screen anyway. Like .ini didn't parse correctly anymore. I checked via snoopdos, and .ini file surely opened.

I can't say when it start to be broken, but it was ok a few months ago.

MBeijer commented 4 years ago

Perhaps and SDL2 bug? @capehill Have you tried compiling it for SDL1.2? Does the same thing happen then?

kas1e commented 4 years ago

Will try sdl1 version, but if i remember well sdl1 version luck some functionality in devolution, like window mode, scaling, etc ?

And issue start to happen only with load/save changes, before all was good with the same sdl1. But will check with sdl1 as well

kas1e commented 4 years ago

Mean in last phrase sdl2 of course, just cant edit post from phone

MBeijer commented 4 years ago

Hmm, okay.

capehill commented 4 years ago

My test build is based on this commit https://github.com/AmigaPorts/devilutionX/commit/9f83bdd3c385b8f06533727748dd4f7f20ebda7a (24th of Dec). I'm using the latest SDL2 build we have and I don't see anything special in window/fullscreen mode, game starts.

Edit: after rebasing, it still works for me. I have a slightly hacked build, with SDL_Mixer disabled.

I noticed a problem if you start with -f parameter, the engine seems to call SDL_GetTicks before SDL_Init. With the latest AmigaOS 4 SDL2 implementation it simply crashes and I should probably make it more robust, but I think it's still a mistake on the application side. After all, SDL_GetTicks is supposed to return the counter value since the library initialization.

capehill commented 4 years ago

@kas1e Any news from you? Can you try a clean build? Can you provide a test build with all SDL serial logs on? Which commit you are based on?

kas1e commented 4 years ago

@capehill Didn't tried since, but can make a test build, yes. As for which commit my build was based, it was some branch with "save/load fixed on endian" name, which probably since was merged to main repo. I will make a test build today