Commit Graph

92 Commits

Author SHA1 Message Date
Guus Sliepen 6c195374bb Allow cursor keys (or joystick/gamepad) to control the mouse cursor.
With this, the game can be played completely with only the keyboard, a joystick
or a gamepad.
2013-07-10 21:55:35 +02:00
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
Guus Sliepen 828b3eb813 Show text saying you can press Escape to skip during cutscenes.
Taken from MODmurky's version of Starfighter.
2013-07-10 21:16:31 +02:00
Guus Sliepen d6aee56670 Optionally show target arrows for all enemies that are outside the screen. 2012-12-14 16:08:46 +01:00
Guus Sliepen 577259845d Fix difficulty menu overwriting text from load menu. 2012-12-09 16:56:37 +01:00
Guus Sliepen 2fed23c6ec Fix warnings from GCC, Clang and cppcheck. 2012-12-09 16:53:21 +01:00
Guus Sliepen a7493773c4 Fix cursor wrapping in the menus. 2012-12-09 16:18:30 +01:00
Guus Sliepen b343805257 Prepare menu and save files for configurable difficulty and gameplay mode. 2012-12-09 16:11:55 +01:00
onpon4 aae191ff0c I missed a couple (int)s in last commit. This removes them.
Signed-off-by: onpon4 <onpon4@yahoo.com>
2012-03-14 12:02:04 -04:00
onpon4 38f44d9387 Removed several unnecessary (int)s and changed around operations to prevent problems with integer division.
Signed-off-by: onpon4 <onpon4@yahoo.com>
2012-03-14 11:54:48 -04: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 8ebc96b97c Allow arrow keys to speed up/reverse the scrolling of the statistics. 2012-03-11 17:52:10 +01:00
Guus Sliepen 76a1507c1b Miscellaneous fixes. 2012-03-11 15:23:12 +01:00
Guus Sliepen b9d9158619 Add missing array with face names. 2012-03-11 15:22:38 +01:00
Guus Sliepen da50d090f5 Fix whitespace issues. 2012-03-11 15:21:38 +01:00
Guus Sliepen f5eaa991cf Remove arrays with strings from defs.h.
These are now put in the .cpp files where they are used.
2012-03-11 15:19:25 +01: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 7f58f02277 Fix compiler warning. 2012-03-11 15:11:15 +01:00
Guus Sliepen d93c0c9400 Don't call setAllyMessages() anymore. 2012-03-11 15:10:36 +01:00
Guus Sliepen 1b1170a183 Remove unused string copying code. 2012-03-11 14:09:04 +01:00
Guus Sliepen ad19fe2672 Replace message initialisation routines by static arrays. 2012-03-11 14:02:58 +01:00
Guus Sliepen 6467b72501 Let Sid say death messages when he is a wingmate. 2012-03-11 13:54:21 +01:00
Guus Sliepen 3460884167 Don't do interceptions at the very end of traveling between planets.
Right after arriving at the destination planet, the code would do one more
check for a possible interception.  The chance of this happening is small, but
if it happened, it would leave the game in an inconsistent state.  This might
have caused the game to immediately start a real mission, which would loop
indefinitely.
2012-03-11 13:12:12 +01:00
Guus Sliepen a1b3da48c1 Fix crash happening on 8 and 16 bit color displays.
Commit f51dbd0669 changed the way of generating
images of ships taking damage, and assumed that the SDL_Surfaces containing the
images were always 24 or 32 bpp. However, SDL will already have converted them
to the display format, so we need to properly handle 8 and 16 bpp as well.
2012-03-09 16:08:31 +01:00
Guus Sliepen 2a3d03bea3 Remove messages about cleaning up resources when quitting. 2012-03-06 00:20:42 +01:00
Guus Sliepen dbf38ab5e4 Remove debug message accidentily left in the audio code. 2012-03-06 00:16:30 +01:00
Guus Sliepen 8e4d5ccfd6 Make audio 48 kHz stereo, pan sound effects. 2012-03-02 23:00:35 +01:00
Guus Sliepen 7bc36c16b2 Make the very first cutscene a little bit more interesting.
Before, all the ships were moving at exactly the same speed, making them appear
static on screen.  Now, Chris is moving slowly to the right, but the WEAPCO
fighters are changing velocity now and then, both horizontally and vertically,
never quite reaching Chris but increasing their attempts.
2012-02-29 14:49:12 +01:00
Guus Sliepen 3c9f8e2135 Do not allow player to switch destinations in flight.
When travelling between planets, while the progress bar was growing, it was
possible to click on planets, thereby changing the final destination planet.
2012-02-29 14:12:22 +01:00
Guus Sliepen f51dbd0669 Use a better way to create images of ships taking damage.
The old technique was to overlay a semi-transparent red rectangle over an
existing ship image, and then make 50% red pixels transparent. For some reason,
the transparency is not working correctly. Instead, don't overlay anything,
but set the red component of all non-black pixels to the maximum value.
2012-02-28 13:35:39 +01:00
Guus Sliepen 336a0798fa Don't overwrite static data files.
The code always tries to overwrite some data files when not using a .pak
file. This is only useful for upstream development. Put #ifdefs around
this code.
2012-02-27 15:35:56 +01:00
Guus Sliepen 4c5eed148f chdir() to the data directory before loading data.
This is necessary for starfighter to find the data files if it is not
using a .pak file.
2012-02-27 15:33:58 +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 230620a1f1 Do not complain about missing music files in the PAK file. 2012-02-26 22:22:27 +01:00
Guus Sliepen fdd63c14cc Don't play music in first Kline battle when music is disabled. 2011-09-18 00:54:44 +02:00
Guus Sliepen 1d25dd0379 Fix status display of plasma output boosters during game. 2011-09-17 11:24:56 +02:00
Guus Sliepen 96996ce167 Redo the whole plasma system.
- We now have both minPlasma* and maxPlasma* variables.
- *PlasmaRate now goes from 1 to 5 just like Damage and Output.
- Internally, plasma now goes into the primary weapon, there is no
  temporary weapon anymore.
