liskon_frotz.git
2 years agoAdded mention of the Z-Machine Standard v1.1 to manpages.
David Griffith [Sat, 20 May 2023 18:38:48 +0000 (11:38 -0700)]
Added mention of the Z-Machine Standard v1.1 to manpages.

Includes a brief description of the save/restore prompt option.

2 years agoMentioned Z-Machine Standard 1.1 save-restore prompt option in ChangeLog.
David Griffith [Sat, 20 May 2023 18:38:03 +0000 (11:38 -0700)]
Mentioned Z-Machine Standard 1.1 save-restore prompt option in ChangeLog.

2 years agoFixed game save in dfrotz broken in 6c65ac8e.
David Griffith [Sun, 14 May 2023 19:10:22 +0000 (12:10 -0700)]
Fixed game save in dfrotz broken in 6c65ac8e.

2 years agoRestricted dumb no-prompt file access to current dir or restricted path.
David Griffith [Fri, 12 May 2023 00:13:28 +0000 (17:13 -0700)]
Restricted dumb no-prompt file access to current dir or restricted path.

2 years agoAdded snavig/ to .gitignore.
David Griffith [Tue, 9 May 2023 07:55:55 +0000 (00:55 -0700)]
Added snavig/ to .gitignore.

2 years agoAdjusted capitalization in xfrotz.6.
David Griffith [Sun, 7 May 2023 18:44:37 +0000 (11:44 -0700)]
Adjusted capitalization in xfrotz.6.

2 years agoRestricted x11 no-prompt file access to current dir or restricted path.
David Griffith [Sun, 7 May 2023 18:38:01 +0000 (11:38 -0700)]
Restricted x11 no-prompt file access to current dir or restricted path.

This necessarily required implementing the -R option (restricted read/write).

2 years agoRestricted curses no-prompt file access to current dir or restricted path.
David Griffith [Sun, 7 May 2023 17:59:38 +0000 (10:59 -0700)]
Restricted curses no-prompt file access to current dir or restricted path.

2 years agoMake it easier to explicitly select desired C compiler.
David Griffith [Fri, 5 May 2023 04:49:40 +0000 (21:49 -0700)]
Make it easier to explicitly select desired C compiler.

2 years agoMarked unused parameters in the SDL interface as UNUSED to placate -Wextra.
David Griffith [Fri, 5 May 2023 04:46:06 +0000 (21:46 -0700)]
Marked unused parameters in the SDL interface as UNUSED to placate -Wextra.

2 years agoMarked unused parameters in the X11 interface as UNUSED to placate -Wextra.
David Griffith [Fri, 5 May 2023 04:14:12 +0000 (21:14 -0700)]
Marked unused parameters in the X11 interface as UNUSED to placate -Wextra.

2 years agoMarked unused parameters in the dumb interface as UNUSED to placate -Wextra.
David Griffith [Fri, 5 May 2023 03:52:42 +0000 (20:52 -0700)]
Marked unused parameters in the dumb interface as UNUSED to placate -Wextra.

2 years agoAdjusted indents from four spaces to tabs.
David Griffith [Thu, 4 May 2023 05:47:57 +0000 (22:47 -0700)]
Adjusted indents from four spaces to tabs.

2 years agoAdded function name comment to end of each function in src/dumb/.
David Griffith [Thu, 4 May 2023 05:45:58 +0000 (22:45 -0700)]
Added function name comment to end of each function in src/dumb/.

2 years agoAdded save-restore prompt option to dumb interface with restriction to .aux.
David Griffith [Wed, 3 May 2023 04:28:58 +0000 (21:28 -0700)]
Added save-restore prompt option to dumb interface with restriction to .aux.

2 years agoExpanded description of -L flag for xfrotz and adjusted its X11 class name.
David Griffith [Mon, 1 May 2023 15:46:00 +0000 (08:46 -0700)]
Expanded description of -L flag for xfrotz and adjusted its X11 class name.

2 years agoAdded function name comment to end of each function in src/curses/.
David Griffith [Mon, 1 May 2023 15:42:32 +0000 (08:42 -0700)]
Added function name comment to end of each function in src/curses/.

This is part of a larger project to better document things in the SDL
interface and make the code more consistent with that in the other
interfaces.

