liskon_frotz.git
6 years agoIgnores for *.swp, *.tar, and *.gz.
David Griffith [Tue, 31 Jul 2018 09:07:43 +0000 (02:07 -0700)]
Ignores for *.swp, *.tar, and *.gz.

6 years agoFix broken use of "git archive".
David Griffith [Tue, 31 Jul 2018 09:06:31 +0000 (02:06 -0700)]
Fix broken use of "git archive".

6 years agoAdd MAKEFLAGS option to keep output of parallel builds readable.
David Griffith [Tue, 31 Jul 2018 08:03:45 +0000 (01:03 -0700)]
Add MAKEFLAGS option to keep output of parallel builds readable.

6 years agoPrettifying the "Generating" stuff.
David Griffith [Tue, 31 Jul 2018 08:03:01 +0000 (01:03 -0700)]
Prettifying the "Generating" stuff.

6 years agoForgot these $(RANLIB) substitutions.
David Griffith [Tue, 31 Jul 2018 07:47:01 +0000 (00:47 -0700)]
Forgot these $(RANLIB) substitutions.

6 years agoChange strrchr() to my_strrchr() to allow for use when there IS a strrchr().
David Griffith [Tue, 31 Jul 2018 07:26:56 +0000 (00:26 -0700)]
Change strrchr() to my_strrchr() to allow for use when there IS a strrchr().

6 years agoFix NO_STRRCHR for consistency.
David Griffith [Tue, 31 Jul 2018 06:56:55 +0000 (23:56 -0700)]
Fix NO_STRRCHR for consistency.

6 years agoDelete useless exports.
David Griffith [Tue, 31 Jul 2018 06:53:42 +0000 (23:53 -0700)]
Delete useless exports.

6 years agoFix typo in targets for uninstalling curses frotz.
David Griffith [Tue, 31 Jul 2018 06:21:44 +0000 (23:21 -0700)]
Fix typo in targets for uninstalling curses frotz.

6 years agoRemove phonies for version.c to avoid repeated recompilation.
David Griffith [Tue, 31 Jul 2018 06:20:44 +0000 (23:20 -0700)]
Remove phonies for version.c to avoid repeated recompilation.

6 years agoDelete unused library compilation targets.
David Griffith [Tue, 31 Jul 2018 06:08:27 +0000 (23:08 -0700)]
Delete unused library compilation targets.

6 years agoClean up the clean target.
David Griffith [Tue, 31 Jul 2018 06:02:57 +0000 (23:02 -0700)]
Clean up the clean target.

6 years agoPut back building of src/common/version.c
David Griffith [Tue, 31 Jul 2018 05:59:56 +0000 (22:59 -0700)]
Put back building of src/common/version.c

6 years agoComment out some extern declarations for variables only used locally.
David Griffith [Tue, 31 Jul 2018 05:30:28 +0000 (22:30 -0700)]
Comment out some extern declarations for variables only used locally.

6 years agoClean up Makefiles re exported variables.
David Griffith [Mon, 30 Jul 2018 11:22:57 +0000 (04:22 -0700)]
Clean up Makefiles re exported variables.

6 years agoMoved stuff that shouldn't be edited to past the end of editable stuff.
David Griffith [Mon, 30 Jul 2018 11:04:33 +0000 (04:04 -0700)]
Moved stuff that shouldn't be edited to past the end of editable stuff.

6 years agoTweak wording of Frotz homepage mention.
David Griffith [Mon, 30 Jul 2018 10:54:16 +0000 (03:54 -0700)]
Tweak wording of Frotz homepage mention.

6 years agoAdd mention of the default make target being "all".
David Griffith [Sat, 28 Jul 2018 04:00:31 +0000 (21:00 -0700)]
Add mention of the default make target being "all".

6 years agoClean up build targets and build help.
David Griffith [Sat, 28 Jul 2018 03:57:50 +0000 (20:57 -0700)]
Clean up build targets and build help.

6 years agoAdded distclean build target.
David Griffith [Sat, 28 Jul 2018 03:37:38 +0000 (20:37 -0700)]
Added distclean build target.

6 years agoFixed problem with sfrotz needlessly recompiling.
David Griffith [Sat, 28 Jul 2018 03:30:38 +0000 (20:30 -0700)]
Fixed problem with sfrotz needlessly recompiling.