- When upgrading the primary weapon, the new minimum amount of Damage,
  Output and Rate immediately goes into effect when starting the next
  msision.
- Super Charge now works exactly the same again as in the original.
- But shows blinkenlights in the bottom status bar when it is in use.
2011-09-11 21:57:57 +02:00
Guus Sliepen 2c64485272 Toggle fullscreen mode with F11 or Alt+Enter. 2011-09-05 22:13:11 +02:00
Guus Sliepen 7a59631189 Simplify bullet code even more. 2011-09-05 21:55:23 +02:00
Guus Sliepen 350aabfa23 Pause the game when the window loses input focus. 2011-09-05 11:41:03 +02:00
Guus Sliepen f8c4a72170 Display "PAUSED" when paused. 2011-09-05 11:40:35 +02:00
Guus Sliepen e7f5c3825b Simplify spread bullet code.
There were three flags, WF_STRAIGHT, WF_THIN_SPREAD and WF_WIDE_SPREAD,
when only one flag, WF_SPREAD suffices. This makes the code simpler and
gets rid of some duplication.
2011-09-04 18:24:54 +02:00
Guus Sliepen 8bbe48b4bd Use bitwise operations for flags. 2011-09-04 14:43:17 +02:00
Guus Sliepen 4779481f30 Smoother appearance of aliens on left hand side of title screen. 2011-08-29 17:28:06 +02:00
Guus Sliepen 4e1316054a Don't display target arrow if engine.targetIndex is invalid. 2011-08-29 13:08:55 +02:00
Guus Sliepen 7607bc4142 Fix write past end of array.
Found by cppcheck.
2011-08-29 10:58:17 +02:00
Guus Sliepen ac71e3d3ec Explicit limits for the maximum amount of rockets.
Put the maximum amount of rockets that can be caried in the description, and
also adjust the amount of rocket pods one has when buying a secondary weapon.
The laser and charge beam will remove all rocket capacity. To soften the blow,
you get at least capacity for 5 rockets when buying homing missile systems,
or 10 when buying normal missile system.
2011-08-29 09:31:16 +02:00
Guus Sliepen 744f1977e1 Reset charge cannon charge and laser heat after each mission.
This prevents these variables from turning into a huge amount of missiles when
buying a missile launcher in the shop.

This fixes Debian bug #286933.
2011-08-29 09:10:50 +02:00
Guus Sliepen 12d4fcaeab Don't use .wav anymore, use .ogg for all sound effects. 2011-08-28 13:32:34 +02:00