liskon_frotz.git
6 years agoFix Mod file stereo/mono bug
fundamental [Wed, 29 May 2019 01:58:23 +0000 (21:58 -0400)]
Fix Mod file stereo/mono bug

6 years agoRewrite Frotz audio system core
fundamental [Tue, 28 May 2019 00:01:45 +0000 (20:01 -0400)]
Rewrite Frotz audio system core

Introduce an audio manager which works on audio streams which are loaded into
one of several audio voices. These streams are loaded into memory in the
interperter thread and then incrementally translated to samples in the audio
thread. Multiple concurrent voices is normal during operation and should not
cause issues. Overhead when no voices are playing should be low, though as the
audio thread will be running in the background after it has been initialized,
the overhead will be non-zero.

The provided work is C89 compliant (according to GCC), is available under a
dual GPLv2+ and MIT license, and as a result of the stream loaded approach
removes the libvorbis dependency as libsndfile handles in-memory OGG files.

6 years agoEnsure only the current branch appears in GIT_BRANCH.
David Griffith [Mon, 27 May 2019 07:37:20 +0000 (00:37 -0700)]
Ensure only the current branch appears in GIT_BRANCH.

6 years agoMerge branch 'cyrillic'
David Griffith [Mon, 27 May 2019 04:46:15 +0000 (21:46 -0700)]
Merge branch 'cyrillic'

6 years agoAdded gitignores for .blb, .blorb, and .zblorb.
David Griffith [Mon, 27 May 2019 00:19:49 +0000 (17:19 -0700)]
Added gitignores for .blb, .blorb, and .zblorb.

6 years agoAdded an error directive about UTF-8 not being supported under DOS
David Griffith [Mon, 27 May 2019 00:15:34 +0000 (17:15 -0700)]
Added an error directive about UTF-8 not being supported under DOS

Given the limitations of the MS/PC DOS platform, it doesn't look like
supporting UTF-8 will be possible.

6 years agoFix behavior caused by commit 225d8d38
David Griffith [Sun, 26 May 2019 05:05:52 +0000 (22:05 -0700)]
Fix behavior caused by commit 225d8d38

Manually copied this over from master because Git somehow lost its place.

6 years agoSpacing between functions.
David Griffith [Thu, 23 May 2019 06:18:18 +0000 (23:18 -0700)]
Spacing between functions.

6 years agoAdd some casts to quiet compile time warnings.
David Griffith [Thu, 23 May 2019 04:07:37 +0000 (21:07 -0700)]
Add some casts to quiet compile time warnings.

6 years agoIf not using utf8 print "?" for values above 255
Bill Lash [Thu, 23 May 2019 03:01:15 +0000 (22:01 -0500)]
If not using utf8 print "?" for values above 255

6 years agoUpdating completion for cyrillic branch
Bill Lash [Thu, 23 May 2019 02:06:40 +0000 (21:06 -0500)]
Updating completion for cyrillic branch

6 years agoremove HANDLE_OE_DIPTHONG
borg323 [Wed, 22 May 2019 21:07:26 +0000 (00:07 +0300)]
remove HANDLE_OE_DIPTHONG

6 years agoimprove z_check_unicode
borg323 [Wed, 22 May 2019 21:06:18 +0000 (00:06 +0300)]
improve z_check_unicode

6 years agoMakefile change
borg323 [Wed, 22 May 2019 15:48:17 +0000 (18:48 +0300)]
Makefile change

6 years agofix printing of default filename
borg323 [Tue, 21 May 2019 23:45:55 +0000 (02:45 +0300)]
fix printing of default filename

6 years agoenable filename input
borg323 [Tue, 21 May 2019 15:51:36 +0000 (18:51 +0300)]
enable filename input

6 years agocleanup
borg323 [Tue, 21 May 2019 15:00:56 +0000 (18:00 +0300)]
cleanup

6 years agoallow input of chars > ZC_LATIN1_MAX
borg323 [Mon, 20 May 2019 23:53:19 +0000 (02:53 +0300)]
allow input of chars > ZC_LATIN1_MAX

6 years agoos_display_string is not taking char *
borg323 [Mon, 20 May 2019 22:03:46 +0000 (01:03 +0300)]
os_display_string is not taking char *

6 years agosome ux_input.c fixes
borg323 [Mon, 20 May 2019 21:41:21 +0000 (00:41 +0300)]
some ux_input.c fixes

6 years agomalloc size fix
borg323 [Mon, 20 May 2019 18:25:03 +0000 (21:25 +0300)]
malloc size fix

6 years agozchar alternative
borg323 [Mon, 20 May 2019 14:16:19 +0000 (17:16 +0300)]
zchar alternative

