Import games/1oom, a game engine recreation of Master of Orion 1.

Original submission by Max Fillinger, who takes MAINTAINER -- thanks!
ok thfr@

1oom is a free and open source recreation of Master of Orion 1, a
classic turn-based strategy game from 1993 developed by Simtex and
published by Microprose. The player's goal is to expand their space
empire and ultimately rule the galaxy. Of course, rival empires have the
same idea...

While 1oom is free software, the game and its assets are not. You will
need to purchase a copy of Master of Orion 1 to use this package.
This commit is contained in:
bcallah 2019-02-10 14:04:02 +00:00
parent 4d14f23aa6
commit 758cd4c9ca
7 changed files with 186 additions and 0 deletions

33
games/1oom/Makefile Normal file
View File

@ -0,0 +1,33 @@
# $OpenBSD: Makefile,v 1.1.1.1 2019/02/10 14:04:02 bcallah Exp $
COMMENT = game engine recreation of Master of Orion 1
DISTNAME = 1oom-1.0
CATEGORIES = games x11
HOMEPAGE = https://kilgoretroutmaskreplicant.gitlab.io/plain-html/
MAINTAINER = Max Fillinger <max@max-fillinger.net>
# GPLv2 only
PERMIT_PACKAGE_CDROM = Yes
WANTLIB += SDL2 SDL2_mixer c readline
MASTER_SITES = https://gitlab.com/KilgoreTroutMaskReplicant/1oom/uploads/13d2d645650929c6f7f08be356b62f66/
LIB_DEPENDS = devel/sdl2-mixer
CONFIGURE_STYLE = gnu
CONFIGURE_ARGS = --disable-hwsdl1 \
--disable-hwalleg4
# Create patch file so that the user can disable bug-compatibility with
# the original game.
post-build:
cd ${WRKSRC} && ./src/1oom_pbxmake doc/pbxin_fixbugs.txt \
fixbugs.pbx
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/1oom
${INSTALL_DATA} ${WRKSRC}/fixbugs.pbx ${PREFIX}/share/1oom
.include <bsd.port.mk>

2
games/1oom/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (1oom-1.0.tar.gz) = jAQvyZ4QAmVxSU5YvSx4ZuVV9Ifg85vpKNmP/bV8fkg=
SIZE (1oom-1.0.tar.gz) = 749938

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-Makefile_in,v 1.1.1.1 2019/02/10 14:04:02 bcallah Exp $
Make sure docs are installed.
Index: Makefile.in
--- Makefile.in.orig
+++ Makefile.in
@@ -331,7 +331,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = src
+SUBDIRS = doc src
DIST_SUBDIRS = doc src
EXTRA_DIST = \
AUTHORS CODE_OF_CONDUCT COPYING HACKING INSTALL NEWS PHILOSOPHY README \

View File

