David wrote:It appears correctly if I specify SDL_PIXELFORMAT_RGB24 in SDL_CreateTexture.
But then the previous problem comes back...
(SDL_PIXELFORMAT_RGB888 would be 32-bit, but different from RGBX8888. Maybe it should be called XRGB8888?)
David wrote:It seems to be a bug in SDL.
Great that you found the problem! Until SDL gets updated, I suppose we can safely leave the SDL_FillRect workaround in place? With 24-bit surfaces (magically?) working with SDL_PIXELFORMAT_RGB24, I guess the cleanest solution is to simply use that as the buffer format...
I have found a couple of new issues:
- The blinking sound (sound 38) does not play when the game prompts to respawn after dying
- CTRL+R is not instantaneous, because the opening music has to be loaded from disk again. Can we stop the program from freeing sounds after they have been loaded once? (we have enough RAM anyway)
- Guard palettes do not seem to get set correctly on Mac OS X, causing a crash (I think the guard images are not loaded as 8-bit for some reason - I haven't thoroughly researched this)
- The game still stutters under some conditions on my system - I think this might be a timer-related problem, I'm trying to pin it down...
I would also like to propose a new optional feature. I've been thinking about how a quicksave system might be implemented in SDLPoP - this might be very useful for difficult mods, because endlessly redoing the entire level loses its charm quickly and encourages people (including me) to cheat.
- F6 to quicksave, F9 to quickload
- Quicksaving displays the message "QUICKSAVE" at the bottom of the screen
- Time keeps running out when you quickload, similar to dying or pressing CTRL+A.