6 years agoRemoving useless endian stuff that's pointless for DOS.
David Griffith [Sun, 19 May 2019 05:15:01 +0000 (22:15 -0700)]
Removing useless endian stuff that's pointless for DOS.

6 years agoDOS port now compiles and works. Issues #8 and #58 need revisiting.
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.

6 years agoReorder cleanup stuff.
David Griffith [Sun, 19 May 2019 04:27:21 +0000 (21:27 -0700)]
Reorder cleanup stuff.

6 years agoClean up stuff left by a DOS build.
David Griffith [Sun, 19 May 2019 04:26:19 +0000 (21:26 -0700)]
Clean up stuff left by a DOS build.

6 years agoTurbo C doesn't like this way of doing macros.
David Griffith [Sun, 19 May 2019 03:55:01 +0000 (20:55 -0700)]
Turbo C doesn't like this way of doing macros.

6 years agoAdjust curly bracket position.
David Griffith [Sun, 26 May 2019 05:08:17 +0000 (22:08 -0700)]
Adjust curly bracket position.

6 years agoMerge branch 'eurofix' into 'master'
David Griffith [Sun, 26 May 2019 03:31:06 +0000 (03:31 +0000)]
Merge branch 'eurofix' into 'master'

Fix behavior cuased by commit 225d8d38

See merge request DavidGriffith/frotz!95

6 years agoFix behavior cuased by commit 225d8d38
Bill Lash [Sun, 26 May 2019 01:56:44 +0000 (20:56 -0500)]
Fix behavior cuased by commit 225d8d38

6 years agoBeginning of stuff to compile for DOS using Open Watcom from Unix.
David Griffith [Wed, 22 May 2019 05:25:12 +0000 (22:25 -0700)]
Beginning of stuff to compile for DOS using Open Watcom from Unix.

6 years agoChanges to the curses input routines for non latin unicode
Bill Lash [Mon, 20 May 2019 04:40:03 +0000 (23:40 -0500)]
Changes to the curses input routines for non latin unicode

This change still needs much work.  Since the strings being passed
into the zmachine are now zword * types, there are a lot of things
that have to change, and you can no longer use things like strlen,
strncpy.  This affects the history mechanism (which I think I have
worked out by creating zword equivalents of strlen strncpy and
strncmp), the completion (which I am pretty sure I broke) and some
other functions.

6 years agoChanges to common code for non latin unicode
Bill Lash [Mon, 20 May 2019 04:35:36 +0000 (23:35 -0500)]
Changes to common code for non latin unicode

Note that this changes signatures for several os_ functions which
means nothing  outside of common will compile.

Also added changes for 2 of the 3 needed curses files that I feel
fairly confident in.  The ux_input.c is left out of this commit
because it is much more problematic.

6 years agoRemoving useless endian stuff that's pointless for DOS.
David Griffith [Sun, 19 May 2019 05:15:01 +0000 (22:15 -0700)]
Removing useless endian stuff that's pointless for DOS.

6 years agoDOS port now compiles and works. Issues #8 and #58 need revisiting.
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.

6 years agoReorder cleanup stuff.
David Griffith [Sun, 19 May 2019 04:27:21 +0000 (21:27 -0700)]
Reorder cleanup stuff.

6 years agoClean up stuff left by a DOS build.
David Griffith [Sun, 19 May 2019 04:26:19 +0000 (21:26 -0700)]
Clean up stuff left by a DOS build.

6 years agoTurbo C doesn't like this way of doing macros.
David Griffith [Sun, 19 May 2019 03:55:01 +0000 (20:55 -0700)]
Turbo C doesn't like this way of doing macros.

6 years agoRemoved mention of a PORTING file, now deleted.
David Griffith [Sat, 18 May 2019 05:50:06 +0000 (22:50 -0700)]
Removed mention of a PORTING file, now deleted.

6 years agoFix for #114: unneccesary newline printed every time a "direct call" made.
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().

6 years agoTypo in ChangeLog.
David Griffith [Fri, 17 May 2019 11:10:46 +0000 (04:10 -0700)]
Typo in ChangeLog.

6 years agoUpdated ChangeLog with mention of some new features.
David Griffith [Sun, 5 May 2019 00:51:54 +0000 (17:51 -0700)]
Updated ChangeLog with mention of some new features.

6 years agoMerge branch 'welash/frotz-utf8'
David Griffith [Sun, 5 May 2019 00:43:23 +0000 (17:43 -0700)]
Merge branch 'welash/frotz-utf8'

6 years agoFix signedness problem for get_wch().
David Griffith [Sun, 5 May 2019 00:42:17 +0000 (17:42 -0700)]
Fix signedness problem for get_wch().

