README.txt 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. This file has been dedicated to the public domain, to the extent
  2. possible under applicable law, via CC0. See
  3. http://creativecommons.org/publicdomain/zero/1.0/ for more
  4. information. This file is offered as-is, without any warranty.
  5. ========================================================================
  6. Thank you for downloading Project: Starfighter!
  7. Project: Starfighter is a space shoot 'em up game originally developed
  8. by Parallel Realities in 2002, and released in 2003. You assume the role
  9. of Chris Bainfield in his quest to put an end to WEAPCO, the weapons
  10. corporation which has enslaved the galaxy.
  11. If you played one of the versions of Project: Starfighter distributed by
  12. Parallel Realities, you might notice some differences in this version
  13. compared to the original:
  14. * The graphics, sounds, and music are all completely different. This is
  15. because most of the original media was not properly licensed, and
  16. therefore needed to be replaced to make the game 100% libre. Most of
  17. this work was done by the previous project at SourceForge; the current
  18. project completed that work by adding music and replacing one
  19. non-libre graphic that got into version 1.2 by mistake.
  20. * Much of the dialog has been changed. There are various reasons for
  21. this; some of these include fixing bad writing, making the dialog
  22. match new music queues, and giving the characters more personality.
  23. * There are several gameplay changes. These changes were mostly done to
  24. balance the game better. The original game is contained in the Classic
  25. difficulty option, which is nearly identical to the original
  26. experience. A few small differences (mainly old bugs that were not
  27. left in) do exist, and they are explained on the following page:
  28. https://pr-starfighter.github.io/old.html
  29. * Typing "humansdoitbetter" in the title screen no longer enables
  30. cheats. This is actually because the switch to SDL2 broke the original
  31. feature, and rather than fixing it, we just replaced it with something
  32. else. We'll let you figure out what the new method to access the cheat
  33. menu is. 😉
  34. ------------------------------------------------------------------------
  35. PLAYING THE GAME
  36. The basic controls are the arrow keys, Ctrl, Space, Shift, and Escape.
  37. Other keys on they keyboard can also be used in case of keyjamming or if
  38. you simply prefer other controls; alternative keys include the keypad,
  39. ZXC, ASD, <>?, and 123. A gamepad or joystick can also be used.
  40. The basic objective of Project: Starfighter is simply to complete all
  41. missions. Exactly what entails completing a mission varies and is
  42. explained in-game.
  43. In the system overview screen, various sections can be accessed by
  44. clicking the icons on the bottom of the screen. You can also use the
  45. keyboard or a gamepad if you prefer (use the arrows to move the cursor
  46. and the fire button to "click" on things).
  47. Other than that, have fun, and good luck!
  48. ------------------------------------------------------------------------
  49. COMPILING FROM SOURCE
  50. If you are an end-user, it is easiest to use an existing binary
  51. distribution if possible. If you want or need to compile yourself,
  52. however, instructions follow.
  53. Note: Developers compiling the source code from the Git repository,
  54. please first see the GENERATING CONFIGURE SCRIPT AND BUILDING LOCALES
  55. section below.
  56. Project: Starfighter depends on the following libraries to build:
  57. * SDL2 <http://libsdl.org>
  58. * SDL2_image <http://www.libsdl.org/projects/SDL_image/>
  59. * SDL2_mixer <http://www.libsdl.org/projects/SDL_mixer/>
  60. * SDL2_ttf <http://www.libsdl.org/projects/SDL_ttf/>
  61. * Pango <https://www.pango.org/>
  62. Once you have all dependencies installed, do the following from the
  63. Project: Starfighter base directory:
  64. ./configure
  65. make
  66. make install
  67. This will perform a system-wide installation, which is recommended for
  68. most users. For most Linux systems, an icon should be added to your
  69. menu which you can then use to run Starfighter; if not, you can use the
  70. launcher found in the "misc" directory or run the "starfighter" command
  71. manually.
  72. If you would prefer a "run in place" build, you should instead do the
  73. following from the Project: Starfighter base directory:
  74. ./configure SF_RUN_IN_PLACE=1
  75. make
  76. mv src/starfighter .
  77. For Windows and MacOS, a run in place build is preferred. Note that the
  78. final step (moving the Starfighter binary out from the src directory) is
  79. required; in particular, failure to do so under MacOS leads to a failure
  80. to load data (images, sounds, fonts) needed by Starfighter.
  81. On Linux and most other POSIX systems, you can instead build a run in
  82. place build with the following commands:
  83. ./configure SF_RUN_IN_PLACE=1
  84. make
  85. mv misc/starfighter.sh .
  86. For Linux, this method is preferred as the binary itself often cannot be
  87. run by double-clicking, and the starfighter.sh script also automatically
  88. sets the current working directory, making it suitable for launchers.
  89. Run "./configure --help" to see all options for compiling.
  90. ------------------------------------------------------------------------
  91. GENERATING CONFIGURE SCRIPT AND BUILDING LOCALES
  92. If you contribute to Project: Starfighter's source code, you will need
  93. to know how to generate a configure script and build locales needed for
  94. compiling the program. NOTE: This is for developers and other people
  95. compiling source code taken from the Git repository. End-users simply
  96. compiling releases of Starfighter from source can ignore this section.
  97. The following components are required to generate the configure script:
  98. * Autoconf
  99. * Automake
  100. * pkg-config
  101. And the following is required to build locales:
  102. * Python
  103. Once these dependencies are installed, simply do the following from a
  104. terminal window:
  105. ./autogen.sh
  106. The Python script build.py may fail on MacOS due to a missing msgfmt
  107. program. msgfmt is part of gettext and the version that ships on a Mac
  108. does not include the msgfmt utility. This can be solved by using gettext
  109. from Homebrew:
  110. brew install gettext
  111. export PATH="$(brew --prefix gettext)/bin:$PATH"
  112. If for some reason you need to remove all generated files from your
  113. directory, you can do so via the following command (requires Git):
  114. git clean -fdx
  115. Note: automatically generated files are listed in .gitignore, so you
  116. generally don't actually have to do this. This is mainly useful for
  117. build tests.