Reply-To: "Kent Tessman" <kent@remove-to-reply.generalcoffee.com>
From: "Kent Tessman" <kent@remove-to-reply.generalcoffee.com>
Newsgroups: rec.arts.int-fiction,rec.games.int-fiction
Subject: Hugo update
Lines: 146
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <kc%m8.25552$mZ3.2561419@news20.bellglobal.com>
Date: Sat, 23 Mar 2002 08:13:50 -0500
NNTP-Posting-Host: 64.231.205.170
X-Complaints-To: abuse@sympatico.ca
X-Trace: news20.bellglobal.com 1016889232 64.231.205.170 (Sat, 23 Mar 2002 08:13:52 EST)
NNTP-Posting-Date: Sat, 23 Mar 2002 08:13:52 EST
Organization: Bell Sympatico
Path: news.duke.edu!newsgate.duke.edu!news-hog.berkeley.edu!ucberkeley!cyclone.bc.net!torn!webster!nf1.bellglobal.com!nf2.bellglobal.com!news20.bellglobal.com.POSTED!not-for-mail
Xref: news.duke.edu rec.arts.int-fiction:102051 rec.games.int-fiction:69372

[My apologies if this has been posted twice; my newsreader crashed seemingly
mid-post.]

I've uploaded v3.0.04 of Hugo to the IF Archive at http://www.ifarchive.org.
This is only a minor version number bump, but it represents a number of
significant improvements, both inside and out.  For those who don't want to
read the changelog in detail, here's a brief summary of the things users
might notice most:

Compiler improvements.  Substantial improvements to the engine's
text-renderer (on all platforms).  Cosmetic fixes for Windows and Macintosh.
Even more Macintosh cosmetic touch-ups.  Optional smart-rendering for
Windows and Macintosh for typographic quotes, etc.  The official Palm port
release.  Enhancements to library power and flexibility.  Lots more.

This also marks the upgrading of most remaining v2.5 ports to v3.0 (at least
those maintained by me).

Comments, suggestions, and anything else are welcome.

--Kent


Here's the more detailed change list (the file list will follow):

- BeOS - optimized pre-calculation of text spacing
- Win32 - fixed updating issues post-restart (after image drawing)
- debugger breaks now when a DebugMessageBox is displayed
- Win32 - skips mouse click as input when setting app focus
- hugolib.h - Parse now checks player.before:{player PreParse}
- added display.needs_repaint property (settable by the individual
  port depending on if the window is resized or otherwise changed),
  implemented on:  Win32, wxWindows (Linux), BeOS
- Win32 - added most-recent-files list to engine/debugger
- put a cap on adjectives in SetObjWord in hugolib.h to match
  MAX_MOBJ in heparse.c (which is set to 16 words in total:
  15 adjectives + 1 noun)
- removed useless #defines for 'and', 'or', and 'not'
- removed need for -fwritable-strings when compiling with gcc
- wxMac - fixed MikMod bug where a sample would only play when
  music was playing
- Windows, BeOS, wxWindows - added text buffer to for selecting
  text from the display
- Windows, BeOS, wxWindows - key toggle for sound on/off
- BeOS - hugo_charwidth() was incorrectly returning FIXEDCHARWIDTH
  for a non-proportional FORCED_SPACE
- better boundschecking for objects in PropAddr()
- better writefile security:  only 8 character or less alphanumeric
  filenames are allowed (not extensions, path separators, etc.)
- hugolib.h - changed ListObjects to list for objects that are both
  containers _and_ platforms (for SuperContainer functionality)
- added a proper fullscreen mode to the Windows engine
- updated all Kent's ports (except 16-bit simple) to v3.0
- fixed FindObject in hugolib.h to only set best_parse_rank
  if the object was actually found
- heparse.c - MatchObject() now prefers Available() objects for an
  'anything' token
- added GAME_RESET system() constant which is set after an undo
  or restore
