David Griffith [Sun, 19 May 2019 04:52:20 +0000 (21:52 -0700)]
DOS port now compiles and works. Issues #8 and #58 need revisiting.
Loading an executable in a Blorb file works, but very slowly. Audio and
graphics support through Blorb are not yet attempted, though sometimes
old-style works. For instance, in Sherlock, blowing the sound of a cab
approaching is heard (blow the whistle on the first move). However,
playing the violin after you go upstairs is not.
David Griffith [Sun, 19 May 2019 04:27:21 +0000 (21:27 -0700)]
Reorder cleanup stuff.
David Griffith [Sun, 19 May 2019 04:26:19 +0000 (21:26 -0700)]
Clean up stuff left by a DOS build.
David Griffith [Sun, 19 May 2019 03:55:01 +0000 (20:55 -0700)]
Turbo C doesn't like this way of doing macros.
David Griffith [Sat, 18 May 2019 05:50:06 +0000 (22:50 -0700)]
Removed mention of a PORTING file, now deleted.
David Griffith [Sat, 18 May 2019 03:13:47 +0000 (20:13 -0700)]
Fix for #114: unneccesary newline printed every time a "direct call" made.
My fix for #84 (
cfec4f1ed81a8e733effbaa93acd917e7f6bded0) neglected to
take into account the fact that interpret() would be called before the
game ends under certain rare circumstances. Therefore, I've added a
reset_screen() to main() which contains the final call to new_line().
David Griffith [Fri, 17 May 2019 11:10:46 +0000 (04:10 -0700)]
Typo in ChangeLog.
David Griffith [Sun, 5 May 2019 00:51:54 +0000 (17:51 -0700)]
Updated ChangeLog with mention of some new features.
David Griffith [Sun, 5 May 2019 00:43:23 +0000 (17:43 -0700)]
Merge branch 'welash/frotz-utf8'
David Griffith [Sun, 5 May 2019 00:42:17 +0000 (17:42 -0700)]
Fix signedness problem for get_wch().
David Griffith [Fri, 3 May 2019 04:07:30 +0000 (21:07 -0700)]
Refining Makefiles. Needs work with implicit declarations and signed/unsigned.
Bill Lash [Sun, 28 Apr 2019 02:24:03 +0000 (21:24 -0500)]
Add utf-8 output to script file
David Griffith [Wed, 24 Apr 2019 12:06:53 +0000 (05:06 -0700)]
Fix remaining strcat() in dumb interface.
David Griffith [Sat, 20 Apr 2019 03:22:33 +0000 (20:22 -0700)]
Added new chunk types from the latest blorb spec (2.0.4).
David Griffith [Sat, 20 Apr 2019 03:07:27 +0000 (20:07 -0700)]
Clean up bb_ID defines.
David Griffith [Sat, 20 Apr 2019 03:05:31 +0000 (20:05 -0700)]
Move low-level bb_ID defines from blorblow.h to blorb.h.
David Griffith [Sat, 20 Apr 2019 03:00:14 +0000 (20:00 -0700)]
Move the remaining bb_make_id() things to the blorb library.
David Griffith [Sat, 20 Apr 2019 00:12:44 +0000 (17:12 -0700)]
Move some bb_make_id() things to the blorb library.
David Griffith [Tue, 16 Apr 2019 07:54:01 +0000 (00:54 -0700)]
Add install_sdl and uninstall_sdl target aliases.
David Griffith [Wed, 10 Apr 2019 08:59:26 +0000 (01:59 -0700)]
Remove needless blank lines.
David Griffith [Wed, 10 Apr 2019 08:58:22 +0000 (01:58 -0700)]
Add dependencies to allow "make sdl_lib" et al work alone.
David Griffith [Thu, 2 May 2019 11:46:00 +0000 (04:46 -0700)]
Add SDL_Quit() in two places to ensure sfrotz really quits.
David Griffith [Thu, 2 May 2019 03:01:48 +0000 (20:01 -0700)]
Refining SDL interface os_fatal() to more resemble the curses interface.
David Griffith [Tue, 30 Apr 2019 10:00:55 +0000 (03:00 -0700)]
Implementing f_setup.ignore_errors for the SDL interface.
David Griffith [Tue, 30 Apr 2019 09:33:39 +0000 (02:33 -0700)]
Implementing f_setup.ignore_errors for the curses interface.
This has interesting consequences when the otherwise fatal error has to
do with an attempt to print at an illegal address. Balances.z5 release 5
(http://ifarchive.org/if-archive/games/zcode/Balances.z5) will produce a
cascade of "Fatal error: Illegal object" messages followed by a
"Fatal error: Print at illegal address" message before Frotz crashes
with a segfault. The printing of the final error message is corrupted in
random ways depending on the size of the terminal at the time. Usually
the message is printed with newlines missing before Frotz segfaults.
Sometimes garbage is printed and Frotz manages to keep going.
David Griffith [Tue, 30 Apr 2019 03:22:01 +0000 (20:22 -0700)]
Implementing f_setup.ignore_errors for the dumb interface. This works.
David Griffith [Tue, 30 Apr 2019 02:57:02 +0000 (19:57 -0700)]
Remove f_setup.ignore_errors from the core.
I've decided that ignoring fatal errors should be the perogative of the
interface code. This will allow all of the error message to be
displayed before a crash occurs.
David Griffith [Sat, 27 Apr 2019 21:29:48 +0000 (14:29 -0700)]
Forgot to put back the -Z flag into the help info for dumb interface.
David Griffith [Wed, 24 Apr 2019 12:06:53 +0000 (05:06 -0700)]
Fix remaining strcat() in dumb interface.
David Griffith [Sat, 20 Apr 2019 03:22:33 +0000 (20:22 -0700)]
Added new chunk types from the latest blorb spec (2.0.4).
David Griffith [Sat, 20 Apr 2019 03:07:27 +0000 (20:07 -0700)]
Clean up bb_ID defines.
David Griffith [Sat, 20 Apr 2019 03:05:31 +0000 (20:05 -0700)]
Move low-level bb_ID defines from blorblow.h to blorb.h.
David Griffith [Sat, 20 Apr 2019 03:00:14 +0000 (20:00 -0700)]
Move the remaining bb_make_id() things to the blorb library.
David Griffith [Sat, 20 Apr 2019 00:12:44 +0000 (17:12 -0700)]
Move some bb_make_id() things to the blorb library.
David Griffith [Tue, 16 Apr 2019 07:54:01 +0000 (00:54 -0700)]
Add install_sdl and uninstall_sdl target aliases.
David Griffith [Wed, 10 Apr 2019 08:59:26 +0000 (01:59 -0700)]
Remove needless blank lines.
David Griffith [Wed, 10 Apr 2019 08:58:22 +0000 (01:58 -0700)]
Add dependencies to allow "make sdl_lib" et al work alone.
Bill Lash [Mon, 1 Apr 2019 02:54:32 +0000 (21:54 -0500)]
Add ifdefs for UTF8
Provisionally compile in UTF8 support.
Also adding ability to handle the OE dipthong.
Bill Lash [Mon, 1 Apr 2019 02:52:24 +0000 (21:52 -0500)]
Add Makefile framework for enabling UTF8
Bill Lash [Sun, 31 Mar 2019 02:22:12 +0000 (21:22 -0500)]
Add back ncursesw in makefile
Bill Lash [Sun, 31 Mar 2019 02:19:55 +0000 (21:19 -0500)]
Merge branch 'master' of https://gitlab.com/DavidGriffith/frotz
David Griffith [Sat, 23 Mar 2019 02:40:21 +0000 (02:40 +0000)]
Merge branch 'pathopen_fix' into 'master'
fix pathopen by increasing the buffer length
See merge request DavidGriffith/frotz!91
Bill Lash [Fri, 22 Mar 2019 02:52:29 +0000 (21:52 -0500)]
fix pathopen by increasing the buffer length
The size of the buffer wasn't considering the possibility of needing
to add an extra character if the zcode_path did not end in "."
Also freed the allocated buffer, and limited the strncpy to the correct
length.
David Griffith [Wed, 20 Mar 2019 10:38:27 +0000 (10:38 +0000)]
Merge branch 'sdl_namefix' into 'master'
Fix -N date option (issue 105)
See merge request DavidGriffith/frotz!90
Bill Lash [Mon, 18 Mar 2019 03:54:17 +0000 (22:54 -0500)]
Fix -N date option (issue 105)
The getdatename() function was starting to print the date 2 characters
into the buffer. Changed it to put the date after the story_name and
before the extension.
Also added the -N option to the help text
David Griffith [Tue, 12 Mar 2019 07:51:29 +0000 (00:51 -0700)]
Delete references to a wiki I never made.
David Griffith [Tue, 12 Mar 2019 07:47:31 +0000 (00:47 -0700)]
Delete section describing curses interface config file.
David Griffith [Tue, 12 Mar 2019 07:46:02 +0000 (00:46 -0700)]
Finish importing stuff from the old sfrotz html manual.
David Griffith [Tue, 12 Mar 2019 05:43:52 +0000 (22:43 -0700)]
Change mention of an HTML manual to a manpage.
David Griffith [Tue, 12 Mar 2019 05:30:04 +0000 (22:30 -0700)]
Save file loading for sfrotz at command line.
David Griffith [Tue, 12 Mar 2019 04:56:23 +0000 (21:56 -0700)]
Change an int to bool.
David Griffith [Tue, 12 Mar 2019 04:54:37 +0000 (21:54 -0700)]
Remove superfluous "done" comments.
David Griffith [Tue, 12 Mar 2019 04:22:26 +0000 (21:22 -0700)]
Do a strdup() instead of a malloc() and strncpy().
David Griffith [Tue, 12 Mar 2019 04:13:12 +0000 (21:13 -0700)]
Fix an off-by-one strncat() limit.
David Griffith [Sat, 9 Mar 2019 14:46:56 +0000 (06:46 -0800)]
Expand list of libs needed for SDL interface.
David Griffith [Sat, 9 Mar 2019 13:44:58 +0000 (05:44 -0800)]
Minor tweaks of homepage.
David Griffith [Sat, 9 Mar 2019 13:37:18 +0000 (05:37 -0800)]
Revert "Fixed problem with garbage .aux filenames."
According to Andrew Plotkin, Vlaviano had it wrong in
https://intfiction.org/t/unix-frotz-issue-with-extended-save-and-restore/9816.
The correct grammar for calling @save and @restore is "The third
argument should be the address of a byte array containing the filename.
(Byte zero is the name length, followed by the characters in ASCII.)".
Vlaviano mistakenly thought that the third argument is supposed to be a
literal string.
This reverts commit
32d85186baeaf817873049f7937e28ffd37a4e39.
David Griffith [Wed, 20 Feb 2019 10:20:59 +0000 (02:20 -0800)]
Bump "last updated" line on static page.
David Griffith [Wed, 20 Feb 2019 08:53:00 +0000 (08:53 +0000)]
Merge branch 'valgrind/getconfig' into 'master'
Avoid reading past valid array ranges in getconfig
See merge request DavidGriffith/frotz!88
David Griffith [Wed, 20 Feb 2019 08:40:05 +0000 (00:40 -0800)]
Added missing <ul> </ul> tags.
David Griffith [Wed, 20 Feb 2019 08:27:37 +0000 (00:27 -0800)]
Remove reference to Sourceforge in static webpage.
David Griffith [Wed, 20 Feb 2019 07:55:51 +0000 (23:55 -0800)]
GIT_BRANCH was mangled into IT_BRANCH. Never used as of yet though.
David Griffith [Wed, 20 Feb 2019 07:51:23 +0000 (23:51 -0800)]
Don't try to make a tarball if git repo not present or git command missing.
David Griffith [Tue, 19 Feb 2019 08:04:24 +0000 (00:04 -0800)]
Fixed capitalization inconsistencies in manpages: "z-machine" to "Z-machine".
David Griffith [Tue, 19 Feb 2019 07:47:42 +0000 (23:47 -0800)]
Re-add the "all" target and redo "make help".
David Griffith [Tue, 19 Feb 2019 07:42:46 +0000 (23:42 -0800)]
Remove last bits of sed fiddling with Makefile. Version string is hardcoded.
Andrew Gaul [Sat, 16 Feb 2019 09:50:47 +0000 (18:50 +0900)]
Avoid reading past valid array ranges in getconfig
Addresses Valgrind errors.
David Griffith [Wed, 13 Feb 2019 04:27:15 +0000 (20:27 -0800)]
Fixed broken hash target.
David Griffith [Tue, 12 Feb 2019 20:02:24 +0000 (12:02 -0800)]
Merge branch 'export-subst'
I wasn't able to completely use export-subst in .gitattributes to create
the contents of src/common/git_hash.h. The %D substitution will return
the git branch followed a few lines later by the git tag, but only if
you're using it by way of git-log. If you're using export-subst, you'll
only get the first line and there's no way to tell git to remove those
newlines. So, I'm retaining the sed business on the Makefile.
See https://stackoverflow.com/questions/
54525888/ for the question I asked
on the matter.
David Griffith [Tue, 12 Feb 2019 19:55:32 +0000 (11:55 -0800)]
Moving as much as I can into using export-subst.
David Griffith [Tue, 12 Feb 2019 13:18:46 +0000 (05:18 -0800)]
Move path_separator stuff out in the open in os_read_file_name() for curses.
David Griffith [Tue, 12 Feb 2019 13:17:35 +0000 (05:17 -0800)]
Fix problem with a fixed path separator in dumb interface.
David Griffith [Tue, 12 Feb 2019 13:16:19 +0000 (05:16 -0800)]
Replace two strcat() calls in dumb interface.
David Griffith [Tue, 12 Feb 2019 13:00:32 +0000 (05:00 -0800)]
Replaced two strcpy() calls in dumb interface.
David Griffith [Tue, 12 Feb 2019 12:45:03 +0000 (04:45 -0800)]
Replace two remaining strcpy() calls in curses interface.
David Griffith [Tue, 12 Feb 2019 12:21:48 +0000 (04:21 -0800)]
Unroll ternary operator with unix_history functions.
David Griffith [Tue, 12 Feb 2019 11:46:19 +0000 (03:46 -0800)]
Fix two strcpy() calls in curses and needed to redefine os_read_file_name().
The os_read_file_name() function has been a source of odd looks for a
long time. The biggest of the reasons to look at it funny was how it
passed a string back to the caller by reference without clearly stating
how big of a buffer was being written to. It was always FILENAME_MAX,
but still, it looked like a specialized strcpy().
David Griffith [Tue, 12 Feb 2019 09:01:09 +0000 (01:01 -0800)]
Reorder build recipes to make a bit more sense.
David Griffith [Tue, 12 Feb 2019 08:49:29 +0000 (00:49 -0800)]
First stab at using export-subst in .gitattributes.
David Griffith [Mon, 4 Feb 2019 12:26:44 +0000 (04:26 -0800)]
Update and clean up INSTALL and Makefile.
Bill Lash [Mon, 4 Feb 2019 06:13:59 +0000 (00:13 -0600)]
Adding input of utf-8 chars and history
This adds utf8 input and the ability to move up and down in
history when the command line has utf8 characters
Bill Lash [Sun, 3 Feb 2019 23:27:59 +0000 (17:27 -0600)]
Merge branch 'master' of https://gitlab.com/welash/frotz into utf8
David Griffith [Sun, 3 Feb 2019 13:49:20 +0000 (05:49 -0800)]
Fixed one instance of strcpy(). The rest are proving tricky.
David Griffith [Sun, 3 Feb 2019 13:24:55 +0000 (05:24 -0800)]
Rewrite last strcpy() call in ux_init.c and remove a FILENAME_MAX instance.
David Griffith [Sun, 3 Feb 2019 12:55:25 +0000 (04:55 -0800)]
Rewrite remaining strcat() calls in curses interface.
David Griffith [Sun, 3 Feb 2019 12:52:04 +0000 (04:52 -0800)]
Put Makefile back to using the OS's version of strdup().
David Griffith [Sat, 2 Feb 2019 09:00:38 +0000 (01:00 -0800)]
Rewrite remaining strcpy() calls in core.
I need to remember to free all members of the f_setup and u_setup
structures. It seems like the place to do this is in reset_memory() for
the core and os_quit() for curses. I should add os_quit() for the other
interfaces.
David Griffith [Sat, 2 Feb 2019 08:50:53 +0000 (00:50 -0800)]
Rewrite two remaining strcpy() calls in src/common/fastmem.c
David Griffith [Sat, 2 Feb 2019 07:47:16 +0000 (23:47 -0800)]
Fix filename in webpage.
David Griffith [Sat, 2 Feb 2019 07:39:02 +0000 (23:39 -0800)]
Adding homepage to be hosted at Gitlab.
David Griffith [Sat, 2 Feb 2019 07:35:40 +0000 (23:35 -0800)]
Adding a .gitattributes file to avoid packaging certain files.
David Griffith [Fri, 1 Feb 2019 21:28:24 +0000 (13:28 -0800)]
Fixed problem with garbage .aux filenames.
Applied patch found at
https://www.intfiction.org/forum/viewtopic.php?f=38&t=19767
I happened across it by chance, looking for proper responses to handling
.aux files.
Bill Lash [Fri, 1 Feb 2019 05:34:31 +0000 (23:34 -0600)]
Add some support for UTF-8
This adds support for printing UTF-8 characters using ncursesw in
place of ncurses.
David Griffith [Thu, 31 Jan 2019 17:12:26 +0000 (09:12 -0800)]
Moved local strdup() and strndup() implementations to from dumb to core.
David Griffith [Thu, 31 Jan 2019 16:07:08 +0000 (08:07 -0800)]
Fixed some problems with unsafe strcpy() calls writing out of bounds.
This manifested in sfrotz crashing with a
"double free or corruption (!prev)" or "munmap_chunk(): invalid pointer"
when saving or restoring using a graphical dialog. The dialog would
cause os_read_file_name() to return a complete path for the save file.
If done with the -T option, then this information would be obtained in
the text window and only what was typed would be returned. That's how
the curses and dumb interfaces work too. That's why the problem wasn't
seen until tinkering with the SDL interface.
There are five other instances of strcpy() left in the core, six in the
curses interface, three in the dumb interface, and a whopping thirty in
the SDL interface. These will be fixed later.
David Griffith [Thu, 31 Jan 2019 15:37:15 +0000 (07:37 -0800)]
Call my_strdup() instead of strdup().
David Griffith [Thu, 31 Jan 2019 12:27:25 +0000 (04:27 -0800)]
Use f_setup.story_name instead of now-useless stripped_story_name.
David Griffith [Thu, 31 Jan 2019 04:10:04 +0000 (04:10 +0000)]
Merge branch 'more_mac' into 'master'
Add CFLAGS for compiling on OS/X
See merge request DavidGriffith/frotz!86
Bill Lash [Wed, 30 Jan 2019 23:20:37 +0000 (17:20 -0600)]
Add CFLAGS for compiling on OS/X
Added (commented out_ CFLAGS to enable compilation on MAC OSX. Also
added a short paragraph to the INSTALL with a pointer to the Makefile
David Griffith [Wed, 30 Jan 2019 15:21:50 +0000 (07:21 -0800)]
Remove unused string buffer from re-added os_path_open().