2 years agoUpdated xfrotz's usage info.
David Griffith [Mon, 1 May 2023 15:28:13 +0000 (08:28 -0700)]
Updated xfrotz's usage info.

2 years agoMarked functions in src/dumb/ taking no parameters with the void parameter.
David Griffith [Mon, 1 May 2023 03:19:10 +0000 (20:19 -0700)]
Marked functions in src/dumb/ taking no parameters with the void parameter.

2 years agoMarked functions in src/sdl/ taking no parameters with the void parameter.
David Griffith [Sun, 30 Apr 2023 23:52:46 +0000 (16:52 -0700)]
Marked functions in src/sdl/ taking no parameters with the void parameter.

2 years agoAdded function name comment to end of each function in src/sdl/.
David Griffith [Sun, 30 Apr 2023 23:12:08 +0000 (16:12 -0700)]
Added function name comment to end of each function in src/sdl/.

This is part of a larger project to better document things in the SDL
interface and make the code more consistent with that in the other
interfaces.

2 years agoAdded save-restore prompt option to SDL interface with restriction to .aux.
David Griffith [Sun, 30 Apr 2023 22:33:01 +0000 (15:33 -0700)]
Added save-restore prompt option to SDL interface with restriction to .aux.

2 years agoAdded save-restore prompt option to dos interface with restriction to .aux.
David Griffith [Sat, 29 Apr 2023 05:58:01 +0000 (22:58 -0700)]
Added save-restore prompt option to dos interface with restriction to .aux.

2 years agoCorrected DEFAULT_SAVE_NAME to "story.qzl".
David Griffith [Sat, 29 Apr 2023 05:52:06 +0000 (22:52 -0700)]
Corrected DEFAULT_SAVE_NAME to "story.qzl".

2 years agoReplaced filename extensions with macros from frotz.h.
David Griffith [Sat, 29 Apr 2023 04:57:46 +0000 (21:57 -0700)]
Replaced filename extensions with macros from frotz.h.

2 years agoAdded save-restore prompt option to x11 interface with restriction to .aux.
David Griffith [Sat, 29 Apr 2023 04:31:28 +0000 (21:31 -0700)]
Added save-restore prompt option to x11 interface with restriction to .aux.

2 years agoAdded os_get_text_style() to ease restoring after interruptions.
David Griffith [Sat, 29 Apr 2023 04:11:42 +0000 (21:11 -0700)]
Added os_get_text_style() to ease restoring after interruptions.

int os_get_text_style(void) returns the current style.
I'll probably want os_get_font_style() soon.

2 years agoAdded va_list support to curses os_fatal() - taken from os_warn().
David Griffith [Sat, 29 Apr 2023 03:27:38 +0000 (20:27 -0700)]
Added va_list support to curses os_fatal() - taken from os_warn().

2 years agoRestricted curses' save-restore prompt to .aux files.
David Griffith [Sat, 29 Apr 2023 03:20:11 +0000 (20:20 -0700)]
Restricted curses' save-restore prompt to .aux files.

2 years agoAdded support for ZMS 1.1 save-restore prompt option to core and curses.
David Griffith [Fri, 28 Apr 2023 20:41:10 +0000 (13:41 -0700)]
Added support for ZMS 1.1 save-restore prompt option to core and curses.

Some more work is needed for security sanitizing.

2 years agoPreparing for Z-machine standard 1.1 of not prompting on save/restore.
David Griffith [Fri, 28 Apr 2023 20:10:12 +0000 (13:10 -0700)]
Preparing for Z-machine standard 1.1 of not prompting on save/restore.

Copied from the Z-machine Standard 1.1 document:

As of Standard 1.1 an additional optional parameter, prompt, is allowed
on Version 5 extended save/restore.  This allows a game author to tell
the interpreter whether it should ask for confirmation of the provided
file name (prompt is 1), or just silently save/restore using the
provided filename (prompt is 0).  If the parameter is not provided,
whether to prompt or not is a matter for the interpreter - this might be
globally user-configurable.  Infocom's interpreters do prompt for
filenames, many modern ones do not.

2 years agoNoted xfrotz fix in ChangeLog.
David Griffith [Fri, 28 Apr 2023 04:25:13 +0000 (21:25 -0700)]
Noted xfrotz fix in ChangeLog.