@ -0,0 +1,58 @@
$OpenBSD: patch-src_Makefile_in,v 1.1.1.1 2019/02/10 14:04:02 bcallah Exp $
Make default executable name 1oom.
And default lbx viewer executable name 1oom_lbxview.
Index: src/Makefile.in
--- src/Makefile.in.orig
+++ src/Makefile.in
@@ -93,11 +93,11 @@ bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__E
$(am__EXEEXT_7) $(am__EXEEXT_8)
@COMPILE_UICMDLINE_TRUE@am__append_1 = 1oom_cmdline
@COMPILE_UICLASSIC_SDL1_TRUE@@COMPILE_UICLASSIC_TRUE@am__append_2 = 1oom_classic_sdl1
-@COMPILE_UICLASSIC_SDL2_TRUE@@COMPILE_UICLASSIC_TRUE@am__append_3 = 1oom_classic_sdl2
+@COMPILE_UICLASSIC_SDL2_TRUE@@COMPILE_UICLASSIC_TRUE@am__append_3 = 1oom
@COMPILE_UICLASSIC_ALLEG4_TRUE@@COMPILE_UICLASSIC_TRUE@am__append_4 = 1oom_classic_alleg4
@COMPILE_TOOLS_TRUE@am__append_5 = 1oom_pbxdump 1oom_pbxmake 1oom_gfxconv 1oom_saveconv 1oom_lbxedit
@COMPILE_TOOLS_SDL1_TRUE@@COMPILE_TOOLS_TRUE@am__append_6 = 1oom_lbxview_sdl1
-@COMPILE_TOOLS_SDL2_TRUE@@COMPILE_TOOLS_TRUE@am__append_7 = 1oom_lbxview_sdl2
+@COMPILE_TOOLS_SDL2_TRUE@@COMPILE_TOOLS_TRUE@am__append_7 = 1oom_lbxview
@COMPILE_TOOLS_ALLEG4_TRUE@@COMPILE_TOOLS_TRUE@am__append_8 = 1oom_lbxview_alleg4
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -111,7 +111,7 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
@COMPILE_UICMDLINE_TRUE@am__EXEEXT_1 = 1oom_cmdline$(EXEEXT)
@COMPILE_UICLASSIC_SDL1_TRUE@@COMPILE_UICLASSIC_TRUE@am__EXEEXT_2 = 1oom_classic_sdl1$(EXEEXT)
-@COMPILE_UICLASSIC_SDL2_TRUE@@COMPILE_UICLASSIC_TRUE@am__EXEEXT_3 = 1oom_classic_sdl2$(EXEEXT)
+@COMPILE_UICLASSIC_SDL2_TRUE@@COMPILE_UICLASSIC_TRUE@am__EXEEXT_3 = 1oom$(EXEEXT)
@COMPILE_UICLASSIC_ALLEG4_TRUE@@COMPILE_UICLASSIC_TRUE@am__EXEEXT_4 = 1oom_classic_alleg4$(EXEEXT)
@COMPILE_TOOLS_TRUE@am__EXEEXT_5 = 1oom_pbxdump$(EXEEXT) \
@COMPILE_TOOLS_TRUE@ 1oom_pbxmake$(EXEEXT) \
@@ -119,7 +119,7 @@ CONFIG_CLEAN_VPATH_FILES =
@COMPILE_TOOLS_TRUE@ 1oom_saveconv$(EXEEXT) \
@COMPILE_TOOLS_TRUE@ 1oom_lbxedit$(EXEEXT)
@COMPILE_TOOLS_SDL1_TRUE@@COMPILE_TOOLS_TRUE@am__EXEEXT_6 = 1oom_lbxview_sdl1$(EXEEXT)
-@COMPILE_TOOLS_SDL2_TRUE@@COMPILE_TOOLS_TRUE@am__EXEEXT_7 = 1oom_lbxview_sdl2$(EXEEXT)
+@COMPILE_TOOLS_SDL2_TRUE@@COMPILE_TOOLS_TRUE@am__EXEEXT_7 = 1oom_lbxview$(EXEEXT)
@COMPILE_TOOLS_ALLEG4_TRUE@@COMPILE_TOOLS_TRUE@am__EXEEXT_8 = 1oom_lbxview_alleg4$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
@@ -650,7 +650,7 @@ clean-binPROGRAMS:
@rm -f 1oom_classic_sdl1$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(1oom_classic_sdl1_OBJECTS) $(1oom_classic_sdl1_LDADD) $(LIBS)
-1oom_classic_sdl2$(EXEEXT): $(1oom_classic_sdl2_OBJECTS) $(1oom_classic_sdl2_DEPENDENCIES) $(EXTRA_1oom_classic_sdl2_DEPENDENCIES)
+1oom$(EXEEXT): $(1oom_classic_sdl2_OBJECTS) $(1oom_classic_sdl2_DEPENDENCIES) $(EXTRA_1oom_classic_sdl2_DEPENDENCIES)
@rm -f 1oom_classic_sdl2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(1oom_classic_sdl2_OBJECTS) $(1oom_classic_sdl2_LDADD) $(LIBS)
@@ -674,7 +674,7 @@ clean-binPROGRAMS:
@rm -f 1oom_lbxview_sdl1$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(1oom_lbxview_sdl1_OBJECTS) $(1oom_lbxview_sdl1_LDADD) $(LIBS)
-1oom_lbxview_sdl2$(EXEEXT): $(1oom_lbxview_sdl2_OBJECTS) $(1oom_lbxview_sdl2_DEPENDENCIES) $(EXTRA_1oom_lbxview_sdl2_DEPENDENCIES)
+1oom_lbxview$(EXEEXT): $(1oom_lbxview_sdl2_OBJECTS) $(1oom_lbxview_sdl2_DEPENDENCIES) $(EXTRA_1oom_lbxview_sdl2_DEPENDENCIES)
@rm -f 1oom_lbxview_sdl2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(1oom_lbxview_sdl2_OBJECTS) $(1oom_lbxview_sdl2_LDADD) $(LIBS)

