Menu

Tree [897c37] master /
 History

HTTPS access


File Date Author Commit
 bin 2022-09-16 Geoff Wong Geoff Wong [897c37] More imported stuff.
 lpc 2022-09-16 Geoff Wong Geoff Wong [344978] First add from CVS.
 lpvm 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 mlib 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 modules 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 mudlib 2022-09-16 Geoff Wong Geoff Wong [897c37] More imported stuff.
 runtime 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 secure 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 BUGS 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 CHANGELOG 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 Copying 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 INSTALL 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 Makefile 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 Makefile.in 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 README 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 TODO 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 aclocal.m4 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.cache 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.guess 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.h 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.h.in 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.log 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.status 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 config.sub 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 configure 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 configure.in 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 install-sh 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 swlpc.mk 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 swlpc.mk.in 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.
 vsn.mk 2022-09-16 Geoff Wong Geoff Wong [e89a16] Moved from CVS to git.

Read Me

SWLPC
~~~~~

This is Shattered World's Game Driver.

The code that forms this driver is derived from a number of
sources especially from Lars Pensj| who initially devised LPC (the
first version of the interpreted language herein). A large amount of 
the code has been written or rewritten by Mike McGaughey and Geoff Wong.

The C code that forms the Shattered World "game driver" (all
the code except that in the "M" sub-directory) shall be
copyrighted under the GNU Public License; refer to the file
"Copying" distributed with this code in this directory.

Compiling isn't as straightforward as it should be.
You need to edit gd_config.h to contain the correct 
options you wish to compile for.


Notes on the Makefile
~~~~~~~~~~~~~~~~~~~~~
You must use GNU make.

You must make the GC malloc library first if you use
it (by default in the Makefile). GC is in the directory "GC"!

The Makefile dependency checking is somewhat broken
at the moment.


Notes on the Organisation
~~~~~~~~~~~~~~~~~~~~~~~~~

The virtual machine which executes the compiled bytecodes
is in the "lpvm" subdirectory. I've been trying to totally
isolate this from the runtime system. It's not quite there yet.

Garbage collection is partly reference counted and partly
reliant on "GC" (Boehm's garbage collector). It's found
in the "GC" subdirectory.

A secondary testing malloc package is in the "leak" subdirectory.

The compiler and runtime systems are still tied together
in the "lpc" directory. Eventually it is intended
that these will be split (as I intend to have all
runtime support in LPC rather than in C).

The "M" directory is a micro-mudlib enabling you to get started.

Geoff Wong