2 years agoClarified a bit on the os_fatal() and os_warn() functions that use va_list.
David Griffith [Fri, 28 Apr 2023 04:11:51 +0000 (21:11 -0700)]
Clarified a bit on the os_fatal() and os_warn() functions that use va_list.

The dumb interface does not use va_list printf functions because I'm not
entirely sure if the most primitive of C compilers will support them.
For this reason, the core must not call os_fatal() or os_warn() with
formatting.  For all other interfaces, formatting may be used as long as
the implementations of os_fatal() and os_warn() are written to support it.

It should be noted here that currently only the SDL interface uses os_warn().

2 years agoFixed segfault when xfrotz encounters a fatal error.
David Griffith [Fri, 28 Apr 2023 03:19:22 +0000 (20:19 -0700)]
Fixed segfault when xfrotz encounters a fatal error.

When the Z-machine segfaults, don't segfault the emulator.

2 years agoAdded -L option to xfrotz - supply a Quetzal file to load on command line.
David Griffith [Fri, 28 Apr 2023 01:53:31 +0000 (18:53 -0700)]
Added -L option to xfrotz - supply a Quetzal file to load on command line.

Also converted underlines for parameters in xfrotz.6 to <foobar>.

2 years agoAdded note to snavig.pl about needing to install File::Slurp
David Griffith [Thu, 27 Apr 2023 23:33:32 +0000 (16:33 -0700)]
Added note to snavig.pl about needing to install File::Slurp

File::Slurp is typically not installed by default.  For Debian, install
it with sudo apt-get install libfile-slurp.perl

2 years agoMoved the tandy bit option to the core.
David Griffith [Thu, 27 Apr 2023 23:31:29 +0000 (16:31 -0700)]
Moved the tandy bit option to the core.

2 years agoMention SDL fixes in ChangeLog.
David Griffith [Thu, 27 Apr 2023 19:10:57 +0000 (12:10 -0700)]
Mention SDL fixes in ChangeLog.

2 years agoFixed inconsistent types in src/sdl and fixed to src/common/frotz.h
David Griffith [Thu, 20 Apr 2023 05:44:42 +0000 (22:44 -0700)]
Fixed inconsistent types in src/sdl and fixed to src/common/frotz.h

Since before the SDL interface was integrated with this Frotz package,
it has been inconsistent with its delaration and use of three unsigned
variables for communicating with the Frotz Core.  These are zbyte
(8-bit), zword (16-bit), and zlong (32-bit).  Somehow the SDL interface
worked fine with GCC versions 10 and earlier, but no longer.  I probably
should have fixed these when doing the integrating.

At first the changes post GCC 10 manifested in a build failure.  I made
a couple changes to src/sdl/sf_frotz.h from line 15 to 18 to get it to
compile.  I don't remember what they were.  This resulted in a black
column being inserted after every column in the sfrotz window.  After
someone pointed out to me that I was attempting to do 32-bit operations
in a 64-bit variable, the problem and solution became clear.

Now the byte, word, and ulong usage in the SDL interface has been
replaced with zbyte, zword, and zlong as defined in src/common/frotz.h.

2 years agoThis is a development release.
David Griffith [Mon, 3 Apr 2023 20:45:57 +0000 (13:45 -0700)]
This is a development release.

2 years agoSet length of short hash to 8 characters because Gitlab uses 8.
David Griffith [Sun, 2 Apr 2023 04:30:20 +0000 (21:30 -0700)]
Set length of short hash to 8 characters because Gitlab uses 8.

2 years agoOops, forgot to add the fonts.
David Griffith [Thu, 26 Jan 2023 21:22:50 +0000 (13:22 -0800)]
Oops, forgot to add the fonts.

2 years agoNow I have a sensible fonts/Makefile.
David Griffith [Thu, 26 Jan 2023 07:41:12 +0000 (23:41 -0800)]
Now I have a sensible fonts/Makefile.

Add targets for installing .bdf fonts.

2 years agoA little progress with fonts/Makefile.
David Griffith [Thu, 26 Jan 2023 07:36:02 +0000 (23:36 -0800)]
A little progress with fonts/Makefile.

