Commit Graph

530 Commits

Author SHA1 Message Date
onpon4 3ef498df97 Fixed some things.
In particular, sizes larger than the background work properly now
(in general; there are of course some things positioned badly still,
but everything updates correctly at any rate).
2017-02-04 18:29:44 -05:00
onpon4 a615f52b84 Made the shop more horizontally compact.
This has the effect of making it work with screen widths as low as
640 pixels.
2017-02-04 17:12:16 -05:00
onpon4 2bda540e97 Resized the Comms section so it will fit in 480-pixel high resolutions.
Ultimately, the following were removed:

* The portrait of Chris on top, which was superfluous.
* The text telling you who you were communicating with. Both superfluous and prone to inconsistencies.
* The button allowing you to return to the list of missions. Instead, you can click anywhere to do so, or just click on the "Missions" button again.

So now, the only thing left preventing 640x480 from being a usable
resolution is the shop. That's going to be a tough one...
2017-02-04 16:17:09 -05:00
onpon4 59db629f5f Fixed a failure to properly delete save files when requested.
Also added removal of save files in the old (deprecated) format,
after re-saving in the current format.
2017-02-04 15:42:59 -05:00
onpon4 b66d7c410d Made it so that the save and options sections work at 640x480. 2017-02-02 17:45:47 -05:00
onpon4 e981acded2 Made the minimal changes to allow Starfighter to be compiled on Windows.
It's not perfect, but I honestly just can't be arsed to figure out
how to use the Windows API to do the same thing that pwd.h does.
At the very least, Starfighter can now be successfully compiled for
Windows with MinGW simply by defining the "SF_WINDOWS" environment
variable to 1 (or any other non-empty value). The only downside is
that it uses the current working directory to decide where
.config/starfighter should go, meaning it can't be installed into
restricted directories like Program Files.
2017-02-01 16:10:48 -05:00
onpon4 fd6949120e Fixed a Windows compatibility.
drand48 isn't available on Windows, so I replaced it with a custom
"DRAND" definition.
2017-02-01 09:19:12 -05:00
onpon4 22e59a80db Replaced the crappy "drawLine" function with SDL_FillRect.
gfx_drawLine only supported drawing straight horizontal and vertical
lines anyway, so the method it used was completely pointless. It also
wasn't used anywhere other than gfx_drawRect.
2017-01-28 00:56:31 -05:00
onpon4 e8bbed1a8b Added support for defining custom widths and heights with ./configure. 2017-01-28 00:43:17 -05:00
onpon4 70e8e9cb90 Slight tweak to the readme. 2017-01-27 23:34:13 -05:00
onpon4 2a032005d1 Some cleanup. 2017-01-26 23:05:21 -05:00
onpon4 d6f29b71b3 Don't resume the music when you press Escape during pause. 2017-01-26 22:41:59 -05:00
onpon4 e3c2e2fddc Switched the build system from a hand-made makefile to Autotools.
That actually took quite some time, but it's finally finished now.
It's missing only a couple minor things from the old Makefile.
2017-01-26 17:27:55 -05:00
onpon4 9cc2fe8253 Added a section for Autoconf to .gitignore. 2017-01-26 16:37:32 -05:00
onpon4 788ee5eae4 Finished removing Starfighter.h. 2017-01-25 10:48:29 -05:00
onpon4 e209c9c2f1 Removed some unnecessary specificity.
There was no need for specific bit sizes for these integers; the
default int will do just fine.
2017-01-22 00:22:03 -05:00
onpon4 932b86da42 Added NOSOUND definition option, which disables use of SDL_mixer entirely. 2017-01-22 00:11:13 -05:00
onpon4 d6b31a270c More cleanup, updated copyright notices. 2017-01-21 23:55:54 -05:00
onpon4 08b68ab894 Lots more cleanup. 2017-01-20 23:48:53 -05:00
onpon4 82dc26f949 More cleanup. 2017-01-20 23:26:49 -05:00
onpon4 1454b56db7 Cleaned up some custom uses of rand(). 2016-11-28 15:50:47 -05:00
onpon4 90450ee16e Small code cleanup. 2016-11-28 15:35:26 -05:00
onpon4 49c3260dcc Modified the way collectables are dropped.
I've made a couple of improvements here:

1. There is now a limit to how much value can be in a single
   collectable. This means, most importantly, that there will be
   no more 1000 plasma collectables or anything else ridiculous
   like that. It also means that bosses now tend to drop a ton of
   different collectable objects.

2. Collectables dropped by ships now live longer if a lot of
   collectables were dropped. In practice, this only affects bosses;
   no normal enemy drops enough to trigger this.