- heparse.c - MatchObject() now offers "Better start with a verb"
  when no object match is made at the start of the input, instead of
  "You haven't seen any..."
- added hcreset.c to compiler sources
- Windows - changed compass rose shortcut to Ctrl+C from Ctrl+M
- Windows -  wasn't properly updating if compass rose showing initially
- fixed stack depth handling of labels in complex property blocks
- BeOS - added override_updating for context commands and word selection
- Windows - removed second simultaneous DirectSound playback buffer
- Compiler properly handles Mac-format text files
- fixed rare inaccurate line offset (and vertical input-positioning) in
  Windows, BeOS, and wxWindows
- resource files can now contain > 17 MB of data each (actually now up
  to 2,147,483,648 bytes, or 2048 MB)
- BeOS - screen properly redraws before Quit confirmation dialog
- hugolib.h - better handling of negative parse_rank properties
- hugolib.h - fixed FindObject for dealing with DoGet and similarly
  named objects (where one or more may be held)
- objlib.h - cleanup to attachable class, particularly with regard to
  attach_take and detach_take
- debgger wasn't properly displaying routine names during player input
- herun.c - fixed getting property of return value of function, as in
  Function(arg).property
- Mac - wxHugo now properly launches a double-clicked game file from
  the Finder
- Palm - occasional (non-reproducible but speculatively explicable)
  saving crash should be fixed
- Windows - better handling of international character sets
- compiler no longer prints banner by default
- fixed line-spacing bug for mixed prop/non-prop fonts under Windows
- hcmisc.c - removed '-e' switch for expanded error format
- hcdef.c - better compile-time initialization (CheckInitializer())
- mouse clicks now set display.pointer_x and display.pointer_y instead
  of cursor_column and cursor_row properties
- parser now loads all recognized words into the word[] array, even if
  it encounters an unrecognized one
- Windows - nicer, thicker border for non-maximized game window
- Terminal ports where the rightmost column forces a linefeed now have
  TERMINAL_LINEFEED #defined; non-Kent ports now #define this for
  consistency in heheader.h.  This helps in managing non-proportional
  printing for GUI ports.
- he - fixes to AP() for correctly optimizing font changes mid-string
- hugolib.h - change to FindObject() for objects that are supposed to
  be in a specific parent being found available regardless
- Windows, Mac - optional smart-formatting for curly quotes, etc.
- hugolib.h - Parse() attempts to differentiate "her" pronoun from
  "her" possessive
- Windows - hejpeg.c only calls update when there's a scroll_offset


And here's the file list:

For players and developers:
hugov30_win32.zip           - Windows executables
hugov30_beosx86.zip         - BeOS x86 executables
hugov30_beosppc.zip         - BeOS PowerPC executables
hugov30_linux.tar.gz        - Linux executables (x86)
hugov30_wxwin_linux.tar.gz  - Linux engine (for X Windows)
hugov30_wxwin_mac.sit       - Macintosh engine (wxWindows/PPC only)
hugov30_palm.sit            - PalmOS engine (PalmOS 3.5 and later)
hugov30_32bit.zip           - 32-bit (386+) DOS executables
hdgr.zip                    - 32-bit DOS graphical debugger
hugov30_16bit.zip           - 16-bit (sub-386) DOS executables
hugov25_16bit_simple.zip    - speech-friendly DOS engine (v2.5)
hugov30_winglk.zip          - Glk executables for Win32
hugov30_macglk.sit          - Glk executables for Macintosh (PPC/68K)

For developers:
hugolib.zip                 - Hugo Library

For porters:
hugov30_source.tar.gz       - Main portable sources
hugov30_beos_source.zip     - BeOS source
hugov30_unix_source.tar.gz  - Unix source
hugov30_win32_source.zip    - Win32 source (v2.5 and v3.0)
hugov30_wxwin_source.tar.gz - wxWindows source
hugov30_wxmac_source.sit    - wxWindows source (for Mac)

--
Kent Tessman
The General Coffee Company Film Productions
http://www.generalcoffee.com