2 years agoMoved stuff around in fonts/Makefile.
David Griffith [Thu, 26 Jan 2023 06:24:14 +0000 (22:24 -0800)]
Moved stuff around in fonts/Makefile.

2 years agoRemoved now superfluous X11 font stuff from main Makefile.
David Griffith [Thu, 26 Jan 2023 06:19:44 +0000 (22:19 -0800)]
Removed now superfluous X11 font stuff from main Makefile.

2 years agoEnsure "make clean" cleans up in fonts/
David Griffith [Thu, 26 Jan 2023 06:14:20 +0000 (22:14 -0800)]
Ensure "make clean" cleans up in fonts/

2 years agoMoved X11 fonts to a fonts/ directory.
David Griffith [Thu, 26 Jan 2023 06:07:56 +0000 (22:07 -0800)]
Moved X11 fonts to a fonts/ directory.

The idea is to eventually also put fonts for use with other interfaces
in fonts/ as well, some of which may be shared across interfaces.

2 years agoNoted in ChangeLog fix for faulty handling of text styles in dumb interface.
David Griffith [Tue, 24 Jan 2023 23:03:59 +0000 (15:03 -0800)]
Noted in ChangeLog fix for faulty handling of text styles in dumb interface.

2 years agoCreated an entry in ChangeLog for the upcoming 2.55 version.
David Griffith [Tue, 24 Jan 2023 22:59:00 +0000 (14:59 -0800)]
Created an entry in ChangeLog for the upcoming 2.55 version.

I accidentally put mention of removal of the BUGS file in the 2.54
release notes.  The deletion of this superfluous file happened after
2.54 was released.

2 years agoRun xset after install/deinstall to add/delete font path entries.
David Griffith [Fri, 6 Jan 2023 04:14:09 +0000 (20:14 -0800)]
Run xset after install/deinstall to add/delete font path entries.

When running Beyond Zork and telling the game you're using a VT220, if
"xset +fp $(X11_FONTDIR)" is not run, garbage is printed instead of
VT220 graphic characters.

2 years agoEnsure that fonts don't get put into frotz_x11.a.
David Griffith [Fri, 6 Jan 2023 04:13:09 +0000 (20:13 -0800)]
Ensure that fonts don't get put into frotz_x11.a.

2 years agoAdded caveat to INSTALL. -fcommon needed for building prior to version 2.51.
David Griffith [Wed, 4 Jan 2023 05:41:20 +0000 (21:41 -0800)]
Added caveat to INSTALL.  -fcommon needed for building prior to version 2.51.

2 years agoRemoved trailing spaces from README.md.
David Griffith [Wed, 4 Jan 2023 05:26:05 +0000 (21:26 -0800)]
Removed trailing spaces from README.md.

2 years agoMention the deletion of the old BUGS file.
David Griffith [Wed, 4 Jan 2023 05:23:13 +0000 (21:23 -0800)]
Mention the deletion of the old BUGS file.

2 years agoFixed misspelling of "magenta".
David Griffith [Wed, 4 Jan 2023 05:18:07 +0000 (21:18 -0800)]
Fixed misspelling of "magenta".

2 years agoReworked faulty show_cell_normal() from the old IRC formatting code.
David Griffith [Wed, 4 Jan 2023 04:58:14 +0000 (20:58 -0800)]
Reworked faulty show_cell_normal() from the old IRC formatting code.

Philip Lafleur's patch at
http://ifarchive.org/if-archive/infocom/interpreters/frotz/frotz-2.43-irc.diff.gz
did not account for the possibility of the text style having more than
one value.  I didn't catch this oversight at the time.

2 years agoFixed faulty find for uninstall_xfrotz target.
David Griffith [Sun, 1 Jan 2023 23:17:56 +0000 (15:17 -0800)]
Fixed faulty find for uninstall_xfrotz target.

2 years agoFix enum comparison
Chris Spiegel [Tue, 27 Dec 2022 01:33:09 +0000 (17:33 -0800)]
Fix enum comparison

2 years agoFixed singular/plural mistake.
David Griffith [Sun, 4 Dec 2022 06:22:05 +0000 (22:22 -0800)]
Fixed singular/plural mistake.

