1 Home
jan6 edited this page 2020-02-12 20:36:49 -05:00

Welcome to jan6's StarLanes Wiki.

This wiki is not a replacement for the man-page, but may provide similar information.
starlanes.man is a preformatted plaintext manpage, which can be viewed with any text viewer,
starlanes.6 is in classic troff format, can be viewed with man or converted to some other format

manpages are often not kept up to date, except for major changes

this repo may be out of sync with some other versions, mainly envs.net's version,
similarly the wiki, or documentation may be out of sync with the rest of the code in the repo

keep in mind jan6 doesn't know nearly anything about C, it's all guesswork.

for full changelog, read the changelog file, but some of the differences from 1.2.x and 1.3.x:

  • disabled AI that was added in 1.3.x

  • renamed companies for no reason, offers an alternate stats version (gameplay balance untested, rename common.h.modded to common.h to use)

  • added make clean target to remove *.o and starlanes binaries

  • automatically strip the resulting binary, it can reduce the size by roughly half

  • no static compilation yet, sadly

  • would be nice to be independent of (n)curses

  • a minimal (possibly custom) library?

  • just hardcode vt100 escape sequences?

  • there are still a lot of warnings and several buffer mismatches, which don't appear to influence gameplay, would need to figure out why they're set how they are, and what to correct them to

  • clean up the code from messy comments, make sure there's uniform formatting thoughout, no trailing whitespace outside strings, etc

  • after fixing buffers, add back the AI, possibly with different algorithms/styles (such as Gambler, Optimizer, Random, etc, with difficulty levels each)

  • AI should be a patch and keep as much AI code in ai.c as possible, instead of writing straight to starlanes.c

  • should compile without any AI support as well, maybe #include and #IFDEF clauses?

  • the values should be editable or at least switchable without a recompilation, read from a standalone file? use commandline options?