Commit Graph

16 Commits

Author SHA1 Message Date
Guus Sliepen 1853044891 Add support for joysticks and gamepads.
Tell SDL to listen for joystick events and simply map motion to the cursor keys
and the first 4 buttons to control, space, shift and t.
2013-07-10 21:37:08 +02:00
Julian 0d189c858c Replaces many hard-coded numbers with references to screen->w and screen->h and adds the constants screenWidth, screenHeight, and viewBorder. This is a step towards supporting multiple resolutions. 2012-03-11 23:16:56 -04:00
Guus Sliepen a45df516df Remove useless string initialisation code.
In many places strings were initialised with strcpy(string, "") right
before the string was overwritten by another function. In the few cases
where this really might have been useful, just use a static initialiser.
2012-03-11 15:16:19 +01:00
Guus Sliepen 2a3d03bea3 Remove messages about cleaning up resources when quitting. 2012-03-06 00:20:42 +01:00
Guus Sliepen 8e4d5ccfd6 Make audio 48 kHz stereo, pan sound effects. 2012-03-02 23:00:35 +01:00
Guus Sliepen 78459e9fdb Update copyright notices, bump version to 1.2. 2012-02-26 22:25:57 +01:00
Guus Sliepen 66ce3f2b4e Make sure error messages are shown. 2012-02-26 22:23:34 +01:00
Guus Sliepen d7d6dc37bc Flatten Graphics object.
All functions and variables are now defined in graphics.cpp.
Before, the functions would be compiled again and again for every source
file, now it is compiled only once, halving the size of the stripped
starfighter binary.
2011-08-26 23:53:46 +02:00
Guus Sliepen 931d110692 Fix "random" behaviour of sound, music and fullscreen options.
The state of these options was not only stored in the global config
file, but also in each saved game. When loading a game or clicking on
"continue game" from the title screen, the state of these options would
also be loaded from the save game file. If this changed the state of
sound and music, this would only take effect when starting a mission or
going back to the title screen. If it changed the state of the
fullscreen option, it would never toggle the state, but would
desynchronise the actual state of the window and the fullscreen option.

This is now fixed by moving these options from the currentGame variable
to the engine variable, where they are not in danger of being
overwritten.
2011-08-26 22:48:52 +02:00
Guus Sliepen 6ea4744832 Bring sanity to the header files.
Most .h files were not used to declare the externally visible variables
and functions of the .cpp files, but only to #include things and declare
things that were needed by that .cpp file itself. This resulted in a lot
of duplication.

Now the .h files only declare what is externally visible from the
corresponding .cpp files. Starfighter.h includes all the other .h files,
and all .cpp files only #include "Starfighter.h". Functions and
variables that were not used outside the .cpp file that contained them
were marked static. Variables defined in .h files were moved to the
appropriate .cpp files.
2011-08-26 21:29:04 +02:00
Guus Sliepen 277d34dabd Turn signed chars into bools where appropriate. 2011-08-26 16:14:58 +02:00
Guus Sliepen c14a9e7956 Remove a busy loop when showing an error message. 2011-08-24 22:32:30 +02:00
Guus Sliepen 212b03fa68 Use SDL_DOUBLEBUF in all SDL_SetVideoMode() calls, and don't force 16 bits.
By forcing 16 bits for full screen mode, performs drops dramatically on
displays where SDL has to do conversion.
2011-08-24 20:34:26 +02:00
Guus Sliepen 0f278a2748 Enable double buffering.
This seems to improve performance (probably because this prevents the
need to lock the screen surface), and might get rid of tearing.
2011-08-24 20:01:40 +02:00
Guus Sliepen 0910cd3db6 Add const to all char * function parameters. 2011-08-24 14:42:59 +02:00
Guus Sliepen 09b007411c Import of version 1.1 minus music, sound and graphics. 2011-08-24 14:14:44 +02:00