1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-27 00:57:50 +00:00

Mars, Land of No Mercy is a turn-based strategy game setting on Mars during the

early stages of human colonization.The player embodies the leader of a
mercenary team, landed on Mars to take advantage of conqueror battles between
the Worldwide Colonizer Corporations.

The main purpose is to command his team trying to find them commissions,
training and leading them in battle, while still being aware of financial and
instrumental resources by administering them.The Mech is the fundamental craft
used by mercenaries, but they won't lack of other kind of units, as well as
troops.

The game most remarkable point is the incredible liberty given to the player
and therefore the great strategic side that derives. It is indeed up to the
player to decide how to behave towards the one who recruited him, and the
enemies of turn.

Basically every action leads to a reaction, so it is strongly recommended to
keep a good and consistent behavior to achieve confidence from Corporations,
and avoid being excluded by them.

WWW:	http://mars.sourceforge.net/

PR:		ports/94771
Submitted by:	Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
This commit is contained in:
Pav Lucistnik 2006-04-08 23:51:44 +00:00
parent 635862307e
commit d6e283ec72
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=159175
9 changed files with 226 additions and 0 deletions

View File

@ -381,6 +381,7 @@
SUBDIR += mangband
SUBDIR += marathon-evil
SUBDIR += marathon2-data
SUBDIR += marsnomercy
SUBDIR += meqcc
SUBDIR += merlin
SUBDIR += mindfocus

View File

@ -0,0 +1,59 @@
# New ports collection makefile for: Mars Land of No Mercy
# Date created: 2006-03-21
# Whom: Jose Alonso Cardenas Marquez <acardenas@bsd.org.pe>
#
# $FreeBSD$
#
PORTNAME= marsnomercy
PORTVERSION= 0.1.1
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= mars
DISTNAME= mars-${PORTVERSION}-src
MAINTAINER= acardenas@bsd.org.pe
COMMENT= A turn-based strategy game setting on Mars
BUILD_DEPENDS= scons:${PORTSDIR}/devel/scons
USE_X_PREFIX= yes
USE_SDL= sdl image ttf
MAKE_ENV= CC="${CC}" CXX="${CXX}"
PLIST= ${WRKDIR}/pkg-plist
PLIST_FILES= bin/mars-nomercy libexec/mars
PLIST_DIRS= %%DATADIR%%
WRKSRC= ${WRKDIR}/mars-${PORTVERSION}
SUB_FILES= mars-nomercy
OPTIONS= DEBUG "With additional debug information" off
.include <bsd.port.pre.mk>
.if defined(WITH_DEBUG)
SCONS_ARGS= debug=1
.else
SCONS_ARGS= debug=0
.endif
do-build:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} scons ${SCONS_ARGS}
pre-install:
@${RM} -f ${PLIST}
@cd ${WRKSRC}/data && \
${FIND} * -type f | ${SORT} | ${SED} -e 's|^|%%DATADIR%%/|' >> ${PLIST} && \
${FIND} * -type d | ${SORT} -r | ${SED} -e 's|^|@dirrm %%DATADIR%%/|' >> ${PLIST}
do-install:
@${MKDIR} ${DATADIR}
@cd ${WRKSRC}/data && \
${FIND} * -type d -exec ${MKDIR} "${DATADIR}/{}" \; && \
${FIND} * -type f -exec ${INSTALL_DATA} "{}" "${DATADIR}/{}" \;
@${INSTALL_SCRIPT} ${WRKDIR}/mars-nomercy ${PREFIX}/bin
@${INSTALL_PROGRAM} ${WRKSRC}/mars ${PREFIX}/libexec
post-install:
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>

View File

@ -0,0 +1,3 @@
MD5 (mars-0.1.1-src.tar.gz) = a5b70e679588775a936ebbf4b83236a6
SHA256 (mars-0.1.1-src.tar.gz) = 9a68b6a419721ca80fb7963867647a7da10991b15e5647b27d728cea2c9aa489
SIZE (mars-0.1.1-src.tar.gz) = 2497824

View File

@ -0,0 +1,12 @@
#!/bin/sh
if [ -d "~/.marsnomercy" ]; then
cd ~/.marsomercy || exit 1
exec %%PREFIX%%/libexec/mars "$@"
else
cd %%DATADIR%% || exit 1
find * -type d -exec mkdir -p ~/.marsnomercy/data/{} \; || exit 1
find * -type f -exec ln -s %%DATADIR%%/{} ~/.marsnomercy/data/{} \; 2>/dev/null || exit 1
cd ~/.marsnomercy || exit 1
exec %%PREFIX%%/libexec/mars "$@"
fi

View File

