Newbie Projects

From FreeSpace Wiki
Revision as of 16:14, 22 October 2022 by TopAce (talk | contribs) (category + formatting + being able to spell the game's name never hurts...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is a collection of small, fairly simple tasks which developers new to FreeSpace 2 Open can use to get a start with the project.

The lists below are broken down into a logical workflow that will likely match the set of patches that you will produce.

Please create a thread on the HLP forums with your proposed patches attached or link to a Github pull request. The suggested patch series below are designed to encourage the good practice of providing a series of small standalone patches that are capable of easy review.

Inspired by the Freedesktop DRI Newbie Projects.


Improve documentation of -nolightshafts command line option

FreeSpace 2 Open provides a command line option -nolightshafts to disable lightshafts in game, even if a mission designer enables them in a mission.

This feature was previously called -flightshaftsoff and references remain to the old name within the FreeSpace 2 Open code base and the FreeSpace Wiki documentation system.

The patch series to implement this functionality would likely consist of the following patches:

  • Modify the cmdline_parm flightshaftsoff_arg() name in code/cmdline/cmdline.cpp so that it reads cmdline_parm nolightshafts_arg
  • Modify SetCmdlineParams() in code/cmdline/cmdline.cpp so that nolightshafts_arg() is used in the if() test
  • Modify the -flightshaftsoff documentation to refer to -nolightshafts instead
  • Modify the exe_params[] array in code/cmdline/cmdline.cpp to correct the URL location of -nolightshafts Wiki documentation


You will need to register an account on the FreeSpace Wiki to complete the third step.


Enable the AIM_GET_BEHIND feature

TODO: This would involve implementing the AIM_GET_BEHIND artificial intelligence feature as was originally completed in The Babylon Project source code fork