Something about a header file names "defines.h" causes it to never
be up-to-date?  So I changed it to "defs.h".

6 years agoAdd 661.org Frotz page to README.
David Griffith [Sat, 28 Jul 2018 02:16:54 +0000 (19:16 -0700)]
Add 661.org Frotz page to README.

6 years agoChange Frotz homepage to 661.org and add short commit git hash.
David Griffith [Sat, 28 Jul 2018 02:03:42 +0000 (19:03 -0700)]
Change Frotz homepage to 661.org and add short commit git hash.

6 years agoFixed and tested old memmove() replacement and moved from curses to common.
David Griffith [Fri, 27 Jul 2018 03:55:54 +0000 (20:55 -0700)]
Fixed and tested old memmove() replacement and moved from curses to common.

6 years agomy_strdup() tweaks for dumb interface.
David Griffith [Fri, 27 Jul 2018 03:52:30 +0000 (20:52 -0700)]
my_strdup() tweaks for dumb interface.

6 years agoAdd header guards and fix duplicated defines for compiling with no sound.
David Griffith [Thu, 26 Jul 2018 22:35:57 +0000 (15:35 -0700)]
Add header guards and fix duplicated defines for compiling with no sound.

7 years agoDelete mention of Frotz website. Not sure if I should put one up again.
David Griffith [Tue, 5 Jun 2018 22:54:45 +0000 (15:54 -0700)]
Delete mention of Frotz website.  Not sure if I should put one up again.

7 years agoUpdate README with new repository host.
David Griffith [Tue, 5 Jun 2018 22:41:52 +0000 (15:41 -0700)]
Update README with new repository host.

7 years agoUpdate gopher mirror of the IF Archive
David Griffith [Sun, 3 Jun 2018 12:55:26 +0000 (05:55 -0700)]
Update gopher mirror of the IF Archive

7 years agoMerge pull request #78 from tkorvola/sdl-tweaks
David Griffith [Sun, 15 Apr 2018 04:05:04 +0000 (21:05 -0700)]
Merge pull request #78 from tkorvola/sdl-tweaks

Sdl tweaks

7 years agoTweak dependency generation options.
Timo Korvola [Thu, 12 Apr 2018 21:45:03 +0000 (00:45 +0300)]
Tweak dependency generation options.

Add -MP, which creates a dummy rule for each header.  Drop -MF, which
appears redundant.

7 years agoDrop some unused vars.
Timo Korvola [Tue, 10 Apr 2018 17:34:10 +0000 (20:34 +0300)]
Drop some unused vars.

7 years agoSDL: delete key for editing.
Timo Korvola [Sun, 8 Apr 2018 19:20:00 +0000 (22:20 +0300)]
SDL: delete key for editing.

7 years agoFix expose handling.
Timo Korvola [Mon, 2 Apr 2018 08:52:16 +0000 (11:52 +0300)]
Fix expose handling.

It is not enough to just call SDL_RenderPresent.  The frame must be
rendered first, i.e., copied from texture.  This fixes fullscreen
toggling as well.

7 years agoFullscreen toggling.
Timo Korvola [Sun, 1 Apr 2018 21:02:52 +0000 (00:02 +0300)]
Fullscreen toggling.

Alt-CR now toggles fullscreen mode.  To simplify matters video mode
switching and the -D option are gone: we always use the current
video mode and let SDL scale the window for fullscreen.

There is a strange bug: the display is not immediately updated after
toggling fullscreen but only after the next key press.  I don't
understand why.

7 years agoUse $@ instead of $(COMMON_DIR)/git_hash.h.
David Griffith [Sat, 31 Mar 2018 12:25:43 +0000 (05:25 -0700)]
Use $@ instead of $(COMMON_DIR)/git_hash.h.

7 years agoMerge pull request #77 from tkorvola/sdl2
David Griffith [Fri, 30 Mar 2018 06:24:00 +0000 (23:24 -0700)]
Merge pull request #77 from tkorvola/sdl2

Switch to SDL 2

7 years agoHandle expose events.
Timo Korvola [Wed, 28 Mar 2018 18:37:51 +0000 (21:37 +0300)]
Handle expose events.