8
games/1oom/pkg/DESCR Normal file
View File

@ -0,0 +1,8 @@
1oom is a free and open source recreation of Master of Orion 1, a
classic turn-based strategy game from 1993 developed by Simtex and
published by Microprose. The player's goal is to expand their space
empire and ultimately rule the galaxy. Of course, rival empires have the
same idea...
While 1oom is free software, the game and its assets are not. You will
need to purchase a copy of Master of Orion 1 to use this package.

32
games/1oom/pkg/PLIST Normal file
View File

@ -0,0 +1,32 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2019/02/10 14:04:02 bcallah Exp $
@bin bin/1oom
@bin bin/1oom_cmdline
@bin bin/1oom_gfxconv
@bin bin/1oom_lbxedit
@bin bin/1oom_lbxview
@bin bin/1oom_pbxdump
@bin bin/1oom_pbxmake
@bin bin/1oom_saveconv
share/1oom/
share/1oom/fixbugs.pbx
share/doc/1oom/
share/doc/1oom/format_gam.txt
share/doc/1oom/format_lbx.txt
share/doc/1oom/format_moo.txt
share/doc/1oom/format_pbx.txt
share/doc/1oom/format_save.txt
share/doc/1oom/lbxmd5.txt
share/doc/1oom/list_gamediff.txt
share/doc/1oom/list_pbxnum.txt
share/doc/1oom/pbxin_example.txt
share/doc/1oom/pbxin_fixbugs.txt
share/doc/1oom/usage_classic.txt
share/doc/1oom/usage_cmdline.txt
share/doc/1oom/usage_common.txt
share/doc/1oom/usage_gfxconv.txt
share/doc/1oom/usage_lbxedit.txt
share/doc/1oom/usage_lbxview.txt
share/doc/1oom/usage_pbxdump.txt
share/doc/1oom/usage_pbxmake.txt
share/doc/1oom/usage_saveconv.txt
share/doc/pkg-readmes/${PKGSTEM}

37
games/1oom/pkg/README Normal file
View File

@ -0,0 +1,37 @@
$OpenBSD: README,v 1.1.1.1 2019/02/10 14:04:02 bcallah Exp $
+-----------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-----------------------------------------------------------------------
Game Files
==========
To run 1oom, you need the original files of Master of Orion 1. If you
have a CD version, you can simply copy them to your hard drive. If you
bought the game on GOG, download its Windows installer and unpack it
using the innoextract package. You will find the required files in the
'app' directory.
On the first start, you need to tell 1oom where to find the game files:
1oom -data /path/to/moo/files/
The location will be remembered for future starts.
Bugfixes and Improvements
=========================
By default, 1oom tries to recreate the behavior of version 1.3, the last
official version of the game, including bugs. Bugfixes can be enabled
with the '-file ${TRUEPREFIX}/share/1oom/fixbugs.pbx' option.
Additional UI features can be enabled with the -uiextra flag, and the UI
can be scaled using the -uiscale option. Passing a value larger than 1
displays a larger portion of the map at once than the original game.
AI improvements can be enabled by selecting 'AI:Classic+' when setting
up a new game. This requires running the game with the uiextra flag.
The package contains several tools to modify the game. For further
documentation, see the files in ${TRUEPREFIX}/share/doc/1oom.