@ -0,0 +1,37 @@
--- SConstruct Mon Mar 6 16:56:17 2006
+++ SConstruct Tue Mar 21 02:12:54 2006
@@ -1,3 +1,6 @@
+import os
+import sys
+
# create build environment and options
env = Environment()
opts = Options()
@@ -38,12 +41,14 @@
# PLATFORM posix or pure cygwin
else:
-
+ SDL_CONFIG = os.environ['SDL_CONFIG']
# determine compiler and linker flags for SDL
- env.ParseConfig('sdl-config --cflags')
- env.ParseConfig('sdl-config --libs')
+ env.ParseConfig(SDL_CONFIG + ' --cflags')
+ env.ParseConfig(SDL_CONFIG + ' --libs')
# add additional compiler flags
- env.Append(CCFLAGS = ['-O2'])
+ env.Replace(CC = os.environ['CC'])
+ env.Replace(CXX = os.environ['CXX'])
+ env.Replace(CXXFLAGS = os.environ['CXXFLAGS'] + ' `' + SDL_CONFIG + ' --cflags`')
# add additional libraries to link against
env.Append(LIBS = ['SDL_image', 'SDL_ttf'])
@@ -71,7 +76,7 @@
if not env.GetOption('clean'):
print ":: Checking for libs"
conf = Configure(env)
- if not conf.CheckLibWithHeader('libSDL', 'SDL.h', 'c', 'SDL_Init(SDL_INIT_VIDEO);'):
+ if not conf.CheckLibWithHeader('libSDL-1.1', 'SDL.h', 'c', 'SDL_Init(SDL_INIT_VIDEO);'):
print 'Did not find libSDL, exiting!'
Exit(1)
if not conf.CheckLibWithHeader('libSDL_image', 'SDL_image.h', 'c', 'IMG_GetError();'):

View File

@ -0,0 +1,36 @@
--- src/graphic/Screen.cpp Mon Mar 6 16:56:16 2006
+++ src/graphic/Screen.cpp Mon Mar 20 10:38:14 2006
@@ -17,7 +17,16 @@
// Setting screen mode
a_surface = SDL_SetVideoMode(a_rectangle->w, a_rectangle->h, 0, a_flags);
-
+
+ if(!a_surface)
+ {
+ cout << "Video mode supported" << endl;
+ cout << "* 1024x768" << endl;
+ cout << "* 800x600" << endl;
+ cout << "Try: mars-nomercy <width> <height>" << endl;
+ exit(0);
+ }
+
a_backup = NULL;
}
@@ -38,6 +47,15 @@
if(w != a_rectangle->w || h != a_rectangle->h)
{
a_surface = SDL_SetVideoMode(w, h, 0, a_flags);
+
+ if(!a_surface)
+ {
+ cout << "Video mode supported" << endl;
+ cout << "* 1024x768" << endl;
+ cout << "* 800x600" << endl;
+ cout << "Try: mars-nomercy <width> <height>" << endl;
+ exit(0);
+ }
// Setting screen dimensions
a_rectangle->w = w;

View File

@ -0,0 +1,48 @@
--- src/mars.cpp Mon Mar 6 17:45:01 2006
+++ src/mars.cpp Mon Mar 20 10:33:25 2006
@@ -96,6 +96,21 @@
int main(int argc, char **argv)
{
+int r_w = 0;
+int r_h = 0;
+
+ switch(argc)
+ {
+ case 1:r_w = 1024;
+ r_h = 768;
+ break;
+ case 3:r_w = atoi(argv[1]);
+ r_h = atoi(argv[2]);
+ break;
+ default: cout << "Use: mars-nomercy or mars-nomercy <width> <height>" <<endl;
+ exit(0);
+ }
+
// the system video is initialized
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
// init SDL_ttf
@@ -103,9 +118,9 @@
// when exit, execute SDL_Quit to restore everything
atexit(SDL_Quit);
-
- Dimension screen_dim = { RIS2_W, RIS2_H };
-
+
+ Dimension screen_dim = { r_w, r_h };
+
// init screen
screen = new Screen(screen_dim.w, screen_dim.h, SDL_SWSURFACE|SDL_FULLSCREEN);
@@ -116,8 +131,8 @@
Options opt;
// default res is 1024 x 768
- opt.ris.w = RIS2_W;
- opt.ris.h = RIS2_H;
+ opt.ris.w = r_w;
+ opt.ris.h = r_h;
// start menu
menu(opt);

View File

@ -0,0 +1,21 @@
Mars, Land of No Mercy is a turn-based strategy game setting on Mars during the
early stages of human colonization.The player embodies the leader of a
mercenary team, landed on Mars to take advantage of conqueror battles between
the Worldwide Colonizer Corporations.
The main purpose is to command his team trying to find them commissions,
training and leading them in battle, while still being aware of financial and
instrumental resources by administering them.The Mech is the fundamental craft
used by mercenaries, but they won't lack of other kind of units, as well as
troops.
The game most remarkable point is the incredible liberty given to the player
and therefore the great strategic side that derives. It is indeed up to the
player to decide how to behave towards the one who recruited him, and the
enemies of turn.
Basically every action leads to a reaction, so it is strongly recommended to
keep a good and consistent behavior to achieve confidence from Corporations,
and avoid being excluded by them.
WWW: http://mars.sourceforge.net/

View File

@ -0,0 +1,9 @@
###############################################################################
1) Run mars:
# mars-nomercy
2) Enjoy it ;)
###############################################################################