6 years agoRefining Makefiles. Needs work with implicit declarations and signed/unsigned.
David Griffith [Fri, 3 May 2019 04:07:30 +0000 (21:07 -0700)]
Refining Makefiles.  Needs work with implicit declarations and signed/unsigned.

6 years agoAdd utf-8 output to script file
Bill Lash [Sun, 28 Apr 2019 02:24:03 +0000 (21:24 -0500)]
Add utf-8 output to script file

6 years agoFix remaining strcat() in dumb interface.
David Griffith [Wed, 24 Apr 2019 12:06:53 +0000 (05:06 -0700)]
Fix remaining strcat() in dumb interface.

6 years agoAdded new chunk types from the latest blorb spec (2.0.4).
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).

6 years agoClean up bb_ID defines.
David Griffith [Sat, 20 Apr 2019 03:07:27 +0000 (20:07 -0700)]
Clean up bb_ID defines.

6 years agoMove low-level bb_ID defines from blorblow.h to blorb.h.
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.

6 years agoMove the remaining bb_make_id() things to the blorb library.
David Griffith [Sat, 20 Apr 2019 03:00:14 +0000 (20:00 -0700)]
Move the remaining bb_make_id() things to the blorb library.

6 years agoMove some 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.

6 years agoAdd install_sdl and uninstall_sdl target aliases.
David Griffith [Tue, 16 Apr 2019 07:54:01 +0000 (00:54 -0700)]
Add install_sdl and uninstall_sdl target aliases.

6 years agoRemove needless blank lines.
David Griffith [Wed, 10 Apr 2019 08:59:26 +0000 (01:59 -0700)]
Remove needless blank lines.

6 years agoAdd dependencies to allow "make sdl_lib" et al work alone.
David Griffith [Wed, 10 Apr 2019 08:58:22 +0000 (01:58 -0700)]
Add dependencies to allow "make sdl_lib" et al work alone.

6 years agoAdd SDL_Quit() in two places to ensure sfrotz really quits.
David Griffith [Thu, 2 May 2019 11:46:00 +0000 (04:46 -0700)]
Add SDL_Quit() in two places to ensure sfrotz really quits.

6 years agoRefining SDL interface os_fatal() to more resemble the curses interface.
David Griffith [Thu, 2 May 2019 03:01:48 +0000 (20:01 -0700)]
Refining SDL interface os_fatal() to more resemble the curses interface.

6 years agoImplementing f_setup.ignore_errors for the SDL interface.
David Griffith [Tue, 30 Apr 2019 10:00:55 +0000 (03:00 -0700)]
Implementing f_setup.ignore_errors for the SDL interface.

6 years agoImplementing f_setup.ignore_errors for the curses 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.

6 years agoImplementing f_setup.ignore_errors for the dumb interface. This works.
David Griffith [Tue, 30 Apr 2019 03:22:01 +0000 (20:22 -0700)]
Implementing f_setup.ignore_errors for the dumb interface.  This works.

6 years agoRemove f_setup.ignore_errors from the core.
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.

6 years agoForgot to put back the -Z flag into the help info for dumb interface.
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.

6 years agoFix remaining strcat() in dumb interface.
David Griffith [Wed, 24 Apr 2019 12:06:53 +0000 (05:06 -0700)]
Fix remaining strcat() in dumb interface.

6 years agoAdded new chunk types from the latest blorb spec (2.0.4).
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).

6 years agoClean up bb_ID defines.
David Griffith [Sat, 20 Apr 2019 03:07:27 +0000 (20:07 -0700)]
Clean up bb_ID defines.

6 years agoMove low-level bb_ID defines from blorblow.h to blorb.h.
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.

6 years agoMove the remaining bb_make_id() things to the blorb library.
David Griffith [Sat, 20 Apr 2019 03:00:14 +0000 (20:00 -0700)]
Move the remaining bb_make_id() things to the blorb library.

6 years agoMove some 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.

6 years agoAdd install_sdl and uninstall_sdl target aliases.
David Griffith [Tue, 16 Apr 2019 07:54:01 +0000 (00:54 -0700)]
Add install_sdl and uninstall_sdl target aliases.

6 years agoRemove needless blank lines.
David Griffith [Wed, 10 Apr 2019 08:59:26 +0000 (01:59 -0700)]
Remove needless blank lines.

6 years agoAdd dependencies to allow "make sdl_lib" et al work alone.
David Griffith [Wed, 10 Apr 2019 08:58:22 +0000 (01:58 -0700)]
Add dependencies to allow "make sdl_lib" et al work alone.

