diff --git a/games/oblige/Makefile.unixy b/games/oblige/Makefile.unixy index 9e9480b8e6..52bd4fe636 100644 --- a/games/oblige/Makefile.unixy +++ b/games/oblige/Makefile.unixy @@ -37,7 +37,7 @@ FLTK_CONFIG=fltk-config FLTK_FLAGS=$(shell $(FLTK_CONFIG) --cflags) FLTK_LIBS=$(shell $(FLTK_CONFIG) --use-images --ldflags) -CXXFLAGS=$(OPTIMISE) -Wall -D$(OS) -Ilua_src -Iglbsp_src $(FLTK_FLAGS) +CXXFLAGS=$(OPTIMISE) -Wall -D$(OS) -Ilua_src -Iglbsp_src -Iajpoly_src $(FLTK_FLAGS) LDFLAGS=-L/usr/X11R6/lib LIBS=-lm -lz $(FLTK_LIBS) @@ -47,8 +47,13 @@ CXXFLAGS += -DFHS_INSTALL #----- OBLIGE Objects ---------------------------------------------- OBJS= $(OBJ_DIR)/main.o \ + $(OBJ_DIR)/m_about.o \ $(OBJ_DIR)/m_cookie.o \ + $(OBJ_DIR)/m_console.o \ + $(OBJ_DIR)/m_dialog.o \ $(OBJ_DIR)/m_lua.o \ + $(OBJ_DIR)/m_manage.o \ + $(OBJ_DIR)/m_options.o \ $(OBJ_DIR)/m_spots.o \ $(OBJ_DIR)/lib_argv.o \ $(OBJ_DIR)/lib_file.o \ @@ -72,7 +77,9 @@ OBJS= $(OBJ_DIR)/main.o \ $(OBJ_DIR)/csg_doom.o \ $(OBJ_DIR)/csg_nukem.o \ $(OBJ_DIR)/csg_quake.o \ + $(OBJ_DIR)/csg_shade.o \ $(OBJ_DIR)/dm_extra.o \ + $(OBJ_DIR)/dm_prefab.o \ $(OBJ_DIR)/g_doom.o \ $(OBJ_DIR)/g_nukem.o \ $(OBJ_DIR)/g_quake.o \ @@ -83,15 +90,12 @@ OBJS= $(OBJ_DIR)/main.o \ $(OBJ_DIR)/q_tjuncs.o \ $(OBJ_DIR)/q_vis.o \ $(OBJ_DIR)/vis_buffer.o \ + $(OBJ_DIR)/vis_occlude.o \ \ $(OBJ_DIR)/twister.o \ $(OBJ_DIR)/tx_forge.o \ $(OBJ_DIR)/tx_skies.o \ - $(OBJ_DIR)/ui_about.o \ $(OBJ_DIR)/ui_build.o \ - $(OBJ_DIR)/ui_chooser.o \ - $(OBJ_DIR)/ui_console.o \ - $(OBJ_DIR)/ui_dialog.o \ $(OBJ_DIR)/ui_game.o \ $(OBJ_DIR)/ui_hyper.o \ $(OBJ_DIR)/ui_level.o \ @@ -99,7 +103,9 @@ OBJS= $(OBJ_DIR)/main.o \ $(OBJ_DIR)/ui_module.o \ $(OBJ_DIR)/ui_rchoice.o \ $(OBJ_DIR)/ui_play.o \ - $(OBJ_DIR)/ui_window.o + $(OBJ_DIR)/ui_window.o \ + \ + $(OBJ_DIR)/zf_menu.o $(OBJ_DIR)/%.o: gui/%.cc $(CXX) $(CXXFLAGS) -o $@ -c $< @@ -164,6 +170,19 @@ GLBSP_CXXFLAGS=$(OPTIMISE) -Wall -DINLINE_G=inline $(OBJ_DIR)/glbsp/%.o: glbsp_src/%.cc $(CXX) $(GLBSP_CXXFLAGS) -o $@ -c $< +#----- AJ-Polygonator Objects -------------------------------------- + +AJPOLY_OBJS= \ + $(OBJ_DIR)/ajpoly/pl_map.o \ + $(OBJ_DIR)/ajpoly/pl_poly.o \ + $(OBJ_DIR)/ajpoly/pl_util.o \ + $(OBJ_DIR)/ajpoly/pl_wad.o + +AJPOLY_CXXFLAGS=$(OPTIMISE) -Wall + +$(OBJ_DIR)/ajpoly/%.o: ajpoly_src/%.cc + $(CXX) $(AJPOLY_CXXFLAGS) -o $@ -c $< + #----- Targets ---------------------------------------------------- @@ -174,7 +193,7 @@ clean: rm -f $(OBJ_DIR)/lua/*.o rm -f $(OBJ_DIR)/glbsp/*.o -$(PROGRAM): $(OBJS) $(LUA_OBJS) $(GLBSP_OBJS) +$(PROGRAM): $(OBJS) $(LUA_OBJS) $(GLBSP_OBJS) $(AJPOLY_OBJS) $(CXX) $^ -o $@ $(LDFLAGS) $(LIBS) stripped: $(PROGRAM) @@ -182,22 +201,9 @@ stripped: $(PROGRAM) install: stripped install -o root -m 755 $(PROGRAM) $(INSTALL_PREFIX)/bin/ - install -d $(SCRIPT_DIR)/scripts - install -d $(SCRIPT_DIR)/data - install -d $(SCRIPT_DIR)/data/doom1_boss - install -d $(SCRIPT_DIR)/data/doom2_boss - install -d $(SCRIPT_DIR)/games - install -d $(SCRIPT_DIR)/engines - install -d $(SCRIPT_DIR)/modules - install -d $(SCRIPT_DIR)/prefabs - install -o root -m 644 scripts/*.lua $(SCRIPT_DIR)/scripts - install -o root -m 644 data/*.* $(SCRIPT_DIR)/data - install -o root -m 644 data/doom1_boss/*.* $(SCRIPT_DIR)/data/doom1_boss - install -o root -m 644 data/doom2_boss/*.* $(SCRIPT_DIR)/data/doom2_boss - install -o root -m 644 games/*.lua $(SCRIPT_DIR)/games - install -o root -m 644 engines/*.lua $(SCRIPT_DIR)/engines - install -o root -m 644 modules/*.lua $(SCRIPT_DIR)/modules - install -o root -m 644 prefabs/*.lua $(SCRIPT_DIR)/prefabs + mkdir -p $(SCRIPT_DIR) + cp -r scripts/ data/ games/ engines/ modules/ $(SCRIPT_DIR) + find $(SCRIPT_DIR) -type f -print0 | xargs -0 chmod 644 uninstall: rm -v $(INSTALL_PREFIX)/bin/$(PROGRAM) diff --git a/games/oblige/README b/games/oblige/README index 279e36e197..2013f916cf 100644 --- a/games/oblige/README +++ b/games/oblige/README @@ -1,10 +1,10 @@ -OBLIGE is a random level generator for various classic games, including -DOOM, DOOM II, Heretic, and Quake. The goal is to produce high quality -levels which are fun to play. +OBLIGE v6 is a random level generator for Doom, Doom II, and their +expansion packs. The goal is to produce high quality levels which are +fun to play. -A Doom (or Heretic, or Quake) engine is required if you actually want to -play the levels you generate. Currently there are builds on SBo for zdoom, -gzdoom, prboom, chocolate-doom, odamex, skulltag, and maybe a few more. +A Doom engine is required if you actually want to play the levels you +generate. Currently there are builds on SBo for zdoom, gzdoom, prboom, +chocolate-doom, odamex, skulltag, and maybe a few more. Also required: the data file(s) for whichever game(s) you're playing (registered versions, not shareware): @@ -12,5 +12,10 @@ Also required: the data file(s) for whichever game(s) you're playing Game: File: Doom doom.wad Doom II doom2.wad -Heretic heretic.wad -Quake pak0.pak and pak1.pak +FreeDoom freedoom.wad, from SBo freedoom build +Ultimate Doom doom.wad or doomu.wad (?) +TNT Evilution tnt.wad +Plutonia plutonia.wad + +Older versions of oblige had support for Heretic and Quake. If you need +these, install oblige-legacy4 (which can co-exist with this version). diff --git a/games/oblige/oblige.SlackBuild b/games/oblige/oblige.SlackBuild index ea3457df0f..873df17ac7 100644 --- a/games/oblige/oblige.SlackBuild +++ b/games/oblige/oblige.SlackBuild @@ -6,14 +6,18 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20140827 bkw: version bump, reset BUILD to 1. +# oblige 6.10 is nice, but it *only* supports the Doom games, so I'll +# add an oblige-legacy4 build for the old version. + # 20140213 bkw: bump BUILD to 2. # Makefile.unixy updated so it installs data/doom[12]_boss (thanks to Black # Rider for the bug report). Also get rid of +x permissions on the data files # in /usr/share. PRGNAM=oblige -VERSION=${VERSION:-4.28b} -BUILD=${BUILD:-2} +VERSION=${VERSION:-6.10} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -45,7 +49,7 @@ fi set -e -SRCVER=$( echo $VERSION | sed 's/\.//g' ) +SRCVER=${VERSION//./} SRCNAM="Oblige" # grrrr! rm -rf $PKG @@ -62,7 +66,7 @@ find -L . \ -exec chmod 644 {} \; # Makefile.unixy originally came from the oblige author, I've hacked -# it up to make it work with oblige 4.x and SBo's fltk13. +# it up to make it work with oblige 6.x and SBo's fltk13. cp $CWD/Makefile.unixy Makefile # Fix a missing include diff --git a/games/oblige/oblige.info b/games/oblige/oblige.info index 1d027e64d8..f633776f55 100644 --- a/games/oblige/oblige.info +++ b/games/oblige/oblige.info @@ -1,8 +1,8 @@ PRGNAM="oblige" -VERSION="4.28b" +VERSION="6.10" HOMEPAGE="http://oblige.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/project/oblige/Oblige/4.28/oblige-428b-source.zip" -MD5SUM="ae89031dcff12958bb866505c266c49f" +DOWNLOAD="http://sourceforge.net/projects/oblige/files/Oblige/6.10/oblige-610-source.zip" +MD5SUM="a826aa76d573b74bce59440dd3232e5a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="fltk13"