Commit Graph

560 Commits

Author SHA1 Message Date
Julie Marchant 759bed096a Removed the attempt at Windows API code. 2019-07-03 13:20:18 -04:00
Julie Marchant 5594529239 Fixed some things for dist, plus a case mistake for the Windows code. 2019-06-30 10:26:08 -04:00
Julie Marchant c142191f6f Restore "always ignore bad targets" for Classic difficulty. 2019-06-22 08:48:06 -04:00
Julie Marchant 122624f89e Change the method for determining Sid's good targets outside Classic difficulty.
The original method just looked for non-firing targets, which caused
Sid to piss around a bit with the non-target transports.  This new
method just targets the specific classes Sid is always going after,
cargo ships and bosses.
2019-06-22 08:44:54 -04: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 cda23d7f7c Whitespace 2019-06-20 22:19:34 -04:00
Julie Marchant 8f0013ac6b Whitespace 2019-06-20 12:28:54 -04:00
Julie Marchant 8ca0fd45a5 Revert the thing where an extra surf was created for rendering radio messages.
It caused the text to be poorly rendered.
2019-06-19 21:29:02 -04:00
Julie Marchant c0216735db Fixed barriers bouncing off and killing each other. 2019-06-19 17:55:59 -04:00
Julie Marchant f2ef6a50df Fixed unicode shadows possibly being separated from real text. 2019-06-15 14:26:50 -04:00
Julie Marchant c1aea797b1 Render mission planet names as Unicode. 2019-06-13 12:51:57 -04:00
Julie Marchant 9b782de4e4 Fixed the collision-caused segfault. 2019-06-13 12:02:42 -04:00
Julie Marchant f43c81ec07 Switch back to SDL_UpdateTexture.
Hopefully temporary until I findout what I'm doing wrong.
2019-06-13 11:39:45 -04:00
Julie Marchant 28c68842a1 Fixed some size/position things
Now I gotta figure out why renderer_reset double-frees, and why
the collision behavior is causing segfaults...
2019-06-13 02:25:58 -04:00
Julie Marchant e9e5e43452 Fixed completion screen not showing up 2019-06-13 01:34:41 -04:00
Julie Marchant 373f87de0c Added a condition I forgot
The collision behavior in the original had an exception for Ellesh.
Added this exception in.
2019-06-12 17:53:23 -04:00
Julie Marchant d262806105 Added back in collision support (Classic difficulty only)
I completely forgot about this stupid feature of the original game.
Nonetheless, it's a part of the original experience and thus has
been added back in, albeit implemented in a slightly different way
(the result is still the same). Because this is such a stupid and
badly designed mechanic, this is of course in Classic difficulty
only.
2019-06-12 17:49:09 -04:00
Julie Marchant 98afecf1c3 Fixed some translation documentation, updated POT and en.po 2019-06-12 11:50:38 -04:00
Julie Marchant a2d9120903 Dynamically choose the number of credits by checking the number of lines.
That's the last of our FIXME, XXX, and TODO! Woohoo! ^o^
2019-06-12 11:25:03 -04:00
Julie Marchant 604443c4b3 Fixed the positioning of the "Plasma Cells" and "rockets" shop texts. 2019-06-12 10:57:16 -04:00
Julie Marchant c323e17c2e Replaced SDL_UpdateTexture with SDL_LockTexture.
The SDL wiki indicates that this is the preferred way to do this
for textures like renderer_texture that are updated often, since it
is faster.
2019-06-12 10:46:56 -04:00
Julie Marchant 5434ce43c4 MOAR MOAR 2019-06-11 20:08:29 -04:00
Julie Marchant cea10fd3fb Moar translation support 2019-06-10 09:23:56 -04:00
Julie Marchant f205d7cc44 Plural support for "x more" messages, plus fixed those problems from last commit 2019-06-10 01:08:01 -04:00
Julie Marchant cc80af45ab Yes, I know it's broken. Missing semicolons. Will fix next commit. 2019-06-09 16:08:30 -04:00
Julie Marchant d8d8d9cab2 Moar translations! 2019-06-07 17:08:35 -04:00
Julie Marchant 268637343c Everything is translatable! (I think) 2019-06-07 00:18:24 -04:00
Julie Marchant 94f23dc39e More cleanup 2019-06-06 09:46:30 -04:00
Julie Marchant 3f1febc2fc Some code cleanup. 2019-06-06 09:30:22 -04:00
Julie Marchant caf963ba19 Added translation support.
No, really, just added the whole thing. This took literally the
entire day. I'm soooo glad it's working now!