2 years agoSomehow when I converted ux_input.c to K&R-style, this block got indented.
David Griffith [Sun, 16 Oct 2022 19:41:28 +0000 (12:41 -0700)]
Somehow when I converted ux_input.c to K&R-style, this block got indented.

That indented block was causing GCC v12.2.1 from Fedora to throw a warning.

2 years agoMakefile: blorb-lib needs hash.h
Thomas Huth [Fri, 14 Oct 2022 18:29:41 +0000 (20:29 +0200)]
Makefile: blorb-lib needs hash.h

If running "make blorb-lib" on a vanilla source directory, the
compilation fails with:

 make -C src/blorb
 make[1]: Entering directory '/home/thomas/src/frotz/src/blorb'
 cc -Wall -std=c99 -O3  -g -D_POSIX_C_SOURCE=200809L -I../common -fPIC
  -fpic -o blorblib.o -c blorblib.c
 In file included from blorblib.c:11:
 ../common/frotz.h:74:10: fatal error: hash.h: No such file or directory
    74 | #include "hash.h"
       |          ^~~~~~~~
 compilation terminated.

Looks like we also have to make sure that hash.h is in place before
compiling the blorb target, thus add the dependency to the Makefile.

3 years agoUpdated README and README.md with correct info for DOS building (and TOPS20).
David Griffith [Thu, 14 Apr 2022 06:47:41 +0000 (23:47 -0700)]
Updated README and README.md with correct info for DOS building (and TOPS20).

3 years agoUpdate ChangeLog to release date.
David Griffith [Thu, 14 Apr 2022 04:17:31 +0000 (21:17 -0700)]
Update ChangeLog to release date.

3 years agoChanged complaint in Makefile from "a zip file" to "an archive file".
David Griffith [Thu, 14 Apr 2022 04:21:12 +0000 (21:21 -0700)]
Changed complaint in Makefile from "a zip file" to "an archive file".

3 years agoAdded version requirement for KCC in Makefile.kcc.
David Griffith [Thu, 14 Apr 2022 04:06:56 +0000 (21:06 -0700)]
Added version requirement for KCC in Makefile.kcc.

3 years agoRearranged tops20 snavig target to ensure all text files have CRLF endings.
David Griffith [Thu, 14 Apr 2022 04:05:37 +0000 (21:05 -0700)]
Rearranged tops20 snavig target to ensure all text files have CRLF endings.

3 years agoRearranged dos snavig target to ensure all text files have CRLF endings.
David Griffith [Thu, 14 Apr 2022 04:01:31 +0000 (21:01 -0700)]
Rearranged dos snavig target to ensure all text files have CRLF endings.

3 years agoAdded KCC-6.620(c2l3) to list of supported compilers for TOPS20.
David Griffith [Thu, 14 Apr 2022 03:08:53 +0000 (20:08 -0700)]
Added KCC-6.620(c2l3) to list of supported compilers for TOPS20.

3 years agoRemoved dependency on unix2dos for snavig targets.
David Griffith [Thu, 14 Apr 2022 02:48:27 +0000 (19:48 -0700)]
Removed dependency on unix2dos for snavig targets.

3 years agoDoing unix2dos conversion in Snavig as a sed call.
David Griffith [Thu, 14 Apr 2022 02:47:26 +0000 (19:47 -0700)]
Doing unix2dos conversion in Snavig as a sed call.

3 years agoUpdated INSTALL files for DOS and TOPS20.
David Griffith [Thu, 14 Apr 2022 02:43:50 +0000 (19:43 -0700)]
Updated INSTALL files for DOS and TOPS20.

3 years agoUpdated Makefile to report that Snavig works for TOPS20.
David Griffith [Wed, 13 Apr 2022 20:27:22 +0000 (13:27 -0700)]
Updated Makefile to report that Snavig works for TOPS20.

3 years agoAdded config to snavig.pl to specify GNU sed.
Adam Thornton [Wed, 13 Apr 2022 00:47:43 +0000 (17:47 -0700)]
Added config to snavig.pl to specify GNU sed.

3 years agoGenericized the dist target a bit more.
David Griffith [Wed, 30 Mar 2022 00:41:00 +0000 (17:41 -0700)]
Genericized the dist target a bit more.

3 years agoAdded Libera link for donations.
David Griffith [Wed, 30 Mar 2022 00:04:05 +0000 (17:04 -0700)]
Added Libera link for donations.