The combined results of these changes are that you're less likely
to get stuck with a useless item when you kill a boss (such as
plasma you don't need) rather than money, and you are more capable
of collecting the huge wads of cash left behind by the bosses that
drop more.
2016-11-28 00:26:28 -05:00
onpon4 bf9605387d Fixed banter in Jupiter level. 2016-11-27 23:56:59 -05:00
onpon4 6e98804e0f Don't allow selling powerup plasma less than 2 in Classic difficulty. 2016-11-27 23:46:36 -05:00
onpon4 ac5daa5d08 Restored Kline's original health for Classic difficulty. 2016-11-27 23:39:41 -05:00
onpon4 cf034ffa4a Don't combine temporary and permanent upgrade price in Classic difficulty. 2016-11-27 23:24:03 -05:00
onpon4 c1d5a9c9c6 Marked drones as not boastable. 2016-11-27 23:14:41 -05:00
onpon4 eecdb15445 Don't auto-sell rocket capacity when buying laser/charger in Classic.
Classic difficulty penalizes you for selling items, so it's best not
to automatically sell anything that doesn't need to be. It could be,
for example, that you want to switch to a laser and then back to
rockets, in which case the auto-selling could make this much more
costly or cripple your missiles when you come back to them.
2016-11-26 13:12:15 -05:00
onpon4 dd4e0b3855 Fixed failure to display proper powerup messages in Classic difficulty. 2016-11-26 13:08:53 -05:00
onpon4 f39fa5cbae More work on relativizing positions. 2016-11-26 01:34:54 -05:00
onpon4 682c233250 Several tweaks toward making the intermission adaptable to diff sizes. 2016-11-26 00:36:33 -05:00
onpon4 6a463ab8f5 Renamed "bRect" to "LinkedRect". 2016-11-25 18:41:55 -05:00
onpon4 1ba51f0e58 Moved most structs to the modules they obviously belong to.
The ones with names that don't correspond to modules and are used
in multiple places have been left alone.
2016-11-25 18:35:25 -05:00
onpon4 d336bb2c83 More cleanup. 2016-11-25 18:21:31 -05:00
onpon4 60ed5cbd65 More cleanup.
It looks like I'm finally almost done with this! The only thing left
is gradually replacing "Starfighter.h" imports with imports of what
actually is needed.
2016-11-25 18:01:36 -05:00
onpon4 65e8142959 Removed remaining references to engine.cheatCredits. 2016-11-25 17:24:45 -05:00
onpon4 c8e561eeec Added a "Credits" option to the main menu. 2016-11-25 17:23:23 -05:00
onpon4 b43c52dc23 More cleanup. 2016-11-25 17:10:08 -05:00
onpon4 5b4fa64360 Tweaked the way the laser is handled.
The tweak causes you to be able to fire the laser for more time,
but the difference is subtle (112 frames instead of 100 frames).
2016-11-25 14:36:56 -05:00
onpon4 1be0fd1164 Lots of cleanup done on how weapons are handled.
I did one structural change to the way ship_fireBullet works. It
previously had two separate places for reducing ammo from the player.
I changed this so that it removes ammo in the same place regardless
of which weapon it is, but then performs the plasma "out of ammo"
action afterwards. It seems to work properly.

Also fixed a flaw in the saving which would in some cases cause
the stationed planet to not get saved properly.
2016-11-25 13:50:16 -05:00
onpon4 3400ff180c Renamed "currentMission" to "mission". 2016-11-25 12:53:53 -05:00
onpon4 f9cefa99e3 Merged the "resources" module into the "gfx" module. 2016-11-25 12:50:32 -05:00
onpon4 dc7209164a Renamed the "object" and "collectables" structs.
This was done with "replace all" actions, but I have checked and
the only collatoral damage has been to capitalize some instances
of "objective" in comments.
2016-11-25 12:37:26 -05:00
onpon4 de1cd7c674 Cleaned up the "missions" module, renamed to "mission". 2016-11-25 12:29:15 -05:00
onpon4 aec30bbc3d Reorganized "misc.cpp".
Most functions have been placed into "info.cpp" and "radio.cpp",
while one has been placed into "engine.cpp".
2016-11-22 21:16:49 -05:00
onpon4 800d278f78 Added a "NOBANTER" flag for ships that shouldn't cause it.
This is mainly for the asteroids, but it's also useful for the bosses
and Krass's team.
2016-11-19 12:29:26 -05:00
onpon4 96274ec90e Small tweaks to some of the banter. 2016-11-19 12:06:42 -05:00
onpon4 30b05b6b4e Replaced all bools with ints.
This is part of the conversion of Starfighter's code to C. C doesn't
have the bool type.
2016-11-19 11:43:50 -05:00
onpon4 e0cac7850c Converted the "missfire" messages. Deleted the now empty messages.cpp. 2016-11-19 08:51:26 -05:00