Commit Graph

46 Commits

Author SHA1 Message Date
Layla Marchant 5b29033700
Changed our credits to "The Diligent Circle". 2020-12-26 00:10:10 -05:00
Layla Marchant 9863aef0ba Fixed the warp escape delay bug.
That's embarassing.
2020-05-23 21:10:45 -04:00
Layla Marchant cdf555f17b Removed my old name.
I go by "Layla" now. Updated that. Also updated my email address.
2020-03-05 15:05:56 -05:00
Julie Marchant 75327aa3f8 Allow aliens to attack "less desirable" targets if they can't find a good one.
The way it previously was, in particular, Sid 100% refused to attack
fighting vessels and Phoebe and Ursula 100% refused to attack
non-fighting vessels.  This was most notable with the Urusor mission,
where Sid would just become completely idle after disabling the last
non-combat vessel and would often just drift off into the distance
as a result (especially annoying in Classic difficulty as this
could make it very difficult to find the remaining enemies).

So now, instead these targets are treated as "undesirables", which
normally will be avoided but will be accepted after 30 frames.
This stops allies from idling around forever.

This rule has also been applied to a rule that didn't allow targeting
enemies beyond a particular distance.

I'm keeping it in Classic difficulty for now, but might add an
exception later.
2019-06-22 08:34:57 -04:00
Julie Marchant 24f44e509f Implemented Unicode text rendering... I think?
I'm in a bit of a rush so I can't check yet (also it's deactivated
for now). But I think I'm finished? Will check later.
2019-06-02 11:30:39 -04:00
Julie Marchant 3e453a2f3c Added an "original AI type" definition for the sake of the exec transport.
This is something I forgot about before: the executive transport
A.I. was changed by me at some point from "Normal" to "Evasive".
This change re-introduces "Normal" A.I. for this ship in Classic
difficulty.
2019-05-26 15:35:46 -04:00
Julie Marchant 371896eb60 Updated copyright dates. 2019-05-21 18:47:32 -04:00
Julie Marchant e398440a56 Made Classic difficulty almost exactly like the original.
There are only a couple changes that I've left in:

1. On normal missions, the edge of the screen still doesn't slow you down.
2. The shop still does not have the old bug where selling was based on the price of the next item.
3. Not sure about this, but some powerups don't spawn if they're of no use to you; I believe this was not in the original, but it's been left in anyway.
4. Not sure about this either, but I believe the original had the 3-way spread much wider. This has not been adjusted for Classic difficulty.

Other than those three, Classic difficulty is now exactly the same,
including a re-implementation of the whole "score" system where destroying
a ship nets you money instantly and the absurd system where you buy only
10 plasma capacity at a time. I might adjust 1, 3, and/or 4 above later
on.
2019-05-21 13:17:07 -04:00
onpon4 d6b31a270c More cleanup, updated copyright notices. 2017-01-21 23:55:54 -05:00
onpon4 82dc26f949 More cleanup. 2017-01-20 23:26:49 -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 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 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 063020df22 More cleanup. 2016-11-16 19:43:03 -05:00
onpon4 a3afb0a133 Whoops
Just... whoops. *game*.timeTaken, not *engine*.timeTaken. Fixed that...
2016-01-12 14:53:34 -05:00
onpon4 5acc9f37f3 Moved cutscenes to C. 2016-01-04 20:17:06 -05:00
onpon4 e258921987 Moved all "script" files to C code.
I'm going to do this for all of the stuff in the "data" directory.
It was obviously an attempt to make Starfighter more flexible
somehow, but it fails at that entirely. More importantly, these
things are both unreadable and easy to make mistakes on. Simple
C code is much easier to read.