3 years agoUpdated snavig/ generation. Added missing frotz.prj file.
David Griffith [Mon, 28 Mar 2022 07:48:25 +0000 (00:48 -0700)]
Updated snavig/ generation.  Added missing frotz.prj file.

3 years agoFixed some problems that kept Open Watcom compiles from working post snavig.
David Griffith [Mon, 28 Mar 2022 07:13:20 +0000 (00:13 -0700)]
Fixed some problems that kept Open Watcom compiles from working post snavig.

3 years agoUpdated Makefile.tc for official release.
David Griffith [Mon, 28 Mar 2022 07:10:07 +0000 (00:10 -0700)]
Updated Makefile.tc for official release.

3 years agoSet Makefile to make an official release.
David Griffith [Sun, 27 Mar 2022 07:48:35 +0000 (00:48 -0700)]
Set Makefile to make an official release.

3 years agoSlightly updated ChangeLog. One more due for release.
David Griffith [Fri, 25 Mar 2022 21:57:51 +0000 (14:57 -0700)]
Slightly updated ChangeLog.  One more due for release.

3 years agoUpdated INSTALL for macOS. Its ncurses is old, but it doesn't lie.
David Griffith [Fri, 25 Mar 2022 21:24:37 +0000 (14:24 -0700)]
Updated INSTALL for macOS.  Its ncurses is old, but it doesn't lie.

3 years agoUpdated Changelog with more macOS stuff.
David Griffith [Fri, 25 Mar 2022 20:39:02 +0000 (13:39 -0700)]
Updated Changelog with more macOS stuff.

3 years agoOnly allow for A_ITALIC to be set if we have ncurses 6.0 or later.
David Griffith [Wed, 23 Mar 2022 19:09:39 +0000 (12:09 -0700)]
Only allow for A_ITALIC to be set if we have ncurses 6.0 or later.

3 years agoFix macOS ARM builds by using correct include path for freetype
Dan Fabulich [Wed, 23 Mar 2022 06:02:19 +0000 (23:02 -0700)]
Fix macOS ARM builds by using correct include path for freetype

On macOS ARM, the build was failing because the file we wanted was in `/opt/homebrew/opt/freetype/include/freetype2/freetype/freetype.h` but the `#include` was looking for it in `/opt/homebrew/opt/freetype/include/freetype2/freetype2/freetype/freetype.h`

Nonetheless, it managed to work on x86_64 macOS, because on x86_64 macOS, Homebrew installs itself in `/usr/local`. There, the build was really using `/usr/local/include/freetype2/freetype/freetype.h`, with `/usr/local/include` implicitly on the include path.

On ARM macOS, Homebrew installs itself in `/opt/homebrew`, and makes `/opt/homebrew/include/freetype2/freetype/freetype.h` available via a symlink, but `/opt/homebrew/include` *isn't* implicitly on the include path.

I think (hope?) that the change I'm making here will work on Linux and other machines because `pkg-config` will point to the right place, but I've only tested this change on macOS 12 on x86_64 and ARM.

3 years agoFix curses build on macOS 12
Dan Fabulich [Wed, 23 Mar 2022 05:12:27 +0000 (22:12 -0700)]
Fix curses build on macOS 12

Since 2.53, frotz doesn't support the macOS built-in version of ncurses (5.4) unless you pass ITALIC= to disable italics. (ncurses 5.4 doesn't support italics.)

On macOS, we'll configure the build to rely on Homebrew's ncurses6-config.

3 years agoRewrote Apple-specific compilation stuff.
David Griffith [Tue, 22 Mar 2022 22:49:26 +0000 (15:49 -0700)]
Rewrote Apple-specific compilation stuff.

3 years agoRemoved ncurses from list of sound support libs (duh).
David Griffith [Tue, 22 Mar 2022 22:19:03 +0000 (15:19 -0700)]
Removed ncurses from list of sound support libs (duh).

3 years agoFixed minor warning of circular dependency in Makefile.
David Griffith [Sun, 30 Jan 2022 23:30:58 +0000 (15:30 -0800)]
Fixed minor warning of circular dependency in Makefile.