Expose events are handled even in os_tick.

7 years agoFix indentation messed up by merging.
Timo Korvola [Wed, 28 Mar 2018 11:15:10 +0000 (14:15 +0300)]
Fix indentation messed up by merging.

Most of the code remains formatted in the original author's rather
original style.  I have reformatted some functions that I have been
working with to K & R style.

7 years agoSet SDL_HINT_IME_INTERNAL_EDITING.
Timo Korvola [Mon, 26 Mar 2018 23:19:56 +0000 (02:19 +0300)]
Set SDL_HINT_IME_INTERNAL_EDITING.

7 years agoTry to use text input where appropriate.
Timo Korvola [Mon, 26 Mar 2018 22:57:47 +0000 (01:57 +0300)]
Try to use text input where appropriate.

os_read_key uses text input because it may be called from Z-code,
which expects to be able to read characters.  More prompts etc.
do not use text input.

7 years agoHandle SDL_TEXTINPUT events.
Timo Korvola [Mon, 26 Mar 2018 22:03:29 +0000 (01:03 +0300)]
Handle SDL_TEXTINPUT events.

Currently text input is enabled only for os_read_line.  SDL_TEXTEDITING
events are not handled.

7 years agoFullscreen mouse.
Timo Korvola [Mon, 26 Mar 2018 17:13:42 +0000 (20:13 +0300)]
Fullscreen mouse.

Apparently there is almost nothing to do here: just make sure to set
the logical size whenever in fullscreen, and SDL maps mouse events
to logical coordinates.

7 years agoFirst take on switching to SDL 2.
Timo Korvola [Sun, 25 Mar 2018 19:31:50 +0000 (22:31 +0300)]
First take on switching to SDL 2.

Compiles and somewhat works.  Mouse positions are not properly
mapped in fullscreen mode (window mode seems to work).
SDL_TEXTINPUT events are not yet handled; only lower-case ASCII
keyboard input for now.

7 years agoFix 8-bit characters in dialogs.
Timo Korvola [Wed, 28 Mar 2018 16:32:41 +0000 (19:32 +0300)]
Fix 8-bit characters in dialogs.

We don't handle file name encoding though, and that is a mess in the OS
world as well.  Thus only Latin-1 encoded file names are likely to work.

7 years agoIgnore generated version.c.
Timo Korvola [Wed, 28 Mar 2018 16:17:45 +0000 (19:17 +0300)]
Ignore generated version.c.

7 years agoMerge pull request #74 from tkorvola/misc
David Griffith [Wed, 28 Mar 2018 11:09:44 +0000 (04:09 -0700)]
Merge pull request #74 from tkorvola/misc

More build & sfrotz fixes

7 years agoDon't leak curses sound options elsewhere.
Timo Korvola [Tue, 27 Mar 2018 20:19:12 +0000 (23:19 +0300)]
Don't leak curses sound options elsewhere.

7 years agosfrotz requires -lm.
Timo Korvola [Tue, 27 Mar 2018 20:05:34 +0000 (23:05 +0300)]
sfrotz requires -lm.

7 years agoGet rid of common/defines.h.
Timo Korvola [Tue, 27 Mar 2018 19:32:39 +0000 (22:32 +0300)]
Get rid of common/defines.h.

Version info is now in common/version.c, the only file that needs
to be recompiled every time.  Global constants, not defines.
The declarations are in frotz.h.

7 years agoImproved dependency management.
Timo Korvola [Tue, 27 Mar 2018 18:07:28 +0000 (21:07 +0300)]
Improved dependency management.

Adapted (simplified) from
http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/

7 years agoRemove getexepath.
Timo Korvola [Tue, 27 Mar 2018 14:16:57 +0000 (17:16 +0300)]
Remove getexepath.

getexepath was unportable but fortunately unused.

7 years agoConvert DOS-style line endings to Unix-style.
David Griffith [Tue, 27 Mar 2018 17:46:02 +0000 (10:46 -0700)]
Convert DOS-style line endings to Unix-style.

7 years agoCleanup in Makefile.
David Griffith [Tue, 27 Mar 2018 17:44:04 +0000 (10:44 -0700)]
Cleanup in Makefile.

