Commit Graph

169 Commits

Author SHA1 Message Date
onpon4 9efaff2783 Started renaming functions.
I'm going to completely reorganize this absolute mess of a codebase.
First thing is to fix the names so that it's more obvious what files
they're defined in. Second thing is to move around some functions,
and rename some of the cpp and h files, to organize them better.
I'm doing these both at once.
2015-03-04 21:30:23 -05:00
onpon4 aa187ef5f7 Prevent inclusion of headers multiple times, on an individual level.
Previously, Starfighter depended on a single check in Starfighter.h
to prevent this. Now, the proper code is in all header files.
2015-03-04 09:11:04 -05:00
onpon4 60783849e4 Removed the extro text from the credits.
I don't feel it's really necessary, and besides, it's annoying that
due to the way it's implemented it prevents you from doing anything
while it's shown.
2015-03-04 08:20:11 -05:00
onpon4 3d1ad2b674 Autosave when changing planets and when buying/selling.
Previously, it just saved after completing a mission, so it wasn't
something you could really rely on. Now it saves every time something
changes.
2015-03-03 19:28:15 -05:00
onpon4 cc6989328d Fixed the ammo limit of double missiles. 2015-03-03 09:25:32 -05:00
onpon4 87f67e02fa Added Sound and Silence music track.
Also made the first mission always play the same music.
2015-03-03 01:08:47 -05:00
onpon4 1f2ef8ac50 Dedicated autosave slot + much improved menu code.
I found it kind of odd to be able to manually save to the autosave
slot, *and* have no reliable way to even know what the autosave
slot is. I noticed that it's an actual problem when my brothers
played Starfighter; one of them used an autosave slot, and the
other unwittingly ended up erasing the first one's save because of
this. To fix this, I have replaced the behavior of allowing the
player to define a slot as autosave, with a dedicated autosave
slot.

While I was there, I had no choice but to vastly improve on this
game's *atrocious* menu system. Granted, I didn't do much more
than replace the magic numbers with enums, but it makes the code
much more clear and more easy to edit.
2015-03-02 23:32:48 -05:00
onpon4 39254f42bb If a powerup is currently useless, replace it with plasma ammo. 2015-03-02 21:21:31 -05:00
onpon4 eef98d1795 Changed the usual music volume to match the usual sound effect volume. 2015-03-02 10:51:17 -05:00
onpon4 cfeac68b36 Updated joystick controls to work well with most gamepads.
All gamepads I've come across work OK with button 2 or 3 as the primary
button, and button 1 or 4 as the secondary button. For the rest,
basically invariably, buttons 5 and 7 are the left shoulder buttons,
buttons 6 and 8 are the right shoulder buttons, button 9 is "Select"
or "Back", and button 10 is "Start". Based on this, I've changed
the gamepad controls to something that should work for most gamepads.

Also fixed some bad HTML in the documentation, and removed the
build instructions from there (they will soon be obsolete; I'm
working on replacing the hand-made Makefile with GNU Autoconf).
2015-03-01 19:59:27 -05:00
onpon4 9959c47f98 Updated copyright notices on all files based on git-blame. 2015-03-01 15:37:32 -05:00
onpon4 288d96a39b Include SDL headers properly.
Using <SDL/SDL.h>, or in this case <SDL2/SDL.h>, and others like this
is not the proper way to include SDL headers. The proper way is to
pass the -lSDL2 flag to the compiler. The place I put it might be
awkward, but I'm planning to replace this hand-written makefile with
Autoconf/Automake scripts, anyway.
2015-03-01 14:26:14 -05:00
onpon4 23d95f99b6 Fixed a problem. 2015-03-01 04:48:47 -05:00
onpon4 23a92bb594 Define compile-time options in defs.h, unless already defined. 2015-03-01 04:30:11 -05:00
onpon4 8c51811b3e More style corrections 2015-02-28 21:49:56 -05:00
onpon4 6d939729a3 Minor style corrections 2015-02-28 21:49:06 -05:00
onpon4 f620334510 Caused charge cannon damage to be reduced in a different way. 2015-02-28 20:20:36 -05:00
onpon4 224b3ea8b1 Increased max missiles for double homing to 15.
It's incredibly silly for it to be 10; what's the advantage of the
double homing missile launcher over the regular homing missile launcher
otherwise? It's just much slower and less versatile. Now it should
be slightly better, because you can effectively shoot 30 missiles
total, instead of just 20.

