Initial import of xu4-1.0beta3:

XU4 is a remake of the computer game Ultima IV.  The goal is to make
it easy and convenient to play this classic on modern operating
systems.  XU4 is primarily inspired by the much more ambitious project
Exult.

XU4 isn't a new game based on the Ultima IV story -- it is a faithful
recreation of the old game, right up to the crappy graphics.  If you
are looking for a game with modern gameplay and graphics, this is not
it -- yet.  New features that improve the gameplay and keep with the
spirit of the original game will be added.

XU4 also tries to maintain strict compatibility with the original for
its savegame files.  You can use a game saved in XU4 with the original
and vice versa, at least in theory.
This commit is contained in:
wiz 2012-01-08 15:52:12 +00:00
parent 0626b5bea9
commit d093d8cb01
28 changed files with 680 additions and 0 deletions

14
games/xu4/DESCR Normal file
View file

@ -0,0 +1,14 @@
XU4 is a remake of the computer game Ultima IV. The goal is to make
it easy and convenient to play this classic on modern operating
systems. XU4 is primarily inspired by the much more ambitious project
Exult.
XU4 isn't a new game based on the Ultima IV story -- it is a faithful
recreation of the old game, right up to the crappy graphics. If you
are looking for a game with modern gameplay and graphics, this is not
it -- yet. New features that improve the gameplay and keep with the
spirit of the original game will be added.
XU4 also tries to maintain strict compatibility with the original for
its savegame files. You can use a game saved in XU4 with the original
and vice versa, at least in theory.

8
games/xu4/MESSAGE Normal file
View file

@ -0,0 +1,8 @@
===========================================================================
$NetBSD: MESSAGE,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
xu4 needs the original Ultima IV data files.
The package ultima4-data provides them, but is not a dependency
due to licensing reasons.
===========================================================================

38
games/xu4/Makefile Normal file
View file

