| Hugo Change Log | |
| --------------- | |
| To do: | |
| ------ | |
| v3.1.03 - 5-Jan-05 | |
| ------------------ | |
| - Windows - fixed improper shared resizing/moving behavior affecting | |
| in-game windows | |
| - Windows - hetalk.cpp's speech_speak_status wasn't being obeyed | |
| for overriding speaking status window text | |
| - Pocket PC - fixed "..." button to bring up in-game context menu first, | |
| then user-selected word menu | |
| - GetVal() was incorrectly saving local variable undo information | |
| - objlib.h - added DoPutIn before rule to component class | |
| v3.1.02 - 18-Jan-05 | |
| ------------------- | |
| - verbstub.h - added CheckReach calls to relevant stub verbroutines | |
| - hugolib.h - added FINDOBJECT_NONLIVING flag for better ParseError phrasing | |
| - Linux - improved packaging for binaries | |
| - Pocket PC - screen positioning problem if started with keyboard showing | |
| - Pocket PC - properly uses program directory for PocketHugo.settings | |
| - hemisc.c - fixed FileIO() path generation for file reading/writing | |
| - hugolib.h - >GET UNKNOWN FROM X no longer mentions the unknown object | |
| - Pocket PC - added LoadDefaultCESettingsFile() in addition to | |
| LoadCESettingsFile() to fix loading/saving setting files | |
| - Pocket PC - LoadDefaultCESettingsFile() moved from LoadRegistryDefaults() | |
| to SetupCEWindow() | |
| - Pocket PC - fixed improper system() time value in hugo_gettimeformatted() | |
| - Pocket PC - addressed minor graphics corruption with image display | |
| - Palm - fixed failed crash on long resource names | |
| - MAX_RES_PATH now used in heres.c; defaults to length of 255 | |
| - Pocket PC - properly handles changes in screen orientation under Windows | |
| Mobile 2003 | |
| - Windows - SetClientDimensions() explicitly called in WinMain()--to avoid | |
| potential wrong startup behavior under WinCE | |
| v3.1.01 - 18-Sep-04 | |
| ------------------- | |
| - change fcolor, bgcolor, icolor, default_bgcolor to explicit 'signed char' | |
| - fixed font-size-related linespacing issue with wxWidgets ports (Mac/Linux) | |
| - hemisc.c - sanity check in Printout() for mismatched font heights | |
| - increased default initial window size for wxWidgets ports | |
| - Windows - 04-Jan-05 update: | |
| - Windows - changing colors screws up background of first-printed line | |
| - Windows - debugger's "Code" window not showing up properly | |
| v3.1 - 7-Aug-04 | |
| --------------- | |
| - herun.c - added 'isxverb' argument to Perform calls for v3.1 and later | |
| - hemisc.c - SetupDisplay() sets default fore/back colors properly | |
| - Windows - getline_active toggled for menu-selected Restart | |
| - compiler - put back '-e' switch for expanded error format | |
| - various - hugo_scrollwindowup() doesn't call TB_Scroll() for sub-line | |
| lineheight values | |
| - hemisc.c - added contingency TB_AddWord() call to Flushpbuffer() | |
| - Windows, BeOS, Mac, Linux - improved client resizing behavior | |
| - Palm - cached WinHandle for push/pop draw state in RunDialog() | |
| - BeOS - MediaView.cpp - video playback fix using wildcard rowbytes | |
| - Windows - fixed spacing/linewrap issue for bold fixed printing | |
| - hemisc.c - added pre-scrolling PromptMore() check | |
| - Palm - saves context menu, command-input font, scrollback for AutoResume() | |
| - Windows - wndCompassProc calls RedrawWindow(wndMain) when moving compass | |
| - heparse.c - enhanced behavior of disambiguation calls within MatchObject() | |
| where multiple objects are used (resulting in multiple pobjcount) | |
| - hccode.c - proper resolving for, e.g., "if RoutineName = val1, val2..." | |
| - heset.c - fixed bug in: array[n] |= value | |
| - herun.c - RunGame() now checks for blank ('""') parsestr before setting | |
| parseerr | |
| - compiler - options no longer explicitly list -25 switch | |
| - herun.c - input color always defaults to fcolor if no 3rd arg is given | |
| - Windows - MikMod always uses wndMain for DirectSound focus via hwndMikMod | |
| - various - updated hugo_splitpath() functions to sanity-check extension | |
| for empty filename | |
| - Win32/WinCE - improved Unicode support | |
| - hcbuild.c - 'break' can also cause 'Statement will never be reached' | |
| - hemisc.c - PromptMore() sets background more intelligently, before | |
| pausing (where appropriate) | |
| - Windows - better mousewheel and scrolling behavior in child windows | |
| - MatchObject - calls ParseError(6) for unmatchable object at start of | |
| command instead of ParseError(2) | |
| - hdwin.c - greatly optimized textgrid redraw for Windows debugger | |
| - hugolib.h - fixes to tall-style listing of objects | |
| - Mac, Linux - MikMod_Update() now may be called from a thread to avoid | |
| blocking on disk i/o | |
| - debugger - better maintenance of dbnest for JUMP_T | |
| - Windows - implemented proper Copy functionality for debugger windows | |
| - debugger - RunRoutine() properly resets dbnest _before_ BREAK_T stack pop | |
| - debugger - EnterSearch() no longer always puts found search at top | |
| of window | |
| - Windows - debugger was getting confused switching to game screen with | |
| scrollback active | |
| - hugolib.h - fine-tuning of identical_class and ParsePluralObjects | |
| - hugolib.h - added ImplicitTake and ImplicitTakeForDrop | |
| - herun.c - prevented multiple listing of local variables in debugger | |
| - Windows - additional update calls for debugger when switching between | |
| game/debug screens to keep displays up to date (hdnewwin.c) | |
| - heparse.c - MatchObject() disallows improper >GET ALL OBJECT, etc. | |
| - heset.c - fixed wrongly calculating af_addr in GetAnonymousFunction() | |
| - library - test implementation of USE_CHECKHELD | |
| - Palm - temporary fixed-font workaround for 1.5-density displays | |
| - hccode.c - fixed comma-separated conditionals for long initial comparison | |
| value constructions in CodeLine() | |
| - heobject.c - proper setting of complex property breakpoints (before/after) | |
| - hdmisc.c - fixed shared allocation of non-routine-name strings in | |
| RoutineName() | |
| - heparse.c - already_got_multicheck to account for grammar that mixes | |
| multi and non-multi tokens | |
| - hemisc.c - In-text newlines set fcolor/bgcolor just in case--mainly | |
| in case a PromptMore() comes after a color change but before Printout() | |
| - hemisc.c - SetupDisplay() uses 16/17 instead of DEF_FCOLOR/DEF_BGCOLOR | |
| - Palm - fixed possible initial input text buffer offset in hugo_getline() | |
| (caused by hugo_scrollwindowup() from hugo_print()) | |
| - hugolib.h - better handling of "again" in Parse so >I. G. doesn't loop | |
| v3.7.07a 8-Feb-04 | |
| ----------------- | |
| - Windows - changed installation to Inno Setup; David Kinder noted a couple | |
| of issues installing as a non-admin user on multiuser NT machine | |
| v3.0.07 15-Jan-04 | |
| ----------------- | |
| - Palm - should accommodate nonstandard display sizes (like Sony Clie) better | |
| - Palm - now gives an error when restoring settings if none are available | |
| - Windows, Mac, X11, BeOS, PocketPC - option for graphics smoothing using | |
| bilinear filtering of resized images | |
| - Windows - compiler front-end now uses WaitForSingleObject() | |
| - hccode.c - proper error on 'print capital; ...' | |
| - hcwin.c - properly accommodates pathnames with spaces | |
| - hewin.c - processes WM_EXITMENULOOP to redraw corrupted video post-menu | |
| - Windows - front-end dialogs properly scroll horizontally for long filenames | |
| - Windows - fixed build structure for third-party libraries in 'lib' folder | |
| - Windows - added SAPI 4.0 speech support to engine/debugger (with thanks to | |
| David Kinder) | |
| - Windows CE/Pocket PC port ready for release | |
| - Windows - option to turn off speaking in statusline window | |
| - Palm - fix to hugo2pdb by Chris Tate - for the recently shipped PalmOS 6, | |
| games may have to be reconverted to PDB format | |
| - Glk - fix to hugo_settextpos() adding glk_window_clear() by Simon Baldwin | |
| - Mac - QDFlushPortBuffer() in HECanvas::Update() to speed OS X updating | |
| - Glk - graphics display capability added (at least in XGlk) by Simon Baldwin | |
| - Palm - FldDelete(fieldP, 0, MAXBUFFER) changed to non-debug-warning | |
| FldDelete(fieldP, 0, FldGetTextLength(fieldP)) by Chris Tate | |
| - heparse.c - MatchObject() recursive call now utilizes better adjective-noun, | |
| etc. disambiguation | |
| - Mac - fixed lockup in wxMac's macnotify.cpp | |
| - Mac - recompiled libmikmod to address sporadic audio-related crash | |
| - hugolib.h - added found_in property to plural/identical classes | |
| - heparse.c - >OOPS IT wasn't working properly - added another call to | |
| library Parse() after oops-handling | |
| - hugolib.h - last single object preferred for final disambiguation | |
| - Windows - added progress bar and Cancel button to compiler front-end | |
| - Palm - clean-up of sources by Chris Tate | |
| - address_scale to change to 16 for v3.1-compiled executables | |
| v3.0.06 - 27-Jun-03 | |
| ------------------- | |
| - hemisc.c - fixed font-changing bug in linebreaking code | |
| - objlib.h - improvements to obstacle-finding algorithm for attachables | |
| - objlib.h - renamed system routines for attachables for greater clarity | |
| - hugolib.h - CheckReach now takes into account attached objects as reachable | |
| (as do objlib.h's AttachObject and DetachObject) | |
| - hdmisc.c - fixed retrieval of routine names for upper-range packed addresses | |
| - Palm - put additional "..." for context menus at bottom of menu | |
| - heparse.c - "all" (actually TryObj()) now only considers nameable objects | |
| - heparse.c - better built-in ambiguous ParseError for multiple Parse() calls | |
| - Palm - turning off colors (in engine options) should make everything black | |
| on white--unless colors are statusline defaults | |
| - Palm - default game .PDB size changed back to 4K | |
| - Palm - much more highly optimized memory management for substantial | |
| performance improvement | |
| - hemisc.c - Printout() tweaked to avoid spurious [MORE] prompts | |
| - Palm - games should load and run on devices with as little as 2 MB of RAM | |
| - Palm - added progress bar for extended file operations | |
| - Mac - fixed mis-centering of initial window | |
| - engine - fixed undoing of setting object.property, which was broken in the | |
| previous version (in RunSet()) | |
| - Windows - fixed "key-sticking" problem in hugo_print() (due to PM_NOREMOVE | |
| combined with processing key messages) | |
| - Windows - attempted to reduce unnecessary CPU usage in hugo_getkey() and | |
| video playback | |
| - engine - all 'system' calls now flush the printing buffer | |
| - engine - fixed non-printing bug for printchar ' ' (ASCII 32) | |
| - hemisc.c - fix color-bleeding problem in AP() when breaking a line | |
| with mixed colors over a [MORE] prompt | |
| - hemisc.c - 'script' command wasn't checking for file-overwrite | |
| - MatchObject() - "but", "except", etc. not allowed for xobject parsing | |
| - MatchWord() - tweaked setting of domain from pobj to objlist[0] | |
| - heparse.c - better engine handling of "all", etc., with AddAllObjects() | |
| - heparse.c - fixed case of no grammar match in directed command | |
| trying to find speaking twice | |
| - Mac - fixed startup window positioning | |
| - wxWindows - updated Mac and Linux to compile with wxWindows 2.4.0 stable | |
| - Windows - rewrote and optimized JPEG renderer | |
| - BeOS - realigned JPEG and video renderer placement algorithms | |
| - Windows, BeOS, Linux, Mac - fixed linefeed background coloring | |
| - debugger - fixed potential output overwrites by using debug_line | |
| - MatchWord() - if verbroutine unknown at xobject disambig., figure it out | |
| - hugolib.h - modified DoLook to list container/platform contents, by default | |
| - 32-bit DOS port rebuilt with updated djgpp; now works with Windows XP | |
| - Mac OS X - command-line development tools now linked for OS X 10.2 | |
| - Windows - improved buffering for faster text rendering | |
| - Palm - fixed setting of input (i.e., field) colors | |
| - Windows - better buffering of text on Windows side for printing | |
| - heparse.c - additional disambiguation check for clarification question | |
| where a single entered word equals a single object's name | |
| - debugger - runaway_counter properly reset when for multi-command input | |
| - hugofix.h - added parse_rank monitoring (in tandem with FindObject) | |
| - MatchObject() - added initial disambiguation clarification disqualification | |
| - hugolib.h - FindObject() tweaks parse_rank for certain verbs + attributes | |
| - engine - inlined memory accessors for speed | |
| - hebuffer.c - fixed buffer reading of cells with non-ASCII characters | |
| - hcbuild.c - fixed crash with inheriting multiple comma-separated classes | |
| - objlib.h - much improved reflexive-pronoun handling | |
| - heset.c - array[n] |= val wasn't setting the element properly | |
| - verblib.h - DoGo now checks "You'll have to get up first" earlier | |
| - heset.c - fixed assignment of anonymous functions for non-properties | |
| - Linux - Alex Butcher submitted a patch for building against wxGTK2.4 | |
| on Red Hat 8.0 | |
| - resource.h - fixed PictureInText for hopefully better bottom-of-screen | |
| alignment | |
| - compiler - fixed array definition with error in size identifier | |
| - Windows - engine/debugger - improved MRU file list management | |
| - hemisc.c - Max Cotin found a bug with trying to print Cyrillic | |
| characters | |
| - Windows - also fixed a bug with printing non-Latin-1 characters | |
| in proportional font | |
| - Windows - non-fast-scrolling was jerky for intermixed text/graphics | |
| - hugofix.h - added a "check articles" capability to the HugoFix library | |
| - heexpr.c - parse$ and string$ weren't being properly evaluated as | |
| standalone values | |
| - heparse.c - fixed condition where "and", etc. used in an xobject | |
| wasn't getting flagged | |
| - simple return statements are now tail-recursive on the runtime side | |
| - Windows - fixed a bug where a sample would try to play despite sound | |
| being disabled | |
| - icons redone for cross-platform consistency | |
| - 'word' in grammar now sets object_is_number | |
| - hugolib.h - added NewParseError to allow selective error replacement | |
| - hemisc.c - Printout() plays nicer with RunWindow() and font changes | |
| - hemisc.c - further AP() print optimizations eliminate duplicate font | |
| changes | |
| - hewin - unnecessarily updating before drawing a graphic--changed | |
| UpdateClient(true) to false in hejpeg.c | |
| - compiler now reports missing brace at the start of the object/etc. | |
| instead of at end-of-file in DefOther() | |
| - FindWord() improvements for faster dictionary searching | |
| - Windows - fixed default font selection charsets | |
| - Mac - changed package name to hugov30_macos.sit | |
| v3.0.05 - 11-Dec-02 | |
| ------------------- | |
| - No longer building "v2.5" executables per se; COMPILE_V25 results in | |
| a version number like "v3.0.05 (2.5)" | |
| - Windows - fixed flickering when video finished playing in fullscreen | |
| - Windows - fixed async updating in hugo_playvideo() for XP | |
| - Mac - Carbonized app now runs on both OS X and OS 9/earlier | |
| - Windows - fixed changing of fonts in-game and font/line clipping | |
| - hcres.c - sped up building of resourcefiles using TRANSFER_BLOCK_SIZE | |
| - hemisc.c - AP() - fixed smart-formatting where a line begins with "--" | |
| - Windows, wxWin (Linux and Mac), BeOS, Palm - changed so that Story | |
| menu functions Save, Restore, and Undo pass an actual "typed" string | |
| - Windows XP - video disappeared when changing window size | |
| - Windows - fixed off-by-one error on bottom of statusline during video | |
| - provided a monochrome mode for ncurses-based debugger (for non-color | |
| terminals, such as xterm or OS X Terminal) | |
| - hugolib.h - better (object-based) handling of pronouns (currently | |
| turned off because it doesn't yet work perfectly) | |
| - hugolib.h - more sensible parser errors thanks to implementation | |
| of parser_status | |
| - hugolib.h - moved SetupDirectionObjects from Perform into its own | |
| routine | |
| - Windows - compiler front-end now behaves properly if the program | |
| location contains a space (such as "C:\Program Files\Hugo") | |
| - Mac - proper color-selector widget | |
| - fixed line-counting bug left over from text-rendering rewrite by | |
| adding currentline to SAVED_WINDOW_DATA struct | |
| - added system(SYSTEM_TIME) call to engine (and resource.h) | |
| - resource.h - GetSystemTimeValue(TIME_CONSTANT) added | |
| - compiler - fixed BuildEvent() to correct local-variable count | |
| (causing improper local name display in debugger) | |
| - fixed return-value bug when calling runevents from a property routine | |
| - objlib.h - components have an additional built-in scoper that | |
| makes them known if their "parent" is known | |
| - debugger - fixed stepping out of a routine call that was not originally | |
| stepped into | |
| - debugger - saving/loading of additional preferences, such as runtime | |
| warnings and nesting formatting | |
| - hugolib.h - changes to indent-overriding allowing ShortDescribe to | |
| override indenting completely (including AFTER_PERIOD) | |
| - Mac - scrollback window | |
| - debugger - 'runevents' wasn't being stepped over properly | |
| - debugger - multiple matched blocks of a complex property weren't being | |
| stepped over properly | |
| - herun.c - RunWindow() calls hugo_settextpos() at close instead of | |
| resetting current_text_y directly | |
| - hugolib.h - tweaked disambiguation of pronoun vs. possessive "her" | |
| - Windows - fixed all-at-once updating of input line with when | |
| override_update_client is true (for context menus) | |
| - heparse.c - fixed ordering of word[] and wd[] restore after a | |
| disambiguation GetCommand() | |
| - heparse.c - reset odomain = 0 in MatchCommand() after NextStructure in | |
| case a previous HELD_T or MULTIHELD_T grammar is found invalid | |
| - hebuffer.c - fixed storing/retrieval of text cells with smart-formatted | |
| characters | |
| - hepass.c, hedef.c - changes to when CreateResourceFile() is called in | |
| order to allow compiler directives within resource blocks | |
| - compiler - can now report total number of files compiled | |
| - wxWin - hugo_getfilename() uses wxOVERWRITE_PROMPT, making | |
| hugo_overwrite() redundant | |
| - Mac - now has proper scrollback | |
| - wxWin - fixed incorrect saving of some font information when font-chooser | |
| dialog is cancelled | |
| - Mac - better font selector dialog | |
| - Mac - added compass rose | |
| - Mac - added support for video (AVI/MPEG) and MIDI/MP3 | |
| - Mac - changed default Mac type/creator for Hugo games to Hugo/HUGO | |
| - Unix he/hd - fixed bug with pressing Delete at the end of an input | |
| - Palm - fixed non-repainting of prompt when returning to game screen | |
| - Palm - fixed field colors to use proper system defaults | |
| - smart formatting option for both Palm and BeOS | |
| - Palm - fixed text buffering of formatted text to correct display glitches | |
| - Palm - changing default blocksize of game .pdb files to 32 kB improves | |
| performance up to 8 times, in places (with other optimizations) | |
| - Windows - shell properly enters .hex file into Recent Documents | |
| - heparse.c - properly account for property routines in ObjWord() | |
| - engine - implemented obj_parselist to predetermine what objects have | |
| noun/adjective properties | |
| - PalmHugo - fixed sizing of "..." button popup and memory leak for entry[0] | |
| - engine - changed implementations of hugo_getkey() to allow proper | |
| reporting of values > 127 (Windows, Mac, Linux, BeOS, Palm) | |
| - Windows - fixed encoding of application-specific "control characters" to | |
| not interfere with Latin-1 range on input | |
| - compiler - fixed overflow crash with misplaced quotes in long lines of | |
| text (and other very long error lines) | |
| - engine - MoveObj() always moves an object, regardless of whether it was | |
| already in the specified new parent (for reordering capability) | |
| - heparse.c - various speed optimizations | |
| - compiler - stricter checking of verb definition headers | |
| - BeOS, wxWindows - needed to set getline_active = false after menu-based | |
| restart--otherwise a mouse-click wouldn't work on an initial [MORE] prompt | |
| - fixed lingering DOS/Mac/Unix line-ending counting problem | |
| - file i/o (readfile and writefile) now better constrained to the engine's | |
| program or user's home directory, where appropriate for OS | |
| - wxHugo - fixed off-by-one error in updating | |
| - heparse.c - substantial improvement to how MatchWord() and MatchObject() | |
| find the xobject--which also fixes a bug regarding trailing dict. words | |
| - heparse.c - fixed end-of-MatchObject() disambiguation when speaking | |
| to a character and no valid object is found | |
| - fixed stepping issues with debugger in RunRoutine() by setting | |
| debugger_interrupt = false if debugger_step_over is true | |
| - RunSet() was sending the property length to SaveUndo() instead of the | |
| property element--Undo() takes care of resetting the length anyway | |
| - compiler - added fatal error for end-of-file before #endif | |
| - debugger - fixed decoding of readfile/writefile lines | |
| - Palm - fixed bug with printing underlined fixed-width text | |
| - Win32 - Windows port converted to Unicode | |
| - Win32 - ported to compile under Windows CE (eVC++ 4.0/WCE SDK) | |
| - herun.c - added #ifdef NO_STRFTIME for PalmOS, WinCE; moved OS-specific | |
| strftime() replacement(s) to hugo_gettimeformatted() | |
| - Mac - added option to use Quartz text rendering on OS X (10.1.5 or later) | |
| - Win32 - fixed additional non-updating bug in hevideo.cpp for XP | |
| - Win32 - worked around the one-letter-printing effect after playing video | |
| - heparse.c - generalized disambiguation for non-player actors | |
| - hemisc.c - fixed a line-count bug due to a rounding error in AP() | |
| - engine - added MINIMAL_INTERFACE system() constant for Glk, etc. | |
| - various - fixed bug with scrollback text leaving old text at end | |
| - hugolib.h - added activate_event and deactivate_event properties | |
| for fuses and daemons | |
| - Mac - filetyper utility is now written in AppleScript | |
| v3.0.04/v2.5.04 (22-Mar-02) | |
| --------------------------- | |
| - 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 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 | |
| v3.0.01d/v2.5.03d (9-Sep-01) | |
| ----------------- | |
| - Win32 - fixed proportional/underline printing broken in last release | |
| - changed hugov25_win32_source.zip to hugov30_win32_source.zip | |
| - fixed setting of 'full = 0' in GetCommand() to avoid unnecessary | |
| "[MORE...]" prompt | |
| - BeOS - Made Alt+C do a copy, not bring up the compass in the | |
| scrollback window | |
| - 'local n = <non-static value>' now gives appropriate compiler | |
| warning | |
| - BeOS - hugo_settextwindow() was one pixel too tall (low) | |
| - BeOS - fixed bottom boundary of displayed images, also | |
| - BeOS - caret was left visible on menu restart/restore/save | |
| - changed hemisc.c SpecialChar() constants to hex values | |
| - removed em-dash (code 151) from SpecialChar() due to lack of | |
| cross-platform support | |
| - Win32 - fixed misbehaving video playback after several plays | |
| by making dcMain local, not global | |
| - Win32 - rewrote video playback subsystem in C++ | |
| - Win32 - fixed positioning of video window in async threaded | |
| (background) playback | |
| - hugolib.h - Fixes to FindObject() for non-present objects | |
| - heparse.c - Fixed final disambiguation bug in MatchObject() | |
| (added k--) to not skip over object post-SubtractPobject() | |
| - Modified MikMod v2.09 to play WAV files with a RIFF 'fact' chunk | |
| - BeOS - change to calculation of ao->trackTime in AudioOutput.cpp | |
| - IMPORTANT: Changes to PlayMusic and PlaySound in resource.h; | |
| Hugo programs using these will need calling arguments modified | |
| - BeOS - fixed threading sync by adding quit_he_thread = true to | |
| HugoWindow::QuitRequested() | |
| - PromptMore() now clears key buffer every time | |
| - BeOS - removed redundant overwrite confirmation | |
| - Win32 - fixed image scaling making maxheight or maxwidth < 0 | |
| - Win32 - fixed typing flicker during background video playback | |
| - Win32 - async video playback waits for video to actually start | |
| - hugolib.h - changed SetObjWord to skip "" for nouns/adjectives | |
| - "hc <filename.hex>" (by accident) is no longer valid (as it would | |
| delete filename.hex) | |
| - fixed compiling/handling of user-defined $complex properties | |
| - removed Win32 DirectSound volume fiddling to try to increase | |
| cross-platform audio level consistency | |
| - Fixed 'Syntax' lines to use argv[0], not "he" or "hc", etc. | |
| - Fixed loading of some MODs in heres.c | |
| - hccode.c - fixed potential buffer overflow with some errors | |
| - Win32 - less updating when drawing multiple images in succession | |
| - hc - successive block comments with no newline between wrongly | |
| caused an error | |
| - Win32 - fixed potential crash when stopping a sync-started video | |
| - BeOS - fixed intermittent off-by-one error in view updating | |
| - hugolib.h - Parse() - added additional words for referring to | |
| it_obj, him_obj, etc. | |
| - verbstub.h - Made verb default responses player-person agnostic | |
| - BeOS - fixed an off-by-one error in picture.cpp's DisplayBBitmap() | |
| - hemisc.c - better runtime error checking of $MAXDICTEXTEND | |
| - BeOS - added file attributes for Title, Author, and Genre | |
| - hc - changed error format from path(line): to path:line: | |
| - header-guarded Hugo Library files | |
| - better handling of property elements <= 0 in compiler, engine, | |
| and debugger | |
| - BeHugo - remembers last save/restore folder | |
| - fixed setting of override_full in the engine for 'input' and | |
| 'pause' commands | |
| - Win32 - fixed use of GetVersion() to only limit audio functionality | |
| for NT 4.0 and earlier, not 2000 or XP | |
| - Win32 - cleaned up source packaging | |
| - Win32 - DirectSound sample playback from resource file no longer | |
| needs a tempfile | |
| - Win32 - DirectShow video playback from resource file no longer | |
| needs a tempfile | |
| - changed wxWin source to register drivers individually, not | |
| RegisterAllDrivers(), to avoid loading drv_raw, etc. | |
| v3.0.01c/v2.5.03c (22-Mar-01) | |
| ----------------- | |
| - BeOS - changed "right-click" behavior for one-button mousers | |
| - push MOUSE_CLICK even when Hugo isn't explicitly waiting for a key, | |
| and queue the mouse position for retrieval with MOUSE_CLICK | |
| - tweaked text renderer to fix odd linebreaks with bold/italic fonts | |
| - "local n = true" was initializing n = 0 | |
| - debugger's 'system' token output was improperly terminated | |
| - added additional misusage compiler warnings | |
| - better PromptMore() "[MORE...]" for BeOS, Win32, wxWindows | |
| - compiler was dropping trailing ':' from multi-line strings | |
| - fixed font/style changes getting lost across linebreaks | |
| - compiler does better warning of illegal characters in source | |
| - ports without Latin-1 charsets (DOS, curses, etc.) handle Latin-1 | |
| characters better now | |
| - compiler has better handling of unterminated strings in | |
| SeparateWords() | |
| - fixed resolution of explicit 'parent' objects in MatchWord() and | |
| Available() | |
| - 'resource' blocks can now specify more than one filename per line | |
| - fixed compiler overflow on very long 'case' statements | |
| - fixed potential STRINGDATA_T overflow in GetToken() | |
| - BeOS - added sample_thread guard using sample_deleted | |
| - a number of enhancements to the debugging library hugofix.h | |
| - DOS - fixed handling of text style colors | |
| - MAXUNDO can now vary between ports; only ports with the | |
| same MAXUNDO can restore undo data from save files | |
| - Context menu commands ending in "..." now add a trailing space | |
| - Kent's ports: right mouse button during input is the same as left | |
| button (i.e., for a context menu) | |
| - Kent's ports: compilers now all updated to v3.0 | |
| - fixed heobject.c GetProp() so that display.hasvideo works properly | |
| - Perform's queue argument is now set if "all" is used to refer to | |
| only one object | |
| - Fixed problem with replacing objects/routines containing labels | |
| v3.0.01b/v2.5.03b (12-Dec-00) | |
| ----------------- | |
| - Glk - disabled PAUSE_100TH_SECOND | |
| - hc - Fix nested case problem | |
| - wxWindows - included optional SDL-based modifications by | |
| Torbjorn Andersson to hesound.cpp | |
| v3.0.01a/v2.5.03a (12-Oct-00) | |
| ----------------- | |
| - Unix - changed Alt+a for debugger menu to Alt+Space | |
| - Unix - added "make clean" option to Makefile | |
| - hc - fixed problem with inheriting complex properties | |
| - BeOS - tweaked updating before/after video playback, and on 'pause' | |
| - BeOS/Win32 - audited tempfile management--better usage and | |
| cleanup of resource cache tempfiles | |
| - BeOS - fixed video.cpp and sound.cpp to use SubsetIO | |
| - GetResourceParameters() in heres.c now calls strupr() on filename | |
| if it's a resource file (since these are forced to all-caps in | |
| the compiler) | |
| v3.0.01/v2.5.03 (25-Jul-00) | |
| --------------- | |
| - Consolidated v3.0/v2.5 code bases to remove v3.0's beta status | |
| - he - "object.property #n is not attribute" caused runtime crash | |
| - BeOS - stopped audible playback of MODs even when audio is disabled | |
| - updated library to 2.5.03.1 | |
| - Compiler can now optionally produce an objectfile even with errors | |
| v2.5.02a (6-May-00) | |
| -------- | |
| - Win32 - now recognizes VK_APPS (the application menu key) | |
| - Unix/BeOS - Compiler now properly parses @resource=... paths | |
| - Better handling for command-line #settings; both case-sensitivity | |
| (in CompilerSet) and presets (ParseCommand) | |
| - Fixed non-error on illegal use of 'number' token | |
| - Fixed superfluous "...needs more than one parameter" compiler error | |
| - Squashed elusive dropped letters in some printed strings | |
| - Win32 - Alt+F4, and the close box verify before closing the engine | |
| - Win32 - Last non-looping sample doesn't play when focus returns | |
| - Safer array writing (and property values, object numbers, etc.) | |
| - Built hes.exe (simple text-based 16-bit DOS engine) for use with | |
| speech software | |
| - Win32 - fixed stray cursor behavior | |
| v3.0 beta (May-June): | |
| - Added background argument to 'video' statement to play a video | |
| clip in the background (looping, if desired) | |
| - Also added volume argument to hugo_playvideo() | |
| - Upgraded BeOS package to v3.0 | |
| - Win32 - fixed improper sizing of video frames | |
| v2.5.02 (22-Feb-00) | |
| ------- | |
| - Compiler's DefEnum() caused errors on explicit "enumerate globals" | |
| or "enumerate constants" | |
| - BeOS - Added character-encoding selection option and full-screen mode | |
| - In Kent's ports, a mouse-click now passes keycode=1 to | |
| hugo_keywaiting(); also sets display.cursor_column and | |
| display.cursor_row | |
| - Also in Kent's ports, fixed hugo_getline() so that it doesn't | |
| call hugo_scrollwindowup() unless we're at the window bottom | |
| - Glk - Half-fixed hugo_settextpos putting things off-screen with | |
| positioning based on display.screenheight and screenwidth | |
| - Removed usage of global 'z' from both heheader.h and hcheader.h | |
| (meaning a fairly thorough rewrite of some sections) | |
| - Rewrote heheader.h and hcheader.h for brevity and clarity | |
| - Added better compile-time checking to property value syntax | |
| - Occasional usage of a local __selectvar in compiling select-case | |
| for proper working of random(), ++, etc. | |
| - Tweaked the debugger's runaway-loop watchdog to reset on 'pause' | |
| statements | |
| - Snazzy new icons for BeOS, Win32, Unix, and whoever else wants them | |
| - Fixed an array-element parsing problem in heexpr.c (with inobj) | |
| - Fix so that positioning on the lowest line in a window clears the | |
| "MORE" prompt count | |
| - Better compiler label checking in DefOther() | |
| - Better compiler argument checking for built-ins (such as string() | |
| and dict()) in CodeLine() | |
| - Fixed compiler error exit code reporting (for front-ends like | |
| hcwin.exe) | |
| - wxWindows - Now links dynamically to libmikmod instead of statically | |
| - Win32 - Context menus now track either mouse button | |
| - "text to <array>" printing now always appends a terminating zero | |
| (without advancing the textto index) | |
| - Win32 - v2.5 now uses old non-DirectSound audio; v3.0 currently and | |
| inexplicably needs a debug-built libmik.lib to overcome hissy | |
| DirectSound playback | |
| v2.5.01f (9-Feb-00) | |
| -------- | |
| (Released only for the Win32 package of Guilty Bastards) | |
| v2.5.01e (7-Jan-00) | |
| -------- | |
| - Fixed a bug in the linker that would overflow when reading the | |
| text bank (because performaddr was getting missed) | |
| - Added "'move' requires 'to'" compiler error | |
| - Win32 - fixed LCC-Win32 makefiles and source to allow compiling of | |
| v2.5 with LCC-Win32 as well as MSVC++ | |
| - Fixed a disambiguation problem where, on a "Which...do you mean?" | |
| parser question, a parser error message might be printed before | |
| proper processing | |
| - wxWindows - Torbjorn Andersson fixed where the file selector | |
| dialogs were displaying only directories | |
| - Unix - removed drv_raw loading from MikMod to avoid massive | |
| music.raw file dumps when the sound device is unavailable | |
| v2.5.01d (4-Dec-99) | |
| -------- | |
| - Retooled 'notheld' and 'held' object disambiguation; released | |
| accompanying library 2.5.01.4 (and also changed the library so | |
| that the banner now contains the version) | |
| - Win32 - v3.0 media now pay attention to audio/graphics menu | |
| settings | |
| - Win32 - my brother Dean added the program icon to the scrollback | |
| window and made it resizable | |
| v2.5.01c (29-Oct-99) | |
| -------- | |
| - fixed bleeding text formatting at end/start of line (only | |
| noticeable on Win32?) | |
| - more fixes to non-Latin character handling | |
| - added BeOS compile option to heheader.h | |
| v2.5.01b (9-Aug-99) | |
| -------- | |
| - fixed glitch where saved games wouldn't restore if byte 0 or 1 of | |
| the game header is zero | |
| - pressing '+' at the [MORE...] prompt during command playback skips | |
| further prompting | |
| - Win32 - fixed/uglified the sound factory for better NT support and | |
| performance | |
| - Win32 - fixed save/restore of user colors | |
| v2.5.01a | |
| -------- | |
| - bug in translation of >128 non-Latin characters | |
| - heres.c incorrectly identified some MP3s as MOD-type mods | |
| - fixed command playback in (at least Win/DOS) Glk port | |
| - Win32 - added option to override automatic Latin-1 translation | |
| - fixed RunRestore to avoid a warning on default unsigned char compilers | |
| - Win32 - fixed script selection in ChooseFont dialog | |
| - Win32 - padded temporary image bitmaps to align on word boundaries, | |
| hopefully fixing distorted images with some video cards | |
| - Unix/Linux - first debugger port | |
| - Win32 - enabled custom color selection of default colors | |
| - Win32 - extended compiler user interface, allowing saving of compile | |
| sessions, redo last compile, changes to output font | |
| v2.5.01 and v3.0 beta (26-Apr-99) | |
| --------------------- | |
| - consolidation of v2.5 and v3.0 beta base-level functionality | |
Xet Storage Details
- Size:
- 37.5 kB
- Xet hash:
- 06a5dcae6751ee8302a462e4be1e674716142e6ba35cb7a32c55aa63073d3328
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.