7 years agoGive the core its own Makefile.
David Griffith [Tue, 27 Mar 2018 17:42:14 +0000 (10:42 -0700)]
Give the core its own Makefile.

7 years agoGive the curses interface its own Makefile.
David Griffith [Tue, 27 Mar 2018 17:24:16 +0000 (10:24 -0700)]
Give the curses interface its own Makefile.

7 years agoFixed weird problems with "make clean" trying to compile stuff.
David Griffith [Tue, 27 Mar 2018 17:01:16 +0000 (10:01 -0700)]
Fixed weird problems with "make clean" trying to compile stuff.

7 years agoGive blorblib it's own Makefile.
David Griffith [Tue, 27 Mar 2018 15:44:06 +0000 (08:44 -0700)]
Give blorblib it's own Makefile.

7 years agoGive dfrotz its own Makefile. Need to figure out how to not link to libpthread.
David Griffith [Tue, 27 Mar 2018 15:19:34 +0000 (08:19 -0700)]
Give dfrotz its own Makefile.  Need to figure out how to not link to libpthread.

7 years agoMerge branch 'tkorvola-misc'
David Griffith [Tue, 27 Mar 2018 10:52:31 +0000 (03:52 -0700)]
Merge branch 'tkorvola-misc'

7 years agoChange sfrotz over to using common/defines.h for version and build date info.
David Griffith [Tue, 27 Mar 2018 10:51:08 +0000 (03:51 -0700)]
Change sfrotz over to using common/defines.h for version and build date info.

7 years agoMerge branch 'misc' of https://github.com/tkorvola/frotz into tkorvola-misc
David Griffith [Tue, 27 Mar 2018 10:21:29 +0000 (03:21 -0700)]
Merge branch 'misc' of https://github.com/tkorvola/frotz into tkorvola-misc

7 years agoMerge pull request #69 from escondida/quetzal
David Griffith [Tue, 27 Mar 2018 09:10:43 +0000 (02:10 -0700)]
Merge pull request #69 from escondida/quetzal

src/common/quetzal.c: Do not implicitly fall through in case statement

7 years agoFix cursor positioning.
Timo Korvola [Mon, 26 Mar 2018 23:44:50 +0000 (02:44 +0300)]
Fix cursor positioning.

Input text width was computed incorrectly.

7 years agoRemove the distclean target.
Timo Korvola [Sun, 25 Mar 2018 19:00:36 +0000 (22:00 +0300)]
Remove the distclean target.

The dependency files are now removed by clean.

Also fix bad package name.  It is just a default though: normally
SDL_PKGS comes from the top Makefile.

7 years agoReduce pointless recompilation.
Timo Korvola [Wed, 21 Mar 2018 19:50:40 +0000 (21:50 +0200)]
Reduce pointless recompilation.

Do not include common/defines.h unless actually needed.  It
contains nothing but version information.  It is updated at every
build to put in the current date.

7 years agoMiscellaneous portability fixes.
Timo Korvola [Tue, 20 Mar 2018 22:20:56 +0000 (00:20 +0200)]
Miscellaneous portability fixes.

7 years agoFix eternal loop in sf_GetProfileString.
Timo Korvola [Sun, 11 Mar 2018 20:25:46 +0000 (22:25 +0200)]
Fix eternal loop in sf_GetProfileString.

7 years agoMerge pull request #70 from escondida/end_no_strrchr
David Griffith [Thu, 22 Mar 2018 04:09:50 +0000 (21:09 -0700)]
Merge pull request #70 from escondida/end_no_strrchr

src/curses/ux_init.c: End homebrewed strrchr function
Whoops!

7 years agosrc/curses/ux_init.c: End homebrewed strrchr function
Ivy Foster [Wed, 21 Mar 2018 18:41:28 +0000 (13:41 -0500)]
src/curses/ux_init.c: End homebrewed strrchr function

At present, it is sort of ended by the #endif following it.

7 years agosrc/common/quetzal.c: Do not implicitly fall through in case statement
Ivy Foster [Wed, 21 Mar 2018 17:26:06 +0000 (12:26 -0500)]
src/common/quetzal.c: Do not implicitly fall through in case statement