Also includes tons of other small fixes I didn't bother to keep
track of.
2019-06-05 22:13:48 -04:00
Julie Marchant 24e565680b Lots of Unicode usages, + title screen efficiency 2019-06-04 19:10:24 -04:00
Julie Marchant c665d2451d FINALLY fixed the unicode rendering! 100% good now!
Font switched to TakaoGothic. May change again later, we'll see.
I think I'll make it so that translations can specify a custom font.
2019-06-04 11:45:57 -04:00
Julie Marchant 4ca7cbe0c9 Fixed coloring. 2019-06-04 09:49:26 -04:00
Julie Marchant d675800a17 Fixed the text breaking part.
Now for the rendering... Seems to be a font issue.
2019-06-04 09:31:45 -04:00
Julie Marchant c798d0d7ec Starting to fix the core problem.
Using Pango's pango_get_log_attrs function.

Not finished yet, but this is the start of it.
2019-06-03 22:36:03 -04:00
Julie Marchant 0a522faea6 Ugh, it doesn't work at all. 2019-06-03 21:05:38 -04:00
Julie Marchant 1f3f1d46b1 Turn on use of Unicode. (Still not actually used.) 2019-06-03 20:20:13 -04:00
Julie Marchant edd1239f01 Finally fixed, I think. 2019-06-03 15:54:02 -04:00
Julie Marchant 8a7edc7202 Completely reworked that. Hopefully good now? Will test later. 2019-06-03 14:05:31 -04:00
Julie Marchant a3e2867ae9 Ugh, this is broken beyond belief... 2019-06-02 23:37:40 -04:00
Julie Marchant 1b8581f471 A bit more 2019-06-02 19:53:03 -04:00
Julie Marchant 1af6cfd75b Boy was I wrong...
Not surprising. Anyway, made some further progress.
2019-06-02 17:40:32 -04:00
Julie Marchant f23307f34c A little more progress 2019-06-02 14:39:52 -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 e17247aa99 Always update options surface. 2019-06-02 07:39:54 -04:00
Julie Marchant 56ac26c794 Improved the pause screen somewhat when resizing.
I unfortunately can't make it perfect because rendering is too
closely tied into game logic, but this way, you at least see the
"PAUSED" text.
2019-06-01 23:42:13 -04:00
Julie Marchant 47e2aa7a40 Fixed status screen. 2019-06-01 23:28:54 -04:00
Julie Marchant ee3ba27fe8 Fixed copyright text in title screen. 2019-06-01 23:06:52 -04:00
Julie Marchant 4a2b05b6d6 Updated all remaining blitTextInPlace calls. Removed legacy function. 2019-06-01 23:04:19 -04:00
Julie Marchant a4760466fe Fixed some more 2019-06-01 18:16:32 -04:00
Julie Marchant 356a6472b4 Converted the main menu. 2019-06-01 15:12:02 -04:00
Julie Marchant 7011080965 Adapt shop positioning when window resized, plus removed several magic numbers 2019-05-31 22:33:28 -04:00
Julie Marchant 6a945685b9 More conversions 2019-05-31 14:23:48 -04:00
Julie Marchant 3369b6c5c1 Fixed screen_adjustDimensions, plus updated some more blitTexts. 2019-05-30 23:09:10 -04:00
Julie Marchant d38c82ea69 More conversions, incl. status screen 2019-05-30 22:15:51 -04:00
Julie Marchant bf01637f57 A couple more. 2019-05-30 18:42:10 -04:00
Julie Marchant ba248f8264 Started migrating to the new blitText, plus a small fix
The fix is simpl to make blitTextInPlace center text to the
screen rather than the text creation doing it. That way you don't
get weird behavior with screen_blitText (which already handles centering).
2019-05-30 18:33:31 -04:00
Julie Marchant 0ac42df374 Added a new screen_blitText function.
The old one still remains while I adapt the code to the new one.
This is simply a decoupling of the absolute position of text from
the creation of the text, to better facilitate position adaptation
to changes in screen size. Position indicated at creation remains
only for relative position (for use by e.g. credits and status lines).
2019-05-30 18:09:15 -04:00
Julie Marchant 3c866fe150 Revert "Adapt the menu properly when resizing the window."
This reverts commit 4b2811b56b.
2019-05-30 18:02:33 -04:00
Julie Marchant dabda7f436 Revert "Adapt HUD during missions"
This reverts commit 9d825e5415.
2019-05-30 18:02:18 -04:00
Julie Marchant 9d825e5415 Adapt HUD during missions 2019-05-30 17:52:58 -04:00
Julie Marchant 4b2811b56b Adapt the menu properly when resizing the window. 2019-05-30 17:35:40 -04:00
Julie Marchant 840b7fbd30 Rescale backgrounds when resizing window. 2019-05-30 16:51:02 -04:00
Julie Marchant 12a3fcdbab Started on adaptive aspect ratio adjustment.
Just one problem: the backgrounds don't get resized and so you get
awful mush on the right side/bottom of the screen. Will fix in
the next commit.
2019-05-30 13:14:32 -04:00
Julie Marchant f10af4aaf3 Made the window resizable. 2019-05-30 12:29:47 -04:00
Julie Marchant 7296b8ab76 Fixed some graphical problems.
Problem 1: fullscreen switching was leaving artifacts. Fixed by
drawing all black when switching fullscreen (and switching fullscreen
is now handled by its own function).