(Micro homing missiles are different; the advantage of having several
weak missiles instead of a smaller numer of strong missiles is
actually quite significant.)
2015-02-28 19:06:11 -05:00
onpon4 98bd62be46 Made the multi-homing missiles cheaper.
These weapons are severely overpriced. They should be expensive,
but not *that* expensive.
2015-02-28 19:01:18 -05:00
onpon4 901000245b Changed Klein's position in the final battle.
And something else I don't remember.
2015-02-28 18:56:24 -05:00
onpon4 2bac42ce61 Don't spawn transports if you can't benefit from bonuses. 2015-02-28 15:22:27 -05:00
onpon4 86a8ca4efa Fixed Uranus boss being placed right on top of you.
Such that it's riding Uranus, you could say. Unfair and annoying.
2015-02-28 12:34:48 -05:00
onpon4 1c691323d0 When you move slower or faster in mission 18, don't make enemies do the same. 2015-02-28 12:10:51 -05:00
onpon4 03dfdd69fb Removed enemy ships with missiles from the cargo capture mission. 2015-02-28 10:32:20 -05:00
onpon4 81663aca52 Fixed not being able to complete missions after destroying interceptions.
There was a check that was supposed to prevent completing missions on
death, but it also prevented completing missions after an area was
finished. This was in particular a problem in interceptions, where
rescuing slaves after destroying interceptions didn't have any effect
on the slave rescue mission.
2015-02-28 10:03:27 -05:00
onpon4 2eaa3b94c2 Completely eliminate the chance of grinding at interceptions.
It was previously just ineffective. Now it's impossible.

The reason I'm doing this is when you *can* grind (in this case, by
constantly getting free plasma and selling it), it kind of feels
like an obligation to do so.

It's still possible to grind within missions whose progress depends
on your pace, which aren't timed and keep generating more enemies
until you win. Namely: the missile boat mission, the miner mission,
and the third boss. (There might be others.) However, grinding in
these situations is quite dangerous and likely to take away the much
larger shield bonus at the end, and plus if you mess up when trying
to do this you're set back quite a bit, so I think these are sufficiently
worthless activities that no one will do them. (I never did.)
2015-02-28 09:45:26 -05:00
onpon4 cc68479156 Deny the Supercharge on bosses, except when on easy difficulty.
A supercharge at this point can suddenly make bosses much easier
(especially the case with the Star Killer). This kind of takes away
the tension, so it's undesired. (It's fine for Easy difficulty,
because it's possible to take in a Supercharge from an earlier level
anyway.)
2015-02-28 09:22:15 -05:00
onpon4 edda015169 Fixed shop's min rocket ammo for double/micro missiles. 2015-02-28 08:47:26 -05:00
onpon4 91fa93b448 Reduced charger's max charge, make it fire when it reaches max.
The original charge cannon is so overpowered it's ridiculous. The
strongest weapon in the game, unlimited ammo, and the only setback
it has is that you need to charge it a bit. The lack of balance
obsoletes the laser weapon, which is fine, but it also obsoletes
homing missile weapons, *including* ones that are newer and more
expensive than the charge cannon!

