A new header file common/forbidden.h is included by scummsys.h and it
re-#defines numerous symbols like fopen(), fread(), system(), etc. with
garbage, in order to provoke compile errors in any code using them.
If a .cpp file really *must* use any of these (e.g. because it is a
backend file), then these redefinitions can be disabled by #defining
FORBIDDEN_SYMBOL_ALLOW_ALL as the first thing in the .cpp file. Whenever
this is done, an explanatory comment should be added.
Note that this system cannot catch all "bad" usages (notably the Lua
code in the sword25 engine), as it can only work if scummsys.h is
included.
svn-id: r53961
Sometimes we can have an 8bit file for example that has a palette of 16 colors or less, so we need to go by the bit depth rather than inferring the bit depth from the palette size.
svn-id: r53917
Not deallocating it before loading the next image causes fragmentation in memory which eventually prevents big things from being loaded into memory.
svn-id: r53873
It seems some Android versions and devices (eg Droid) don't implement
eglChooseConfig according to spec and the first result isn't the best
choice. Implement our own filtering / scoring to workaround this.
svn-id: r53808
The new one copies into a temp buffer and only does one
glTexSubImage2D. I'm led to believe that this is faster on some
devices (but slower on others). Disabled for now, but someone might
want to try both versions on their slow device.
Also manually set glColor before calling DrawTexiOES, following
mention of a bug in a discussion I stumbled across. DrawTexiOES-use
is disabled for now, so this is a noop.
svn-id: r53803
This appears to work around a blank screen bug Nexus1. I never
tracked it down, but as far as I can tell it is triggered by multiple
overlapping updates before flushing the texture to screen. This
condition only happens in the overlay atm so an extra redraw isn't the
end of the world.
(Also remove an unused _full_screen_dirty property)
svn-id: r53801
The only real way to pause the game is to take over the event loop, which is a little sad... Also fixed a possible crash when loading an image that was to big, by only rendering when we have _init set.
svn-id: r53741
Moved events related code to backends/events/dinguxsdl/*
and move graphics related code to backends/graphics/dinguxsdl/*
Subclass OSystem_POSIX instead of OSystem_SDL
svn-id: r53730
GP2X: Cleanup Readme.
SDL: Change a few backend defines to GPH_DEVICE from the device name (blocking main and loadGFXMode so they can be written elsewhere).
svn-id: r53639
Almost all places where we used XMLParser::parseIntegerKey were using
it like this:
XMLParser::parseIntegerKey(str.c_str(), ...)
Since this makes the code harder to read, I overloaded the method to
also accept Commmon::String directly.
Also removed all .c_str() invocations where necessary.
svn-id: r53479
Formerly SdlEventManager was a subclass of DefaultEventManager but did not
really have anything in common with the idea of our EventManager interface.
Now I made a new object SdlEventSource which only subclasses EventSource
and which is responsible for obtaining events from SDL (and processing them).
svn-id: r53433
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.
Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.
svn-id: r53399
The old input code was getting too messy. A redesign made it easier to modify and add several modes and combos, including one for 1st person games which benefit from a different control scheme. A combo switches between the modes. I also added directional support while the virtual keyboard is visible, using the nub. This allows moving around in the text in some games, and moving the character while typing for others (e.g. AGI)
svn-id: r53042