svn commit: r308884 - in head/games/xevil: . files
Marcelo Araujo
araujo at FreeBSD.org
Fri Dec 14 07:16:22 UTC 2012
Author: araujo
Date: Fri Dec 14 07:16:20 2012
New Revision: 308884
URL: http://svnweb.freebsd.org/changeset/ports/308884
Log:
- Update MASTER_SITES.
- Fix build using CLANG.
- Add LICENSE.
- Add MAKE_JOBS_SAFE.
PR: ports/172010
Submitted by: KATO Tsuguru <tkato432 at yahoo.com>
Added:
head/games/xevil/files/patch-cmn__coord.h (contents, props changed)
head/games/xevil/files/patch-cmn__intel.h (contents, props changed)
head/games/xevil/files/patch-cmn__locator.cpp (contents, props changed)
head/games/xevil/files/patch-cmn__role.h (contents, props changed)
head/games/xevil/files/patch-cmn__streams.h (contents, props changed)
head/games/xevil/files/patch-cmn__utils.h (contents, props changed)
head/games/xevil/files/patch-cmn__xetp.h (contents, props changed)
head/games/xevil/files/patch-cmn__xetp_basic.cpp (contents, props changed)
head/games/xevil/files/patch-cmn__xetp_basic.h (contents, props changed)
head/games/xevil/files/patch-x11__draw.cpp (contents, props changed)
head/games/xevil/files/patch-x11__ui.h (contents, props changed)
head/games/xevil/files/patch-x11__viewport.h (contents, props changed)
head/games/xevil/files/patch-x11__xdata.h (contents, props changed)
Deleted:
head/games/xevil/pkg-plist
Modified:
head/games/xevil/Makefile (contents, props changed)
head/games/xevil/files/patch-ad (contents, props changed)
head/games/xevil/files/patch-cmn::actual.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::area.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::game.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::game.h (contents, props changed)
head/games/xevil/files/patch-cmn::game_style.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::game_style.h (contents, props changed)
head/games/xevil/files/patch-cmn::intel.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::locator.h (contents, props changed)
head/games/xevil/files/patch-cmn::physical.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::role.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::streams.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::utils.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::world.cpp (contents, props changed)
head/games/xevil/files/patch-cmn::xetp.cpp (contents, props changed)
head/games/xevil/files/patch-x11::l_agreement_dlg.cpp (contents, props changed)
head/games/xevil/files/patch-x11::main.cpp (contents, props changed)
head/games/xevil/files/patch-x11::panel.cpp (contents, props changed)
head/games/xevil/files/patch-x11::serverping.cpp (contents, props changed)
head/games/xevil/files/patch-x11::ui.cpp (contents, props changed)
head/games/xevil/files/patch-x11::viewport.cpp (contents, props changed)
head/games/xevil/files/patch-x11::xdata.cpp (contents, props changed)
head/games/xevil/pkg-descr (contents, props changed)
Modified: head/games/xevil/Makefile
==============================================================================
--- head/games/xevil/Makefile Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/Makefile Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,47 +1,47 @@
-# New ports collection makefile for: xevil
-# Date created: 7 November 2000
-# Whom: Göran Runfeldt <goranrunfeldt at home.se>
-#
+# Created by: G_ran Runfeldt <goranrunfeldt at home.se>
# $FreeBSD$
-#
PORTNAME= xevil
PORTVERSION= 2.02.r2
PORTREVISION= 2
CATEGORIES= games
-MASTER_SITES= http://www.xevil.com/download/stable/
-DISTNAME= xevilsrc${PORTVERSION:S/.r/r/}
+MASTER_SITES= SF/${PORTNAME}.mirror \
+ http://www.xevil.com/download/stable/
+DISTNAME= ${PORTNAME}src${PORTVERSION:S/.r/r/}
MAINTAINER= ports at FreeBSD.org
COMMENT= A fast-action, networked, anti-social, kill-everything game
-USE_ZIP= yes
-USE_XORG= xpm
-USE_DOS2UNIX= makefile config.mk cmn/makefile cmn/*.cpp cmn/*.h x11/makefile x11/*.cpp
-MAKEFILE= makefile
-ALL_TARGET= freebsd
-MAKE_JOBS_UNSAFE= yes
-
-.include <bsd.port.pre.mk>
+LICENSE= GPLv2
-# I'm not sure if this should be here
-.if (${MACHINE} == "alpha")
-CFLAGS+="-DXEVIL_KEYSET=UIalpha"
-.endif
+OPTIONS_DEFINE= DOCS
-pre-extract:
- @${MKDIR} ${WRKDIR}/${DISTNAME}
+NO_WRKSUBDIR=yes
-do-extract:
- @${UNZIP_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTDIR}/${DISTFILES} -d ${WRKSRC}
+USE_ZIP= yes
+USE_XORG= xpm
+USE_DOS2UNIX= *.cpp *.h config.mk makefile
+MAKEFILE= makefile
+MAKE_ARGS= DEPTH="${WKRSRC}"
+ALL_TARGET= ${OPSYS:L}
+MAKE_JOBS_SAFE= yes
+
+PORTDOCS= *
+PLIST_FILES= bin/${PORTNAME}
+
+.include <bsd.port.options.mk>
+
+port-patch:
+ @${FIND} ${WRKSRC} -name "*.xpm" | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|^static char|static const char|'
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/x11/FREEBSD/xevil ${PREFIX}/bin/xevil
-.if !defined(NOPORTDOCS)
- @${MKDIR} ${DOCSDIR}
+ ${INSTALL_PROGRAM} ${WRKSRC}/x11/${OPSYS:U}/${PORTNAME} ${PREFIX}/bin
+.if ${PORT_OPTIONS:MDOCS}
+ @{MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/readme.txt ${DOCSDIR}
@${MKDIR} ${DOCSDIR}/instructions
${INSTALL_DATA} ${WRKSRC}/instructions/* ${DOCSDIR}/instructions
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Modified: head/games/xevil/files/patch-ad
==============================================================================
--- head/games/xevil/files/patch-ad Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/files/patch-ad Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,6 +1,22 @@
---- makefile.orig Sun Mar 23 00:09:08 2003
-+++ makefile Sun May 18 12:05:08 2003
-@@ -63,11 +63,6 @@
+--- makefile.orig 2012-05-27 06:39:04.000000000 +0900
++++ makefile 2012-05-27 06:42:04.000000000 +0900
+@@ -42,9 +42,9 @@
+ $(OBJ_DIR)/ui_cmn.o $(OBJ_DIR)/l_agreement_dlg.o $(OBJ_DIR)/viewport.o
+
+
+-xevil: $(OBJ_DIR)/xevil $(OBJ_DIR)/xevil$(VERSION).$(PCKG_NAME).tar.Z
++#xevil: $(OBJ_DIR)/xevil $(OBJ_DIR)/xevil$(VERSION).$(PCKG_NAME).tar.Z
+ #xevil: $(OBJ_DIR)/xevil$(VERSION).$(PCKG_NAME).tar.Z
+-#xevil: $(OBJ_DIR)/xevil
++xevil: $(OBJ_DIR)/xevil
+
+
+ # Build the xevil executable.
+@@ -59,15 +59,9 @@
+ cd $(DEPTH)/cmn; $(MAKE)
+ cd $(DEPTH)/x11; $(MAKE)
+ $(CC) $(LINK_FLAGS) $(LINK_OPT) $(LIBS_DIRS) -o $(OBJ_DIR)/xevil $(ALL_OBJS) $(LIBS)
+- $(STRIP) $(OBJ_DIR)/xevil
# Could also include serverping in the distribution
$(OBJ_DIR)/xevil$(VERSION).$(PCKG_NAME).tar.Z::
Modified: head/games/xevil/files/patch-cmn::actual.cpp
==============================================================================
--- head/games/xevil/files/patch-cmn::actual.cpp Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/files/patch-cmn::actual.cpp Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,21 +1,208 @@
---- cmn/actual.cpp.orig 2000-01-19 12:54:36.000000000 +0100
-+++ cmn/actual.cpp 2007-07-31 15:47:25.000000000 +0200
-@@ -32,7 +32,8 @@
+--- cmn/actual.cpp.orig 2012-05-27 06:52:29.000000000 +0900
++++ cmn/actual.cpp 2012-05-27 06:53:11.000000000 +0900
+@@ -32,7 +32,7 @@
// Include Files
#if X11
-#include <strstream.h>
-+#include <strstream>
-+using namespace std;
++#include <sstream>
#endif
#if WIN32
#include <strstrea.h>
-@@ -1534,7 +1535,7 @@
+@@ -122,6 +122,7 @@
+ #include "bitmaps/yeti/yeti.bitmaps"
+
+
++using namespace std;
+
+ ///// Some helper macros to define creatures with certain abilities.
+ #define DEFINE_CREATURE_CTORS_2(CLASSNAME,ABILITY0,ability0,ABILITY1,ability1) \
+@@ -454,9 +455,9 @@
+ }
+ }
+
+- ostrstream msg;
+- msg << "Explosion hits " << hit << " objects." << ends;
+- locator->message_enq(msg.str());
++ stringstream msg;
++ msg << "Explosion hits " << hit << " objects.";
++ locator->message_enq(Utils::strdup(msg.str().c_str()));
+
+ kill_self();
+ Physical::act();
+@@ -1001,7 +1002,7 @@
+ if (other && (other->get_class_id() != A_AltarOfSin) &&
+ (intel = other->get_intel())) {
+ LocatorP locator = get_locator();
+- ostrstream str;
++ stringstream str;
+
+ // Turned into a frog/baby seal.
+ if (Utils::coin_flip() && other->is_moving() &&
+@@ -1014,8 +1015,8 @@
+
+ str << intel->get_name() << " attacks the Altar of Sin and is "
+ << "turned into a " << (doFrog ? "frog" : "baby-seal")
+- << "." << ends;
+- locator->message_enq(str.str());
++ << ".";
++ locator->message_enq(Utils::strdup(str.str().c_str()));
+
+ other->set_intel(NULL);
+ if (!other->get_mapped()) {
+@@ -1047,8 +1048,8 @@
+ // Lose all health.
+ else {
+ str << "BLASPHMER! " << intel->get_name() <<
+- " loses health for daring to attack the Altar of Sin." << ends;
+- locator->message_enq(str.str());
++ " loses health for daring to attack the Altar of Sin.";
++ locator->message_enq(Utils::strdup(str.str().c_str()));
+
+ int damage = other->get_health();
+ other->corporeal_attack(this,damage);
+@@ -1075,8 +1076,8 @@
+ (intel = other->get_intel()) && intel->is_human()) {
+ int lives = intel->get_lives();
+ LocatorP locator = get_locator();
+- ostrstream msg;
+- ostrstream arenaMsg;
++ stringstream msg;
++ stringstream arenaMsg;
+
+ // Choose different blessings to give.
+ int n = 0;
+@@ -1112,8 +1113,8 @@
+ }
+ else {
+ intel->set_lives(lives + 1);
+- msg << intel->get_name() << " sells soul for an extra life." << ends;
+- arenaMsg << "You Sold Your Soul For an Extra Life" << ends;
++ msg << intel->get_name() << " sells soul for an extra life.";
++ arenaMsg << "You Sold Your Soul For an Extra Life";
+ }
+ break;
+
+@@ -1123,8 +1124,8 @@
+ mod = new DoubleSpeed();
+ assert(mod);
+ modList->append_unique(mod);
+- msg << intel->get_name() << " sells soul for Double Speed." << ends;
+- arenaMsg << "Double Speed" << ends;
++ msg << intel->get_name() << " sells soul for Double Speed.";
++ arenaMsg << "Double Speed";
+ break;
+
+
+@@ -1138,9 +1139,8 @@
+ mod = new DoubleJump();
+ assert(mod);
+ modList->append_unique(mod);
+- msg << intel->get_name() << " sells soul for extra jumping powers."
+- << ends;
+- arenaMsg << "Extra Jumping Powers" << ends;
++ msg << intel->get_name() << " sells soul for extra jumping powers.";
++ arenaMsg << "Extra Jumping Powers";
+ break;
+
+
+@@ -1157,8 +1157,8 @@
+ // So max health takes effect immediately.
+ other->heal();
+
+- msg << intel->get_name() << " sells soul for Double Health." << ends;
+- arenaMsg << "Double Health" << ends;
++ msg << intel->get_name() << " sells soul for Double Health.";
++ arenaMsg << "Double Health";
+ break;
+
+
+@@ -1176,8 +1176,8 @@
+ // Might as well make sure they can take advantage of it now.
+ other->heal();
+
+- msg << intel->get_name() << " sells soul for Healing Powers." << ends;
+- arenaMsg << "Healing Powers" << ends;
++ msg << intel->get_name() << " sells soul for Healing Powers.";
++ arenaMsg << "Healing Powers";
+ }
+ break;
+
+@@ -1193,8 +1193,8 @@
+ // Already checked that other is a Creature().
+ ((CreatureP)other)->add_ability(a);
+
+- msg << intel->get_name() << " sells soul for HellFire Powers." << ends;
+- arenaMsg << "HellFire Powers" << ends;
++ msg << intel->get_name() << " sells soul for HellFire Powers.";
++ arenaMsg << "HellFire Powers";
+ }
+ break;
+
+@@ -1217,8 +1217,8 @@
+ // Already checked that other is a Creature().
+ ((CreatureP)other)->add_ability(a);
+
+- msg << intel->get_name() << " sells soul for Fireballs." << ends;
+- arenaMsg << "Fireballs" << ends;
++ msg << intel->get_name() << " sells soul for Fireballs.";
++ arenaMsg << "Fireballs";
+ }
+ break;
+
+@@ -1241,8 +1241,8 @@
+ // Already checked that other is a Creature().
+ ((CreatureP)other)->add_ability(a);
+
+- msg << intel->get_name() << " sells soul for Flying Powers." << ends;
+- arenaMsg << "Flying Powers" << ends;
++ msg << intel->get_name() << " sells soul for Flying Powers.";
++ arenaMsg << "Flying Powers";
+ }
+ break;
+
+@@ -1274,8 +1274,8 @@
+ // Already checked that other is a Creature().
+ ((CreatureP)other)->add_ability(a);
+
+- msg << intel->get_name() << " sells soul for Sticky Powers." << ends;
+- arenaMsg << "Sticky Powers" << ends;
++ msg << intel->get_name() << " sells soul for Sticky Powers.";
++ arenaMsg << "Sticky Powers";
+ }
+ break;
+
+@@ -1285,8 +1285,8 @@
+ }
+ } // while
+
+- locator->message_enq(msg.str());
+- locator->arena_message_enq(arenaMsg.str(),other);
++ locator->message_enq(Utils::strdup(msg.str().c_str()));
++ locator->arena_message_enq(Utils::strdup(arenaMsg.str().c_str()),other);
+
+ kill_self();
+ turnTaken = True;
+@@ -1534,7 +1534,7 @@
void *closure) {
// notThis is used to prevent transmogifying into the same class an object
// already is.
- ClassId notThis = (ClassId)closure;
-+ ClassId notThis = (intptr_t)closure;
++ ClassId notThis = (long)closure;
if (pc->classId == notThis) {
return False;
}
+@@ -2087,10 +2087,9 @@
+ PhysicalP seal = new Seal(w,l,pos);
+ assert(seal);
+
+- char sealStr[20];
+- ostrstream str(sealStr,20);
+- str << "seal-" << sealsNum << ends;
+- NeutralP sealIntel = new SealIntel(w,l,sealStr,homeId);
++ stringstream str;
++ str << "seal-" << sealsNum;
++ NeutralP sealIntel = new SealIntel(w,l,Utils::strdup(str.str().c_str()),homeId);
+ seal->set_intel(sealIntel);
+ l->register_neutral(sealIntel);
+ seals[sealsNum] = sealIntel->get_intel_id();
Modified: head/games/xevil/files/patch-cmn::area.cpp
==============================================================================
--- head/games/xevil/files/patch-cmn::area.cpp Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/files/patch-cmn::area.cpp Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,12 +1,17 @@
---- cmn/area.cpp.orig Wed Mar 19 10:04:22 2003
-+++ cmn/area.cpp Sat Oct 25 21:39:50 2003
-@@ -34,7 +34,8 @@
+--- cmn/area.cpp.orig 2012-05-27 06:52:29.000000000 +0900
++++ cmn/area.cpp 2012-05-27 06:53:11.000000000 +0900
+@@ -34,12 +34,13 @@
extern "C" {
#include <limits.h> // For INT_MAX
}
-#include <iostream.h>
+#include <iostream>
-+using namespace std;
#include "utils.h"
#include "coord.h"
#include "area.h"
+
+
++using namespace std;
+
+ Size Area::operator - (const Area &other) const {
+ assert ((shape == AR_RECT) && (other.shape == AR_RECT));
Modified: head/games/xevil/files/patch-cmn::game.cpp
==============================================================================
--- head/games/xevil/files/patch-cmn::game.cpp Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/files/patch-cmn::game.cpp Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,12 +1,577 @@
---- cmn/game.cpp.orig Sat Mar 22 22:20:00 2003
-+++ cmn/game.cpp Sat Oct 25 21:40:23 2003
-@@ -34,7 +34,8 @@
+--- cmn/game.cpp.orig 2012-05-27 06:52:29.000000000 +0900
++++ cmn/game.cpp 2012-05-27 06:53:11.000000000 +0900
+@@ -31,16 +31,17 @@
+ #include "stdafx.h"
+ extern "C" {
+ #include <string.h>
++#include <stdlib.h>
}
#if X11
-#include <strstream.h>
-+#include <strstream>
-+using namespace std;
++#include <sstream>
#endif
#if WIN32
#include <strstrea.h>
+ #endif
+
+-#include <iomanip.h>
++#include <iomanip>
+
+ #include "utils.h"
+ #include "coord.h"
+@@ -123,7 +124,7 @@
+ #define SOUNDONOFF_DEFAULT True
+
+
+-char *Game::wittySayings[Game::WITTY_SAYINGS_NUM] = {
++const char *Game::wittySayings[Game::WITTY_SAYINGS_NUM] = {
+ "If it moves it's a threat. If it doesn't move it's a potential threat.",
+ "Happy, happy. Joy, joy.",
+ "For the mother country!!!",
+@@ -271,11 +272,19 @@
+ "Prepare to Qualify.",
+ "I got a bad feeling about this drop.",
+ "Cowboys never quit!",
++ "The voices say I'm not crazy, so I'm OK!",
++ "Cure Sars!?!",
++ "Ha Ha Ha, Loser!",
++ "It's all fun and games until someone loses an eye.",
++ "Eye for an eye, tooth for a tooth.",
++ "Mo-o-m!",
++ "Timmy's touching me!",
++ "I'm not touching you! See? I'm not touching you!"
+ };
+
+
+
+-char *Game::intelNames[Game::INTEL_NAMES_NUM] = {
++const char *Game::intelNames[Game::INTEL_NAMES_NUM] = {
+ "Dr. Pain",
+ "Steve",
+ "hardts",
+@@ -350,6 +359,9 @@
+ "Stan",
+ "Mr. Hat",
+ "Cid",
++ "Mr. Hankey",
++ "Michael Jackson",
++ "O.J. Simpson"
+ };
+
+
+@@ -793,7 +805,7 @@
+
+ // Just for tracing in the debugger.
+ char* version = Utils::get_OS_info();
+- delete version;
++ delete [] version;
+
+ noUi = False;
+ noNewLevel = False;
+@@ -1056,7 +1068,7 @@
+
+ Game::~Game() {
+ if (oneItem) {
+- delete oneItem;
++ delete [] oneItem;
+ }
+
+ delete ui;
+@@ -1500,13 +1512,13 @@
+
+ if (mask & UIconnectServer) {
+ delete role;
+- ostrstream portName;
+- portName << settings.connectPort << ends;
++ stringstream portName;
++ portName << settings.connectPort;
+ IViewportInfo* vInfo = Ui::get_viewport_info();
+- ClientP client = new Client(settings.connectHostname,portName.str(),
++ ClientP client = new Client(settings.connectHostname,
++ Utils::strdup(portName.str().c_str()),
+ 0,settings.humanName,vInfo,
+ Connection::ADJUST_SKIP,&locator);
+- delete portName.str();
+ assert(client);
+ role = client;
+ ui->set_role_type(role->get_type());
+@@ -1544,10 +1556,9 @@
+ }
+
+ delete role;
+- ostrstream portName;
+- portName << settings.serverPort << ends;
+- role = new Server(settings.localHuman,portName.str(),&locator);
+- delete portName.str();
++ stringstream portName;
++ portName << settings.serverPort;
++ role = new Server(settings.localHuman,portName.str().c_str(),&locator);
+ assert(role);
+ restartEnd = RE_RESTART;
+ ui->set_role_type(role->get_type());
+@@ -1573,9 +1584,9 @@
+ ui->set_style(styleType);
+ }
+
+- ostrstream str;
++ stringstream str;
+ styleNext->describe(str);
+- locator.message_enq(str.str());
++ locator.message_enq(Utils::strdup(str.str().c_str()));
+ }
+
+
+@@ -1589,9 +1600,9 @@
+ human->reincarnate();
+ obj->set_intel(human);
+
+- ostrstream msg;
+- msg << human->get_name() << " is back from the dead." << ends;
+- locator.message_enq(msg.str());
++ stringstream msg;
++ msg << human->get_name() << " is back from the dead.";
++ locator.message_enq(Utils::strdup(msg.str().c_str()));
+ }
+ }
+
+@@ -1615,7 +1626,7 @@
+ void Game::new_level_check(int enemiesPlaying) {
+ assert(state == gameOn);
+
+- ostrstream str;
++ stringstream str;
+ Boolean lStrChanged = False;
+ int val = style->new_level_check(enemiesPlaying,&world,&locator,
+ level,lStrChanged,str,timer,
+@@ -1645,11 +1656,8 @@
+ // if str has anything in it. Fucking Linux compilers.
+ if (lStrChanged) {
+ if (ui) {
+- ui->set_level(str.str());
++ ui->set_level(str.str().c_str());
+ }
+- // Ok to delete even if ui is NULL, str.str() will allocate the memory to
+- // kill off.
+- delete str.str();
+ }
+ }
+
+@@ -1841,7 +1849,7 @@
+
+
+
+-char *Game::choose_ranking(int kills) {
++const char *Game::choose_ranking(int kills) {
+ // Figure out the ranking set, they are listed in order.
+ int setNum = 0;
+ assert(kills >= 0 && rankingSets[0].killsMin == 0);
+@@ -1876,7 +1884,7 @@
+ if (showMessages) {
+ for (int n = 0; n < locator.humans_registered(); n++) {
+ HumanP human = locator.get_human(n);
+- ostrstream msg;
++ stringstream msg;
+
+ // Soups are only taken into account if you have unlimited lives.
+ int totalKills;
+@@ -1894,11 +1902,11 @@
+ totalKills = human->get_human_kills() + human->get_enemy_kills();
+ }
+
+- char *ranking = choose_ranking(totalKills);
++ const char *ranking = choose_ranking(totalKills);
+ msg << totalKills << (totalKills == 1 ? "Kill" : " Kills")
+- << ", Rank: " << ranking << ends;
++ << ", Rank: " << ranking;
+ IntelId humanIntelId = human->get_intel_id();
+- locator.arena_message_enq(msg.str(),&humanIntelId,10000);
++ locator.arena_message_enq(Utils::strdup(msg.str().c_str()),&humanIntelId,10000);
+ }
+ }
+ }
+@@ -1919,8 +1927,8 @@
+ // Will clean out non-persistent teams.
+ locator.level_reset();
+
+- ostrstream lStr; // For level box on the side of the ui->
+- ostrstream lTitleStr; // For Ui title screen.
++ stringstream lStr; // For level box on the side of the ui->
++ stringstream lTitleStr; // For Ui title screen.
+ Boolean doBonus;
+
+ // Possibly increment level count number.
+@@ -1960,7 +1968,7 @@
+ if (doBonus) {
+ delete levelTitleStored; // If it already exists.
+ // Store levelTitle string for later use.
+- levelTitleStored = lTitleStr.str();
++ levelTitleStored = Utils::strdup(lTitleStr.str().c_str());
+
+ // Tell user about the bonus.
+ award_bonuses_now();
+@@ -1970,13 +1978,12 @@
+ }
+ // Go to getBearings state.
+ else {
+- get_bearings(lTitleStr.str());
++ get_bearings(Utils::strdup(lTitleStr.str().c_str()));
+ }
+
+ if (ui) {
+- ui->set_level(lStr.str());
++ ui->set_level(lStr.str().c_str());
+ }
+- delete lStr.str();
+
+ // Will pass in more info later.
+ role->new_level(this,&world,&locator);
+@@ -1997,7 +2004,7 @@
+ continue;
+ }
+
+- char* awardMsg = NULL;
++ const char* awardMsg = NULL;
+ int count = 0;
+ while (!awardMsg && count < AWARD_BONUS_TRIES) {
+ count++;
+@@ -2184,9 +2191,9 @@
+
+ // Moved resetting world rooms to new_level();
+
+- ostrstream msg;
+- msg << wittySayings[Utils::choose(WITTY_SAYINGS_NUM)] << ends;
+- locator.message_enq(msg.str());
++ stringstream msg;
++ msg << wittySayings[Utils::choose(WITTY_SAYINGS_NUM)];
++ locator.message_enq(Utils::strdup(msg.str().c_str()));
+
+ /* Don't need to call Ui::set_* because the new values originally came
+ from ui-> */
+@@ -2242,41 +2249,39 @@
+ { // Right keys.
+ right[n][which] = 0;
+
+- ostrstream strm;
++ stringstream strm;
+ if (which == 0)
+- strm << "right_" << keysNames[n] << ends;
++ strm << "right_" << keysNames[n];
+ else
+- strm << "right_" << keysNames[n] << "_2" << ends;
+- char *option = strm.str();
++ strm << "right_" << keysNames[n] << "_2";
++ const string & option = strm.str();
+
+ // Should we free value??
+- char *value = XGetDefault(ui->get_dpy(0),XEVIL_CLASS,option);
++ char *value = XGetDefault(ui->get_dpy(0),XEVIL_CLASS,option.c_str());
+ if (value) {
+ KeySym keysym = XStringToKeysym(value);
+ if (keysym != NoSymbol)
+ right[n][which] = keysym;
+ }
+- delete option;
+ }
+
+ { // Left Keys.
+ left[n][which] = 0;
+
+- ostrstream strm;
++ stringstream strm;
+ if (which == 0)
+- strm << "left_" << keysNames[n] << ends;
++ strm << "left_" << keysNames[n];
+ else
+- strm << "left_" << keysNames[n] << "_2" << ends;
+- char *option = strm.str();
++ strm << "left_" << keysNames[n] << "_2";
++ const string & option = strm.str();
+
+ // Should we free value??
+- char *value = XGetDefault(ui->get_dpy(0),XEVIL_CLASS,option);
++ char *value = XGetDefault(ui->get_dpy(0),XEVIL_CLASS,option.c_str());
+ if (value) {
+ KeySym keysym = XStringToKeysym(value);
+ if (keysym != NoSymbol)
+ left[n][which] = keysym;
+ }
+- delete option;
+ }
+ }
+
+@@ -2291,10 +2296,10 @@
+ void Game::parse_args(int *argc,char **argv) {
+ // Create a bunch of "-name<x>" strings for comparing with command-line
+ // args.
+- ostrstream dashName[Locator::HUMANS_MAX];
++ stringstream dashName[Locator::HUMANS_MAX];
+ int n;
+ for (n = 0; n < Locator::HUMANS_MAX; n++) {
+- dashName[n] << "-name" << n << ends;
++ dashName[n] << "-name" << n;
+ }
+
+ // Defaults
+@@ -2351,7 +2356,7 @@
+ // Check "-name<x>" arguments.
+ else {
+ for (int j = 0; j < Locator::HUMANS_MAX; j++) {
+- if ((! strcmp(dashName[j].str(),argv[n])) && (n + 1 < *argc)) {
++ if ((! strcmp(dashName[j].str().c_str(),argv[n])) && (n + 1 < *argc)) {
+ humanNames[j] = Utils::strdup(argv[n+1]);
+ n++;
+ }
+@@ -2728,12 +2733,6 @@
+ n++;
+ }
+ } // for
+-
+-
+- // Delete memory for "-name" strings.
+- for (n = 0; n < Locator::HUMANS_MAX; n++) {
+- delete dashName[n].str();
+- }
+ }
+
+
+@@ -2741,15 +2740,15 @@
+ char **Game::display_names(int *argc,char **argv) {
+
+ #if X11
+- ostrstream dashDisplay[UI_VIEWPORTS_MAX][2];
++ stringstream dashDisplay[UI_VIEWPORTS_MAX][2];
+ char **displayNames = new charP [UI_VIEWPORTS_MAX];
+
+ int n;
+ for (n = 0; n < UI_VIEWPORTS_MAX; n++) {
+ displayNames[n] = new char [Xvars::DISPLAY_NAME_LENGTH];
+ strcpy(displayNames[n],"");
+- dashDisplay[n][0] << "-display" << n << ends;
+- dashDisplay[n][1] << "-d" << n << ends;
++ dashDisplay[n][0] << "-display" << n;
++ dashDisplay[n][1] << "-d" << n;
+ }
+
+ // Loop through all command line arguments.
+@@ -2765,7 +2764,7 @@
+ // Set display name for one viewport.
+ for (int m = 0; m < UI_VIEWPORTS_MAX; m++) {
+ for (int which = 0; which < 2; which++) {
+- if (!strcmp(argv[n],dashDisplay[m][which].str())) {
++ if (!strcmp(argv[n],dashDisplay[m][which].str().c_str())) {
+ assert(strlen(argv[n+1]) < Xvars::DISPLAY_NAME_LENGTH);
+ strcpy(displayNames[m],argv[n+1]);
+ }
+@@ -2773,11 +2772,6 @@
+ }
+ }
+
+- for (n = 0; n < UI_VIEWPORTS_MAX; n++) {
+- for (int which = 0; which < 2; which++) {
+- delete dashDisplay[n][which].str();
+- }
+- }
+ return displayNames;
+ #endif
+
+@@ -2890,7 +2884,7 @@
+ assert(role->get_type() != R_CLIENT);
+
+ // Choose random name if -name was not specified for this player.
+- char *nameNonPc =
++ const char *nameNonPc =
+ Utils::strlen(humanNames[h]) ?
+ humanNames[h] :
+ intelNames[intelNamesIndices[h % INTEL_NAMES_NUM]];
+@@ -2954,13 +2948,12 @@
+
+ // Put message in the status bar when the game starts up.
+ // Use \n in string for locator.message_enq.
+- ostrstream msg;
++ stringstream msg;
+ msg
+ << "XEvil(TM) " << VERSION
+ << " http://www.xevil.com satan at xevil.com " << XETP::versionStr << "\n"
+- << "Copyright(C) 1994,2000 Steve Hardt and Michael Judge"
+- << ends;
+- locator.message_enq(msg.str());
++ << "Copyright(C) 1994,2000 Steve Hardt and Michael Judge";
++ locator.message_enq(Utils::strdup(msg.str().c_str()));
+
+
+ // Print message to standard out. Doesn't really do anything on Windows.
+@@ -3075,11 +3068,10 @@
+ IntelOptions ops;
+ ITmask opMask = intel_options_for(ops,obj->get_class_id());
+
+- ostrstream name;
+- name << "Machine-" << (enemyNameCount++) << ends;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),&ops,opMask);
++ stringstream name;
++ name << "Machine-" << (enemyNameCount++);
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),&ops,opMask);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ if (addToLocator) {
+@@ -3235,14 +3227,13 @@
+ switch (Utils::choose(8)) {
+ case 0: { // A bunch of Heros and an Alien.
+ for (int n = 0; n < 10; n++) {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.harmless = True;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),
+ &ops,ITharmless);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ Pos pos = world.empty_rect(Hero::get_size_max());
+@@ -3268,16 +3259,15 @@
+
+ case 1: { // Hero, FThrower, and a bunch of Frogs (does not mean Frenchmen).
+ for (int n = 0; n < 15; n++) {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.psychotic = Utils::coin_flip();
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),
+ &ops,ITpsychotic);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+-
++
+ Pos pos = world.empty_rect(Frog::get_size_max());
+ PhysicalP obj = new Frog(&world,&locator,pos);
+ assert(obj);
+@@ -3304,15 +3294,14 @@
+ case 2: { // A bunch of Enforcers.
+ for (int n = 0; n < 10; n++)
+ {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.classFriends = False;
+ ops.psychotic = True;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),
+ &ops,ITclassFriends|ITpsychotic);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ Pos pos = world.empty_rect(Enforcer::get_size_max());
+@@ -3327,14 +3316,13 @@
+
+ case 3: { // A bunch of Ninjas and a chainsaw.
+ for (int n = 0; n < 10; n++) {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.classFriends = False;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),
+ &ops,ITclassFriends);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ Pos pos = world.empty_rect(Ninja::get_size_max());
+@@ -3373,12 +3361,11 @@
+ }
+
+ for (int m = 0; m < 10; m++) {
+- ostrstream name;
+- name << "Enemy-" << m << ends;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),
++ stringstream name;
++ name << "Enemy-" << m;
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),
+ NULL,ITnone);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ Pos pos = world.empty_rect(Hero::get_size_max());
+@@ -3414,14 +3401,13 @@
+ case 5: { // Ninjas and ChopperBoys.
+ int n;
+ for (n = 0; n < 10; n++) {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.classFriends = False;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),
+ &ops,ITclassFriends);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ PhysicalP obj;
+@@ -3458,11 +3444,10 @@
+ // and the scenario isn't set up yet.
+
+ for (n = 0; n < 9; n++) {
+- ostrstream name;
+- name << "Dog-" << n << ends;
+- EnemyP intel = new Enemy(&world,&locator,name.str(),NULL,ITnone);
++ stringstream name;
++ name << "Dog-" << n;
++ EnemyP intel = new Enemy(&world,&locator,name.str().c_str(),NULL,ITnone);
+ assert(intel);
+- delete name.str();
+ locator.register_enemy(intel);
+
+ Pos pos = world.empty_rect(Dog::get_size_max());
+@@ -3473,13 +3458,12 @@
+ }
+
+ for (n = 0; n < 3; n++) {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.harmless = True;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),&ops,ITharmless);
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),&ops,ITharmless);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+
+ PhysicalP obj;
+@@ -3510,13 +3494,12 @@
+ Segmented::create_and_add_composite(ret,&world,&locator,Dragon::SEGMENTS_NUM,pos,
+ Dragon::create,NULL);
+ for (int m = 0; m < ret.length(); m++) {
+- ostrstream name;
+- name << "Enemy-" << n << ends;
++ stringstream name;
++ name << "Enemy-" << n;
+ IntelOptions ops;
+ ops.harmless = True;
+- EnemyP enemy = new Enemy(&world,&locator,name.str(),&ops,ITharmless);
++ EnemyP enemy = new Enemy(&world,&locator,name.str().c_str(),&ops,ITharmless);
+ assert(enemy);
+- delete name.str();
+ locator.register_enemy(enemy);
+ PhysicalP p = (PhysicalP)ret.get(m);
+ p->set_intel(enemy);
Modified: head/games/xevil/files/patch-cmn::game.h
==============================================================================
--- head/games/xevil/files/patch-cmn::game.h Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/files/patch-cmn::game.h Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,12 +1,51 @@
---- cmn/game.h.dist Sat Mar 22 20:44:32 2003
-+++ cmn/game.h Sat Oct 25 21:40:54 2003
-@@ -35,7 +35,8 @@
+--- cmn/game.h.orig 2012-05-27 06:52:31.000000000 +0900
++++ cmn/game.h 2012-05-27 06:53:11.000000000 +0900
+@@ -35,7 +35,7 @@
extern "C" {
#include <time.h>
}
-#include <iostream.h>
+#include <iostream>
-+using namespace std;
#include "utils.h"
#include "ui.h"
#include "world.h"
+@@ -136,7 +136,7 @@
+ struct RankingSet {
+ enum {RANKING_SET_MAX = 8}; // Max number of rankings in a set.
+ int killsMin; // Min number of kills to get this rank.
+- char *rankings[RANKING_SET_MAX + 1]; // Extra for NULL.
++ const char *rankings[RANKING_SET_MAX + 1]; // Extra for NULL.
+ };
+
+
+@@ -268,8 +268,8 @@
+
+ private:
+ enum {
+- WITTY_SAYINGS_NUM = 147,
+- INTEL_NAMES_NUM = 74,
++ WITTY_SAYINGS_NUM = 155,
++ INTEL_NAMES_NUM = 77,
+ RANKING_SETS_NUM = 12,
+ };
+
+@@ -306,7 +306,7 @@
+ static Boolean potential_enemy_filter(const PhysicalContext* pc,void*);
+ /* EFFECTS: Filter those classes whose potentialEnemy flag is True. */
+
+- char *choose_ranking(int kills);
++ const char *choose_ranking(int kills);
+ /* EFFECTS: Choose a rank for the player at the end of game based on the
+ number of kills. */
+
+@@ -412,8 +412,8 @@
+ SoundName currentSoundName;
+ //keeps track of current sound track being played: can be 0
+
+- static char *wittySayings[WITTY_SAYINGS_NUM];
+- static char *intelNames[INTEL_NAMES_NUM];
++ static const char *wittySayings[WITTY_SAYINGS_NUM];
++ static const char *intelNames[INTEL_NAMES_NUM];
+ static DifficultyLevel difficultyLevels[DIFFICULTY_LEVELS_NUM];
+ static RankingSet rankingSets[RANKING_SETS_NUM];
+
Modified: head/games/xevil/files/patch-cmn::game_style.cpp
==============================================================================
--- head/games/xevil/files/patch-cmn::game_style.cpp Fri Dec 14 07:13:04 2012 (r308883)
+++ head/games/xevil/files/patch-cmn::game_style.cpp Fri Dec 14 07:16:20 2012 (r308884)
@@ -1,21 +1,911 @@
---- cmn/game_style.cpp.orig 2003-03-22 20:47:42.000000000 +0100
-+++ cmn/game_style.cpp 2007-07-31 15:57:08.000000000 +0200
-@@ -34,7 +34,8 @@
+--- cmn/game_style.cpp.orig 2012-05-27 06:52:29.000000000 +0900
++++ cmn/game_style.cpp 2012-05-27 06:53:11.000000000 +0900
+@@ -33,15 +33,9 @@
+ #include <string.h>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-head
mailing list