3 years agoFixed trouble with z_header.user_name clobbering Inform version when V6.
David Griffith [Sun, 30 Jan 2022 23:18:20 +0000 (15:18 -0800)]
Fixed trouble with z_header.user_name clobbering Inform version when V6.

Infocom stored a username in the same place that Inform stores its
version number.  Somehow it was discovered that the Z-machine would set
the username from the TOPS20 or Unix development environment, but it was
unknown at that time that any game made any use of it.  With the public
release of the Infocom source code, it was discovered that "Hollywood
Hijinx" used this functionality to enable a debug mode.  Because of this
clobbering when running V6 Z-code and that no other game seems to use
this, it's safe to completely ignore the username stuff.

Maybe it can be brought back in a roundabout way to put "Hollywood
Hijinx" into debug mode using the hotkeys.

3 years agoReenabling old-style graphics for X11 interface.
David Griffith [Fri, 7 Jan 2022 09:07:55 +0000 (01:07 -0800)]
Reenabling old-style graphics for X11 interface.

This is for two reasons.  One is just for grins.  The other is for
investigating how to properly process EGA and CGA old-style graphics
files.

To get EGA properly framed, it seems that the thing to do is find
variables like gtable[i].width, gtable[i].height, data->width,
data->height, and divide by two.  Fiddling around with the eight places
I found in x_oldpic.c to do this, I managed to get width okay, but not
height.  I'm having a hard time identifying what to alter and what to
leave alone or if I need to look at other variables too.

3 years agoThis is a better method of detecting Infocom V6 EGA games.
David Griffith [Fri, 7 Jan 2022 01:47:49 +0000 (17:47 -0800)]
This is a better method of detecting Infocom V6 EGA games.

3 years agoRevert "Implemented prompt parameter for @save and @restore opcodes."
David Griffith [Fri, 7 Jan 2022 01:00:51 +0000 (17:00 -0800)]
Revert "Implemented prompt parameter for @save and @restore opcodes."

I'm unsure if this should be in Frotz, so I'm removing it until I can
fully investigate why this is desirable and how abuses can be prevented.

This reverts commit 2f621630aaeb5755abf6ef797bb32835f5b083d5.

3 years agoImplemented prompt parameter for @save and @restore opcodes.
David Griffith [Thu, 6 Jan 2022 03:42:09 +0000 (19:42 -0800)]
Implemented prompt parameter for @save and @restore opcodes.

This is part of the Z Machine Specificiations version 1.1.
See https://inform-fiction.org/zmachine/standards/z1point1/sect15.html#save

3 years agoNow detecting Shogun EGA.
David Griffith [Thu, 6 Jan 2022 00:59:05 +0000 (16:59 -0800)]
Now detecting Shogun EGA.

3 years agoCleanup of testing printfs and such.
David Griffith [Thu, 6 Jan 2022 00:06:49 +0000 (16:06 -0800)]
Cleanup of testing printfs and such.

3 years agoAdded --xscale and --yscale for EGA V6 graphics. Split m_v6scale to x and y.
David Griffith [Wed, 5 Jan 2022 23:58:20 +0000 (15:58 -0800)]
Added --xscale and --yscale for EGA V6 graphics.  Split m_v6scale to x and y.

This entailed switching from the Frotz-contained zgetopt() to the
OS-provided getopt_long().  There were no sensible single-letter flags
available for this.  Given that I don't anticipate SDL Frotz being built
on any machine that doesn't have getopt_long() and/or getopt.h
available, this is a reasonable choice.  If someone wants to submit a
patch to implement long options, I'm open to adding it

3 years agoUpdated changelog with mention of resolution fix.
David Griffith [Mon, 3 Jan 2022 07:08:10 +0000 (23:08 -0800)]
Updated changelog with mention of resolution fix.

3 years agoNow dumb and curses interfaces process a Blorb's resolution chunk.
David Griffith [Mon, 3 Jan 2022 06:20:30 +0000 (22:20 -0800)]
Now dumb and curses interfaces process a Blorb's resolution chunk.

3 years agoUpdated ChangeLog with fix for Lurking Horror audio trouble in SDL interface.
David Griffith [Thu, 18 Nov 2021 23:59:03 +0000 (15:59 -0800)]
Updated ChangeLog with fix for Lurking Horror audio trouble in SDL interface.