Ready to ship 2.8
[super-star-trek.git] / doc / HACKING
index 1739465c1c6e3d60bf1b6f00d12506a26ad64261..e9404396b90eca07c6469aba67e9c6207687743a 100644 (file)
@@ -40,11 +40,15 @@ Dave also says the Space Thingy should not be preserved across saved
 games, so you can't prove to others that you've seen it.  He says it
 shouldn't fire back, either.  It should do nothing except scream and
 disappear when hit by photon torpedos.  It's OK that it may move
-when attacked, but it didn't in the original.  (Whether the Thingy
-can fire back is now controlled by OPTION_THINGY and turned off if the
-game type is "plain" or "almy".  The no-save behavior has been restored.)
+when attacked, but it didn't in the original. (The no-save behavior
+has been restored.)
 
-The Faerie Queen, black holes, and time warping were in the original.
+Dave says the Faerie Queen, black holes, and time warping were in the
+original.  However, either he is misremembering about time warping or
+the original implementation was lost during the FORTRAN-to-C
+translation, as Stas Sergeev added a time-warping feature not
+previiusly present in 2006.  Tom Almy also claims to have added
+timewarping!
 
 Here are Tom Almy's changes:
 
@@ -56,7 +60,7 @@ however mine had some feature it didn't have. So I merged its
 features that I liked. I also took a peek at the DECUS version (a
 port, less sources, to the PDP-10), and some other variations.
 
-1, Compared to the original UT version, I've changed the "help"
+1. Compared to the original UT version, I've changed the "help"
 command to "call" and the "terminate" command to "quit" to better
 match user expectations. The DECUS version apparently made those
 changes as well as changing "freeze" to "save". However I like
@@ -210,7 +214,8 @@ and added more:
 the LRSCAN command is no longer needed.  (Controlled by OPTION_AUTOSCAN
 and turned off if game type is "plain" or "almy".)
 
-10. I imported Tom Almy's SCORE command from his 2013 version.
+10. I imported Tom Almy's SCORE, CAPTURE, and CLOAK command from his
+2013 version.
 
 11. I added color.
 
@@ -231,7 +236,7 @@ coverage of the suite.
 Two things to do to the log before dropping it in the test directory:
 
 (a) Strip out all lines beginning with "#curses:" - these are for debugging
-the curses interface and are not needed or regression testing; removing
+the curses interface and are not needed for regression testing; removing
 them makes it easier to see the game commands.
 
 (b) Add a header comment line explaining what the log is a test for.
@@ -297,3 +302,7 @@ clockface-to-radian conversions.  For this reason, and others, the
 trig code is still a bit wacky and obscure.  Modify with caution
 and test thoroughly.
 
+Adding or remobing random() calls is very likely to break lots of
+regression tests. If you have to add new one, wrap them in a
+save/restore of the LCG state; there's an example of this around
+the setup for the Space Thingy.