The only disadvantage is that recompiling is now needed to change
the "scripts", but considering that they had hidden limits and
no one was making custom missions to begin with, I don't consider
this to be a real loss.
2016-01-02 22:37:44 -05:00
onpon4 d911426c06 More cleanup. 2016-01-02 17:37:19 -05:00
onpon4 85de61e2cd Changed struct definitions to use typedef (C style) 2016-01-02 17:15:50 -05:00
onpon4 ce94477b70 More cleanup. 2016-01-02 16:59:48 -05:00
onpon4 533d74447f Made auto-pausing an option. 2015-05-21 18:49:04 -04:00
onpon4 46a80eb30b More reorganization. 2015-05-20 19:49:37 -04:00
onpon4 f306825636 Removed the "nomove" and "nofire" cheats.
I honestly don't understand why these cheats were here. Preventing
enemies from moving breaks some missions and doesn't do anything
useful, and preventing enemies from firing is basically no better
than the invincibility cheat (and might even be worse, if it applies
to Sid; I didn't check).
2015-05-20 19:41:43 -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 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 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 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 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
onpon4 28cc1fcc6d Updated audio module. 2015-03-08 10:38:58 -04:00
onpon4 22fcdae8cc Several adjustments for difficulty purposes.
Started out adjusting prices, then ended up doing other things
while testing. Committing this now before I start doing other
random stuff!

But all of the changes are related to balancing difficulty, mostly
with prices, except for a couple bugfixes in the shop. Most notably:

* Ammo now costs $10, not $50. You no longer have to worry about
  saving ammo quite as much as a result.
* Plasma upgrades' cost is now calculated differently, and the result
  is slightly lower prices than before.
* Easy mode now grants the player more max ammo than other difficulties.
* Increasing max plasma ammo now costs less at the start, and increases
  in cost faster.
* You increase max plasma ammo by 25 at a time, not 10. (10 was just too
  small of a number.)
* Destroying enemy ships no longer gives you money. I found that, even
  in hard mode, I had *way* too much money coming in, and this cuts it
  down substantially. It also makes the shield bonus at the end of missions
  much more significant. To compensate for the loss of massive bonuses
  bosses used to give, these bosses now drop a lot more stuff.
* Kline has decreased health in his first encounter, and increased health
  in his last two encounters (the numbers have been reversed).
2015-03-07 12:19:35 -05:00
onpon4 a3efbc06cc Substantially increased the cost of plasma upgrades.
I feel these were extremely underpriced. $1000 for triple bullets?
That's dirt-cheap! Even in hard mode, I have no trouble getting that.
2015-03-07 09:42:24 -05:00
onpon4 19936f67c9 Substantially reduced the amount you can upgrade your plasma cannons.
I've tested this a lot, and I think these are good numbers to go by.
Plasma damage has been limited the most, because it is the upgrade
that quickly breaks the balance of the weapons, making the plasma
cannon the obviously most powerful weapon. I don't want this; the
powerful weapon should be the secondary weapon, while the plasma
cannon is the fast-firing weapon with much more ammo.

Basically, I want to make a tactic I found myself using, which was
to carefully keep my plasma power at maximum and take out most
enemies in one plasma shot, obsolete. As a result, missiles should
now be much more cost-effective (because even a single missile's
power of 15 greatly exceeds plasma's maximum power of 3*2=6).

None of these reductions in limits apply to easy mode; that mode
still has the old limits of 3 for min and 5 for max.
2015-03-06 12:36:02 -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 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 9959c47f98 Updated copyright notices on all files based on git-blame. 2015-03-01 15:37:32 -05:00
onpon4 f620334510 Caused charge cannon damage to be reduced in a different way. 2015-02-28 20:20:36 -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 182ea70ba1 Removed gameplay option, have different max shield based on difficulty 2015-02-26 20:52:20 -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 f385c9448e Upgraded to GPLv3. 2015-02-26 11:20:36 -05:00
Guus Sliepen 593ea01386 Initial conversion to SDL2. 2013-09-30 16:52:43 +02:00
Guus Sliepen bd4a449e10 Rename code/ to src/. 2013-07-11 14:24:37 +02:00