2.22 R4.45 Released * Added AutoLoad feature in conjunction with Zork: The Undiscovered Underground. 2.22 R4.4 Released * Using larger/smaller than normal values for your Windows menus/caption bars will now no longer confuse graphics (V6) games. For those of you that got "squished" graphics in V6, the problem is fixed. Honest, it's gone this time (I think). * Nothing like fixing one thing to create another problem: fixing "no story file" resulted in WinFrotz no longer being able to start another game after you quit from within the game itself. This is fixed ("static" that was not being re-initialized). * The Sound dialog box will no longer incorrectly miss the sound hardware after a sound has already been played (wave out device was already open). * Added Tandy Bit to debug options dialog. Make sure you set this BEFORE you load the game, it cannot be switched on once the game is loaded. * Having a game end within the Z-machine (i.e., solved) will not clear the screen until a key is pressed. Closing via Windows (Alt-F4, Window/close) will still result in immediate exit, as per the Windows standard. * The WinFrotz window now accepts file-manager style drag and drop; that is, you can drag the story file you want over the window and release and it will be opened automatically. * The time-in-adventure timer is zero until a story file is loaded now. * Various help file changes. 2.22 R4.3 Released 6/4/97 * Fixed "no story file" when switching from game to game directly via File/Open * All message boxes now properly centered. * Believe I have corrected for conditions that could cause bad screen geometry for graphics games. * Time box on status bar now shows time elapsed, not time of day (kept forgetting to do that...) * Julian Eggebrecht wins the persistence award for making me investigate color allocation problems, which I believe are solved now (bad colors in the columns of Zork Zero for instance). * Font dialog no longer displays potential silver-on-silver colors making it impossible to see the example font * Various twiddles to the code in preparation for two things: re-releasing the console version (so I can make a WinCE version), and releasing the source itself. 2.22 R4.2 Released 4/23/97 * Open file dialog lists "Open" instead of "save" * Fixed first-time startup causing V6 graphics mode to be incorrect, so V6 games wouldn't work until the Graphics Options menu was accessed. * Finally found and corrected the problem under VisC 5.0 vs. 4.2. It appears that the _first_ call to the expression HWND foo = AfxGetMainWnd()->hWnd would work fine (and you could post messages to that HWND) but _subsequent_ calls would fail when a message actually posted to that HWND (and not directly, they would fail somewhere in the bowels of MFC after the message pump). Doesn't happen in MFC 4.2 with VisC 4.2. Never complains (no assertions) under VisC 5.0 in Debug mode. Just Release, which craps out mysteriously with no dialog even, isn't that special. The solution? Override the message in PreTranslateMessage of the mainframe. Isn't that the same thing as if you were just writing a C program, you ask? Why yes, yes it is. Note that I am not an OLE container so AfxGetMainWnd should just return m_pMainWnd, but apparently something else mysterious happens. * 960x600 graphics mode should work much better now. I had forgotten that transparent overlays would sometimes be uneven in width, and the scalar multiplier I was using to place them correctly on the large screen would end up transferring a rounding error to the Z-Machine. Zork Zero works now in CGA for instance (I know everybody was dying for that). * Using a safer display method that should fix graphics on those people that are having problems (?). I'll check this with somebody who actually had it reproduceable. * Weird naming conventions for your story files (e.g., no extension) should no longer confuse the automatic loading of alias files from the story file directory. Remember the automatic alias file should be the same name as the story with an .frc extension (i.e., zork.dat becomes zork.frc). * Changed input line so it will accept return regardless of position of input cursor. The original Frotz code only likes return at end of line, somebody correctly pointed out that the Windows behavoir is to accept returns anywhere (which will terminate the entire visible input line). * Somebody send me Hitchhiker's Guide so I can test it. Two people have reported problems with this game and I don't have it. E-mail me first so I don't get a bazillion copies. Yes, I'll delete it afterwards. 2.22 R4.1 Released 3/29/97 * Y-axis font metrics fixed...I think. This was one of those "why did this ever work to begin with?" type of discoveries. It involved a piece of code I had changed long ago for WinFrotz R3 which was lost in the translation to the 2.22 Frotz code base. I'm very interested in hearing about font spacing problems now...anyway this fixes Inform help menus, for instance. * Fixed aliases not working (duh) * Sound dialog now displays diagnostic to show whether the current story file has even attempted to load a sound. This should help with people who are having problems getting sound working in Lurking Horror or Sherlock. * Corrected for condition that could cause incorrect background colors when flipping from dual-color to full then resizing immediately. * Choosing colors from within the font dialogs now works as well as using the regular color menus. However font dialogs only display primary colors (and I'm not about to completely rewrite the standard Windows font dialog). So use the color menu if you want a color that isn't one of the primaries. (Except for black, which I can't accept because it's the default and you might have OKed the dialog box without MEANING to accept black as a color). * Fixed Alt-A lockup (Stefan gets me again with function jump tables :-) ) I heavily recommend using the dialog box, it's got paranoid level error checking. But Alt-A works like Frotz under OS/2 now. * Yes yes finally remembered File/Open filters for opening the games appropriately (*.dat, *.zip, *.z?, etc) * Built with VisC 5.0; slightly smaller, but not really faster despite 5.0s better code generation - speed problems here aren't the code, it's GDI. * Silly feature additions to the about dialog box. Will show the icon of the current game (if it's in the same directory and same base name as the story file) and will show another icon indicating which Z-machine rev it is. Also a couple of other ho-hum gee whiz things. * Silly feature 2: The frame icon (top left of window) will change to reflect the Z-Machine level of the story you are currently playing. * Version numbers agree between about dialog/executable file * Fixed potential race condition between threads * If you know how to use icons for shortcuts/file types, there are now icons in the WinFrotz executable for the various Z-Machine levels and "Infocom" as well as the WinFrotz icon about this. Please don't e-mail me asking how to use icons in Win95,there are a multitude of help sources on that subject * Spent hours and hours trying to debug a bizarre problem that came up: on restarting a story, WinFrotz would GPF after the second story was loaded. This only happened in full release form, even when all optimizations were turned off. To make a long story short:hosed by Microsoft. To be precise, it appears the oh-so-helpful MFC libraries have bugs under 5.0 that did not exist in 4.2. People have asked me why I do not dynamically link with MFC, now you know. What does it mean when a debug build finds nothing wrong, when you change not a lick of your code and it works perfectly with the previously build of the libraries? You figure it out. I don't believe this would occur if WinFrotz were an OLE container. Too bad I have absolutely no use for that here (just about everything _Microsoft_ makes does, so guess how predisposed MFC is to that?). 2.22 R4 Released 02/26/97 ---Major Version change--- So much is new in this release I won't go into the small stuff. Doing this particular build was much more work than I had planned for, and involved a few hideous bugs causing me grief. Barring something major wrong with it, I will probably be taking my time to deal with the last few things to correct/add. Major points follow: * Converted to the DOS Frotz 2.22 code base. This was painful. However many more things that didn't work before work now; as far as I know everything that DID work correctly before still works as well. * As a result of above, many screen geometry issues have been completely redone. Cross your fingers. * Added a scrollback review buffer (Ctrl-L). This is a read only dialog box that has the last 32K or so of output to window 0 in it. You can cut from this using Ctrl-C and the standard windows selection methods (mouse, keyboard etc). Do no write me about what a crufty hack this is. I am not satisified with it and will be changing it in a later release. Patience. * Created a Sound dialog box, controlling volume and whether it is played. * Created a Debugging options dialog box. * Changed Alias menu to "Options" to also contain above two settings boxes. * Reorganized code itself to roughly mirror Stefan's modules in the 2.22 distribution. Where possible I retro'd my code to more closely fit what Stefan was doing in the various os_ functions. * WinFrotz now correctly allocates the extra three fonts required for style variants of FIXED fonts (as far as I know, the only game that used this was Bureaucracy for the "registration" screen - which now works right). * Improved stability of switching back and forth between regular mode and V6 mode - also switching to full color while a V6 game is loaded will no longer cause a lockup. * Various interface frobs. * Alt-D no longer deletes words since the Frotz source uses this as the debugging menu. I like to keep the Alt functions as they are in Frotz for people that are used to the DOS version. Deleting words is accomplished with the standard windows ctrl-delete (which now behaves exactly like a windows edit control) * The long standing "restart sometime results in a text buffer overflow" bug was corrected. statics declared within functions are globalized by VisualC, yipee. Anyway, fixed. * Real time mode works in BorderZone * Tab completion as per Frotz 2.22 (I think, not sure how this works) * Help file revisions 2.01 R3.4 Released 02/19/97 * Fixed last character in an italic string being clipped by the following space (i.e., AMFV). The Z-machine prints the intervening spaces in normal (non-italic) style, sigh. I'm sure somewhere this will break something in a very small but annoying way. * Fixed Shogun printing past end of current line into the border (incorrect char widths were being returned for special codes 9 and 11 ). * Fixed long file name folders causing erroneous "Cannot open story file" upon invoking - this pretty much did in any semblance of command line parsing, but it was largely meaningless in WinFrotz anyway. * Found work-around for SBAWE drivers under NT, I believe these work fine now (even volume, apparently). It involves resetting the sound every time volume changes. Can't be helped. * Changing background colors takes effect instantly in dual-color screen mode again. Background color changing is smarter in multicolor modes as well (changes rest of input line and everything after). * Added a Paste operation (don't get too excited, still no cut and copy). This was always really easy to do; the hard part is going to be coming up with a good cut/copy method. Ctrl-V works, or Edit/Paste. * Added mouse button double-click processing (fixes mouse use of Hint menu in Arthur, possibly other places) * Implemented a pretty long input buffer, so keystrokes will not get lost when other tasks are consuming heavy CPU (this worked perfectly the first time, therefore it must have bugs I haven't discovered yet). * Created a buffered TextOut mode, and a hybrid update system. Update performance is substantially better in hicolor (most noticeable in "Frequent Update" mode), and is still improved in dual color. * Corrected some harmless but visually annoying behavoir when quitting a V6 game (bad colors, etc). Also after any type of game is completely quit WinFrotz will not leave a bitmap allocated now (it was cleaned up, but not until final exit). * Very Frequent updates will show each graphic as it is being drawn; slower but interesting at times (I use Infrequent for graphical games myself). * Corrected time spent in an open file dialog being counted against the Z-machine cycle rate (for the about box). 2.01 R3.3 Released 02/10/97 * A subtle background erase bug that caused inverted erasing under certain conditions was fixed. This corrects Arthur when an incorrect command was typed and (maybe, I can't test it) Shogun. * Resizing should be less sluggish under all modes * A variety of small optimizations have increased display speed, even with frequent updates on. * Reports of font size back to the Z-machine are better; this should fix the last of the font metric problems (as well as they can be, bugs in the Z-machine code could still exist). * Changing graphics options won't bring up a "you must restart" dialog when the current game isn't V6 anyway. * Fixed the Z-Machine refresh flag getting set incorrectly at entry into a story (WinFrotz never has to refresh in this sense), which was causing the first description of Merlin to disappear in Arthur and Journey needed to be clicked twice to start. * Added "Very Frequent" updates setting for smooth scrolling (but slow in all but dual-color mode) * Changed exit dialog to Yes/No/Cancel * The no graphics file error appears in a MessageBox to prevent it from being lost when foreground/background colors are the same. * Removed the V5 status line warning. WinFrotz pretty much forces you to do things the right way here; so it seemed redundant. * Changing from dual-color to full-color mode will no longer leave a dangling cursor on the screen. * Fixed some errors/obselete stuff in the help file. 2.01 R3.2 Released 02/03/97 * Certain combinations of color options could result in the dreaded polka dot display (the result of blitting a color bitmap into a mono surface under GDI). This is now dealt with by some special case code. 2.01 R3.1 Released 02/02/97 * Argh. Fixed control key bit being stuck and transparent display of the input line when using ctrl-D. 2.01 R3 Released 02/01/97 * Added V6 support. I have not tested Shogun (I don't have it). Somebody please do so. This was even more of a pain than I anticipated it would be. All because I've never played Journey all the way through.....all graphics modes are supported, even CGA. Resolutions supported up to 1280 x 800. * Added palette support for 8-bit color screens, so V6 games work on them. * Fixed occasional transparent versus opaque printing problem (most evident in Freefall). * Fixed the occasional garbling of the status area when changing fonts in V5 games (notably AMFV). * Corrected mouse clicks being entered into text line. * Found what appears to be memory leak in Frotz code for undo slots; set up guards against it. Hasn't happened to me in a long time so I think it's fixed (this would sometimes cause a GPF on exit). * Fixed some special key type handling that was still crusty. * Made the help file more helpful by including links from the major dialog boxes (duh). 2.01 R2 Released 01/21/97 * Fixed reported problems with certain valid Z-machine chars not working as input (notably ' and "). At the same time, since I basically reworked the keyboard handler in a much more intelligent manner, fixed European keyboards which would print the wrong shift-values sometimes. * Flipping between underline/not in Emphasis font no longer causes strange values (underline plus color, etc). * Finally remembered something that had been nagging me about GetTextExtent, so now text metrics on mixed font type screens will be better (text at the MORE prompt won't scroll under the status area, for instance) * Fixed a 2K memory leak that could occur * Added mouse-click support (useless until V6 games work, but at least it's there) * Played around with sound problems NT with new SBAWE drivers, _Creative has really screwed these up_. See the readme.txt file 2.01 R1 Released 01/20/97 * Renumbered version to coincide with Frotz base code version and release status * X and Y coordinates of screen are saved in registry * Couple of small scrolling issues dealt with * Attempt to load a graphic puts up a text message saying WinFrotz doesn't support that in this version * Fixed beginning "inventory" scroll bug in Curses. * Fixed sounds in several ways: detects and avoids calling waveOutSetVolume on cards that don't support it (like the recently broken AWE32 under WinNT). Also fixed continous loop sounds (the chanting in Lurking Horror) and cured the illegal parameter on the second invocation of an identical sound with a restart in between. * Ignored out of bounds attribute bit for games that appear to violate this (ie Sherlock). This is broken in the Frotz code, guess Stefan will have to look at it. * Fixed an input condition that would cause an illegal opcode in Journey (it still doesn't work, but the condition might have affected some other game). * Wrote the beginnings of a help file. 1.00 B10 Released 01/08/97 * Playback of recordings works (Alt-P just like in Frotz). Recording them always did. There is some kind of cruft that causes an unreadable character sometimes as the last input command. I'll look into it. * File Open/Recording and File Save/Recording work. Like Save/Restore they can only be executed from an input prompt * Garbage in custom filters for file dialogs fixed * File save dialogs prompt for overwrite with dialogs, not text prompts. * You can specify your own bold color style now * Custom Colors saved in registry (first 6 cust colors are your text color selections) * The color you are editing is pre-selected when a color dialog box comes up * Moved "Lock" option into Display Options dialog box * Changed a few other menu layouts somewhat * FINALLY fixed a highly annoying bug that was eating the status line in V3 games after a (text-typed only!) RESTART * Faster refreshes, resizes * Deleting a non-existent alias no longer GPFs * File/Exit will prompt for a save (if you're at an input prompt in a game) before closing. Alt-F4 instantly closes with no prompt. This is by design. If I want to close a window I damn well should be able to without being prompted (it's a religious thing). 1.00 B9 Released 01/08/97 * Resizing to a larger, then again to a smaller status font won't cause garbage in the status bar for version 4 & 5 games * Resizing the status font in a version 3 game won't affect horizontal window size (still needs to for 4 & 5, no getting around it) * Cursor is moved correctly when status sizing results in different actual window size * File options are context sensitive; most are greyed out when no story is loaded * Color updates to the status bar (reverse text) always work and don't leave any strange pixel affects * [MORE] prompts won't result in full screen width carets * Switching to 2-color mode with either emphasis or bold set as "color" will automatically set them to "font" - other settings are left along * Switching from 2-color to full color won't cause the next few lines of text to be output with the wrong color 1.00 B8 Released 01/07/97 * Corrects bone head one byte mistake on B7. Never change something at the last second. Never change something at the last second. Never... 1.00 B7 Released 01/07/97 * This version is smoking out of the compiler. I have not tested it beyond "hey, it didn't explode when I tried that". Be aware of this when trying New Things, particularly the alias stuff. * New menu option "Aliases". Note that all the old Frotz alt-key combos for hotkeys and aliases still work if you prefer them * Better consistency in the tool bar, which is now load/save games only. Loading a story has to be done with File/Open * Load/Save game and aliases implemented. Load and save game are cheesy. Hint: You have to be at a text input prompt. SAVE/RESTORE still work of course. * Various bugs from the console WinFrotz file selector box fixed * No more white background when switching to a new story 1.00 B6 Released 01/06/97 * Minimize/Maximize work when Lock Size option is set * No dangling noise on last display line * Lots of metrics improvements that should make WinFrotz very stable when changing font sizes (except in certain pathological cases) * Inverse colors settings, locked flag now saved in Registry * I've been working on graphics. Not there yet but making progress. I will probably end up pixel doubling everything to get reasonable window sizes. Still haven't implemented the save/load menus correctly. Still no list box for aliases. Don't write about stuff I haven't implented yet but announced; it will get in there. Do write with something you think of that I haven't or any bugs of course. 1.00 B5 Released 12/30/96 * Well, hell. It appears Win95 is very picky about a particular Registry function I was using. I had problems with it on my Win95 machine, so I'm assuming others did. B5 fixed that problem - if your fonts are messed up or colors are all black after running B4 you should probably delete the WinFrotz registry entry. You can find it by running RegEdit and looking in HKEY_CURRENT_USER\Software\WinFrotz. Just highlight the "WinFrotz" entry and hit delete; WinFrotz will recreate it automatically when run next with the default settings. Sorry about that; yet another incompatibility to add to the pile between NT and 95. 1.00 B4 Released 12/30/96 * Only notable change is persistent settings (fonts, colors, etc). Please try this out and tell me how it goes. I wrote it in a major hurry today and only had two hours of sleep last night....however it won't eat your Registry, that I can promise. 1.00 B3 Released 12/20/96 * Filenames with spaces understood from command line * Memory leak that had crept in eradicated * Missing icon on About box * More efficient memory libraries (SmartHeap) for compilation * Small speed improvements 1.00 B2 Released 12/19/96 * Fixes corrupted status line on first MORE prompt * "Could not load story file" no longer appears when simple launch performed 1.00 B1 Released 12/18/96