6 years agoAdd ifdefs for UTF8
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.

6 years agoAdd Makefile framework for enabling UTF8
Bill Lash [Mon, 1 Apr 2019 02:52:24 +0000 (21:52 -0500)]
Add Makefile framework for enabling UTF8

6 years agoAdd back ncursesw in makefile
Bill Lash [Sun, 31 Mar 2019 02:22:12 +0000 (21:22 -0500)]
Add back ncursesw in makefile

6 years agoMerge branch 'master' of https://gitlab.com/DavidGriffith/frotz
Bill Lash [Sun, 31 Mar 2019 02:19:55 +0000 (21:19 -0500)]
Merge branch 'master' of https://gitlab.com/DavidGriffith/frotz

6 years agoMerge branch 'pathopen_fix' into 'master'
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

6 years agofix pathopen by increasing the buffer length
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.

6 years agoMerge branch 'sdl_namefix' into 'master'
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

6 years agoFix -N date option (issue 105)
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

6 years agoDelete references to a wiki I never made.
David Griffith [Tue, 12 Mar 2019 07:51:29 +0000 (00:51 -0700)]
Delete references to a wiki I never made.

6 years agoDelete section describing curses interface config file.
David Griffith [Tue, 12 Mar 2019 07:47:31 +0000 (00:47 -0700)]
Delete section describing curses interface config file.

6 years agoFinish importing stuff from the old sfrotz html manual.
David Griffith [Tue, 12 Mar 2019 07:46:02 +0000 (00:46 -0700)]
Finish importing stuff from the old sfrotz html manual.

6 years agoChange mention of an HTML manual to a manpage.
David Griffith [Tue, 12 Mar 2019 05:43:52 +0000 (22:43 -0700)]
Change mention of an HTML manual to a manpage.

6 years agoSave file loading for sfrotz at command line.
David Griffith [Tue, 12 Mar 2019 05:30:04 +0000 (22:30 -0700)]
Save file loading for sfrotz at command line.

6 years agoChange an int to bool.
David Griffith [Tue, 12 Mar 2019 04:56:23 +0000 (21:56 -0700)]
Change an int to bool.

6 years agoRemove superfluous "done" comments.
David Griffith [Tue, 12 Mar 2019 04:54:37 +0000 (21:54 -0700)]
Remove superfluous "done" comments.

6 years agoDo a strdup() instead of a malloc() and strncpy().
David Griffith [Tue, 12 Mar 2019 04:22:26 +0000 (21:22 -0700)]
Do a strdup() instead of a malloc() and strncpy().

6 years agoFix an off-by-one strncat() limit.
David Griffith [Tue, 12 Mar 2019 04:13:12 +0000 (21:13 -0700)]
Fix an off-by-one strncat() limit.

6 years agoExpand list of libs needed for SDL interface.
David Griffith [Sat, 9 Mar 2019 14:46:56 +0000 (06:46 -0800)]
Expand list of libs needed for SDL interface.

6 years agoMinor tweaks of homepage.
David Griffith [Sat, 9 Mar 2019 13:44:58 +0000 (05:44 -0800)]
Minor tweaks of homepage.

6 years agoRevert "Fixed problem with garbage .aux filenames."
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.

6 years agoBump "last updated" line on static page.
David Griffith [Wed, 20 Feb 2019 10:20:59 +0000 (02:20 -0800)]
Bump "last updated" line on static page.

6 years agoMerge branch 'valgrind/getconfig' into 'master'
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

6 years agoAdded missing <ul> </ul> tags.
David Griffith [Wed, 20 Feb 2019 08:40:05 +0000 (00:40 -0800)]
Added missing <ul> </ul> tags.

6 years agoRemove reference to Sourceforge in static webpage.
David Griffith [Wed, 20 Feb 2019 08:27:37 +0000 (00:27 -0800)]
Remove reference to Sourceforge in static webpage.

6 years agoGIT_BRANCH was mangled into IT_BRANCH. Never used as of yet though.
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.

6 years agoDon't try to make a tarball if git repo not present or git command missing.
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.

6 years agoFixed capitalization inconsistencies in manpages: "z-machine" to "Z-machine".
David Griffith [Tue, 19 Feb 2019 08:04:24 +0000 (00:04 -0800)]
Fixed capitalization inconsistencies in manpages: "z-machine" to "Z-machine".

6 years agoRe-add the "all" target and redo "make help".
David Griffith [Tue, 19 Feb 2019 07:47:42 +0000 (23:47 -0800)]
Re-add the "all" target and redo "make help".

6 years agoRemove last bits of sed fiddling with Makefile. Version string is hardcoded.
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.