Commit Graph

352 Commits

Author SHA1 Message Date
onpon4 ae15b66e60 Fixed shop bug which caused loss of super charge. 2015-04-08 20:33:53 -04:00
onpon4 5a1954dd24 Revert "Implemented an old super charge bug as a feature in "original" difficulty."
This reverts commit 84978b6c6b.
2015-04-08 20:26:59 -04:00
onpon4 84978b6c6b Implemented an old super charge bug as a feature in "original" difficulty.
The bug in question caused the super charge to be stripped away when
you collected powerups; each powerup would limit that aspect of your
weapon to its maximum. This put a limit on how long you could keep the
super charge, so I've added it back in for "original" difficulty.
2015-04-08 20:09:43 -04:00
onpon4 c0f3310376 Changed plasma spread to the original version.
I don't know why it was changed, but the changed version caused
full spread rather than partial spread with the triple shot, and it
also caused the quaduple shot to be arguably worse than the triple
shot.
2015-04-07 21:14:30 -04:00
onpon4 e5ed96e1c6 More cleanup. 2015-04-07 19:16:46 -04:00
onpon4 4775b3fad4 Some code cleanup. 2015-04-07 16:09:17 -04:00
onpon4 fe96584d7f Added Y as a possible fire button (for QWERTZ layout users) 2015-04-07 15:19:14 -04:00
onpon4 0338a411f1 Changed version number to 1.3.1-dev. 2015-04-07 09:07:24 -04:00
onpon4 3346af8299 Proper fix. 2015-04-05 17:26:37 -04:00
onpon4 970a6fda7f Fixed a formatting mistake. 2015-04-05 16:21:04 -04:00
onpon4 eb05495fcd Version 1.3 release 2015-04-05 16:11:53 -04:00
onpon4 0e1cd4b86f Changed timeTaken from int to long int.
This guarantees that it will be able to store at least about 68 years.
2015-03-31 15:23:17 -04:00
onpon4 47fb2dc82a One more flag that has to be long 2015-03-31 13:15:08 -04:00
onpon4 e0809c02b0 Fixed a potential compatibility problem.
The plain int type is only guaranteed to be at least 16 bits, and
yet the flags variable was expecting at least 22 bits. This turns
out to be true for x86 and x86-64 systems, but to ensure compatibility,
the variable has been changed to an unsigned long int. Also added
the "L" suffix to flags that were more than 16 bits.
2015-03-31 13:02:09 -04:00
onpon4 08260b1d6c Minor changes 2015-03-30 07:52:44 -04:00
onpon4 826b3dfe5c Fixed controls being stuck, but still on, at the end of Venus.
Now the controls are cleared, so the intended effect always happens.
2015-03-29 16:49:33 -04:00
onpon4 d2fd2db7f0 Modified some text. 2015-03-29 16:21:18 -04:00
onpon4 0a08df38f0 Removed some odd limits on what certain aliens could drop. 2015-03-29 15:36:25 -04:00
onpon4 9f7809de1c Made the mines in Mars more sparse and numerous.
There. Together with spreading out the asteroids, this has the effect
of getting rid of the sort of boxed-in feel this mission originally
had, and preventing the mission from being beaten simply by going
up or down forever.
2015-03-29 14:27:29 -04:00
onpon4 f9da05655d In the Mars mission, create asteroids more sparsely. 2015-03-29 14:18:19 -04:00
onpon4 5019244da1 Added an enum for missions/areas.
Eliminating another set of magic numbers, and God, that was tedious.
2015-03-29 13:11:12 -04:00
onpon4 576d254e4a Replaced rrand function with RANDRANGE macro. 2015-03-29 10:19:53 -04:00
onpon4 b00bf9d7b2 Fixed an infinite loop. 2015-03-29 08:58:03 -04:00
onpon4 139fe8bd9e Some small tweaks/fixes. 2015-03-28 22:33:11 -04:00
onpon4 4a72111a46 Adjusted shop prices.
I noticed that in "original" difficulty, plasma upgrades are basically
prohibitively expensive, which is not at all like the original. To
fix this, I've given that difficulty the original prices for those.
I've also slightly reduced the normal cost of permanent upgrades.
2015-03-28 19:52:03 -04:00
onpon4 388ffcc9c5 Fixed shield bonus being unavailable in Original difficulty. 2015-03-28 16:50:20 -04:00
onpon4 6dd3ac1919 More added to "original" difficulty.
In particular:
* The charge cannon in that difficulty now behaves as originally.
* Cash is now rare, not nonexistent, on interceptions in that difficulty.
2015-03-28 13:59:33 -04:00
onpon4 5155a8ac68 Fixed spacing/indent problems. 2015-03-28 13:18:37 -04:00
onpon4 e105d6a1cc Added a new "original" difficulty.
This difficulty is meant to imitate the original Project: Starfighter
as closely as possible, for purists.
2015-03-28 09:51:49 -04:00
onpon4 7e69ee79ad Replaced the Sourceforge link in various places with a Savannah link. 2015-03-26 22:25:12 -04:00
onpon4 af11caac2b Changed the "counter" variables to the proper type (Uint32). 2015-03-24 18:55:09 -04:00
onpon4 1567595def Changed all the various unnecessarily specifically defined types to "int".
Most of these were defining various integers as char types, probably
in the naive belief that this is necessarily good because it uses less
RAM. There were also several unnecessary unsigned ints, though.
These have all been changed to just "int", so the compiler can decide
exactly what type to use.
2015-03-24 18:51:12 -04:00
onpon4 75374cfbc4 Fixed some problems with LICENSES, improved organization. 2015-03-24 15:58:45 -04:00
onpon4 b28effb17d Tweaked handling of powerups.
Now, rather than powerups being replaced with ammo, their collection
effect has been changed from "make the plasma ammo at least 50" to
"add the powerup's amount to the plasma ammo" (i.e. powerups are also
treated as plasma ammo). This left the initial ammo of a powerup a
little low, so to compensate, I increased the collectValue of the
transport ship from 30 to 40.