Problem 2: the mission briefing screen would distort if you changed
fullscreen during it. Fixed by redrawing the screen (it was previously
only drawn once).
2019-05-30 12:01:42 -04:00
Julie Marchant 04033b332e Added "desktop" fullscreen back in, plus removed key repeats. 2019-05-30 11:32:50 -04:00
Julie Marchant d8331ac14e Re-added the classic-mode-edge-behavior in a better way.
This way preserves checks for Classic difficulty within (where
auto-camera-centering is implemented) so that if the edge behavior
ever changes again, it won't have unintended side-effects.  The
conditional is also inverted to make it easier to read.
2019-05-29 21:08:54 -04:00
Julie Marchant 628ed07c8b Revert "Removed the camera fix for Classic difficulty."
This reverts commit 0bacdfa494.
2019-05-29 20:58:12 -04:00
Julie Marchant ec2d532435 Fixed up some stuff in the Apple code (or at least I think I did) 2019-05-27 00:56:51 -04:00
Julie Marchant c0ca361da6 Added proper Windows support.
I think this should be good, but I can't test it right now because
I don't have a Windows compiler handy at the moment. Will make sure
to do so before making a release.
2019-05-27 00:28:04 -04:00
Julie Marchant 44f3d05533 Sell secondary for "none" in Classic difficulty, as in the original.
The modern version sells for rockets (i.e. you get rockets back when
you sell your secondary), but the original instead left you with
no secondary at all in this case. This behavior has now been restored.
2019-05-26 20:31:34 -04:00
Julie Marchant 5c6d4e5134 Restored use of the word "Target" for all target life bars in Classic mode.
At some point I replaced the "Target" text with "Sid", "Phoebe", and
"Kline" for those respective characters. Classic difficulty now always
uses the word "Target" once again.
2019-05-26 20:18:10 -04:00
Julie Marchant dcd4fd735b Fixed the bug that caused the time cheat to make Mars unwinnable.
Am I going crazy? I could have swore this was fixed years ago.
2019-05-26 20:01:16 -04:00
Julie Marchant 431358e7ae Fixed a bug that caused mobile shields to resurrect the boss from the dead.
The main problem with this bug was simply that it caused a constant
cycle of resurrection and death, which generated tons and tons of
powerups. It was only realistically achievable with cheats enabled,
but still, this seems undesirable.
2019-05-26 19:49:28 -04:00
Julie Marchant 87253b7212 Always show the arrow as red in Classic difficulty. 2019-05-26 19:41:31 -04:00
Julie Marchant 7a066e08a0 Implemented centering of the target arrow in Classic difficulty. 2019-05-26 19:32:52 -04:00
Julie Marchant e86e5210df Re-implemented a targeting system similar to the original for Classic.
It's not exactly the same technically, but in function it is. The
only functional difference is that the original would sometimes show
an unexpected health bar for a small(ish) enemy, whereas the new
implementation never does that.

