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
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.
Release differences from 1.3:
* Fixed a case of division by zero, most notably when asteroids were
destroyed.
* Added Y as a fire button (for QWERTZ layout users).
* Changed 3-way and 4-way spread to the original behavior.
* Added fake difficulty to the Dorim mission.
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.
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.
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.