Starting with r52503 the graphics manager's only initialize their event
observer when initEventObserver is called. It seems like it was an
oversight that this was not done in OSystem_SDL::setGraphicsMode, when a new
graphics manager was initialized.
This should fix window resizing with the OpenGL graphic's manager and mouse
movement.
svn-id: r52506
Now the previous aspect ratio modes are handled as GFX modes. The previous
GFX modes were for scaling, but are removed now. A new 4/3 display mode
added. Added Ctrl-Shift-A for backward switching through display modes, and
Ctrl-Alt-<number key> for switching to a specific GFX mode.
Window resizing now is available for all display modes, and will
automatically change the scale factor as well as maintain the aspect ratio
when needed.
svn-id: r52501
The problem that caused the crash in BS2 had to do with GCC making improper assumptions about our code. Specifically, the alignment trick we use for READ_UINT32/16 allows some targets(e.g. MIPS) to generate better code, but it also goes against ANSI C aliasing rules, which prohibit the sharing of addresses between a struct and another variable value. Using -fno-strict-aliasing tells GCC not to assume strict ANSI C aliasing and also unfortunately prevents it from making some good optimizations.
This change is probably needed for other platforms as well -- the crash on the PSP was simply a very rare coincidence.
svn-id: r52473
updateScreen() itself skips redraws when called too frequently. With
the right timing and number of consecutive calls this can result in
missing gfx updates, so lets abuse pollEvent() to check for overdue
redraws.
svn-id: r52456
Most of the codebase is the same, but the toolchain and libs are different.
Support for Caanoo specific features will follow, I just want to get the build support into trunk for now.
svn-id: r52400
The last PSP optimization made reading much faster, but writing isn't buffered so saving the config file was VERY slow.
I decided the cleanest way to do this would be to add BWS and use BSRS.
svn-id: r52327
MAD doesn't give enough information to decide the length of the PCM data -- it provides the Layer but not the MPEG version. I had to read the MP3 header directly to figure it out. This fixes issues with any MP3 files that might be used in any of the games.
svn-id: r52191
This greatly simplifies the display options and makes them more practical. Original resolution will try to fit the game to the screen pixel-to-pixel, and will revert to full screen if it fails. Keep AR maximizes height and adjusts the width accordingly. This works very well with 320x200 games (AR of 1.6) which is close to the PSP's 1.7, but not so well with 320x240/640x480 (AR of 1.3). Full Screen is still default.
svn-id: r52138