From 1e91582081f23d4c4540e60e29ce9fc27176f934 Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Wed, 23 Nov 2016 18:48:33 -0800 Subject: [PATCH] Add a configure script and Makefile --- .gitignore | 77 ++++---- Makefile.in | 277 +++++++++++++++++++++++++++ configure | 172 +++++++++++++++++ boxdraw.inc => inc/boxdraw.inc | 0 ability.pp => src/ability.pp | 0 action.pp => src/action.pp | 0 aibrain.pp => src/aibrain.pp | 0 arenacfe.pp => src/arenacfe.pp | 0 arenahq.pp => src/arenahq.pp | 0 arenaplay.pp => src/arenaplay.pp | 0 arenascript.pp => src/arenascript.pp | 0 backpack.pp => src/backpack.pp | 0 colormenu.pp => src/colormenu.pp | 0 congfx.pp => src/congfx.pp | 0 coninfo.pp => src/coninfo.pp | 0 conmap.pp => src/conmap.pp | 0 conmenus.pp => src/conmenus.pp | 0 context.pp => src/context.pp | 0 cosplay.pas => src/cosplay.pas | 0 damage.pp => src/damage.pp | 0 effects.pp => src/effects.pp | 0 factory.pp => src/factory.pp | 0 gears.pp => src/gears.pp | 0 gearutil.pp => src/gearutil.pp | 0 gflooker.pp => src/gflooker.pp | 0 gharena.pas => src/gharena.pas | 0 ghchars.pp => src/ghchars.pp | 0 ghcpit.pp => src/ghcpit.pp | 0 gheffect.pp => src/gheffect.pp | 0 ghguard.pp => src/ghguard.pp | 0 ghholder.pp => src/ghholder.pp | 0 ghintrinsic.pp => src/ghintrinsic.pp | 0 ghmecha.pp => src/ghmecha.pp | 0 ghmodule.pp => src/ghmodule.pp | 0 ghmovers.pp => src/ghmovers.pp | 0 ghparser.pp => src/ghparser.pp | 0 ghprop.pp => src/ghprop.pp | 0 ghsensor.pp => src/ghsensor.pp | 0 ghsupport.pp => src/ghsupport.pp | 0 ghswag.pp => src/ghswag.pp | 0 ghweapon.pp => src/ghweapon.pp | 0 grabgear.pp => src/grabgear.pp | 0 interact.pp => src/interact.pp | 0 locale.pp => src/locale.pp | 0 mapedit.pp => src/mapedit.pp | 0 menugear.pp => src/menugear.pp | 0 movement.pp => src/movement.pp | 0 navigate.pp => src/navigate.pp | 0 pcaction.pp => src/pcaction.pp | 0 playwright.pp => src/playwright.pp | 0 randchar.pp => src/randchar.pp | 0 randmaps.pp => src/randmaps.pp | 0 rpgdice.pp => src/rpgdice.pp | 0 sdlgfx.pp => src/sdlgfx.pp | 0 sdlinfo.pp => src/sdlinfo.pp | 0 sdlmap.pp => src/sdlmap.pp | 0 sdlmenus.pp => src/sdlmenus.pp | 0 services.pp => src/services.pp | 0 skilluse.pp => src/skilluse.pp | 0 texutil.pp => src/texutil.pp | 0 ui4gh.pp => src/ui4gh.pp | 0 wmonster.pp => src/wmonster.pp | 0 xxran.pas => src/xxran.pas | 0 63 files changed, 482 insertions(+), 44 deletions(-) create mode 100644 Makefile.in create mode 100755 configure rename boxdraw.inc => inc/boxdraw.inc (100%) rename ability.pp => src/ability.pp (100%) rename action.pp => src/action.pp (100%) rename aibrain.pp => src/aibrain.pp (100%) rename arenacfe.pp => src/arenacfe.pp (100%) rename arenahq.pp => src/arenahq.pp (100%) rename arenaplay.pp => src/arenaplay.pp (100%) rename arenascript.pp => src/arenascript.pp (100%) rename backpack.pp => src/backpack.pp (100%) rename colormenu.pp => src/colormenu.pp (100%) rename congfx.pp => src/congfx.pp (100%) rename coninfo.pp => src/coninfo.pp (100%) rename conmap.pp => src/conmap.pp (100%) rename conmenus.pp => src/conmenus.pp (100%) rename context.pp => src/context.pp (100%) rename cosplay.pas => src/cosplay.pas (100%) rename damage.pp => src/damage.pp (100%) rename effects.pp => src/effects.pp (100%) rename factory.pp => src/factory.pp (100%) rename gears.pp => src/gears.pp (100%) rename gearutil.pp => src/gearutil.pp (100%) rename gflooker.pp => src/gflooker.pp (100%) rename gharena.pas => src/gharena.pas (100%) rename ghchars.pp => src/ghchars.pp (100%) rename ghcpit.pp => src/ghcpit.pp (100%) rename gheffect.pp => src/gheffect.pp (100%) rename ghguard.pp => src/ghguard.pp (100%) rename ghholder.pp => src/ghholder.pp (100%) rename ghintrinsic.pp => src/ghintrinsic.pp (100%) rename ghmecha.pp => src/ghmecha.pp (100%) rename ghmodule.pp => src/ghmodule.pp (100%) rename ghmovers.pp => src/ghmovers.pp (100%) rename ghparser.pp => src/ghparser.pp (100%) rename ghprop.pp => src/ghprop.pp (100%) rename ghsensor.pp => src/ghsensor.pp (100%) rename ghsupport.pp => src/ghsupport.pp (100%) rename ghswag.pp => src/ghswag.pp (100%) rename ghweapon.pp => src/ghweapon.pp (100%) rename grabgear.pp => src/grabgear.pp (100%) rename interact.pp => src/interact.pp (100%) rename locale.pp => src/locale.pp (100%) rename mapedit.pp => src/mapedit.pp (100%) rename menugear.pp => src/menugear.pp (100%) rename movement.pp => src/movement.pp (100%) rename navigate.pp => src/navigate.pp (100%) rename pcaction.pp => src/pcaction.pp (100%) rename playwright.pp => src/playwright.pp (100%) rename randchar.pp => src/randchar.pp (100%) rename randmaps.pp => src/randmaps.pp (100%) rename rpgdice.pp => src/rpgdice.pp (100%) rename sdlgfx.pp => src/sdlgfx.pp (100%) rename sdlinfo.pp => src/sdlinfo.pp (100%) rename sdlmap.pp => src/sdlmap.pp (100%) rename sdlmenus.pp => src/sdlmenus.pp (100%) rename services.pp => src/services.pp (100%) rename skilluse.pp => src/skilluse.pp (100%) rename texutil.pp => src/texutil.pp (100%) rename ui4gh.pp => src/ui4gh.pp (100%) rename wmonster.pp => src/wmonster.pp (100%) rename xxran.pas => src/xxran.pas (100%) diff --git a/.gitignore b/.gitignore index 3b64a1e..d0361b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,45 +1,34 @@ -*.py[cod] -*.o -*.ppu +# Generated by `configure` +**/Makefile +**/config.make +**/config.status + +# Generated by `make` +**/obj/*.o +**/obj/*.ppu + +**/bin/gharena +**/bin/cosplay +**/bin/xxran +**/bin/*.exe + +**/patched/crt.pp +**/patched/crth.inc + + +# Generated by `make dist` and `make bindist` +*.zip +*.tar.gz +*.tar.bz2 +*.tar.xz + + +# Generated by running the game SaveGame/ -arena -gharena -cosplay -xxran -*.exe -*.dll - -# C extensions -*.so - -# Packages -*.egg -*.egg-info -dist -build -eggs -parts -bin -var -sdist -develop-eggs -.installed.cfg -lib -lib64 - -# Installer logs -pip-log.txt - -# Unit test / coverage reports -.coverage -.tox -nosetests.xml - -# Translations -*.mo - -# Mr Developer -.mr.developer.cfg -.project -.pydevproject -*.bak + + +# Editor files, being personal to you, do not belong in this file. +# Instead, add them to one of: +# $XDG_CONFIG_HOME/git/ignore (if XDG_CONFIG_HOME is set) +# $HOME/.config/git/ignore (if XDG_CONFIG_HOME is not set) +# $GIT_DIR/info/exclude (where $GIT_DIR is usually .git, unless it is a file) diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..989698f --- /dev/null +++ b/Makefile.in @@ -0,0 +1,277 @@ +# This is a Makefile, useful for compiling GearHead on Unix platforms. + +### CONFIGURATION +# Running `./configure` will copy `Makefile.in` to `Makefile`, +# and store options in `config.make`. You can also store your own options +# in `local.make`. + +ENABLE_XTERM_BOXDRAWING = yes +WITH_SDL = no + +# Compiler and flags. +FPC = fpc +FPCFLAGS = -g -O2 +PPDEP = ppdep +PPDEPFLAGS = + +# Used for tarballs. Cross-compiling is a little more complicated. +FPC_ARCH := $(shell ${FPC} ${FPCFLAGS} -iTP) +FPC_OS := $(shell ${FPC} ${FPCFLAGS} -iTO) +# Used when applying the xterm-boxdrawing patch. +FPC_VERSION := $(shell ${FPC} ${FPCFLAGS} -iV) +FPC_SOURCE := /usr/share/fpcsrc/${FPC_VERSION}/ + +SRC_MAIN = gharena +# Allow co-installation +BIN_MAIN = $(if $(filter yes,${WITH_SDL}),gearhead-sdl,gearhead) +PACKAGE = ${BIN_MAIN} + +# Name of tarballs/zips for distribution, excluding extension. +SRC_TARBALL=${PACKAGE}-${PACKAGE_VERSION}-src +BIN_TARBALL=${PACKAGE}-${PACKAGE_VERSION}-${FPC_ARCH}-${FPC_OS} + +# Prefix used for installation. Useful for making tarballs. +DISTDIR = + +PREFIX = /usr/local +EPREFIX = ${PREFIX} +BINDIR = ${EPREFIX}/games +DATAROOTDIR = ${PREFIX}/share +DATADIR = ${DATAROOTDIR}/games +DOCDIR = ${PREFIX}/doc/${PACKAGE} +# Other autoconf directories not needed. + +.DEFAULT_GOAL = all + +include config.make +ALL_MAIN := $(patsubst ${SRC_DIR}/src/%.pas,bin/%,$(wildcard ${SRC_DIR}/src/*.pas)) +PACKAGE_VERSION := $(shell cd ${SRC_DIR}; if test -e .git; then git describe --dirty; else sed -n "s/^\s*Version = '\(.*\)';\r\?$$/\1/; T; p" src/gharena.pas; fi) +-include local.make + +############################################################ +### No user-servicable parts beyond this point. ### +############################################################ + +### OVERRIDES + +ifeq '${WITH_SDL}' 'yes' +override FPCFLAGS += -dSDLMODE +override PPDEPFLAGS += -dSDLMODE +ENABLE_XTERM_BOXDRAWING = no +else +ALL_MAIN := $(filter-out bin/cosplay,${ALL_MAIN}) +endif + +ifeq '${ENABLE_XTERM_BOXDRAWING}' 'yes' +${ALL_MAIN}: maint-apply-xterm-boxdrawing +override FPCFLAGS += -Fi${SRC_DIR}/xterm-boxdrawing -Fu./patched/ +else +${ALL_MAIN}: maint-unapply-xterm-boxdrawing +endif +override FPCFLAGS += -Fi${SRC_DIR}/inc/ + + +### RULES + +.SECONDARY: +.DELETE_ON_ERROR: + +# TODO use `ppdep` once it is no longer buggy and/or we apply the workaround. +.PHONY: all +all: ${ALL_MAIN} +.PHONY: clean +clean: + rm -rf bin/ obj/ +.PHONY: distclean +distclean: clean +distclean: maint-unapply-xterm-boxdrawing +distclean: maint-unconfigure +bin/%: ${SRC_DIR}/src/%.pas + mkdir -p bin obj + ${FPC} ${FPCFLAGS} $< -FE./bin/ -FU./obj/ + +# If this rule is executed, Make will restart with the *new* makefile +Makefile: ${SRC_DIR}/Makefile.in + ./config.status + +### CHECK +.PHONY: test +test: check +.PHONY: check +check: all + +### INSTALL +# Since `install` is (often) run as root, it must *not* depend on `all` +# (or anything else that might write a file outside of DESTDIR) +# Also note: we must *not* glob too aggressively, to avoid picking up +# backup files. +.PHONY: install +install: install-bin install-data install-doc +# This has to be done via a variable to look pretty on output. +# $1: root directory to copy from +# $2: directories to copy from, under that root +# $3: files patterns to copy within those directories +# $4: directory to create all these under +x_nothing = +x_space = ${x_nothing} ${x_nothing} +define x_newline + + +endef +nl2sp = $(subst ${x_newline},${x_space},$1) +define do_install +$(foreach dir,$(call nl2sp,$2), + install -d ${DESTDIR}$4/${dir} + $(foreach file,$(call nl2sp,$3), + $(if $(wildcard $1/${dir}/${file}), + install -m 0644 $1/${dir}/${file} ${DESTDIR}$4/${dir} + ) + ) +) +endef +.PHONY: install-bin +install-bin: +# not using do_install because it renames and uses +x + install -d ${DESTDIR}${BINDIR} + install -T bin/${SRC_MAIN} ${DESTDIR}${BINDIR}/${BIN_MAIN} +define install_data_dirs + Design + GameData + Image + Series +endef +define install_data_files + *.png + *.ttf + *.txt +endef +.PHONY: install-data +install-data: + $(call do_install,${SRC_DIR},${install_data_dirs},${install_data_files},${DATADIR}/${PACKAGE}) +.PHONY: install-doc +install-doc: + $(call do_install,${SRC_DIR},. contrib,*.md *.png *.sh *.txt,${DOCDIR}) + $(call do_install,${SRC_DIR}/doc,.,*.md *.txt,${DOCDIR}) + +### DISTRIBUTION +# Manually list everything from `git ls-files`, without relying on git. +# The fact that `make dist` can be called from within its own output is +# an important sanity check. +define dist_dirs + . + Design + GameData + Image + Series + contrib + dist + doc + inc + src + xterm-boxdrawing +endef + +define dist_files + *.diff + *.inc + *.md + *.pas + *.png + *.pp + *.sh + *.ttf + *.txt + .gitignore + Makefile.in + README + configure +endef + +# This has to be done via a variable to look pretty on output. +# $1: root directory to copy from +# $2: directories to copy from, under that root +# $3: files patterns to copy within those directories +# $4: directory to create all these under +define do_copy +$(foreach dir,$(call nl2sp,$2), + mkdir -p $4/${dir} + $(foreach file,$(call nl2sp,$3), + $(if $(wildcard $1/${dir}/${file}), + cp $1/${dir}/${file} $4/${dir} + ) + ) +) +endef + +.PHONY: dist/temp-destdir/${SRC_TARBALL} +dist/tmp-destdir/${SRC_TARBALL}: + rm -rf $@ + $(call do_copy,${SRC_DIR},${dist_dirs},${dist_files},$@) +.PHONY: dist +dist: dist/${SRC_TARBALL}.zip +dist: dist/${SRC_TARBALL}.tar.gz +dist: dist/${SRC_TARBALL}.tar.bz2 +dist: dist/${SRC_TARBALL}.tar.xz +dist: + rm -r dist/tmp-destdir/${SRC_TARBALL} + rm dist/${SRC_TARBALL}.tar +.PHONY: dist/tmp-destdir/${BIN_TARBALL} +dist/tmp-destdir/${BIN_TARBALL}: + rm -rf $@ + ${MAKE} all + ${MAKE} install DESTDIR=$@ +.PHONY: bindist +bindist: dist/${BIN_TARBALL}.zip +bindist: dist/${BIN_TARBALL}.tar.gz +bindist: dist/${BIN_TARBALL}.tar.bz2 +bindist: dist/${BIN_TARBALL}.tar.xz +bindist: + rm -r dist/tmp-destdir/${BIN_TARBALL} + rm dist/${BIN_TARBALL}.tar + +dist/%.tar: dist/tmp-destdir/% + rm -f $@ + (cd ./dist/tmp-destdir && tar cf ../$*.tar $*) +dist/%.zip: dist/tmp-destdir/% + rm -f $@ + (cd ./dist/tmp-destdir && zip -q -r ../$*.zip $*) +dist/%.tar.gz: dist/%.tar + gzip -n < $< > $@ +dist/%.tar.bz2: dist/%.tar + bzip2 < $< > $@ +dist/%.tar.xz: dist/%.tar + xz < $< > $@ + +distcheck: dist/${SRC_TARBALL}.tar.gz + test -e ${SRC_DIR}/.git # `distcheck` is only supported from git clones. + (cd ${SRC_DIR} && git ls-files) > obj/files-git + tar tf $< | sort | sed '/^\(.*\/\)\?$$/d; s/${SRC_TARBALL}\///' > obj/files-dist + diff -u obj/files-git obj/files-dist + rm obj/files-git obj/files-dist + +# Call this during development if something went wrong previously. +.PHONY: maint-undist +maint-undist: + rm -f dist/${SRC_TARBALL}.zip dist/${SRC_TARBALL}.tar.* + rm -f dist/${BIN_TARBALL}.zip dist/${BIN_TARBALL}.tar.* +.PHONY: maint-apply-xterm-boxdrawing +maint-apply-xterm-boxdrawing: + mkdir -p patched + cp ${FPC_SOURCE}/packages/rtl-console/src/unix/crt.pp patched/ + cp ${FPC_SOURCE}/packages/rtl-console/src/inc/crth.inc patched/ + patch patched/crt.pp < ${SRC_DIR}/xterm-boxdrawing/crt.pp.diff + +.PHONY: maint-unapply-xterm-boxdrawing +maint-unapply-xterm-boxdrawing: + rm -rf patched/ + +.PHONY: maint-unconfigure +maint-unconfigure: + rm -f config.status config.make Makefile +# Table of contents: +### CONFIGURATION +### OVERRIDES +### RULES +### CHECK +### INSTALL +### DISTRIBUTION diff --git a/configure b/configure new file mode 100755 index 0000000..282d99d --- /dev/null +++ b/configure @@ -0,0 +1,172 @@ +#!/bin/bash + +set -e + +trap 'echo Configure failed!' EXIT + +# Dead-simple hand-written configure script. + +die() +{ + printf '%s\n' "$@" >&2 + exit 1 +} + +src_dir="$(dirname "$0")" + +for arg +do + case "$arg" in + -h | --help) + cat << EOF +Usage: $0 [--flags | variables] [...] + +Core Flags: + --help this help + +Installation directories: + --prefix architecture-independent files [/usr/local] + --exec-prefix architecture-dependent files [PREFIX] + --bindir user executables [EPREFIX/games] + --datarootdir read-only data root [PREFIX/share] + --datadir read-only non-documentation data [DATAROOTDIR] + --docdir documentation [DATAROOTDIR/doc/PACKAGE] + + (other well-known directory options are accepted but ignored) + +Variables: + FPC compiler name [fpc] + FPCFLAGS compiler flags [-g -O2] + +Optional features: + (--enable-FEATURE is a shortcut for --enable-FEATURE=yes) + (--disable-FEATURE is a shortcut for --enable-FEATURE=no) + + --enable-xterm-boxdrawing + patch standard library to work with modern terminals [yes] + +Optional packages: + (--with-PACKAGE is a shortcut for --with-PACKAGE=yes) + (--without-PACKAGE is a shortcut for --with-PACKAGE=no) + + --with-sdl build the SDL frontend rather than the console one [no] +EOF + trap - EXIT + exit + ;; + esac +done + +exec 3>config.make.tmp + +for arg +do + case "$arg" in + --disable-*=* |\ + --without-*=*) + die "negative options can't have an argument" + ;; + --disable-*) + arg=--enable-"${arg#--disable-}"=no + ;; + --without-*) + arg=--with-"${arg#--without-}"=no + ;; + --enable-*=* |\ + --with-*=*) + # Just prevent the below from matching. + ;; + --enable-*) + arg="$arg"=yes + ;; + --with-*) + arg="$arg"=yes + ;; + --*=* |\ + *=*) + # Just prevent the below from matching. + ;; + --*) + die "missing argument: $arg";; + -*) + die "there are no short options: $arg";; + *) + die "invalid option $arg";; + esac + key="${arg%%=*}" + val="${arg#*=}" + case "$key" in + --prefix) + key=PREFIX + ;; + --exec-prefix) + key=EPREFIX + ;; + --bindir) + key=BINDIR + ;; + --datarootdir) + key=DATAROOTDIR + ;; + --datadir) + key=DATADIR + ;; + --docdir) + key=DOCDIR + ;; + FPC | FPCFLAGS) + ;; + --enable-xterm-boxdrawing) + key=ENABLE_XTERM_BOXDRAWING + ;; + --with-sdl) + key=WITH_SDL + ;; + --sbindir |\ + --libexecdir |\ + --sysconfdir |\ + --sharedstatedir |\ + --localstatedir |\ + --libdir |\ + --includedir |\ + --oldincludedir |\ + --infodir |\ + --localedir |\ + --mandir |\ + --htmldir |\ + --dvidir |\ + --pdfdir |\ + --psdir) + printf 'Warning: well-unknown but unused option: %s\n' "$key" >&2 + continue + ;; + --build | --host | --target | CC | CFLAGS | CXX | CXXFLAGS | LDFLAGS | LIBS) + printf 'Warning: FPC is not a C compiler: %s\n' "$key" >&2 + continue + ;; + *) + printf 'Warning: unknown option: %s\n' "$key" >&2 + continue + ;; + esac + echo "$key = $val" >&3 +done +echo "SRC_DIR = $src_dir" >&3 +exec 3>&- +mv config.make.tmp config.make + +exec 3>config.status.tmp +printf '#!/bin/sh\n' >&3 +printf '# Re-run this script to re-use a saved configuration.\n' >&3 +printf 'exec' >&3 +printf ' %q' "$0" "$@" >&3 +printf '\n' >&3 +exec 3>&- +chmod +x config.status.tmp +mv config.status.tmp config.status + +cp "$src_dir"/Makefile.in ./Makefile.tmp +mv Makefile.tmp Makefile + +trap - EXIT +echo 'Successfully (re?)configured!' diff --git a/boxdraw.inc b/inc/boxdraw.inc similarity index 100% rename from boxdraw.inc rename to inc/boxdraw.inc diff --git a/ability.pp b/src/ability.pp similarity index 100% rename from ability.pp rename to src/ability.pp diff --git a/action.pp b/src/action.pp similarity index 100% rename from action.pp rename to src/action.pp diff --git a/aibrain.pp b/src/aibrain.pp similarity index 100% rename from aibrain.pp rename to src/aibrain.pp diff --git a/arenacfe.pp b/src/arenacfe.pp similarity index 100% rename from arenacfe.pp rename to src/arenacfe.pp diff --git a/arenahq.pp b/src/arenahq.pp similarity index 100% rename from arenahq.pp rename to src/arenahq.pp diff --git a/arenaplay.pp b/src/arenaplay.pp similarity index 100% rename from arenaplay.pp rename to src/arenaplay.pp diff --git a/arenascript.pp b/src/arenascript.pp similarity index 100% rename from arenascript.pp rename to src/arenascript.pp diff --git a/backpack.pp b/src/backpack.pp similarity index 100% rename from backpack.pp rename to src/backpack.pp diff --git a/colormenu.pp b/src/colormenu.pp similarity index 100% rename from colormenu.pp rename to src/colormenu.pp diff --git a/congfx.pp b/src/congfx.pp similarity index 100% rename from congfx.pp rename to src/congfx.pp diff --git a/coninfo.pp b/src/coninfo.pp similarity index 100% rename from coninfo.pp rename to src/coninfo.pp diff --git a/conmap.pp b/src/conmap.pp similarity index 100% rename from conmap.pp rename to src/conmap.pp diff --git a/conmenus.pp b/src/conmenus.pp similarity index 100% rename from conmenus.pp rename to src/conmenus.pp diff --git a/context.pp b/src/context.pp similarity index 100% rename from context.pp rename to src/context.pp diff --git a/cosplay.pas b/src/cosplay.pas similarity index 100% rename from cosplay.pas rename to src/cosplay.pas diff --git a/damage.pp b/src/damage.pp similarity index 100% rename from damage.pp rename to src/damage.pp diff --git a/effects.pp b/src/effects.pp similarity index 100% rename from effects.pp rename to src/effects.pp diff --git a/factory.pp b/src/factory.pp similarity index 100% rename from factory.pp rename to src/factory.pp diff --git a/gears.pp b/src/gears.pp similarity index 100% rename from gears.pp rename to src/gears.pp diff --git a/gearutil.pp b/src/gearutil.pp similarity index 100% rename from gearutil.pp rename to src/gearutil.pp diff --git a/gflooker.pp b/src/gflooker.pp similarity index 100% rename from gflooker.pp rename to src/gflooker.pp diff --git a/gharena.pas b/src/gharena.pas similarity index 100% rename from gharena.pas rename to src/gharena.pas diff --git a/ghchars.pp b/src/ghchars.pp similarity index 100% rename from ghchars.pp rename to src/ghchars.pp diff --git a/ghcpit.pp b/src/ghcpit.pp similarity index 100% rename from ghcpit.pp rename to src/ghcpit.pp diff --git a/gheffect.pp b/src/gheffect.pp similarity index 100% rename from gheffect.pp rename to src/gheffect.pp diff --git a/ghguard.pp b/src/ghguard.pp similarity index 100% rename from ghguard.pp rename to src/ghguard.pp diff --git a/ghholder.pp b/src/ghholder.pp similarity index 100% rename from ghholder.pp rename to src/ghholder.pp diff --git a/ghintrinsic.pp b/src/ghintrinsic.pp similarity index 100% rename from ghintrinsic.pp rename to src/ghintrinsic.pp diff --git a/ghmecha.pp b/src/ghmecha.pp similarity index 100% rename from ghmecha.pp rename to src/ghmecha.pp diff --git a/ghmodule.pp b/src/ghmodule.pp similarity index 100% rename from ghmodule.pp rename to src/ghmodule.pp diff --git a/ghmovers.pp b/src/ghmovers.pp similarity index 100% rename from ghmovers.pp rename to src/ghmovers.pp diff --git a/ghparser.pp b/src/ghparser.pp similarity index 100% rename from ghparser.pp rename to src/ghparser.pp diff --git a/ghprop.pp b/src/ghprop.pp similarity index 100% rename from ghprop.pp rename to src/ghprop.pp diff --git a/ghsensor.pp b/src/ghsensor.pp similarity index 100% rename from ghsensor.pp rename to src/ghsensor.pp diff --git a/ghsupport.pp b/src/ghsupport.pp similarity index 100% rename from ghsupport.pp rename to src/ghsupport.pp diff --git a/ghswag.pp b/src/ghswag.pp similarity index 100% rename from ghswag.pp rename to src/ghswag.pp diff --git a/ghweapon.pp b/src/ghweapon.pp similarity index 100% rename from ghweapon.pp rename to src/ghweapon.pp diff --git a/grabgear.pp b/src/grabgear.pp similarity index 100% rename from grabgear.pp rename to src/grabgear.pp diff --git a/interact.pp b/src/interact.pp similarity index 100% rename from interact.pp rename to src/interact.pp diff --git a/locale.pp b/src/locale.pp similarity index 100% rename from locale.pp rename to src/locale.pp diff --git a/mapedit.pp b/src/mapedit.pp similarity index 100% rename from mapedit.pp rename to src/mapedit.pp diff --git a/menugear.pp b/src/menugear.pp similarity index 100% rename from menugear.pp rename to src/menugear.pp diff --git a/movement.pp b/src/movement.pp similarity index 100% rename from movement.pp rename to src/movement.pp diff --git a/navigate.pp b/src/navigate.pp similarity index 100% rename from navigate.pp rename to src/navigate.pp diff --git a/pcaction.pp b/src/pcaction.pp similarity index 100% rename from pcaction.pp rename to src/pcaction.pp diff --git a/playwright.pp b/src/playwright.pp similarity index 100% rename from playwright.pp rename to src/playwright.pp diff --git a/randchar.pp b/src/randchar.pp similarity index 100% rename from randchar.pp rename to src/randchar.pp diff --git a/randmaps.pp b/src/randmaps.pp similarity index 100% rename from randmaps.pp rename to src/randmaps.pp diff --git a/rpgdice.pp b/src/rpgdice.pp similarity index 100% rename from rpgdice.pp rename to src/rpgdice.pp diff --git a/sdlgfx.pp b/src/sdlgfx.pp similarity index 100% rename from sdlgfx.pp rename to src/sdlgfx.pp diff --git a/sdlinfo.pp b/src/sdlinfo.pp similarity index 100% rename from sdlinfo.pp rename to src/sdlinfo.pp diff --git a/sdlmap.pp b/src/sdlmap.pp similarity index 100% rename from sdlmap.pp rename to src/sdlmap.pp diff --git a/sdlmenus.pp b/src/sdlmenus.pp similarity index 100% rename from sdlmenus.pp rename to src/sdlmenus.pp diff --git a/services.pp b/src/services.pp similarity index 100% rename from services.pp rename to src/services.pp diff --git a/skilluse.pp b/src/skilluse.pp similarity index 100% rename from skilluse.pp rename to src/skilluse.pp diff --git a/texutil.pp b/src/texutil.pp similarity index 100% rename from texutil.pp rename to src/texutil.pp diff --git a/ui4gh.pp b/src/ui4gh.pp similarity index 100% rename from ui4gh.pp rename to src/ui4gh.pp diff --git a/wmonster.pp b/src/wmonster.pp similarity index 100% rename from wmonster.pp rename to src/wmonster.pp diff --git a/xxran.pas b/src/xxran.pas similarity index 100% rename from xxran.pas rename to src/xxran.pas