@ -0,0 +1,38 @@
# $NetBSD: Makefile,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
#
DISTNAME= xu4-1.0beta3
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xu4/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://xu4.sourceforge.net/
COMMENT= Remake of Ultima IV
LICENSE= gnu-gpl-v2
DEPENDS+= timidity-[0-9]*:../../audio/timidity
PKG_DESTDIR_SUPPORT= user-destdir
WRKSRC= ${WRKDIR}/u4
CONFIGURE_DIRS= src
USE_LANGUAGES= c c++
USE_TOOLS+= gmake
INSTALLATION_DIRS= share/doc/xu4
SUBST_CLASSES+= prefix
SUBST_SED.prefix= -e "s,/usr/local,${PREFIX},"
SUBST_FILES.prefix= src/u4file.cpp README
SUBST_STAGE.prefix= pre-build
SUBST_MESSAGE.prefix= Fixing path to installed files.
post-install:
${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/xu4
.include "../../audio/SDL_mixer/buildlink3.mk"
.include "../../devel/SDL/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../sysutils/desktop-file-utils/desktopdb.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

78
games/xu4/PLIST Normal file
View file

@ -0,0 +1,78 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
bin/u4
lib/u4/armors.xml
lib/u4/config.xml
lib/u4/creatures.xml
lib/u4/dtd/armors.dtd
lib/u4/dtd/color.dtd
lib/u4/dtd/common.dtd
lib/u4/dtd/config.dtd
lib/u4/dtd/constraint.dtd
lib/u4/dtd/creatures.dtd
lib/u4/dtd/egaPalette.dtd
lib/u4/dtd/graphics.dtd
lib/u4/dtd/maps.dtd
lib/u4/dtd/tileRules.dtd
lib/u4/dtd/tilemap.dtd
lib/u4/dtd/tileset.dtd
lib/u4/dtd/tilesets.dtd
lib/u4/dtd/weapons.dtd
lib/u4/dumpsavegame
lib/u4/egaPalette.xml
lib/u4/graphics.xml
lib/u4/graphics/ega/dung0ma.png
lib/u4/graphics/ega/dung0ma_door.png
lib/u4/graphics/ega/dung1ma_door.png
lib/u4/graphics/ega/dung2ma_door.png
lib/u4/graphics/ega/dung3ma_door.png
lib/u4/graphics/ega/dungeonhall.png
lib/u4/graphics/ega/dungeonhall_door.png
lib/u4/graphics/ega/gem.png
lib/u4/graphics/ega/ladderdown0.png
lib/u4/graphics/ega/ladderdown1.png
lib/u4/graphics/ega/ladderdown2.png
lib/u4/graphics/ega/ladderdown3.png
lib/u4/graphics/ega/ladderup0.png
lib/u4/graphics/ega/ladderup1.png
lib/u4/graphics/ega/ladderup2.png
lib/u4/graphics/ega/ladderup3.png
lib/u4/graphics/ega/ladderupdown0.png
lib/u4/graphics/ega/ladderupdown1.png
lib/u4/graphics/ega/ladderupdown2.png
lib/u4/graphics/ega/ladderupdown3.png
lib/u4/graphics/vga/dungeonhall.png
lib/u4/graphics/vga/dungeonhall_door.png
lib/u4/graphics/vga/gem.png
lib/u4/graphics/vga/tile_guard.png
lib/u4/maps.xml
lib/u4/music.xml
lib/u4/music/Castles.mid
lib/u4/music/Combat.mid
lib/u4/music/Dungeon.mid
lib/u4/music/Fanfare_Of_Lord_British.mid
lib/u4/music/Rule_Britannia.mid
lib/u4/music/Shopping.mid
lib/u4/music/Shrines.mid
lib/u4/music/Towns.mid
lib/u4/music/Wanderer.mid
lib/u4/sound.xml
lib/u4/sound/blocked.wav
lib/u4/sound/flee.wav
lib/u4/sound/magic.ogg
lib/u4/sound/moongate.ogg
lib/u4/sound/walk.wav
lib/u4/tileRules.xml
lib/u4/tilemap-base.xml
lib/u4/tilemap-dungeon.xml
lib/u4/tileset-base.xml
lib/u4/tileset-dungeon.xml
lib/u4/tilesets.xml
lib/u4/tlkconv
lib/u4/u4dec
lib/u4/u4enc
lib/u4/vendorScript.xml
lib/u4/weapons.xml
share/applications/u4.desktop
share/doc/xu4/README
share/pixmaps/u4.bmp
share/pixmaps/u4.png

28
games/xu4/distinfo Normal file
View file

@ -0,0 +1,28 @@
$NetBSD: distinfo,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
SHA1 (xu4-1.0beta3.tar.gz) = baf1bbdc18088096ae11ea31aa497532b7e7124c
RMD160 (xu4-1.0beta3.tar.gz) = f758fea4bc3034b19122651cfb725a88e0684960
Size (xu4-1.0beta3.tar.gz) = 418477 bytes
SHA1 (patch-src_Makefile) = ac80c253affd3b150a377cd0072db9557c26407b
SHA1 (patch-src_armor.cpp) = 1cc4ad07efaa70c5764b910d055939e22b4287d5
SHA1 (patch-src_codex.cpp) = 706aa3a6854b72ae6ada927cc1bd1c71f7c4959e
SHA1 (patch-src_conversation.cpp) = 15ea5eed4abe11e7afb58359b6cd732b1e84b458
SHA1 (patch-src_creature.cpp) = 9479f075c95b481bae073011c72672b383a5f7e4
SHA1 (patch-src_dialogueloader.cpp) = 10b46af20241f6571a7656b577f42dfca39f74cc
SHA1 (patch-src_dialogueloader__tlk.cpp) = e4f69fc103836a15800b9f76ae742555a686ad34
SHA1 (patch-src_direction.cpp) = 412950b32b43dbfd7081733c94b4365ee85a3fdd
SHA1 (patch-src_imageloader.cpp) = 88ed63cb53b5de9d14d940e045752f01a3a5f4b6
SHA1 (patch-src_imageloader__png.cpp) = e790fac8468d74ff605868c29d8cc8759cb16871
SHA1 (patch-src_imagemgr.h) = 36b1bd2d750e17b9c403cded9d8787aa6a8a61cd
SHA1 (patch-src_intro.cpp) = 5330d1bedb8e79750468d9463a016b041b7aa496
SHA1 (patch-src_item.cpp) = 667498d2c8fcf4c2c35da0d9189d68c9b6a9baf5
SHA1 (patch-src_lzw_u6decode.cpp) = 1dbf1cb0f24ad9d083f4a7fe666f1503c9647ab6
SHA1 (patch-src_person.cpp) = b93703514429257ae4665ab7242c5dc1ead18c3c
SHA1 (patch-src_savegame.cpp) = 6a0b43d29bd26fd2265953588ae82c950d14e6ba
SHA1 (patch-src_screen.cpp) = bffaf51b9ac63112733d89c0b5e30370a695d45d
SHA1 (patch-src_settings.cpp) = 6eacdf00c5d85cb848b089933ce9a70817714453
SHA1 (patch-src_spell.cpp) = 4412c24a2265f41f30b6fdbc4a21ac0a1df8e329
SHA1 (patch-src_stats.cpp) = da37132d4c710e5dda29b222d27aed84fcd250d1
SHA1 (patch-src_textview.cpp) = 18da8c99836c4a277c1f674b03f7c77da58f020e
SHA1 (patch-src_u4file.cpp) = 70d8d1650d0888d56c2d9f720b1d4b715b8502dd
SHA1 (patch-src_weapon.cpp) = d87690c8ed0b63be171437b2331955284859be97

View file

@ -0,0 +1,72 @@
$NetBSD: patch-src_Makefile,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add DESTDIR support.
Remove unportable BACKTRACE default setting.
Pre-create directories instead of using unportable install -D.
--- src/Makefile.orig 2005-01-14 09:15:17.000000000 +0000
+++ src/Makefile
@@ -3,5 +3,5 @@
#
-prefix=/usr/local
+prefix=${PREFIX}
bindir=$(prefix)/bin
libdir=$(prefix)/lib
@@ -12,5 +12,5 @@ UILIBS=$(shell sdl-config --libs) -lSDL_
UIFLAGS=$(shell sdl-config --cflags)
-FEATURES=-DHAVE_BACKTRACE=1 -DHAVE_VARIADIC_MACROS=1
+FEATURES=-DHAVE_VARIADIC_MACROS=1
DEBUGCXXFLAGS=-ggdb1 -rdynamic
CXXFLAGS=$(FEATURES) -Wall -I. $(UIFLAGS) $(shell xml2-config --cflags) -DICON_FILE=\"$(datadir)/pixmaps/u4.bmp\" -DVERSION=\"$(VERSION)\" $(DEBUGCXXFLAGS)
@@ -26,25 +26,28 @@ include Makefile.common
install::
- $(INSTALL) -D $(MAIN) $(bindir)/$(MAIN)
- $(INSTALL) -D ../icons/u4.bmp $(datadir)/pixmaps/u4.bmp
- $(INSTALL) -D ../icons/u4.png $(datadir)/pixmaps/u4.png
- mkdir -p $(libdir)/u4/music
- $(INSTALL) ../mid/*.mid $(libdir)/u4/music
- mkdir -p $(libdir)/u4/sound
- $(INSTALL) ../sound/*.ogg $(libdir)/u4/sound
- $(INSTALL) ../sound/*.wav $(libdir)/u4/sound
- $(INSTALL) -D dumpsavegame $(libdir)/u4/dumpsavegame
- $(INSTALL) -D u4enc $(libdir)/u4/u4enc
- $(INSTALL) -D u4dec $(libdir)/u4/u4dec
- $(INSTALL) -D tlkconv $(libdir)/u4/tlkconv
- $(INSTALL) ../conf/*.xml $(libdir)/u4
- mkdir -p $(libdir)/u4/dtd
- $(INSTALL) ../conf/dtd/*.dtd $(libdir)/u4/dtd
- mkdir -p $(libdir)/u4/graphics
- mkdir -p $(libdir)/u4/graphics/ega
- mkdir -p $(libdir)/u4/graphics/vga
- $(INSTALL) ../graphics/ega/*.png $(libdir)/u4/graphics/ega
- $(INSTALL) ../graphics/vga/*.png $(libdir)/u4/graphics/vga
- $(INSTALL) -D ../u4.desktop $(datadir)/applications/u4.desktop
+ mkdir -p $(DESTDIR)$(bindir)
+ $(INSTALL) $(MAIN) $(DESTDIR)$(bindir)/$(MAIN)
+ mkdir -p $(DESTDIR)$(datadir)/pixmaps
+ $(INSTALL) ../icons/u4.bmp $(DESTDIR)$(datadir)/pixmaps/u4.bmp
+ $(INSTALL) ../icons/u4.png $(DESTDIR)$(datadir)/pixmaps/u4.png
+ mkdir -p $(DESTDIR)$(libdir)/u4/music
+ $(INSTALL) ../mid/*.mid $(DESTDIR)$(libdir)/u4/music
+ mkdir -p $(DESTDIR)$(libdir)/u4/sound
+ $(INSTALL) ../sound/*.ogg $(DESTDIR)$(libdir)/u4/sound
+ $(INSTALL) ../sound/*.wav $(DESTDIR)$(libdir)/u4/sound
+ $(INSTALL) dumpsavegame $(DESTDIR)$(libdir)/u4/dumpsavegame
+ $(INSTALL) u4enc $(DESTDIR)$(libdir)/u4/u4enc
+ $(INSTALL) u4dec $(DESTDIR)$(libdir)/u4/u4dec
+ $(INSTALL) tlkconv $(DESTDIR)$(libdir)/u4/tlkconv
+ $(INSTALL) ../conf/*.xml $(DESTDIR)$(libdir)/u4
+ mkdir -p $(DESTDIR)$(libdir)/u4/dtd
+ $(INSTALL) ../conf/dtd/*.dtd $(DESTDIR)$(libdir)/u4/dtd
+ mkdir -p $(DESTDIR)$(libdir)/u4/graphics
+ mkdir -p $(DESTDIR)$(libdir)/u4/graphics/ega
+ mkdir -p $(DESTDIR)$(libdir)/u4/graphics/vga
+ $(INSTALL) ../graphics/ega/*.png $(DESTDIR)$(libdir)/u4/graphics/ega
+ $(INSTALL) ../graphics/vga/*.png $(DESTDIR)$(libdir)/u4/graphics/vga
+ mkdir -p $(DESTDIR)$(datadir)/applications
+ $(INSTALL) ../u4.desktop $(DESTDIR)$(datadir)/applications/u4.desktop
# use GCC's automatic dependency generation

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_armor.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/armor.cpp.orig 2004-05-26 03:32:52.000000000 +0000
+++ src/armor.cpp
@@ -12,6 +12,7 @@
#include "error.h"
#include "names.h"
#include "tile.h"
+#include <string.h>
using std::vector;
using std::string;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_codex.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/codex.cpp.orig 2005-09-06 06:21:15.000000000 +0000
+++ src/codex.cpp
@@ -21,6 +21,7 @@
#include "u4.h"
#include "u4file.h"
#include "utils.h"
+#include <string.h>
using namespace std;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_conversation.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/conversation.cpp.orig 2005-09-21 06:39:59.000000000 +0000
+++ src/conversation.cpp
@@ -8,6 +8,7 @@
#include "debug.h"
#include "person.h"
#include "script.h"
+#include <string.h>
/* Static variable initialization */
const unsigned int Conversation::BUFFERLEN = 16;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_creature.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/creature.cpp.orig 2005-10-03 06:01:03.000000000 +0000
+++ src/creature.cpp
@@ -21,6 +21,7 @@
#include "spell.h" /* FIXME: remove dependence on this */
#include "tileset.h"
#include "utils.h"
+#include <string.h>
CreatureMgr *CreatureMgr::instance = NULL;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_dialogueloader.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/dialogueloader.cpp.orig 2005-01-21 08:02:52.000000000 +0000
+++ src/dialogueloader.cpp
@@ -7,6 +7,7 @@
#include "debug.h"
#include "conversation.h"
#include "dialogueloader.h"
+#include <stdlib.h>
std::map<std::string, DialogueLoader *> *DialogueLoader::loaderMap = NULL;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_dialogueloader__tlk.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/dialogueloader_tlk.cpp.orig 2005-01-21 08:02:52.000000000 +0000
+++ src/dialogueloader_tlk.cpp
@@ -7,6 +7,7 @@
#include "conversation.h"
#include "dialogueloader_tlk.h"
#include "u4file.h"
+#include <string.h>
DialogueLoader* U4TlkDialogueLoader::instance = DialogueLoader::registerLoader(new U4TlkDialogueLoader, "application/x-u4tlk");

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_direction.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/direction.cpp.orig 2004-05-22 21:03:25.000000000 +0000
+++ src/direction.cpp
@@ -9,6 +9,7 @@
#include "debug.h"
#include "event.h"
#include "utils.h"
+#include <stdlib.h>
/**
* Returns the opposite direction.

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_imageloader.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/imageloader.cpp.orig 2004-08-19 08:03:52.000000000 +0000
+++ src/imageloader.cpp
@@ -7,6 +7,7 @@
#include "debug.h"
#include "image.h"
#include "imageloader.h"
+#include <stdlib.h>
std::map<std::string, ImageLoader *> *ImageLoader::loaderMap = NULL;

View file

@ -0,0 +1,15 @@
$NetBSD: patch-src_imageloader__png.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Fix build with png-1.5.
--- src/imageloader_png.cpp.orig 2004-09-26 19:24:31.000000000 +0000
+++ src/imageloader_png.cpp
@@ -19,7 +19,7 @@ static void png_read_xu4(png_structp png
png_size_t check;
U4FILE *file;
- file = (U4FILE *) png_ptr->io_ptr;
+ file = (U4FILE *) png_get_io_ptr(png_ptr);
check = file->read(data, (png_size_t)1, length);
if (check != length)

View file

@ -0,0 +1,15 @@
$NetBSD: patch-src_imagemgr.h,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Fix build with gcc-4.5.
--- src/imagemgr.h.orig 2004-12-05 03:01:27.000000000 +0000
+++ src/imagemgr.h
@@ -102,7 +102,7 @@ public:
static void destroy();
ImageInfo *get(const std::string &name);
- SubImage *ImageMgr::getSubImage(const std::string &name);
+ SubImage *getSubImage(const std::string &name);
void freeIntroBackgrounds();
const std::vector<std::string> &getSetNames();

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_intro.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/intro.cpp.orig 2005-10-03 05:57:31.000000000 +0000
+++ src/intro.cpp
@@ -24,6 +24,7 @@
#include "tilemap.h"
#include "u4file.h"
#include "utils.h"
+#include <string.h>
using namespace std;

View file

@ -0,0 +1,146 @@
$NetBSD: patch-src_item.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Fix build on 64-bit with gcc-4.5.
--- src/item.cpp.orig 2005-10-03 05:57:31.000000000 +0000
+++ src/item.cpp
@@ -135,13 +135,13 @@ static const ItemLocation items[] = {
#define N_ITEMS (sizeof(items) / sizeof(items[0]))
bool isRuneInInventory(void *virt) {
- return c->saveGame->runes & (int)virt;
+ return c->saveGame->runes & (int64_t)virt;
}
void putRuneInInventory(void *virt) {
c->party->member(0)->awardXp(100);
c->party->adjustKarma(KA_FOUND_ITEM);
- c->saveGame->runes |= (int)virt;
+ c->saveGame->runes |= (int64_t)virt;
c->saveGame->lastreagent = c->saveGame->moves & 0xF0;
}
@@ -150,18 +150,18 @@ bool isStoneInInventory(void *virt) {
if (virt == NULL)
return (c->saveGame->stones > 0);
/* specific test: does the party have a specific stone? */
- else return c->saveGame->stones & (int)virt;
+ else return c->saveGame->stones & (int64_t)virt;
}
void putStoneInInventory(void *virt) {
c->party->member(0)->awardXp(200);
c->party->adjustKarma(KA_FOUND_ITEM);
- c->saveGame->stones |= (int)virt;
+ c->saveGame->stones |= (int64_t)virt;
c->saveGame->lastreagent = c->saveGame->moves & 0xF0;
}
bool isItemInInventory(void *item) {
- return c->saveGame->items & (int)item;
+ return c->saveGame->items & (int64_t)item;
}
bool isSkullInInventory(void *) {
@@ -171,7 +171,7 @@ bool isSkullInInventory(void *) {
void putItemInInventory(void *item) {
c->party->member(0)->awardXp(400);
c->party->adjustKarma(KA_FOUND_ITEM);
- c->saveGame->items |= (int)item;
+ c->saveGame->items |= (int64_t)item;
c->saveGame->lastreagent = c->saveGame->moves & 0xF0;
}
@@ -183,17 +183,17 @@ void useBBC(void *item) {
/* on top of the Abyss entrance */
if (c->location->coords == abyssEntrance) {
/* must use bell first */
- if ((int)item == ITEM_BELL) {
+ if ((int64_t)item == ITEM_BELL) {
screenMessage("\nThe Bell rings on and on!\n");
c->saveGame->items |= ITEM_BELL_USED;
}
/* then the book */
- else if (((int)item == ITEM_BOOK) && (c->saveGame->items & ITEM_BELL_USED)) {
+ else if (((int64_t)item == ITEM_BOOK) && (c->saveGame->items & ITEM_BELL_USED)) {
screenMessage("\nThe words resonate with the ringing!\n");
c->saveGame->items |= ITEM_BOOK_USED;
}
/* then the candle */
- else if (((int)item == ITEM_CANDLE) && (c->saveGame->items & ITEM_BOOK_USED)) {
+ else if (((int64_t)item == ITEM_CANDLE) && (c->saveGame->items & ITEM_BOOK_USED)) {
screenMessage("\nAs you light the Candle the Earth Trembles!\n");
c->saveGame->items |= ITEM_CANDLE_USED;
}
@@ -255,7 +255,7 @@ void useSkull(void *item) {
*/
void useStone(void *item) {
MapCoords coords;
- unsigned char stone = (unsigned char)((int)item);
+ unsigned char stone = (unsigned char)((int64_t)item);
unsigned char truth = STONE_WHITE | STONE_PURPLE | STONE_GREEN | STONE_BLUE;
unsigned char love = STONE_WHITE | STONE_YELLOW | STONE_GREEN | STONE_ORANGE;
@@ -393,9 +393,9 @@ bool isMysticInInventory(void *mystic) {
This would be a good candidate for an xu4 "extended" savegame
format.
*/
- if (((int)mystic) == WEAP_MYSTICSWORD)
+ if (((int64_t)mystic) == WEAP_MYSTICSWORD)
return c->saveGame->weapons[WEAP_MYSTICSWORD] > 0;
- else if (((int)mystic) == ARMR_MYSTICROBES)
+ else if (((int64_t)mystic) == ARMR_MYSTICROBES)
return c->saveGame->armor[ARMR_MYSTICROBES] > 0;
else
ASSERT(0, "Invalid mystic item was tested in isMysticInInventory()");
@@ -405,9 +405,9 @@ bool isMysticInInventory(void *mystic) {
void putMysticInInventory(void *mystic) {
c->party->member(0)->awardXp(400);
c->party->adjustKarma(KA_FOUND_ITEM);
- if (((int)mystic) == WEAP_MYSTICSWORD)
+ if (((int64_t)mystic) == WEAP_MYSTICSWORD)
c->saveGame->weapons[WEAP_MYSTICSWORD] += 8;
- else if (((int)mystic) == ARMR_MYSTICROBES)
+ else if (((int64_t)mystic) == ARMR_MYSTICROBES)
c->saveGame->armor[ARMR_MYSTICROBES] += 8;
else
ASSERT(0, "Invalid mystic item was added in putMysticInInventory()");
@@ -415,12 +415,12 @@ void putMysticInInventory(void *mystic)
}
bool isWeaponInInventory(void *weapon) {
- if (c->saveGame->weapons[(int)weapon])
+ if (c->saveGame->weapons[(int64_t)weapon])
return true;
else {
int i;
for (i = 0; i < c->party->size(); i++) {
- if (c->party->member(i)->getWeapon() == (int)weapon)
+ if (c->party->member(i)->getWeapon() == (int64_t)weapon)
return true;
}
}
@@ -428,7 +428,7 @@ bool isWeaponInInventory(void *weapon) {
}
void putWeaponInInventory(void *weapon) {
- c->saveGame->weapons[(int)weapon]++;
+ c->saveGame->weapons[(int64_t)weapon]++;
}
void useTelescope(void *notused) {
@@ -447,11 +447,11 @@ bool isReagentInInventory(void *reag) {
void putReagentInInventory(void *reag) {
c->party->adjustKarma(KA_FOUND_ITEM);
- c->saveGame->reagents[(int)reag] += xu4_random(8) + 2;
+ c->saveGame->reagents[(int64_t)reag] += xu4_random(8) + 2;
c->saveGame->lastreagent = c->saveGame->moves & 0xF0;
- if (c->saveGame->reagents[(int)reag] > 99) {
- c->saveGame->reagents[(int)reag] = 99;
+ if (c->saveGame->reagents[(int64_t)reag] > 99) {
+ c->saveGame->reagents[(int64_t)reag] = 99;
screenMessage("Dropped some!\n");
}
}

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_lzw_u6decode.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/lzw/u6decode.cpp.orig 2005-10-03 06:30:09.000000000 +0000
+++ src/lzw/u6decode.cpp
@@ -28,6 +28,7 @@
*/
#include <stdio.h>
+#include <stdlib.h>
#include "u6decode.h"
#include "u6stack.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_person.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/person.cpp.orig 2005-09-21 06:42:01.000000000 +0000
+++ src/person.cpp
@@ -28,6 +28,7 @@
#include "u4file.h"
#include "utils.h"
#include "script.h"
+#include <string.h>
using std::string;
using std::vector;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_savegame.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/savegame.cpp.orig 2005-01-14 08:24:55.000000000 +0000
+++ src/savegame.cpp
@@ -5,6 +5,7 @@
#include "vc6.h" // Fixes things if you're using VC6, does nothing if otherwise
#include "savegame.h"
+#include <string.h>
#include "io.h"
#include "object.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_screen.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/screen.cpp.orig 2005-10-03 05:57:31.000000000 +0000
+++ src/screen.cpp
@@ -8,6 +8,7 @@
#include <cstdarg>
#include <cfloat>
#include "u4.h"
+#include <string.h>
#include "screen.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_settings.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/settings.cpp.orig 2005-08-22 05:53:38.000000000 +0000
+++ src/settings.cpp
@@ -11,6 +11,7 @@
#include "event.h"
#include "filesystem.h"
#include "utils.h"
+#include <string.h>
#if defined(_WIN32) || defined(__CYGWIN__)
#include <windows.h>

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_spell.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/spell.cpp.orig 2005-10-03 05:57:31.000000000 +0000
+++ src/spell.cpp
@@ -5,6 +5,7 @@
#include "vc6.h" // Fixes things if you're using VC6, does nothing if otherwise
#include "u4.h"
+#include <string.h>
#include "spell.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_stats.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/stats.cpp.orig 2005-08-24 05:55:35.000000000 +0000
+++ src/stats.cpp
@@ -18,6 +18,7 @@
#include "spell.h"
#include "tile.h"
#include "weapon.h"
+#include <string.h>
extern bool verbose;

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_textview.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/textview.cpp.orig 2005-08-17 06:32:15.000000000 +0000
+++ src/textview.cpp
@@ -5,6 +5,7 @@
#include "vc6.h" // Fixes things if you're using VC6, does nothing if otherwise
#include <stdarg.h>
+#include <string.h>
#include "debug.h"
#include "event.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_u4file.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/u4file.cpp.orig 2004-11-29 05:38:26.000000000 +0000
+++ src/u4file.cpp
@@ -3,6 +3,7 @@
*/
#include <cctype>
+#include <stdlib.h>
#include "u4file.h"
#include "unzip.h"

View file

@ -0,0 +1,14 @@
$NetBSD: patch-src_weapon.cpp,v 1.1.1.1 2012/01/08 15:52:12 wiz Exp $
Add missing header.
--- src/weapon.cpp.orig 2005-10-03 05:42:21.000000000 +0000
+++ src/weapon.cpp
@@ -5,6 +5,7 @@
#include "vc6.h" // Fixes things if you're using VC6, does nothing if otherwise
#include <string>
+#include <string.h>
#include "weapon.h"