Additionally, transport ships now show up in interceptions again,
but powerups, when collected, do *not* increase ammo. If you have
no ammo at the time, the powerup does nothing. If this happens with
the Super Charge, you get a humorous message.
2015-03-23 21:33:15 -04:00
onpon4 6ea311a046 Small tweaks 2015-03-20 13:05:14 -04:00
onpon4 4d8ceec9c4 Small tweak. 2015-03-17 22:09:00 -04:00
onpon4 f124b71310 Substantially increased the chance of the experimental fighter appearing.
It previosly spawned half of the time. Now it spawns 4/5 of the time.
This makes waiting for it to show up so you can fight it a lot less
painful, even if it doesn't make a whole lot of sense.
2015-03-17 22:04:58 -04:00
onpon4 ec7fb908a3 Fixed failure to sell double rockets when buying another special. 2015-03-17 19:20:04 -04:00
onpon4 ad8a2f2ad9 Replaced various "limit" functions with LIMIT and LIMIT_ADD macros.
This is mainly because the old "limit" functions were all restricted
to certain types, which is incredibly silly given how simple they are.
Macros are much simpler, and a warning gets raised if they're used
improperly with multiple types, anyway.

In the process, I also found and fixed a bug: it seems the original
author intended for escaping enemies to gradually accelerate to
fleeing speed, but the low value was indicated as the max value, and
the way limitFloat was written, that caused the max value to be used
(it was supposed to reduce the speed to a minimum of -15, but it
instead effectively assigned the speed to -15). It might be a good
idea to re-implement the old buggy behavior intentionally; depends
on whether the acceleration of jumping looks better or worse than
just immediately going to jump speed.
2015-03-17 19:00:13 -04:00
onpon4 05c370feb4 Capitalized "max" and "min" macros. 2015-03-17 16:54:00 -04:00
onpon4 6610cddeac Fixed some problems with the charge cannon.
Specifically:
- When an enemy is hit, its damage is reduced, not its lifetime.
- When the shot's lifetime ends, it no longer explodes.
2015-03-17 13:03:20 -04:00
onpon4 717d56755c Moved fireRay to the ship module.
Also removed a really bad convention where a variable called "anEnemy"
was used, rather than just "aliens[i]".
2015-03-17 10:34:29 -04:00
onpon4 f58e15615b Changed "DAMAGEOWNER" flag to work when damaged, rather than destroyed.
This change in behavior has some very significant effects:

1. Damaging a child alien isn't rendered meaningless if you are
   primarily attacking the owner. This could be especially annoying
   with the miner bosses, which have tiny parts that are completely
   impractical to aim at.
2. Again, for the miner boss: previously, you couldn't see how much
   total health the ship had; the health bar only uselessly showed
   whether or not you defeated half of the ship (which you could
   already tell by looking at it). Now, the health bar tells you
   how much more damage you have to do in total.
2015-03-14 21:06:37 -04:00
onpon4 b44037f05a Fixed cash being made available on interceptions in Nightmare mode. 2015-03-13 19:11:14 -04:00
onpon4 645513cbf9 Loop the death music. 2015-03-13 19:02:28 -04:00
onpon4 2a0234c300 Added ship module, moved fireBullet to it (as ship_fireBullet).
For functions that are used by both aliens and the player.
2015-03-13 10:10:58 -04:00
onpon4 8842d7775b Removed the code that prevented transports from spawning based on player state.
Since it now gives you money if you're not able to power up, there's
no point in preventing it from spawning when you can't power up.
2015-03-12 23:12:21 -04:00
onpon4 6f768c88a6 Added some starting money for nightmare difficulty.
As a result, you're not stuck with the weakest weapon in the game
anymore. You have to choose between the double rockets, plasma
permanently upgraded in one area, plasma temporarily upgraded in
some areas, or some combination.
2015-03-12 22:14:07 -04:00
onpon4 932341f0e6 Better method of finding the user home directory. 2015-03-12 12:38:17 -04:00
onpon4 ea33be4591 Removed the "LINUX" definition.
This is silly. The libraries used have absolutely nothing to do with
"Linux". They're POSIX standard libraries, and will work just as
well on Mac OS X and BSD. The actual code might need to be replaced,
but in any case, this isn't something to limit to "Linux" systems.
2015-03-12 11:41:23 -04:00