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.
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.
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.
At first I was doing the same thing to them I did to the bragging
messages, but when it came to actually thinking of things these
characters should say, nothing I liked came up. The main problem
is nothing fits the characters' expressions. Add to that the
complexity of making this really work right, and it's just not
worth it.
The Sid death message has also been removed, both for consistency
and because of the mismatch of Chris's face with what he said there.
I considered rewriting it, but I don't think the intro text really
adds anything. Starfighter is an action game, not an adventure game,
so it's just out of place to show a paragraph of backstory before
the game starts.
The explosions of mines off in the distance are extremely annoying in
the Mars mission, in particular. There's no real point in them
doing a timed off-screen explosion, anyway; if they just disappear,
the player won't notice.
SDL_GetTicks() returns Uint32, but I was using the long int type,
which could mean signed or unsigned, not to mention any size. Changed
missionCompleteTimer and timeTaken to Uint32 for consistency.
Changes since version 1.4 summarized:
* Lots of code cleanup
* Removed preservation of permissions when installing
* Replaced symlinks with copies
* Added .desktop file (from openSUSE package maintainer)
* Fixed mouse cursor position bug
* Removed a broken event from the Odeon mission
* Moved almost everything from the "data" directory to C source code
* Renamed "Original" difficulty to "Classic"
* Made Classic difficulty closer to the original
* Repositioned the logo and menu so that it's a bit higher
* Fixed the bug that caused mobile rays to shoot 5 green bullets
* Radio messages no longer suppress the "Target" text on the target arrow
* Friendly ships now have green arrows
* Sid, Phoebe, Ursula, and Kline now have special text on their target
arrows and shield displays
* Some dialog changes
* Plasma and rocket ammo is now much cheaper ($1)
* Fixed being able to get hurt after the mission is over
* Changed the Poswic mission target to Sid
* Removed the brief stop at the end of the Ellesh mission
* Kline now permitted to drop mines in all of his appearances
* Kline now switches primary weapons on Venus (like in prior appearances)
* Executive transport AI changed to "evasive"
* Experimental fighter now more likely to run away with powerful shots
* Renamed "Comms" to "Missions" and adjusted its look
* Removed instant teleportation between planets in Spirit
* Added small interception chance to Spirit
* Move very quickly between planets if no interception chance
* Now, portable save format
* Some tweaks to the Status screen
* Updated documentation
* Play sounds more quietly when further away