Also different is that exact location is still shown. Will fix that
next.
2019-05-26 18:22:08 -04:00
Julie Marchant ac44cbdf75 fixed the long-standing segfault, plus fixed a bug with the Dorim mission.
So, that segfault? Turns out there's a place where I forgot to check
if something was NULL before accessing it, which turned out to be
important because for some reason, gfx_textSprites[TS_RADIO] got
set to 32 at some point while gfx_messageBox remained NULL.

This may be indicative of a memory leak somewhere, but it's
also possible that maybe it was left-over from a previous mission
or something, which may have been what made it so hard to spot (that
would make the bug time-sensitive as well as context-sensitive). In
any case, at least the segfault is fixed now.
2019-05-26 17:43:14 -04:00
Julie Marchant 8ca4522ac9 Target the exec transport instead of Sid in Poswic for Classic difficulty.
Also added missing entries about Classic differences in the readme.
2019-05-26 16:19:33 -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 72cb75fb7e Added a preference for giving the player needed items. 2019-05-26 01:08:58 -04:00
Julie Marchant d7dc0844c8 Adjusted the delay of ray damage, plus some misc code fixes. 2019-05-24 22:05:09 -04:00
Julie Marchant 281687b1c5 Small adjustment to some checks. 2019-05-23 12:18:29 -04:00
Julie Marchant d17a8f36c7 Better malloc practice, plus several missing warnings 2019-05-23 11:25:54 -04:00
Julie Marchant b251acb4fe Removed the now unnecessary casting for malloc calls. 2019-05-23 11:07:03 -04:00
Julie Marchant 908a6059ac Finished C conversion! Hoorah!
Note: Autoconf files must be cleaned up and regenerated to ensure
proper compilation.
2019-05-23 11:02:48 -04:00
Julie Marchant ed0cc2ec97 Updated one more copyright notice. 2019-05-22 23:35:18 -04:00
Julie Marchant 7dc10025f0 Merge branch 'master' of git.savannah.nongnu.org:/srv/git/starfighter 2019-05-22 22:19:52 -04:00
Julie Marchant f552b66c10 Restored behavior of attachments for Classic difficulty. 2019-05-22 22:19:34 -04:00
Julie Marchant 371896eb60 Updated copyright dates. 2019-05-21 18:47:32 -04:00
Julie Marchant 5670032156 Added difficulty indicator to the status screen. 2019-05-21 18:36:45 -04:00
Julie Marchant 5931846f03 Restored original triple and quad spread for Classic difficulty. 2019-05-21 13:49:28 -04:00
Julie Marchant 0bacdfa494 Removed the camera fix for Classic difficulty.
This re-implements the bug where the edge of the screen effectively
slows you down. I might revert this; we'll see.
2019-05-21 13:35:38 -04:00
Julie Marchant 0801188bd6 Removed prevention of useless plasma in Classic difficulty. 2019-05-21 13:28:09 -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
Julie Marchant 838722590c Moved some variable declarations to top of function. 2019-05-21 02:09:26 -04:00
Julie Marchant e22a2bc168 Converted consts to #define calls. 2019-05-21 01:51:39 -04:00
Julie Marchant aa9d673aab Changed screenWidth and screenHeight to #defines. 2019-05-20 11:25:05 -04:00
Julie Marchant e51c55b16b Revert "Converted to C... tried and failed to convert Autoconf."
This reverts commit 7fd19f29ba.
2019-05-20 01:56:16 -04:00
Julie Marchant 7fd19f29ba Converted to C... tried and failed to convert Autoconf.
Broken for now. Committing so I can switch computers.
2019-05-19 23:57:55 -04:00
Julie Marchant 9014be8678 Merge branch 'master' of git.savannah.nongnu.org:/srv/git/starfighter 2019-05-19 23:46:46 -04:00
Julie Marchant 624d5bcb37 Parenthesis 2019-05-19 23:46:26 -04:00
Julie Marchant 8fc30e61f3 Finished conversion to malloc/free. 2019-05-19 18:22:53 -04:00
Julie Marchant 0ba13df0d7 Merge branch 'master' of git.savannah.nongnu.org:/srv/git/starfighter 2019-05-19 13:41:42 -04:00
Julie Marchant 6644be553e Converted some new and delete calls to malloc and free.
This is the last step to converting Starfighter to C. Almost there!
2019-05-19 13:40:50 -04:00
Julie Marchant c5ee1b3e09 Fixed failure to use player_damage for explosions.
Also made one tweak: when shield gets to "low" or "critical",
damage delay is reset (so that you get more protection from rays).
2019-05-11 02:49:21 -04:00
Julie Marchant e406c8eecd Fixed indentation. 2019-05-11 02:38:21 -04:00
Julie Marchant 5cc48d3f9f Tweaked the reduction method of damageDelay. 2019-05-11 02:26:37 -04:00
Julie Marchant 3b7bb45e28 Improved damaged nerfing
Limited damage prevention to only at the "low" and "critical" levels,
plus added a delay for when damage is first inflicted by rays.