7 years agoChange append redirection to create redirection to avoid garbage.
David Griffith [Sun, 11 Mar 2018 13:33:57 +0000 (06:33 -0700)]
Change append redirection to create redirection to avoid garbage.

7 years agoFix typo with GIT_BRANCH in Makefile.
David Griffith [Sun, 11 Mar 2018 13:29:50 +0000 (06:29 -0700)]
Fix typo with GIT_BRANCH in Makefile.

7 years agoAdd BUILD_DATE_TIME to src/common/defines.h.
David Griffith [Sun, 11 Mar 2018 13:27:12 +0000 (06:27 -0700)]
Add BUILD_DATE_TIME to src/common/defines.h.

7 years agoMerge branch 'tkorvola-sdl'
David Griffith [Sun, 11 Mar 2018 11:50:32 +0000 (04:50 -0700)]
Merge branch 'tkorvola-sdl'

7 years agoRemove duplicate -lz.
Timo Korvola [Sat, 10 Mar 2018 17:18:03 +0000 (19:18 +0200)]
Remove duplicate -lz.

7 years agoClean up compiler warnings.
Timo Korvola [Sat, 10 Mar 2018 17:10:22 +0000 (19:10 +0200)]
Clean up compiler warnings.

7 years agoMore useful CFLAGS.
Timo Korvola [Fri, 9 Mar 2018 21:51:09 +0000 (23:51 +0200)]
More useful CFLAGS.

Comment away -Wextra: it produces too many false positives for
regular use.  Aim for ISO C instead of GNU (still 99 vintage).
strdup is just too handy though: bring it in from POSIX 2008.
Curses sound uses pthreads, compile accordingly.

7 years agoFix some technical blunders.
Timo Korvola [Fri, 9 Mar 2018 21:43:49 +0000 (23:43 +0200)]
Fix some technical blunders.

Font height is not ascent + descent.  Ascent + descent = em size, but
height may be more if there is extra line spacing (height is from
baseline to baseline).  Also, off by one in yof computation.

7 years agoUpdate font_height & _width whenever they are used.
Timo Korvola [Fri, 9 Mar 2018 21:38:16 +0000 (23:38 +0200)]
Update font_height & _width whenever they are used.

Call os_data(0, &font_height, &font_width) to update.  On those
front ends where it does nothing (curses) it does not matter.

7 years agoSupport for querying current font size.
Timo Korvola [Fri, 9 Mar 2018 21:23:19 +0000 (23:23 +0200)]
Support for querying current font size.

os_font_data(0, &h, &w) stores the current font height and width
into h and w, also accounting for style (with a non-zero font
os_font_data returns dimensions for Roman style as before).
Currently properly implemented only in SDL where the call returns true.
On other front ends it returns false and either does not touch h & w
(curses) or sets them correctly anyway (dos).

7 years agoSupport for loading a scalable graphics font.
Timo Korvola [Thu, 8 Mar 2018 20:43:35 +0000 (22:43 +0200)]
Support for loading a scalable graphics font.

A graphics font can be specified with the "graphics" option
(Fonts section) of .sfrotzrc.  The font is assumed to have fixed width
equal to height and em size (no line gap).  It is scaled to match the
width and height of the fixed width text font (not usually equal,
so the graphics font gets stretched).  Any size specification in the
option is ignored.

Now someone just needs to draw that font.  I made a quick autotrace
in Fontforge but it is rather hideous.

7 years agoAdjust graphics font.
Timo Korvola [Tue, 6 Mar 2018 18:56:11 +0000 (20:56 +0200)]
Adjust graphics font.

Set double height graphics font ascent to 14 and descent to 2
(was (12, 4)).  The new values match those of the built-in text font.
Set the y offset of all glyphs to -2 for both single and double
height graphics font, which now have the same descent
(yof was erroneously 0).  Beyond Zork now looks about right with the
built-in fonts.  It still looks awful with custom fonts because the
graphics font should be scaled to the size of the fixed width text
font.

7 years agoFix the file dialog filters.
Timo Korvola [Mon, 5 Mar 2018 22:28:42 +0000 (00:28 +0200)]
Fix the file dialog filters.

Use the extension definitions from frotz.h.

