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
David Griffith [Thu, 27 Apr 2023 23:31:29 +0000 (16:31 -0700)]
Moved the tandy bit option to the core.
David Griffith [Thu, 27 Apr 2023 19:10:57 +0000 (12:10 -0700)]
Mention SDL fixes in ChangeLog.
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.
David Griffith [Mon, 3 Apr 2023 20:45:57 +0000 (13:45 -0700)]
This is a development release.
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.
David Griffith [Thu, 26 Jan 2023 21:22:50 +0000 (13:22 -0800)]
Oops, forgot to add the fonts.
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.
David Griffith [Thu, 26 Jan 2023 07:36:02 +0000 (23:36 -0800)]
A little progress with fonts/Makefile.
David Griffith [Thu, 26 Jan 2023 06:24:14 +0000 (22:24 -0800)]
Moved stuff around in fonts/Makefile.
David Griffith [Thu, 26 Jan 2023 06:19:44 +0000 (22:19 -0800)]
Removed now superfluous X11 font stuff from main Makefile.
David Griffith [Thu, 26 Jan 2023 06:14:20 +0000 (22:14 -0800)]
Ensure "make clean" cleans up in fonts/
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.
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.
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.
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.
David Griffith [Fri, 6 Jan 2023 04:13:09 +0000 (20:13 -0800)]
Ensure that fonts don't get put into frotz_x11.a.
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.
David Griffith [Wed, 4 Jan 2023 05:26:05 +0000 (21:26 -0800)]
Removed trailing spaces from README.md.
David Griffith [Wed, 4 Jan 2023 05:23:13 +0000 (21:23 -0800)]
Mention the deletion of the old BUGS file.
David Griffith [Wed, 4 Jan 2023 05:18:07 +0000 (21:18 -0800)]
Fixed misspelling of "magenta".
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.
David Griffith [Sun, 1 Jan 2023 23:17:56 +0000 (15:17 -0800)]
Fixed faulty find for uninstall_xfrotz target.
Chris Spiegel [Tue, 27 Dec 2022 01:33:09 +0000 (17:33 -0800)]
Fix enum comparison
David Griffith [Sun, 4 Dec 2022 06:22:05 +0000 (22:22 -0800)]
Fixed singular/plural mistake.
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.
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.
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).
David Griffith [Thu, 14 Apr 2022 04:17:31 +0000 (21:17 -0700)]
Update ChangeLog to release date.
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".
David Griffith [Thu, 14 Apr 2022 04:06:56 +0000 (21:06 -0700)]
Added version requirement for KCC in Makefile.kcc.
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.
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.
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.
David Griffith [Thu, 14 Apr 2022 02:48:27 +0000 (19:48 -0700)]
Removed dependency on unix2dos for snavig targets.
David Griffith [Thu, 14 Apr 2022 02:47:26 +0000 (19:47 -0700)]
Doing unix2dos conversion in Snavig as a sed call.
David Griffith [Thu, 14 Apr 2022 02:43:50 +0000 (19:43 -0700)]
Updated INSTALL files for DOS and TOPS20.
David Griffith [Wed, 13 Apr 2022 20:27:22 +0000 (13:27 -0700)]
Updated Makefile to report that Snavig works for TOPS20.
Adam Thornton [Wed, 13 Apr 2022 00:47:43 +0000 (17:47 -0700)]
Added config to snavig.pl to specify GNU sed.
David Griffith [Wed, 30 Mar 2022 00:41:00 +0000 (17:41 -0700)]
Genericized the dist target a bit more.
David Griffith [Wed, 30 Mar 2022 00:04:05 +0000 (17:04 -0700)]
Added Libera link for donations.
David Griffith [Mon, 28 Mar 2022 07:48:25 +0000 (00:48 -0700)]
Updated snavig/ generation. Added missing frotz.prj file.
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.
David Griffith [Mon, 28 Mar 2022 07:10:07 +0000 (00:10 -0700)]
Updated Makefile.tc for official release.
David Griffith [Sun, 27 Mar 2022 07:48:35 +0000 (00:48 -0700)]
Set Makefile to make an official release.
David Griffith [Fri, 25 Mar 2022 21:57:51 +0000 (14:57 -0700)]
Slightly updated ChangeLog. One more due for release.
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.
David Griffith [Fri, 25 Mar 2022 20:39:02 +0000 (13:39 -0700)]
Updated Changelog with more macOS stuff.
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.
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.
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.
David Griffith [Tue, 22 Mar 2022 22:49:26 +0000 (15:49 -0700)]
Rewrote Apple-specific compilation stuff.
David Griffith [Tue, 22 Mar 2022 22:19:03 +0000 (15:19 -0700)]
Removed ncurses from list of sound support libs (duh).
David Griffith [Sun, 30 Jan 2022 23:30:58 +0000 (15:30 -0800)]
Fixed minor warning of circular dependency in Makefile.
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.
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.
David Griffith [Fri, 7 Jan 2022 01:47:49 +0000 (17:47 -0800)]
This is a better method of detecting Infocom V6 EGA games.
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.
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
David Griffith [Thu, 6 Jan 2022 00:59:05 +0000 (16:59 -0800)]
Now detecting Shogun EGA.
David Griffith [Thu, 6 Jan 2022 00:06:49 +0000 (16:06 -0800)]
Cleanup of testing printfs and such.
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
David Griffith [Mon, 3 Jan 2022 07:08:10 +0000 (23:08 -0800)]
Updated changelog with mention of resolution fix.
David Griffith [Mon, 3 Jan 2022 06:20:30 +0000 (22:20 -0800)]
Now dumb and curses interfaces process a Blorb's resolution chunk.
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.
David Griffith [Thu, 18 Nov 2021 23:45:54 +0000 (15:45 -0800)]
Ensure that a sample plays to its end before halting playback.
Lurking Horror with sound was released only for the Amiga. That version
assumes that the interpreter is very slow, so it fires off several sound
effects in one round assuming there will be time to play most of each
one. What happens on a fast modern machine is the sound starts and is
immediately stopped, so they don't appear to play at all.
See the "Remarks" section in
http://inform-fiction.org/zmachine/standards/z1point1/sect09.html
When the SDL Frotz code was originally written or converted to SDL 2,
this caveat was forgotten.
David Griffith [Thu, 18 Nov 2021 00:03:54 +0000 (16:03 -0800)]
Fixed indent error in sfrotz manpage.
David Griffith [Sat, 13 Nov 2021 21:50:03 +0000 (13:50 -0800)]
Added build target aliases using dashes instead of underscores.
I was getting tired of reflexively doing stuff like "make install-sdl"
instead of "make install_sdl". In this future, the underscore targets
may go away.
Cameron Cawley [Fri, 12 Nov 2021 21:25:39 +0000 (21:25 +0000)]
Fix loading Blorb files in the DOS port
David Griffith [Thu, 11 Nov 2021 08:01:11 +0000 (00:01 -0800)]
Updated list of files and directories in README.1st.
David Griffith [Thu, 11 Nov 2021 07:56:14 +0000 (23:56 -0800)]
Added some more documentation files to DOS snavig directory.
David Griffith [Thu, 11 Nov 2021 03:55:12 +0000 (19:55 -0800)]
Made sure Snavig copies over *.asm files so that Open Watcom can be used in DOS.
Tee-Kiah Chia [Wed, 10 Nov 2021 18:23:08 +0000 (18:23 +0000)]
Eliminated some easier cases of unneeded `#ifdef __WATCOMC__'.
David Griffith [Wed, 10 Nov 2021 07:06:33 +0000 (23:06 -0800)]
Moved DOS-related things around for better integration.
David Griffith [Wed, 10 Nov 2021 07:05:57 +0000 (23:05 -0800)]
Updated ChangeLog and INSTALL_DOS with DOS-related stuff.
David Griffith [Tue, 9 Nov 2021 06:49:01 +0000 (22:49 -0800)]
Finalized quiet option for DOS.
David Griffith [Tue, 9 Nov 2021 06:44:38 +0000 (22:44 -0800)]
Fixed failure of -q flag to silence sound-effects. First done for curses.
Somehow I broke this around as far back as 2.51 and I didn't notice. I
found it because I was having trouble getting the new quiet option for
the DOS interface working properly.
David Griffith [Tue, 9 Nov 2021 05:38:46 +0000 (21:38 -0800)]
Reworked startup INFORMATION and prepare for quiet option.
David Griffith [Tue, 9 Nov 2021 04:49:30 +0000 (20:49 -0800)]
Removed f_setup initilization from dos interface. Already done in fastmem.c.
David Griffith [Tue, 9 Nov 2021 01:46:54 +0000 (17:46 -0800)]
Added dparams.txt from the old bcparams.txt.
In case anyone hasn't guessed, these params files are for relieving
people of the need to move stuff round and round and round whenever a
new option is added. Just add the new option in the order it needs to
go (alphabetical) and run src/misc/twocol.pl on dparams.txt and you get
something nicely formatted to paste into the Frotz source code.
David Griffith [Tue, 9 Nov 2021 01:34:56 +0000 (17:34 -0800)]
Altered things so that os_beep() works when NO_SOUND is defined.
Sound effects numbers 1 and 2 are for high and low "bleeps"
respectively. For Infocom's own PC interpreters, this meant playing the
bleeps through the original PC's built-in speaker.
Tee-Kiah Chia [Mon, 8 Nov 2021 15:35:03 +0000 (15:35 +0000)]
Got DOS_NO_SOUND = yes and DOS_NO_SOUND = no working with Turbo C.
Tee-Kiah Chia [Mon, 8 Nov 2021 12:43:29 +0000 (12:43 +0000)]
Properly clean src/common/defs.h on case-sensitive filesystems.
Tee-Kiah Chia [Mon, 8 Nov 2021 12:27:21 +0000 (12:27 +0000)]
Fixed testing of DOS_NO_GRAPHICS etc. when making src/common/defs.h
As the makefile variables `$(DOS_NO_GRAPHICS)` etc. will
always be defined, it is necessary to check their values, not
just their existence, to determine if support for sound,
graphics, blorbs, etc. should be enabled.
David Griffith [Sat, 6 Nov 2021 22:53:40 +0000 (15:53 -0700)]
Implemented NO_TRUECOLOUR support for DOS interface.
With this commit, the resulting file sizes of frotz.exe look like this:
Turbo C: 96462 bytes
Watcom C: 98002 bytes
I'd like to understand why there's a difference.
David Griffith [Sat, 6 Nov 2021 22:44:42 +0000 (15:44 -0700)]
Implemented NO_GRAPHICS option for DOS interface.
David Griffith [Sat, 6 Nov 2021 22:14:49 +0000 (15:14 -0700)]
Removed src/olddos/.
David Griffith [Sat, 6 Nov 2021 22:14:09 +0000 (15:14 -0700)]
Reworked sound enable/disable config for consistency.
David Griffith [Sat, 6 Nov 2021 21:35:17 +0000 (14:35 -0700)]
Reworked sound.c and dossampl.c to remove dead code when sound disabled.
David Griffith [Sat, 6 Nov 2021 06:19:34 +0000 (23:19 -0700)]
Clean up junk left over from Watcom C compilation under DOS.
David Griffith [Sat, 6 Nov 2021 06:18:29 +0000 (23:18 -0700)]
Check to see if running under DOS, if so use backslash for directory separator.
David Griffith [Mon, 1 Nov 2021 05:16:14 +0000 (22:16 -0700)]
Fixed some Watcom C compile problems when done in DOS.
David Griffith [Thu, 28 Oct 2021 06:50:50 +0000 (23:50 -0700)]
Added "dos" to the list of possible snavig-processed targets.
David Griffith [Tue, 26 Oct 2021 04:33:50 +0000 (21:33 -0700)]
Replaced ifdefs for getting/setting vectors with macros.
David Griffith [Mon, 25 Oct 2021 23:55:57 +0000 (16:55 -0700)]
Replaced ifdefs with macros in dostext.c.
David Griffith [Sat, 23 Oct 2021 05:16:38 +0000 (22:16 -0700)]
Replaced ifdefs with macros in dosscrn.c.
David Griffith [Sat, 23 Oct 2021 05:06:35 +0000 (22:06 -0700)]
Replaced ifdefs with macros in dossampl.c.
David Griffith [Sat, 23 Oct 2021 03:55:56 +0000 (20:55 -0700)]
Replaced ifdefs with macros in dospic.c.
David Griffith [Sat, 23 Oct 2021 03:52:54 +0000 (20:52 -0700)]
Replaced ifdefs with macros in dosinit.c.
David Griffith [Fri, 22 Oct 2021 21:43:21 +0000 (14:43 -0700)]
Consolidated into src/dos/.