Clean-Up

2009-03-03

Rather than keeping other improvements from going in while the new data format is under development, I’m treating that as a separate branch and continuing on the existing codebase in parallel for now. A new style guide has been added, and the code itself improved to meet it. Highlights:

  • reformatted with three-space tabstops
  • all lines wrapped to fewer than 80 characters
  • modules imported within the objects requiring them
  • replaced the previously included カタルシス // Katarsis data with a much smaller, simplified sample dataset

Still Going…

2009-02-15

I know I’m long overdue for an update here… sorry! The project definitely isn’t dead, just a little slow at the moment. I’ve had very little spare time over the past year, and getting through the implementation for the new data model has been one of those boring things which has to get done before I feel like I can move forward adding any new features.

On that note, the example data loader is being refreshed with my work in progress on what will eventually become the data.py module. I’ve worked out most of the hiccups with recursive inheritance in data elements (check out the ancestors() and inherited() functions), but I still need to incorporate a short-circuited inheritance descender into the get() function. After that, the save routines need to be assembled, the code needs to be re-flowed and heavily commented, and then I should be ready to incorporate it into a new release without introducing any known regressions in functionality.

Stay tuned!

Maintenance Release

2007-10-07

I just fixed a handful of typographical errors in data and embedded text strings… nothing major. I’m still working separately through some of the more significant, architectural updates to the engine and data model, but I won’t be releasing that branch of the code until I have something which actually runs.

Today I added a new $(inc:<filename>) expansion macro, which allows injection of file contents into text output. It is a little dangerous at the moment, and could probably stand to be locked to read-only data (but the same goes for the existing eval-based facets as well, so I’ve added this to the to do list).

While I was testing, I exposed and fixed an infinite recursion bug in the macro expansion routine, not to mention noticing a major speed-up by moving a bunch of static assignments out of the search loop (oops!).

Text Wrapping Fixes

2007-08-12

The text wrapping routines saw some needed fixes today. The first was for a bug wherein Telnet IAC sequences were counted toward line length (most noticeable following the password prompt at login, when the next block of output gets an echo on sequence prepended). The second corrected an implementation oversight where the CR in a Telnet CR+LF line terminator was counted toward the line length, leading to wrapping one character early if a preterminated line happened to be just as long as the configured wrap width.