7 years agoReally show Beyond Zork's title screen.
Timo Korvola [Mon, 5 Mar 2018 22:02:33 +0000 (00:02 +0200)]
Really show Beyond Zork's title screen.

Drawing doesn't work before RESTART_END because windows aren't
properly set up.  No, RESTART_WPROP_SET is not enough.

You'll need a blorb with the title graphics.  That is the only
resource of the game - you don't need the blorb to play.

7 years agoSafer ar rules.
Timo Korvola [Mon, 5 Mar 2018 18:53:50 +0000 (20:53 +0200)]
Safer ar rules.

This should be safe for make -j.  The default rules are not.

7 years agoMore special keys.
Timo Korvola [Sun, 4 Mar 2018 20:52:45 +0000 (22:52 +0200)]
More special keys.

Esc clears the input line.  Page up/down are passed as cursor up/down
to the game (Beyond Zork needs them).  This resembles more and more
the curses version.

7 years agoLose non-standard GCC attributes.
Timo Korvola [Sun, 4 Mar 2018 20:37:21 +0000 (22:37 +0200)]
Lose non-standard GCC attributes.

Call init routines explicitly instead of relying on an obscure
GCC extension.

7 years agoFix os_string_width.
Timo Korvola [Sun, 4 Mar 2018 19:53:38 +0000 (21:53 +0200)]
Fix os_string_width.

Width was computed wrong for strings with more than one style or font
change.

7 years agoMinor improvements
Timo Korvola [Sun, 4 Mar 2018 15:49:26 +0000 (17:49 +0200)]
Minor improvements

7 years agoFix history by borrowing from curses.
Timo Korvola [Sat, 3 Mar 2018 22:04:40 +0000 (00:04 +0200)]
Fix history by borrowing from curses.

7 years agoFix recursive SDL make.
Timo Korvola [Sat, 3 Mar 2018 22:02:46 +0000 (00:02 +0200)]
Fix recursive SDL make.

7 years agoend_of_sound now maybe works.
Timo Korvola [Sat, 3 Mar 2018 18:59:22 +0000 (20:59 +0200)]
end_of_sound now maybe works.

Went back to end_of_sound taking no args, so sound.c got reverted.
Should be easier on DOS frotz, which I never attempted to fix.  Made
interpret call os_tick, as SDL front end expects (WinFrotz also has
os_tick).  os_tick calls end_of_sound as appropriate.  Added os_tick
to the other front ends.  In dumb it does nothing, in curses it
handles resizes.

7 years agoUseless use of dup.
Timo Korvola [Sat, 3 Mar 2018 15:40:35 +0000 (17:40 +0200)]
Useless use of dup.

7 years agoDrastically simplify getaiff.
Timo Korvola [Sat, 3 Mar 2018 12:54:30 +0000 (14:54 +0200)]
Drastically simplify getaiff.

Axe all conversion code (which was complicated and likely buggy)
and let SDL_mixer take care of everything.

7 years agoDrop an unused source file from compilation.
Timo Korvola [Sat, 3 Mar 2018 11:52:22 +0000 (13:52 +0200)]
Drop an unused source file from compilation.

7 years agoremove dfrotz build dependencies
Sean Fitzgerald [Mon, 26 Feb 2018 07:19:03 +0000 (23:19 -0800)]
remove dfrotz build dependencies

As the intention of dfrotz is be dependency free, make it so at build time as well.

7 years agoLose remaining traces of rindex.
Timo Korvola [Fri, 2 Mar 2018 20:19:11 +0000 (22:19 +0200)]
Lose remaining traces of rindex.

rindex never was but POSIX and is deprecated even there.  strrchr
does the same and is C89.

7 years agoAdd declarations.
Timo Korvola [Fri, 2 Mar 2018 19:34:37 +0000 (21:34 +0200)]
Add declarations.

Add enough function prototypes to get rid of warnings.  Fix errors
caused by calls actually not matching definitions.

7 years agoFix dirname / basename problems.
Timo Korvola [Thu, 1 Mar 2018 20:58:13 +0000 (22:58 +0200)]
Fix dirname / basename problems.

It is annoying how vaguely POSIX dirname and basename are defined,
so make our own versions with well-defined behaviour.

Now actually loads a story and starts.