Eric S. Raymond [Tue, 10 Oct 2006 02:18:09 +0000 (02:18 +0000)]
Get rid of a duplicative variable.
Eric S. Raymond [Tue, 10 Oct 2006 02:09:10 +0000 (02:09 +0000)]
Make some constants into strings for better debugging messages.
Eric S. Raymond [Tue, 10 Oct 2006 01:56:31 +0000 (01:56 +0000)]
Fix translation error that prevented commanders from being hit by torps.
Eric S. Raymond [Tue, 10 Oct 2006 01:14:36 +0000 (01:14 +0000)]
More nomenclature fixes.
Eric S. Raymond [Mon, 9 Oct 2006 23:14:11 +0000 (23:14 +0000)]
Two sources of vast confusion in reading the C code are these:
(1) the code uses x and y as though they're Cartesian coordinate
variables, but (inconsistently) swaps them around so that "x"
variables usually refer to the y direction in the output charts.
(2) Coordinates in the y direction (whether they are x variables or
not) increase *downwards* (charts are printed row zero first).
There is extremely ugly and confusing code in targetcheck() and
getcourse() where two opposite sets of conventions bump up against
each other.
As a first step, towards untangling this mess, we'll change the
nomenclature so that coordinate names refer to 'i' and 'j'
directions, as in matrix indices (i vertical, increasing downwards,
and j horizontal, increasing rightwards). This patch does that for
the coord class members, also fixing two small bugs that turned
up during testing.
More steps will be necessary...
Eric S. Raymond [Mon, 9 Oct 2006 22:51:25 +0000 (22:51 +0000)]
Fix another basic error.
Eric S. Raymond [Mon, 9 Oct 2006 22:40:21 +0000 (22:40 +0000)]
Fix a rather basic error in vector comparisons.
Eric S. Raymond [Mon, 9 Oct 2006 21:53:56 +0000 (21:53 +0000)]
This version of the Python does both navigation and torps correctly.
...but the use of trig and variables is unbelievably snarled (legacy from
the C and FORTRAN code).
Eric S. Raymond [Mon, 9 Oct 2006 20:59:19 +0000 (20:59 +0000)]
Aha! Found the lurking bug in the Python torpedo code. Now to clean up.
Eric S. Raymond [Mon, 9 Oct 2006 18:53:42 +0000 (18:53 +0000)]
Get rid of a special case in the old code.
Eric S. Raymond [Mon, 9 Oct 2006 18:33:55 +0000 (18:33 +0000)]
Dead-code removal.
Stas Sergeev [Mon, 9 Oct 2006 17:41:34 +0000 (17:41 +0000)]
announce doesnt ask for enter
Eric S. Raymond [Mon, 9 Oct 2006 13:31:30 +0000 (13:31 +0000)]
More code slimming in the Python version.
Eric S. Raymond [Mon, 9 Oct 2006 12:55:21 +0000 (12:55 +0000)]
Python logic for torpedo-salvo input seems to work now.
There's still a glitch in the course computation.
Eric S. Raymond [Mon, 9 Oct 2006 00:51:34 +0000 (00:51 +0000)]
Add -s option to Python version. Fix more minor bugs.
Eric S. Raymond [Mon, 9 Oct 2006 00:14:35 +0000 (00:14 +0000)]
Small port fixes.
Eric S. Raymond [Sun, 8 Oct 2006 22:28:32 +0000 (22:28 +0000)]
More refactoring of the Python version.
Eric S. Raymond [Sun, 8 Oct 2006 22:18:25 +0000 (22:18 +0000)]
Use Python list operations to get rid of a lot of FORTRANish for loops.
Eric S. Raymond [Sun, 8 Oct 2006 21:01:59 +0000 (21:01 +0000)]
Found the bad distance/direction calculation.
Eric S. Raymond [Sun, 8 Oct 2006 20:36:51 +0000 (20:36 +0000)]
Various minor port fixes.
Eric S. Raymond [Sun, 8 Oct 2006 09:00:09 +0000 (09:00 +0000)]
Use object methods for vector calculations.
Eric S. Raymond [Sun, 8 Oct 2006 07:59:35 +0000 (07:59 +0000)]
Torpedo logic still isn't right, but we're getting there.
Eric S. Raymond [Sun, 8 Oct 2006 06:35:38 +0000 (06:35 +0000)]
Simplify some corner cases in the scanner code.
Eric S. Raymond [Sun, 8 Oct 2006 06:19:28 +0000 (06:19 +0000)]
Refactored lexical analyzer into a scanner class.
This will make it easier to replace the parser, when we need to do that.
Eric S. Raymond [Sun, 8 Oct 2006 05:49:11 +0000 (05:49 +0000)]
Oops -- fix a typo that broke the scanner.
Eric S. Raymond [Sun, 8 Oct 2006 02:56:00 +0000 (02:56 +0000)]
Fix Tholian motion.
Eric S. Raymond [Sat, 7 Oct 2006 06:40:00 +0000 (06:40 +0000)]
Clear the new quadeant properly, otherwise we end up with ghost features.
Eric S. Raymond [Sat, 7 Oct 2006 04:47:29 +0000 (04:47 +0000)]
Stub out the color support in the Python version.
Direct translation of the C doesn't work. Also fix an argument-type bug.
Eric S. Raymond [Sat, 7 Oct 2006 04:33:02 +0000 (04:33 +0000)]
Preparation for making curses interface work in Python.
Eric S. Raymond [Fri, 6 Oct 2006 20:15:41 +0000 (20:15 +0000)]
Ready to start making the curses interface work.
Eric S. Raymond [Fri, 6 Oct 2006 19:00:27 +0000 (19:00 +0000)]
More code slimming.
Eric S. Raymond [Fri, 6 Oct 2006 18:48:32 +0000 (18:48 +0000)]
Refactor code to refer to enemy objects.
Eric S. Raymond [Fri, 6 Oct 2006 18:14:08 +0000 (18:14 +0000)]
Got through an entire game with this Python version.
Eric S. Raymond [Fri, 6 Oct 2006 15:21:33 +0000 (15:21 +0000)]
Get rid of the nasty old bubble sort in the Python version.
Eric S. Raymond [Fri, 6 Oct 2006 15:08:13 +0000 (15:08 +0000)]
Collect three parallel arrays into an 'enemy' structure.
Eric S. Raymond [Fri, 6 Oct 2006 14:07:40 +0000 (14:07 +0000)]
Fixed bug in Python version's reporting of critical hits.
Eric S. Raymond [Fri, 6 Oct 2006 13:47:54 +0000 (13:47 +0000)]
More port fixes for the Python version.
Eric S. Raymond [Fri, 6 Oct 2006 12:30:27 +0000 (12:30 +0000)]
Bug fix, keyboard interrupt handling, automatic LRSCAN before CHART.
Eric S. Raymond [Fri, 6 Oct 2006 12:01:30 +0000 (12:01 +0000)]
Properly stringify enum value of "sector". Move the command prompt
back to the right place.
Eric S. Raymond [Fri, 6 Oct 2006 11:00:25 +0000 (11:00 +0000)]
Replay facility now captures command-line options.
Eric S. Raymond [Fri, 6 Oct 2006 10:54:05 +0000 (10:54 +0000)]
Replay works now, at least in plain-tty mode
Eric S. Raymond [Fri, 6 Oct 2006 10:21:23 +0000 (10:21 +0000)]
Correct off-by-one bug in placement of Tholian.
Eric S. Raymond [Fri, 6 Oct 2006 09:46:40 +0000 (09:46 +0000)]
Arrange for logging of random-number-generator calls.
Eric S. Raymond [Fri, 6 Oct 2006 03:25:24 +0000 (03:25 +0000)]
Drop out the BSD visual-scan code.
Eric S. Raymond [Fri, 6 Oct 2006 02:16:43 +0000 (02:16 +0000)]
Minor bug fixes, preparatory to finding out why replay doesn't work.
Eric S. Raymond [Fri, 6 Oct 2006 01:19:43 +0000 (01:19 +0000)]
Avoid divide-by-zero error.
Eric S. Raymond [Thu, 5 Oct 2006 22:41:05 +0000 (22:41 +0000)]
Many small port fixes in the Python.
Get rid of game.ithere, we just test whether there is a valid
coordinate object for the Tholian instead. Also, use deepcopy to make
snapshots.
Eric S. Raymond [Thu, 5 Oct 2006 12:42:37 +0000 (12:42 +0000)]
OK, warp flight between quadrants works now.
Eric S. Raymond [Thu, 5 Oct 2006 12:32:27 +0000 (12:32 +0000)]
Various minor fixes to movement code.
...and avoidance of errors raised by indexing with a float.
Eric S. Raymond [Thu, 5 Oct 2006 11:35:24 +0000 (11:35 +0000)]
Local navigation now works in Python.
Flight to other quadrants doesn't yet. (The bugs all appear to be
consequences of moving to zero indexing.)
Eric S. Raymond [Thu, 5 Oct 2006 10:16:15 +0000 (10:16 +0000)]
Get rid of some dead code.
Eric S. Raymond [Thu, 5 Oct 2006 09:53:06 +0000 (09:53 +0000)]
Planet pointer mess cleaned up. planets now works.
Eric S. Raymond [Thu, 5 Oct 2006 09:12:06 +0000 (09:12 +0000)]
status command is almost working. Must resolve the mess with planet pointers.
Eric S. Raymond [Thu, 5 Oct 2006 08:58:28 +0000 (08:58 +0000)]
lrscan, scescan, and chart are working in the Python version.
Eric S. Raymond [Thu, 5 Oct 2006 08:36:54 +0000 (08:36 +0000)]
Eliminate iqhere global in order to get rid of spurious Python warning.
Where we need this flag, we now deduce it from the location of the Thing.
Eric S. Raymond [Thu, 5 Oct 2006 06:56:51 +0000 (06:56 +0000)]
0-origin code gets through initialization OK.
Eric S. Raymond [Thu, 5 Oct 2006 05:47:19 +0000 (05:47 +0000)]
Checkpoint Python version before trying to move to zero-origin indexing.
Eric S. Raymond [Thu, 5 Oct 2006 04:21:56 +0000 (04:21 +0000)]
Python IO queue appears to work.
Eric S. Raymond [Thu, 5 Oct 2006 03:38:44 +0000 (03:38 +0000)]
Python version did its first I/O.
Eric S. Raymond [Thu, 5 Oct 2006 02:30:35 +0000 (02:30 +0000)]
Python translation is syntactically correct. Now for the grotty
part...
Eric S. Raymond [Wed, 4 Oct 2006 22:35:53 +0000 (22:35 +0000)]
setup.py code added to Python translation.
Eric S. Raymond [Wed, 4 Oct 2006 19:24:39 +0000 (19:24 +0000)]
Python translation now incorporates reports.c.
Eric S. Raymond [Wed, 4 Oct 2006 16:37:14 +0000 (16:37 +0000)]
planets.c code incorporated into Python translation.
Eric S. Raymond [Wed, 4 Oct 2006 16:19:35 +0000 (16:19 +0000)]
Code from moving.c incorporated into Python translation.
Eric S. Raymond [Wed, 4 Oct 2006 14:54:15 +0000 (14:54 +0000)]
Incor[porated io.c code into Python translation.
Eric S. Raymond [Wed, 4 Oct 2006 02:22:51 +0000 (02:22 +0000)]
finish.c code incorporated into Python translation.
Eric S. Raymond [Wed, 4 Oct 2006 02:05:50 +0000 (02:05 +0000)]
Correct minor bug in figure-of-merit scoring.
Inhabited-planet kills weren't being figured in. Also make the code clearer.
Eric S. Raymond [Wed, 4 Oct 2006 01:37:55 +0000 (01:37 +0000)]
More of Stas's notes about the time recomputation bug.
Eric S. Raymond [Tue, 3 Oct 2006 19:29:35 +0000 (19:29 +0000)]
Incorporated events.c into Python.
Eric S. Raymond [Tue, 3 Oct 2006 18:19:39 +0000 (18:19 +0000)]
Small cleanups discovered during Python translation.
Stas Sergeev [Tue, 3 Oct 2006 17:19:58 +0000 (17:19 +0000)]
Another rollup patch.
- fixed manual moving
- quick hack to avoid division by zero when calculating game.state.remtime
- fixed some problems with sensors() on ncurses
- small translation fixes
Eric S. Raymond [Tue, 3 Oct 2006 00:19:52 +0000 (00:19 +0000)]
battle.c incorporated into Python translation.
Stas Sergeev [Mon, 2 Oct 2006 19:03:33 +0000 (19:03 +0000)]
adjustments
Eric S. Raymond [Mon, 2 Oct 2006 17:17:04 +0000 (17:17 +0000)]
Eliminate uses of cramlc().
Stas Sergeev [Mon, 2 Oct 2006 17:16:19 +0000 (17:16 +0000)]
oops, revert ocasional change
Stas Sergeev [Mon, 2 Oct 2006 17:13:02 +0000 (17:13 +0000)]
Another rollup patch.
- Enabled more gcc warnings
- Fixed -Wundef warnings
- Fixes to inhabited-worlds code, the attempt to enslave the
uninhabited planet is no longer made.
- Replaced pause_game(true) with announce() and killed the pause_latch()
trick as it leaded to the lost scroll-pauses
- Fixed calculation of destroyed planets
- Made scan() locale-safe
- Translation updates
Gameplay changes:
- Removed the Romulans-guarding-inhabited-worlds behaviour that probably
came from bsd-trek. Frankly, I find it much more annoying than enjoying.
- Added the behaveour of transporter consuming the ship's energy - inspired
by Star Control 2's landing habit. If someone finds this too harsh -
feel free to remove, but I personally find that logical. (!OPTION_PLAIN)
Eric S. Raymond [Mon, 2 Oct 2006 14:47:33 +0000 (14:47 +0000)]
Python translation now includes ai.c.
Eric S. Raymond [Sat, 30 Sep 2006 09:00:49 +0000 (09:00 +0000)]
Get rid of some macros that block mechanical translation.
Eric S. Raymond [Fri, 29 Sep 2006 09:39:24 +0000 (09:39 +0000)]
Create blank objects in all arrays during Python game state initialization.
Eric S. Raymond [Fri, 29 Sep 2006 09:21:09 +0000 (09:21 +0000)]
Reset all structures for stupid literal translation of the game.
Eric S. Raymond [Fri, 29 Sep 2006 07:59:45 +0000 (07:59 +0000)]
Get rid of DESTROY macro.
Eric S. Raymond [Fri, 29 Sep 2006 07:41:43 +0000 (07:41 +0000)]
Get rid of the iterator macros I wrote.
They interfere with mechanical translation.
Eric S. Raymond [Thu, 28 Sep 2006 21:21:33 +0000 (21:21 +0000)]
Hack boxed xcomments so they're easier for a mechanical translator to recognize.
Eric S. Raymond [Thu, 28 Sep 2006 10:52:08 +0000 (10:52 +0000)]
Clean up ugly FORTRANISH names.
It's been years since C public names had a 6-character significance limit.
Eric S. Raymond [Thu, 28 Sep 2006 10:18:52 +0000 (10:18 +0000)]
More cleanup towards automated Python translation.
Eric S. Raymond [Thu, 28 Sep 2006 09:48:31 +0000 (09:48 +0000)]
More elimination of FORTAN-style if statements.
Eric S. Raymond [Thu, 28 Sep 2006 09:34:55 +0000 (09:34 +0000)]
Reset the translation, we're going to redo it with ctopy.
Eric S. Raymond [Thu, 28 Sep 2006 09:19:16 +0000 (09:19 +0000)]
Get rid of obnoxious visible "have we paused?" state.
This change shouldn't make any behavioral difference, but it
simplifies the call sequence and code of a couple of functions.
Eric S. Raymond [Thu, 28 Sep 2006 08:20:52 +0000 (08:20 +0000)]
Change some ugly and misleading names.
Eric S. Raymond [Thu, 28 Sep 2006 08:01:45 +0000 (08:01 +0000)]
Clean up nasty FORTRAN-style if statements.
E.g., with the body on the same line as the guard. They're bad style
and make the code hard to read, and I got fed up,
Eric S. Raymond [Wed, 27 Sep 2006 21:46:35 +0000 (21:46 +0000)]
Parallel cleanups in the C and scratch Python code.
Stas Sergeev [Wed, 27 Sep 2006 16:27:49 +0000 (16:27 +0000)]
bugfix in fry() and translation
Stas Sergeev [Tue, 26 Sep 2006 17:46:57 +0000 (17:46 +0000)]
better fix for is_valid()
Stas Sergeev [Tue, 26 Sep 2006 17:27:51 +0000 (17:27 +0000)]
Yet another rollup patch.
- proper localization of dreprt()
- fixed preport() which didn't work at all
- fixed a nasty bug in photon() which caused a misfired torpedo to proceed
- fixed a very nasty bug in is_valid()
- many translation fixes
Stas Sergeev [Mon, 25 Sep 2006 16:53:11 +0000 (16:53 +0000)]
few assorted adjustments and a fix for #8883
Stas Sergeev [Sun, 24 Sep 2006 14:20:15 +0000 (14:20 +0000)]
fix makehelp.py invocation
Eric S. Raymond [Sun, 24 Sep 2006 11:04:28 +0000 (11:04 +0000)]
Trial Python now incorporates ai.c
Stas Sergeev [Fri, 22 Sep 2006 17:09:23 +0000 (17:09 +0000)]
Another rollup patch.
- use ARRAY_SIZE
- cleaned up srscan()
- introduced a separate ncurses window for status
- removed completed TODO entries
- fixed SIGSEGV in tty mode when env LINES is undefined (always!)
- made "Please enter password" message visible
- made the above message to appear for OPTION_PLAIN instead of !OPTION_CURSES
- killed enqueue()
- localized status() (added helper prstat() )
- enabled gcc to check the format arguments, which uncovered a lot of
the real bugs!
- fixed the bugs uncovered by the gcc format checking (the last one in
ai.c is left for Eric :)
- fixed problem with skip(): it relied on "linecount", but "linecount"
doesn't increment when you enter the multiline answers, like, for example,
the torpedo courses. The fix works only in curses mode though - no idea
how to fix this for tty.
- localized prouts(), however, not very cleanly. Any help is appreciated,
see the added comments.
Eric S. Raymond [Fri, 22 Sep 2006 16:18:30 +0000 (16:18 +0000)]
Beginning of experimental Python translation.
The initial file is definitions corresponding to sst.h.
Eric S. Raymond [Fri, 22 Sep 2006 14:11:43 +0000 (14:11 +0000)]
Added appending on development timeline.