Now, it's much more balanced. You actually need to shoot the thing
before it hits max (or have your target in sight when it does),
rather than being able to just hold the button at max forever and
release when optimal like you previously could. Basically, the charge
cannon is still the weapon which does the most damage, but it's now
much harder to use. Incidentally, not only should homing missiles
be a sensible option now, even the laser cannon has a place after
the charge cannon becomes available.
2015-02-28 08:36:04 -05:00
onpon4 26a82a6385 Some code cleanup.
Fixed some cases where I put spaces instead of tabs earlier, and
changed all cases of "weapons[0]" with "weapons[W_PLAYER_WEAPON]".
2015-02-28 08:15:53 -05:00
onpon4 71abee2a16 Fixed camera jerking in a direction really fast. 2015-02-27 23:14:33 -05:00
onpon4 ee9ad14584 Always show normal engine when max shield is 1. 2015-02-27 22:22:27 -05:00
onpon4 66c413f913 Don't drop shield bonuses in Nightmare difficulty. 2015-02-27 22:16:53 -05:00
onpon4 c9fb4e793c Remove the Super Charge effect after leaving battle, unless on easy mode. 2015-02-27 22:03:06 -05:00
onpon4 d44f3f9fcc Money earned from kills now counts toward collection missions.
This prevents the bizarre situation in these missions where avoiding
money allows you to get more money because of the mission never ending.
2015-02-27 20:09:07 -05:00
onpon4 01b5b73dba Fixed defaulting to "easy" difficulty. 2015-02-27 19:52:55 -05:00
onpon4 c03c2f404c Added Enter as a possible fire key.
Not meant for use during actual gameplay, but rather for the menus.
2015-02-27 19:23:19 -05:00
onpon4 b87a432653 Make cargo indestructible in easy difficulty.
Avoiding destroying the cargo is rather tough, so it's really
not appropriate for easy difficulty.
2015-02-27 18:45:21 -05:00
onpon4 98da910493 Added some buffs for easy difficulty and some nerfs for nightmare difficulty. 2015-02-27 18:11:59 -05:00
onpon4 d4d64dda6b Corrected bad use of fscanf.
In most cases, this has also resulted in limits being lifted. (The
only place I haven't done this is for planets in intermission.cpp,
but I think I'll take away that 10-planet limit as well.)
2015-02-27 17:59:25 -05:00
onpon4 e6c59d2a24 Some cleanup, bumped version number. 2015-02-27 14:53:23 -05:00
onpon4 e6f8b3a65f Removed support for the old cheats.
It was broken, and I don't think it's worth fixing.
2015-02-27 13:35:47 -05:00
onpon4 a5aaba379f Updated cutscenes, fixed bug with scrolling levels 2015-02-27 09:30:30 -05:00
onpon4 5965f44bb1 Made camera centering more gentle. 2015-02-27 01:10:27 -05:00
onpon4 8e753d9525 Added code to center the camera when not moving. 2015-02-27 00:26:29 -05:00
onpon4 4a9c99f4bc Fixed using smx where I should have used smy. 2015-02-26 23:31:26 -05:00
onpon4 02c93d8b52 Added a separate constant for each view border direction. 2015-02-26 23:28:31 -05:00
onpon4 c404e3611e Fixed edges of the screen slowing you down.
And unlike a fix I previously did, this one is perfect. Rather than
fiddling with ssx and ssy, I just added some new variables, smx and
smy.
2015-02-26 23:23:08 -05:00
onpon4 775be7afb4 Fixed the player's 1 shield in Nightmare difficulty not being called low 2015-02-26 22:35:49 -05:00
onpon4 93d6195a31 Removed Grey Sector. Changed random music selection to always see all of them. 2015-02-26 22:30:26 -05:00
onpon4 3d28058027 Added in a variation of the "Humans do it better" cheat code. 2015-02-26 22:16:45 -05:00
onpon4 4319051fd0 Removed Big Boss. (Just doesn't feel like it fits.) 2015-02-26 21:39:11 -05:00
onpon4 182ea70ba1 Removed gameplay option, have different max shield based on difficulty 2015-02-26 20:52:20 -05:00
onpon4 bf844b25eb More music 2015-02-26 19:55:52 -05:00
onpon4 9d43547982 Small fix to credits. 2015-02-26 19:27:38 -05:00
onpon4 491bb2641b Removed choice of targeting systems.
This is silly. I can see that someone decided to restrict targeting
to one ship as a difficulty setting, but that's not a very good way
to achieve different levels of difficulty.

Also added more music and slowed down RE.ogg.
2015-02-26 18:46:45 -05:00
onpon4 9b814979f9 Added more music. 2015-02-26 15:52:18 -05:00
onpon4 fecf957cd5 Started adding some new music, fixed ship aiming off-screen at the end. 2015-02-26 14:18:27 -05:00
onpon4 f385c9448e Upgraded to GPLv3. 2015-02-26 11:20:36 -05:00
onpon4 555ee4fe15 Removed support for PAK files.
These are really unnecessary, and their support makes converting
the music from MOD to Ogg Vorbis more complicated than it needs to
be.
2015-02-26 11:09:28 -05:00
onpon4 ed621bf3a4 Changed from 48000 Hz to 44100 Hz.
48000 Hz was causing problems with the sound. Who chose such an odd
number?
2015-02-26 10:22:22 -05:00
Guus Sliepen 36f0e7a85d Merge remote-tracking branch 'origin/sdl2'
Conflicts:
	src/player.cpp
2014-05-13 16:22:11 +02:00
Julian e44c25018a Fixed indentation. 2014-03-12 15:18:41 -04:00
Julian b1ae2a4128 Added the changes I proposed a while back.
So now, when currentGame.gamePlay is set to GAMEPLAY_ONPON:
- You start with 50 shield, and never gain any increased capacity.
- You can't charge the charge cannon and shoot at the same time; if
  you shoot the plasma gun, the charge cannon shoots as well (as if
  you had released the charge key).

I didn't add in the feature to keep the view from slowing you down,
because the method I used was imperfect anyway.
2014-03-12 14:35:24 -04:00
Guus Sliepen b285643a82 Fix color keys. 2013-10-01 14:33:33 +02:00
Guus Sliepen 593ea01386 Initial conversion to SDL2. 2013-09-30 16:52:43 +02:00
Guus Sliepen c357c28966 Ensure the joystick is usable in the title screen. 2013-07-13 15:10:29 +02:00
Guus Sliepen 8810b090fa Remove external files for missions, shop items, aliens and weapons.
The source code contains routines to initialise all these resources, but also
functions to load from and store to external files.  Support for external files
has now been removed; this removes a potential difference between compiling
with or without USEPAK, and makes it easier to change missions in the code.
2013-07-11 15:29:37 +02:00
Guus Sliepen bd4a449e10 Rename code/ to src/. 2013-07-11 14:24:37 +02:00