Source: https://github.com/mseelye/scottfree-ncurses
This rework by: Mark Seelye [email protected]
Original: "ScottFree release 1.14b" for DOS, by Alan Cox
Copyright:
Scott Free, A Scott Adams game driver in C.
Release 1.14b (PC), (c) 1993,1994,1995 Swansea University Computer Society.
Port to ncurses Release 0.1, (c) 2020 Mark Seelye
Distributed under the GNU software license
License: GNU GPL, version 2 - see GPL-2.0.md
- Original SCOTT.c/SCOTT.h source from "ScottFree release 1.14b" for DOS, by Alan Cox. From ifarchive.org
- Mike Taylor's fixes for the definition notes from his ScottKit project.
- Jason Compton, who made a great Scott Adams-format game called "Ghost King" that inspired me to play around with Scott Adams Interpreters
- "Ghost King" is available in the /games directory.
- ALL the games in the /games directory belong to the authors who created them. I do not claim to have authored any of them, and I provide them here for the sake of convenience. I believe almost all of these came from ifarchive.org
Before working on scottfree64 for the Commodore 64, I did a quick port to ncurses. I know there are other ncurses ports out there, but I thought I'd put mine out there too. As with scottfree64, I wanted to make as few changes to the original SCOTT.C/SCOTT.H as possible, so there are no optimizations here.
- You will need the ncurses development libraries installed to build this.
- If you exit the program abnormally it may make your terminal wonky, try
stty sane
- I've tested this with Windows MSys(xterm), Mac, and Ubuntu 16.04.
With ncurses libraries installed, gcc, and make - you should be able to build this. It will put scottfree-ncurses(.exe) in the out directory.
- build:
make
- run:
./out/scottfree-ncurses [optional arguments] games/[game dat file] [optional saved game]
- Example run:
./out/scottfree-ncurses -i -d games/ghostking.dat yorick
Where-i and -d
are optional switches,ghostking.dat
is the playable game file to load, andyorick
is the optional saved game.
The options available in this build are the same as the original ScottFree 1.14b:
- -h Shows help similar to this README.
- -y Use "you are" mode.
- -s Use "scottlight" mode for light/darkness messages.
- -i Use "I am" mode. (Default behavior, expected by most Adams-format games)
- -d Debug. Shows detailed loading progress and data about the gamefile during the load.
- -p Use old or "prehistoric" lamp behavior.
Again, all of the games in the games directory belong to the original authors. Provided here for the sake of convenience.
- Ghost King by Jason Compton "Your father is dead and you're sure your uncle is responsible. You tried to tell your mother so. Instead of believing you, she married him. Now you're going to uncover the truth and set things right..."
- adv01.dat Adventureland
- adv02.dat Pirate Adventure (aka. Pirate's Cove)
- adv03.dat Secret Mission(aka "Mission Impossible")
- adv04.dat Voodoo Castle
- adv05.dat The Count
- adv06.dat Strange Odyssey
- adv07.dat Mystery Fun House
- adv08.dat Pyramid of Doom
- adv09.dat Ghost Town
- adv10.dat Savage Island, Part I
- adv11.dat Savage Island, Part II
- adv12.dat The Golden Voyage
- adv13.dat Sorcerer of Claymorgue Castle
- adv14a.dat Return to Pirate's Isle
- adv14b.dat Buckaroo Banzai
- sampler1.dat Mini Adventure Sampler
These Scott Adams original text Adventure games are still copyrighted by Scott Adams and are not Public Domain. They may be freely downloaded and enjoyed though. Please refer to the original shares at ifarchive.org Look for AdamsGames.zip
(c) 1981,82,83. All games written by Brian Howarth. #5-7 co-written by Wherner Barnes, #8 and #11 co-written by Cliff J. Ogden.
- 1_baton.dat The Golden Baton
- 2_timemachine.dat The Time Machine
- 3_arrow1.dat Arrow of Death Part 1
- 4_arrow2.dat Arrow of Death Part 2
- 5_pulsar7.dat Escape from Pulsar 7
- 6_circus.dat Circus
- 7_feasibility.dat Feasibility Experiment
- 8_akyrz.dat The Wizard of Akyrz
- 9_perseus.dat Perseus and Andromeda
- A_tenlittleindians.dat Ten Little Indians
- B_waxworks.dat Waxworks
All of the commercially published Scott Adams-format games available in TRS-80 .dat format are expected to work on this build of ScottFree. Some modern games which play at the boundaries of the Adams specification may fail on this build due to memory limitations or other quirks.
DAT Is a format used by some of the Scott Adams game kits and players.
You can find a lot of them on sites like:
http://ifarchive.org/indexes/if-archiveXscott-adamsXgames.html
You need to have ncurses installed. This varies from platform to platform how to do it. You also need gcc (or some other gcc compatible C compiler, clang etc.), and GUN make.
$ make
mkdir -p out
*** Building src/scottfree-ncurses.c
gcc -o out/scottfree-ncurses src/scottfree-ncurses.c src/scottfree.h -Wall -lncurses
*** Building complete
At this point I can't recall what I did to get ncurses installed on my MSys2/Mingw64 environment. You might want to start with pacman -S ncurses
and/or pacman -S ncurses-devel
.
For Ubuntu and Mac, I'm fairly certain I also just used apt-get and brew. I'll check and update these docs at some point.
Any gcc compiler should do fine, I have only really tested this with gcc and clang though.
I use GNU Make 4.3 in my Windows MSys2 environment, GNU Make 4.1 in my Ubuntu environment, and GNU Make 3.8.1 on my MacBook Pro.
The Makefile also makes use of various shell commands like echo, rm, and mkdir. Hopefully these are available in your build environment.