This prevents ships with multiple concentrated shots from having
a disadvantage, and it helps make rays easier to avoid at the same
time (just get out of the ray in time and you don't take damage).
Of course, neither of these apply to Classic difficulty, although
the ray damage delay does apply to Nightmare difficulty (which,
given how unpredictable rays are, I think is quite reasonable).
2019-05-11 02:15:36 -04:00
Julie Marchant ded0be314e Added a damage-control mechanic.
Limits the damage you take somewhat. Basically, this is intended
to prevent sudden deaths; if it doesn't look like you're dying,
you probably won't suddenly get axed. Of course, this is disabled
in Classic difficulty.
2019-05-10 21:09:34 -04:00
Julie Marchant 828b56d4df Fixed broken code for Classic difficulty.
The mistake caused the Classic game to deviate from the original
by not allowing Kline to drop mines in the Elamale mission. For
some reason I accidentally put that check in for Moebo instead.
Whoops!
2019-05-04 12:47:05 -04:00
Julie Marchant cbdbf94498 Replaced some uses of sprintf with snprintf. 2018-04-21 10:44:33 -04:00
onpon4 341ef6907a Fixed lack of braces.
No real-world effect, but it's still wrong.
2017-10-19 16:36:35 -04:00
onpon4 abc3fbd7c0 Prevent screen sizes smaller than 640x480. 2017-03-28 11:03:53 -04:00
onpon4 209a007775 Open files as text, not binary. 2017-03-28 10:35:11 -04:00
onpon4 9c089a5013 Made a change that I think might fix bug #50644. 2017-03-26 23:52:05 -04:00
onpon4 6c1e59d434 Removed SDL_gfx dependency.
At first I was going to just not bother with the resizing thing, but
then I found out that SDL actually has a scaling function built-in.
So rather than depending on SDL_gfx for this one purpose that never
sees the light of day in practice, I have handed that job over to
that function.
2017-02-20 21:46:35 -05:00
onpon4 427f92ce2b Fixed the method for checking whether compiling for Windows. 2017-02-10 10:39:27 -05:00
onpon4 6c616bb4a2 Fixed where mines appear when screen width is larger than 800.
This causes the game to be easier, but whatever. The game is easier
with a bigger view anyway.
2017-02-05 17:37:22 -05:00
onpon4 2446baf718 Cause scaling to always be square. 2017-02-05 17:25:17 -05:00
onpon4 e36a1e82e7 Changed the game to use true fullscreen.
The fake "windowed fullscreen" is less invasive, but it sometimes
causes ugly artifacts and as a general rule isn't really all that
useful.

However, I also defined it in defs.h, so that it can be more easily
changed in the future.
2017-02-05 16:40:59 -05:00
onpon4 73a7afdc25 Added Pandora/Pyra controls. 2017-02-05 15:45:24 -05:00
onpon4 aa8ab90cf4 Fixed some minor cosmetic issues. 2017-02-05 14:49:43 -05:00
onpon4 6e67ba66c0 Fixed the Buy and Sell buttons. 2017-02-05 12:59:26 -05:00
onpon4 2d2c8e9732 Fixed the shop items. 2017-02-05 12:56:53 -05:00
onpon4 0effb37d4e Fixed shop item positions. 2017-02-05 12:39:02 -05:00
onpon4 3b56b0dbfb Improved the look of the shop. 2017-02-05 12:35:32 -05:00
onpon4 9f0ceebd6a Added a hack to prevent the fullscreen flickering effect and other weirdness. 2017-02-05 12:31:08 -05:00
onpon4 a7f4edb9ea Reverted the last change.
It was just a coincidence. Nothing actually changed.
2017-02-05 12:24:22 -05:00
onpon4 3b114a5e34 Fixed broken fullscreen menu toggle. 2017-02-05 12:21:03 -05:00
onpon4 0261d1d50f Adjusted the shop's height so that it fits in 640x480.
I think that's everything! Now all that's left is to test it.
2017-02-05 12:14:28 -05:00
onpon4 2c9e83530f Made the wording in the info boxes more consistent. 2017-02-05 05:34:42 -05:00
onpon4 86b5707d03 Made the mission detail screen work in resolutions as low as 640x480. 2017-02-05 05:29:06 -05:00
onpon4 724582e512 Added centering of the vertical positions of the intermission screens. 2017-02-05 04:59:33 -05:00
onpon4 3ef498df97 Fixed some things.
In particular, sizes larger than the background work properly now
(in general; there are of course some things positioned badly still,
but everything updates correctly at any rate).
2017-02-04 18:29:44 -05:00
onpon4 a615f52b84 Made the shop more horizontally compact.
This has the effect of making it work with screen widths as low as
640 pixels.
2017-02-04 17:12:16 -05:00
onpon4 2bda540e97 Resized the Comms section so it will fit in 480-pixel high resolutions.
Ultimately, the following were removed:

* The portrait of Chris on top, which was superfluous.
* The text telling you who you were communicating with. Both superfluous and prone to inconsistencies.
* The button allowing you to return to the list of missions. Instead, you can click anywhere to do so, or just click on the "Missions" button again.

So now, the only thing left preventing 640x480 from being a usable
resolution is the shop. That's going to be a tough one...
2017-02-04 16:17:09 -05:00
onpon4 59db629f5f Fixed a failure to properly delete save files when requested.
Also added removal of save files in the old (deprecated) format,
after re-saving in the current format.
2017-02-04 15:42:59 -05:00
onpon4 b66d7c410d Made it so that the save and options sections work at 640x480. 2017-02-02 17:45:47 -05:00
onpon4 e981acded2 Made the minimal changes to allow Starfighter to be compiled on Windows.
It's not perfect, but I honestly just can't be arsed to figure out
how to use the Windows API to do the same thing that pwd.h does.
At the very least, Starfighter can now be successfully compiled for
Windows with MinGW simply by defining the "SF_WINDOWS" environment
variable to 1 (or any other non-empty value). The only downside is
that it uses the current working directory to decide where
.config/starfighter should go, meaning it can't be installed into
restricted directories like Program Files.
2017-02-01 16:10:48 -05:00
onpon4 fd6949120e Fixed a Windows compatibility.
drand48 isn't available on Windows, so I replaced it with a custom
"DRAND" definition.
2017-02-01 09:19:12 -05:00
onpon4 22e59a80db Replaced the crappy "drawLine" function with SDL_FillRect.
gfx_drawLine only supported drawing straight horizontal and vertical
lines anyway, so the method it used was completely pointless. It also
wasn't used anywhere other than gfx_drawRect.
2017-01-28 00:56:31 -05:00
onpon4 e8bbed1a8b Added support for defining custom widths and heights with ./configure. 2017-01-28 00:43:17 -05:00
onpon4 2a032005d1 Some cleanup. 2017-01-26 23:05:21 -05:00
onpon4 d6f29b71b3 Don't resume the music when you press Escape during pause. 2017-01-26 22:41:59 -05:00
onpon4 e3c2e2fddc Switched the build system from a hand-made makefile to Autotools.
That actually took quite some time, but it's finally finished now.
It's missing only a couple minor things from the old Makefile.
2017-01-26 17:27:55 -05:00
onpon4 788ee5eae4 Finished removing Starfighter.h. 2017-01-25 10:48:29 -05:00
onpon4 e209c9c2f1 Removed some unnecessary specificity.
There was no need for specific bit sizes for these integers; the
default int will do just fine.
2017-01-22 00:22:03 -05:00
onpon4 932b86da42 Added NOSOUND definition option, which disables use of SDL_mixer entirely. 2017-01-22 00:11:13 -05:00