Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Fedora Release Engineering
f03cb7cc5c dist-git conversion 2010-07-29 11:34:17 +00:00
Bill Nottingham
c4af7c2e20 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:28:53 +00:00
Hans de Goede
32f4ffcd2c - Add missing autodownloader Requires to rott-shareware 2007-05-21 22:15:18 +00:00
Hans de Goede
1c97d34ba3 oops, remove wildcard cvs add included backup file 2007-05-21 21:44:46 +00:00
Hans de Goede
a938d2c1b9 - Add desktop entry and userfriendly launcher script for registered package
- Add a patch fixing crashes with "long" usernames
2007-05-21 21:42:41 +00:00
Warren Togami
9b4238554d Initialize branch FC-6 for rott 2007-05-17 20:57:23 +00:00
19 changed files with 40542 additions and 21 deletions

View file

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
rott-1.0.tar.gz

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: rott
# $Id$
NAME := rott
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

911
rott-1.0-64bit.patch Normal file
View file

@ -0,0 +1,911 @@
diff -ur rott-1.0.orig/rott/audiolib/dpmi.h rott-1.0/rott/audiolib/dpmi.h
--- rott-1.0.orig/rott/audiolib/dpmi.h 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/audiolib/dpmi.h 2007-05-06 22:03:17.000000000 +0200
@@ -62,8 +62,8 @@
unsigned long DPMI_GetRealModeVector( int num );
void DPMI_SetRealModeVector( int num, unsigned long vector );
int DPMI_CallRealModeFunction( dpmi_regs *callregs );
-int DPMI_GetDOSMemory( void **ptr, int *descriptor, unsigned length );
-int DPMI_FreeDOSMemory( int descriptor );
+int DPMI_GetDOSMemory( void **ptr, long *descriptor, unsigned length );
+int DPMI_FreeDOSMemory( long descriptor );
int DPMI_LockMemory( void *address, unsigned length );
int DPMI_LockMemoryRegion( void *start, void *end );
int DPMI_UnlockMemory( void *address, unsigned length );
diff -ur rott-1.0.orig/rott/audiolib/multivoc.c rott-1.0/rott/audiolib/multivoc.c
--- rott-1.0.orig/rott/audiolib/multivoc.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/audiolib/multivoc.c 2007-05-06 22:03:17.000000000 +0200
@@ -107,7 +107,7 @@
static int MV_TotalMemory;
-static int MV_BufferDescriptor;
+static long MV_BufferDescriptor;
static int MV_BufferEmpty[ NumberOfBuffers ];
char *MV_MixBuffer[ NumberOfBuffers + 1 ];
diff -ur rott-1.0.orig/rott/audiolib/nodpmi.c rott-1.0/rott/audiolib/nodpmi.c
--- rott-1.0.orig/rott/audiolib/nodpmi.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/audiolib/nodpmi.c 2007-05-06 22:03:17.000000000 +0200
@@ -160,18 +160,18 @@
return( status );
}
-int DPMI_GetDOSMemory( void **ptr, int *descriptor, unsigned length )
+int DPMI_GetDOSMemory( void **ptr, long *descriptor, unsigned length )
{
/* Lovely... */
*ptr = (void *)malloc(length);
- *descriptor = (int) *ptr;
+ *descriptor = (long) *ptr;
return (descriptor == 0) ? DPMI_Error : DPMI_Ok;
}
-int DPMI_FreeDOSMemory( int descriptor )
+int DPMI_FreeDOSMemory( long descriptor )
{
free((void *)descriptor);
diff -ur rott-1.0.orig/rott/modexlib.c rott-1.0/rott/modexlib.c
--- rott-1.0.orig/rott/modexlib.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/modexlib.c 2007-05-06 22:03:17.000000000 +0200
@@ -45,12 +45,12 @@
int linewidth;
int ylookup[MAXSCREENHEIGHT];
-int page1start;
-int page2start;
-int page3start;
+byte *page1start;
+byte *page2start;
+byte *page3start;
int screensize;
-unsigned bufferofs;
-unsigned displayofs;
+byte *bufferofs;
+byte *displayofs;
boolean graphicsmode=false;
#ifdef DOS
@@ -248,7 +248,7 @@
=
=======================
*/
-void VL_CopyBufferToAll ( unsigned buffer )
+void VL_CopyBufferToAll ( byte *buffer )
{
int plane;
@@ -506,9 +506,9 @@
screensize=MAXSCREENHEIGHT*MAXSCREENWIDTH;
- page1start=(int)sdl_surface->pixels;
- page2start=(int)sdl_surface->pixels;
- page3start=(int)sdl_surface->pixels;
+ page1start=sdl_surface->pixels;
+ page2start=sdl_surface->pixels;
+ page3start=sdl_surface->pixels;
displayofs = page1start;
bufferofs = page2start;
XFlipPage ();
@@ -570,7 +570,7 @@
=
=======================
*/
-void VL_CopyBufferToAll ( unsigned buffer )
+void VL_CopyBufferToAll ( byte *buffer )
{
#ifdef DOS
int plane;
@@ -611,7 +611,7 @@
=================
*/
-void VL_ClearBuffer (unsigned buf, byte color)
+void VL_ClearBuffer (byte *buf, byte color)
{
#ifdef DOS
VGAMAPMASK(15);
diff -ur rott-1.0.orig/rott/modexlib.h rott-1.0/rott/modexlib.h
--- rott-1.0.orig/rott/modexlib.h 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/modexlib.h 2007-05-06 22:03:17.000000000 +0200
@@ -105,23 +105,23 @@
extern int ylookup[MAXSCREENHEIGHT]; // Table of row offsets
extern int linewidth;
-extern int page1start;
-extern int page2start;
-extern int page3start;
+extern byte *page1start;
+extern byte *page2start;
+extern byte *page3start;
extern int screensize;
-extern unsigned bufferofs;
-extern unsigned displayofs;
+extern byte *bufferofs;
+extern byte *displayofs;
extern boolean graphicsmode;
void GraphicsMode ( void );
void SetTextMode ( void );
void VL_SetVGAPlaneMode ( void );
-void VL_ClearBuffer (unsigned buf, byte color);
+void VL_ClearBuffer (byte *buf, byte color);
void VL_ClearVideo (byte color);
void VL_DePlaneVGA (void);
void VL_CopyDisplayToHidden ( void );
-void VL_CopyBufferToAll ( unsigned buffer );
+void VL_CopyBufferToAll ( byte *buffer );
void VL_CopyPlanarPage ( byte * src, byte * dest );
void VL_CopyPlanarPageToMemory ( byte * src, byte * dest );
void XFlipPage ( void );
diff -ur rott-1.0.orig/rott/rt_actor.c rott-1.0/rott/rt_actor.c
--- rott-1.0.orig/rott/rt_actor.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_actor.c 2007-05-06 22:03:17.000000000 +0200
@@ -88,7 +88,7 @@
byte deathshapeoffset[8] = {0,7,7,8,8,9,8,7};
-unsigned MAXFUNCTION,MINFUNCTION,MAXSTATE,MINSTATE;
+unsigned long MAXFUNCTION,MINFUNCTION,MAXSTATE,MINSTATE;
objtype *PLAYER0MISSILE;
objtype *SCREENEYE;
@@ -992,16 +992,16 @@
void FindAddresses(void)
{
int i;
- unsigned tstate,tfunct;
+ unsigned long tstate,tfunct;
- MINFUNCTION = 0xffffffff;
+ MINFUNCTION = -1l;
MAXFUNCTION = 0x00000000;
- MINSTATE = 0xffffffff;
+ MINSTATE = -1l;
MAXSTATE = 0x00000000;
for(i=0;i<MAXSTATES;i++)
{
- tstate = (unsigned)(statetable[i]);
+ tstate = (unsigned long)(statetable[i]);
if (tstate < MINSTATE)
MINSTATE = tstate;
@@ -1009,7 +1009,7 @@
MAXSTATE = tstate;
if (statetable[i]!=NULL)
{
- tfunct = (unsigned)(statetable[i]->think);
+ tfunct = (unsigned long)(statetable[i]->think);
if (tfunct < MINFUNCTION)
MINFUNCTION = tfunct;
@@ -1021,10 +1021,10 @@
void CheckBounds(objtype*ob)
{
- unsigned tstate,tfunct;
+ unsigned long tstate,tfunct;
- tstate = (unsigned)(ob->state);
- tfunct = (unsigned)(ob->state->think);
+ tstate = (unsigned long)(ob->state);
+ tfunct = (unsigned long)(ob->state->think);
if ((tfunct < MINFUNCTION) || (tfunct > MAXFUNCTION) ||
(tstate < MINSTATE) || (tstate > MAXSTATE))
@@ -10077,7 +10077,7 @@
if (ob->hitpoints <= 0)
{objtype*column = (objtype*)(ob->whatever);
- EnableObject((int)column);
+ EnableObject((long)column);
ob->whatever = NULL;
KillActor(ob);
@@ -10442,7 +10442,7 @@
{
objtype*column = (objtype*)(ob->whatever);
- EnableObject((int)column);
+ EnableObject((long)column);
ob->whatever = NULL;
KillActor(ob);
@@ -10663,7 +10663,7 @@
{touchplatetype *tplate;
for(tplate=touchplate[tempstat->linked_to];tplate;tplate = tplate->nextaction)
- if (tplate->whichobj == (int)(tempstat))
+ if (tplate->whichobj == (long)(tempstat))
RemoveTouchplateAction(tplate,tempstat->linked_to);
}
@@ -10879,7 +10879,7 @@
(tempstat->itemnumber == stat_tntcrate)
)
{
- tempstat->linked_to = (int)(LASTSTAT);
+ tempstat->linked_to = (long)(LASTSTAT);
tempstat->flags |= FL_RESPAWN;
}
@@ -10900,7 +10900,7 @@
-void EnableObject(int object)
+void EnableObject(long object)
{
objtype* ob;
int i,gasicon;
@@ -10951,7 +10951,7 @@
}
}
-void DisableObject(int object)
+void DisableObject(long object)
{objtype*ob;
ob = (objtype*)object;
diff -ur rott-1.0.orig/rott/rt_actor.h rott-1.0/rott/rt_actor.h
--- rott-1.0.orig/rott/rt_actor.h 2007-05-06 22:30:12.000000000 +0200
+++ rott-1.0/rott/rt_actor.h 2007-05-06 22:03:17.000000000 +0200
@@ -358,8 +358,8 @@
void A_Drain(objtype*ob);
void T_Explosion(objtype*ob);
void T_MoveColumn(objtype*);
-void EnableObject(int object);
-void DisableObject(int);
+void EnableObject(long object);
+void DisableObject(long object);
void T_Collide(objtype*);
void Collision(objtype*ob,objtype *attacker,int hitmomentumx,int hitmomentumy);
diff -ur rott-1.0.orig/rott/rt_def.h rott-1.0/rott/rt_def.h
--- rott-1.0.orig/rott/rt_def.h 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_def.h 2007-05-06 22:03:17.000000000 +0200
@@ -300,7 +300,7 @@
typedef unsigned char byte;
typedef unsigned short int word;
typedef unsigned long longword;
-typedef long fixed;
+typedef int fixed;
//////////////////////////////////////////////////////////////////////////
diff -ur rott-1.0.orig/rott/rt_door.c rott-1.0/rott/rt_door.c
--- rott-1.0.orig/rott/rt_door.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_door.c 2007-05-06 22:03:17.000000000 +0200
@@ -94,7 +94,7 @@
// Local Variables
-static void (*touchactions[NUMTOUCHPLATEACTIONS])(int) =
+static void (*touchactions[NUMTOUCHPLATEACTIONS])(long) =
{ActivatePushWall,
ActivateMoveWall,
LinkedOpenDoor,
@@ -315,7 +315,7 @@
}
-int GetIndexForAction(void (*action)(int))
+int GetIndexForAction(void (*action)(long))
{int i;
for(i=0;i<NUMTOUCHPLATEACTIONS;i++)
@@ -486,10 +486,10 @@
temp->complete = dummy.complete;
if (dummy.whichobj & FL_TACT)
- temp->whichobj = (int)(objlist[dummy.whichobj & ~FL_TACT]);
+ temp->whichobj = (long)(objlist[dummy.whichobj & ~FL_TACT]);
else if (dummy.whichobj & FL_TSTAT)
- temp->whichobj = (int)(GetStatForIndex(dummy.whichobj & ~FL_TSTAT));
+ temp->whichobj = (long)(GetStatForIndex(dummy.whichobj & ~FL_TSTAT));
else
temp->whichobj = dummy.whichobj;
if (dummy.actionindex != -1)
@@ -613,7 +613,7 @@
-void Link_To_Touchplate(word touchlocx, word touchlocy, void (*maction)(int), void (*swapaction)(int), int wobj, int delaytime)
+void Link_To_Touchplate(word touchlocx, word touchlocy, void (*maction)(long), void (*swapaction)(long), long wobj, int delaytime)
{touchplatetype *temp;
int index;
@@ -640,7 +640,7 @@
-void ClockLink (void (*saction)(int), void (*eaction)(int), int wobj,int whichclock)
+void ClockLink (void (*saction)(long), void (*eaction)(long), long wobj,int whichclock)
{touchplatetype*temp;
@@ -731,7 +731,7 @@
touchplatetype *temp;
int i,touchcomplete,j;
int playeron;
- void (*tempact)(int);
+ void (*tempact)(long);
boolean wallmessage,doormessage,columnmessage;
for(i=0;i<lasttouch;i++)
@@ -1789,7 +1789,7 @@
=====================
*/
-void LinkedOpenDoor (int door)
+void LinkedOpenDoor (long door)
{
UtilizeDoor(door,OpenDoor);
}
@@ -1802,7 +1802,7 @@
=====================
*/
-void LinkedCloseDoor (int door)
+void LinkedCloseDoor (long door)
{
if (DoorReadyToClose(door)==true)
UtilizeDoor(door,CloseDoor);
@@ -3477,7 +3477,7 @@
=====================
*/
-void ActivatePushWall (int pwall)
+void ActivatePushWall (long pwall)
{
pwallobj_t * pw;
@@ -3508,7 +3508,7 @@
=====================
*/
-void ActivateMoveWall (int pwall)
+void ActivateMoveWall (long pwall)
{
pwallobj_t * pw;
diff -ur rott-1.0.orig/rott/rt_door.h rott-1.0/rott/rt_door.h
--- rott-1.0.orig/rott/rt_door.h 2002-12-20 21:15:28.000000000 +0100
+++ rott-1.0/rott/rt_door.h 2007-05-06 22:03:17.000000000 +0200
@@ -124,11 +124,11 @@
} pwallobj_t;
typedef struct tplate
-{ void (*action)(int);
- void (*swapaction)(int);
+{ void (*action)(long);
+ void (*swapaction)(long);
struct tplate * nextaction;
struct tplate * prevaction;
- int whichobj;
+ long whichobj;
byte tictime;
byte ticcount;
byte triggered;
@@ -213,9 +213,9 @@
int PlatformHeight(int,int);
-void Link_To_Touchplate(word, word, void (*)(int), void (*)(int),int, int);
+void Link_To_Touchplate(word, word, void (*)(long), void (*)(long), long, int);
void TriggerStuff(void);
-void ClockLink(void (*)(int),void(*)(int),int,int);
+void ClockLink(void (*)(long),void(*)(long),long,int);
void RecursiveConnect(int);
void ConnectAreas(void);
void InitAreas(void);
@@ -234,8 +234,8 @@
void WallPushing (int pwall);
void PushWall (int pwall, int dir);
void OperatePushWall (int pwall, int dir, boolean localplayer );
-void ActivatePushWall (int pwall);
-void ActivateMoveWall (int pwall);
+void ActivatePushWall (long pwall);
+void ActivateMoveWall (long pwall);
int UpdateMaskedWall (int num);
void FixDoorAreaNumbers ( void );
@@ -262,8 +262,8 @@
void LoadElevators(byte * buffer,int size);
void MakeWideDoorVisible ( int doornum );
-void LinkedCloseDoor (int door);
-void LinkedOpenDoor (int door);
+void LinkedCloseDoor (long door);
+void LinkedOpenDoor (long door);
int IsWall (int tilex, int tiley);
int IsDoor (int tilex, int tiley);
int IsMaskedWall (int tilex, int tiley);
diff -ur rott-1.0.orig/rott/rt_draw.c rott-1.0/rott/rt_draw.c
--- rott-1.0.orig/rott/rt_draw.c 2003-01-01 10:24:25.000000000 +0100
+++ rott-1.0/rott/rt_draw.c 2007-05-06 22:03:17.000000000 +0200
@@ -100,7 +100,7 @@
//
short tantable[FINEANGLES];
-long sintable[FINEANGLES+FINEANGLEQUAD+1],
+int sintable[FINEANGLES+FINEANGLEQUAD+1],
*costable = sintable+(FINEANGLES/4);
//
@@ -200,7 +200,7 @@
{
byte * table;
byte * ptr;
- long length;
+ int length;
int i;
//
@@ -244,7 +244,7 @@
//
// get sin/cos table
//
- memcpy(&sintable[0],ptr,length*sizeof(long));
+ memcpy(&sintable[0],ptr,length*sizeof(int));
SwapIntelLongArray(&sintable[0], length);
ptr+=(length)*sizeof(int);
diff -ur rott-1.0.orig/rott/rt_game.c rott-1.0/rott/rt_game.c
--- rott-1.0.orig/rott/rt_game.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_game.c 2007-05-06 22:13:20.000000000 +0200
@@ -998,7 +998,7 @@
void DrawGameString (int x, int y, const char * str, boolean bufferofsonly)
{
- unsigned tempbuf;
+ byte *tempbuf;
px=x;
py=y;
@@ -1543,8 +1543,8 @@
void DrawMPPic (int xpos, int ypos, int width, int height, int heightmod, byte *src, boolean bufferofsonly)
{
- byte *olddest;
- byte *dest;
+ int olddest;
+ int dest;
int x;
int y;
int planes;
@@ -1554,9 +1554,9 @@
mask = 1 << (xpos&3);
#ifdef DOS
- olddest = (byte *)(ylookup[ypos] + (xpos>>2));
+ olddest = ylookup[ypos] + (xpos>>2);
#else
- olddest = (byte *)(ylookup[ypos] + xpos);
+ olddest = ylookup[ypos] + xpos;
#endif
for (planes = 0; planes < 4; planes++)
@@ -1637,8 +1637,8 @@
void DrawColoredMPPic (int xpos, int ypos, int width, int height, int heightmod, byte *src, boolean bufferofsonly, int color)
{
- byte *olddest;
- byte *dest;
+ int olddest;
+ int dest;
int x;
int y;
int planes;
@@ -1651,9 +1651,9 @@
mask = 1 << (xpos&3);
#ifdef DOS
- olddest = (byte *)(ylookup[ypos] + (xpos>>2));
+ olddest = ylookup[ypos] + (xpos>>2);
#else
- olddest = (byte *)(ylookup[ypos] + xpos);
+ olddest = ylookup[ypos] + xpos;
#endif
for (planes = 0; planes < 4; planes++)
@@ -1822,8 +1822,8 @@
void DrawPPic (int xpos, int ypos, int width, int height, byte *src, int num, boolean up, boolean bufferofsonly)
{
- byte *olddest;
- byte *dest;
+ int olddest;
+ int dest;
int x;
int y;
int planes;
@@ -1847,9 +1847,9 @@
mask = 1;
#ifdef DOS
- olddest = (byte *)(ylookup[ypos] + (xpos>>2));
+ olddest = ylookup[ypos] + (xpos>>2);
#else
- olddest = (byte *)(ylookup[ypos] + xpos);
+ olddest = ylookup[ypos] + xpos;
#endif
for (planes = 0; planes < 4; planes++)
@@ -2254,7 +2254,7 @@
void DrawPause (void)
{
pic_t *p;
- int bufftemp = bufferofs;
+ byte *bufftemp = bufferofs;
bufferofs -= screenofs;
@@ -2610,15 +2610,16 @@
void GM_MemToScreen (byte *source, int width, int height, int x, int y)
{
- byte *dest, *dest1, *dest2, *dest3, mask;
+ int dest;
+ byte *dest1, *dest2, *dest3, mask;
byte *screen1, *screen2, *screen3;
int plane;
int w;
#ifdef DOS
- dest = (byte *)(ylookup[y]+(x>>2));
+ dest = ylookup[y]+(x>>2);
#else
- dest = (byte *)(ylookup[y]+x);
+ dest = ylookup[y]+x;
#endif
mask = 1 << (x&3);
@@ -4450,7 +4451,7 @@
{
if ((SaveTime+1) < GetTicCount())
{
- int temp = bufferofs;
+ byte *temp = bufferofs;
bufferofs = displayofs;
SaveTime = GetTicCount();
diff -ur rott-1.0.orig/rott/rt_main.c rott-1.0/rott/rt_main.c
--- rott-1.0.orig/rott/rt_main.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_main.c 2007-05-06 22:13:55.000000000 +0200
@@ -962,7 +962,7 @@
while ((!LastScan) && (!IN_GetMouseButtons()))
{
int i;
- unsigned tempbuf;
+ byte *tempbuf;
MenuFadeOut();
ClearGraphicsScreen();
SetPalette(&dimpal[0]);
diff -ur rott-1.0.orig/rott/rt_stat.c rott-1.0/rott/rt_stat.c
--- rott-1.0.orig/rott/rt_stat.c 2002-12-24 05:34:15.000000000 +0100
+++ rott-1.0/rott/rt_stat.c 2007-05-06 22:03:17.000000000 +0200
@@ -397,7 +397,7 @@
}
-void ActivateLight(int light)
+void ActivateLight(long light)
{statobj_t*tstat;
tstat = (statobj_t*)light;
@@ -409,7 +409,7 @@
}
-void DeactivateLight(int light)
+void DeactivateLight(long light)
{statobj_t*tstat;
tstat = (statobj_t*)light;
diff -ur rott-1.0.orig/rott/rt_stat.h rott-1.0/rott/rt_stat.h
--- rott-1.0.orig/rott/rt_stat.h 2002-12-20 21:15:28.000000000 +0100
+++ rott-1.0/rott/rt_stat.h 2007-05-06 22:03:17.000000000 +0200
@@ -151,7 +151,7 @@
short int whichstat;
short int areanumber;
- int linked_to;
+ long linked_to;
struct statstruct *statnext;
struct statstruct *statprev;
struct statstruct *nextactive;
@@ -167,8 +167,7 @@
int spawnz;
struct respstruct *next;
struct respstruct *prev;
- int linked_to;
-
+ long linked_to;
} respawn_t;
@@ -205,8 +204,8 @@
void Set_NewZ_to_MapValue(fixed*,int,const char*,int,int);
void RemoveFromFreeStaticList(statobj_t*);
void CheckCriticalStatics(void);
-void ActivateLight(int);
-void DeactivateLight(int);
+void ActivateLight(long);
+void DeactivateLight(long);
void TurnOnLight(int,int);
void TurnOffLight(int,int);
void MakeStatActive(statobj_t*);
diff -ur rott-1.0.orig/rott/rt_ted.c rott-1.0/rott/rt_ted.c
--- rott-1.0.orig/rott/rt_ted.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_ted.c 2007-05-06 22:14:56.000000000 +0200
@@ -1139,7 +1139,7 @@
int lastmem=0;
int lastcache=0;
int ticdelay;
- unsigned tempbuf;
+ byte *tempbuf;
#if defined(PLATFORM_MACOSX) || defined(__sparc__)
#warning "Precaching is disabled. Fix."
@@ -1329,7 +1329,7 @@
{
int filehandle;
char RTLSignature[ 4 ];
- unsigned long RTLVersion;
+ unsigned int RTLVersion;
filehandle = SafeOpenRead( filename );
@@ -1395,12 +1395,12 @@
SEEK_SET );
SafeRead( filehandle, &RTLMap, sizeof( RTLMap ) );
- SwapIntelLong((long *)&RTLMap.used);
- SwapIntelLong((long *)&RTLMap.CRC);
- SwapIntelLong((long *)&RTLMap.RLEWtag);
- SwapIntelLong((long *)&RTLMap.MapSpecials);
- SwapIntelLongArray((long *)&RTLMap.planestart, NUMPLANES);
- SwapIntelLongArray((long *)&RTLMap.planelength, NUMPLANES);
+ SwapIntelLong((int *)&RTLMap.used);
+ SwapIntelLong((int *)&RTLMap.CRC);
+ SwapIntelLong((int *)&RTLMap.RLEWtag);
+ SwapIntelLong((int *)&RTLMap.MapSpecials);
+ SwapIntelLongArray((int *)&RTLMap.planestart, NUMPLANES);
+ SwapIntelLongArray((int *)&RTLMap.planelength, NUMPLANES);
if ( !RTLMap.used )
{
@@ -3568,7 +3568,7 @@
void LinkActor (objtype *ob,int tilex,int tiley,
- void (*action)(int),void (*swapaction)(int)
+ void (*action)(long),void (*swapaction)(long)
)
{
word touchx,touchy;
@@ -3585,7 +3585,7 @@
if ((clockx == tilex) && (clocky == tiley))
{
clocklinked = 1;
- ClockLink(EnableObject,DisableObject,(int)ob,k);
+ ClockLink(EnableObject,DisableObject,(long)ob,k);
}
}
@@ -3612,9 +3612,9 @@
if (tswitch && (tswitch->flags & FL_ON))
- Link_To_Touchplate(touchx,touchy,swapaction,action,(int)ob,0);
+ Link_To_Touchplate(touchx,touchy,swapaction,action,(long)ob,0);
else
- Link_To_Touchplate(touchx,touchy,action,swapaction,(int)ob,0);
+ Link_To_Touchplate(touchx,touchy,action,swapaction,(long)ob,0);
if (ob->obclass == gasgrateobj)
{
ob->temp1 = touchx;
@@ -3645,7 +3645,7 @@
{
int i,j,linked;
word *map,tile;
- void (*action)(int),(*swapaction)(int);
+ void (*action)(long),(*swapaction)(long);
map = mapplanes[1];
@@ -4051,7 +4051,7 @@
if (!(tswitch->flags & FL_ON))
{sprites[i][j]->shapenum --;
if (touchindices[touchx][touchy])
- {Link_To_Touchplate(touchx,touchy,ActivateLight,DeactivateLight,(int)(sprites[i][j]),0);
+ {Link_To_Touchplate(touchx,touchy,ActivateLight,DeactivateLight,(long)(sprites[i][j]),0);
sprites[i][j]->linked_to = touchindices[touchx][touchy]-1;
}
else
@@ -4059,7 +4059,7 @@
}
else
{if (touchindices[touchx][touchy])
- {Link_To_Touchplate(touchx,touchy,DeactivateLight,ActivateLight,(int)(sprites[i][j]),0);
+ {Link_To_Touchplate(touchx,touchy,DeactivateLight,ActivateLight,(long)(sprites[i][j]),0);
sprites[i][j]->linked_to = touchindices[touchx][touchy]-1;
}
else
@@ -4069,7 +4069,7 @@
}
else
{if (touchindices[touchx][touchy])
- {Link_To_Touchplate(touchx,touchy,DeactivateLight,ActivateLight,(int)(sprites[i][j]),0);
+ {Link_To_Touchplate(touchx,touchy,DeactivateLight,ActivateLight,(long)(sprites[i][j]),0);
sprites[i][j]->linked_to = touchindices[touchx][touchy]-1;
}
else
diff -ur rott-1.0.orig/rott/rt_util.c rott-1.0/rott/rt_util.c
--- rott-1.0.orig/rott/rt_util.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/rt_util.c 2007-05-06 22:03:17.000000000 +0200
@@ -1171,7 +1171,7 @@
}
-long SwapLong (long l)
+int SwapLong (int l)
{
byte b1,b2,b3,b4;
@@ -1180,10 +1180,10 @@
b3 = (l>>16)&255;
b4 = (l>>24)&255;
- return ((long)b1<<24) + ((long)b2<<16) + ((long)b3<<8) + b4;
+ return ((int)b1<<24) + ((int)b2<<16) + ((int)b3<<8) + b4;
}
-long KeepLong (long l)
+int KeepLong (int l)
{
return l;
}
@@ -1194,7 +1194,7 @@
#undef SwapShort
#undef SwapLong
-void SwapIntelLong(long *l)
+void SwapIntelLong(int *l)
{
*l = IntelLong(*l);
}
@@ -1204,7 +1204,7 @@
*s = IntelShort(*s);
}
-void SwapIntelLongArray(long *l, int num)
+void SwapIntelLongArray(int *l, int num)
{
while (num--) {
SwapIntelLong(l);
diff -ur rott-1.0.orig/rott/rt_util.h rott-1.0/rott/rt_util.h
--- rott-1.0.orig/rott/rt_util.h 2002-12-25 09:00:13.000000000 +0100
+++ rott-1.0/rott/rt_util.h 2007-05-06 22:03:17.000000000 +0200
@@ -67,11 +67,11 @@
long ParseNum (char *str);
short MotoShort (short l);
short IntelShort (short l);
-long MotoLong (long l);
-long IntelLong (long l);
-void SwapIntelLong (long *l);
+int MotoLong (int l);
+int IntelLong (int l);
+void SwapIntelLong (int *l);
void SwapIntelShort(short *s);
-void SwapIntelLongArray (long *l, int num);
+void SwapIntelLongArray (int *l, int num);
void SwapIntelShortArray (short *s, int num);
int US_CheckParm (char *parm, char **strings);
byte BestColor (int r, int g, int b, byte *palette);
diff -ur rott-1.0.orig/rott/rt_vid.c rott-1.0/rott/rt_vid.c
--- rott-1.0.orig/rott/rt_vid.c 2002-12-24 08:29:52.000000000 +0100
+++ rott-1.0/rott/rt_vid.c 2007-05-06 22:15:21.000000000 +0200
@@ -968,7 +968,7 @@
void SwitchPalette (byte * newpal, int steps)
{
- int temp;
+ byte *temp;
VL_FadeOut(0,255,0,0,0,steps>>1);
diff -ur rott-1.0.orig/rott/rt_view.c rott-1.0/rott/rt_view.c
--- rott-1.0.orig/rott/rt_view.c 2003-01-01 10:24:39.000000000 +0100
+++ rott-1.0/rott/rt_view.c 2007-05-06 22:03:17.000000000 +0200
@@ -220,7 +220,7 @@
{
int i;
int frac;
- long intang;
+ int intang;
byte * table;
byte * ptr;
int length;
@@ -246,7 +246,7 @@
//
memcpy(&length,ptr,sizeof(int));
- SwapIntelLong((long *)&length);
+ SwapIntelLong(&length);
ptr+=sizeof(int);
pangle=SafeMalloc(length*sizeof(int));
memcpy(pangle,ptr,length*sizeof(int));
@@ -447,7 +447,7 @@
lump = W_GetNumForName("colormap");
length = W_LumpLength (lump) + 255;
colormap = SafeMalloc (length);
- colormap = (byte *)( ((int)colormap + 255)&~0xff);
+ colormap = (byte *)( ((long)colormap + 255)&~0xff);
W_ReadLump (lump,colormap);
// Fix fire colors in colormap
@@ -461,7 +461,7 @@
lump = W_GetNumForName("specmaps");
length = W_LumpLength (lump+1) + 255;
redmap = SafeMalloc (length);
- redmap = (byte *)( ((int)redmap + 255)&~0xff);
+ redmap = (byte *)( ((long)redmap + 255)&~0xff);
W_ReadLump (lump+1,redmap);
greenmap = redmap+(16*256);
@@ -474,7 +474,7 @@
{
length = W_LumpLength (lump+i) + 255;
playermaps[i] = SafeMalloc (length);
- playermaps[i] = (byte *)( ((int)playermaps[i] + 255)&~0xff);
+ playermaps[i] = (byte *)( ((long)playermaps[i] + 255)&~0xff);
W_ReadLump (lump+i,playermaps[i]);
}
}
diff -ur rott-1.0.orig/rott/watcom.c rott-1.0/rott/watcom.c
--- rott-1.0.orig/rott/watcom.c 2007-05-06 22:30:08.000000000 +0200
+++ rott-1.0/rott/watcom.c 2007-05-06 22:03:17.000000000 +0200
@@ -24,8 +24,8 @@
fixed FixedDiv2(fixed a, fixed b)
{
- __int64 x = (signed long)a;
- __int64 y = (signed long)b;
+ __int64 x = (signed int)a;
+ __int64 y = (signed int)b;
__int64 z = x * 65536 / y;
return (z) & 0xffffffff;
diff -ur rott-1.0.orig/rott/rt_main.h rott-1.0/rott/rt_main.h
--- rott-1.0.orig/rott/rt_main.h 2002-12-20 22:18:39.000000000 +0100
+++ rott-1.0/rott/rt_main.h 2007-05-10 11:49:11.000000000 +0200
@@ -76,8 +76,8 @@
// Variable for which version of the game can be played
version_type Product;
- long TimeCount;
- long frame;
+ int TimeCount;
+ int frame;
int secrettotal,treasuretotal,killtotal;
int secretcount,treasurecount,killcount;
int supertotal,healthtotal,missiletotal;
@@ -88,7 +88,7 @@
int difficulty;
int violence;
int mapon;
- long score;
+ int score;
int episode;
int battlemode;
int battleoption;

39
rott-1.0-compile.patch Normal file
View file

@ -0,0 +1,39 @@
diff -ur rott-1.0/rott/Makefile trunk/rott/Makefile
--- rott-1.0/rott/Makefile 2007-05-05 20:44:31.000000000 +0200
+++ trunk/rott/Makefile 2007-05-05 15:47:26.000000000 +0200
@@ -47,7 +47,7 @@
CC = gcc
-CFLAGS = -g $(SDL_CFLAGS) -DUSE_SDL=1 -DPLATFORM_UNIX=1 -W -Wall -Wno-unused $(EXTRACFLAGS)
+CFLAGS = -g $(SDL_CFLAGS) -DUSE_SDL=1 -DPLATFORM_UNIX=1 -W -Wall -Wno-unused -Wno-pointer-sign $(EXTRACFLAGS)
LDLIBS = $(SDL_LDFLAGS) -lSDL -lSDL_mixer $(EXTRALDFLAGS) -Wl,-E
all: rott
diff -ur rott-1.0/rott/rt_actor.h trunk/rott/rt_actor.h
--- rott-1.0/rott/rt_actor.h 2007-05-05 20:44:31.000000000 +0200
+++ trunk/rott/rt_actor.h 2007-05-05 15:46:36.000000000 +0200
@@ -315,7 +315,7 @@
extern void *actorat[MAPSIZE][MAPSIZE];
extern int angletodir[ANGLES];
extern _2Dpoint SNAKEPATH[512];
-extern int STOPSPEED;
+/* extern int STOPSPEED; */
extern int FRICTION;
extern int objcount;
diff -ur rott-1.0/rott/rt_in.h trunk/rott/rt_in.h
--- rott-1.0/rott/rt_in.h 2007-05-05 20:44:31.000000000 +0200
+++ trunk/rott/rt_in.h 2007-05-05 15:20:49.000000000 +0200
@@ -147,9 +147,9 @@
extern boolean Paused;
extern volatile int LastScan;
-extern KeyboardDef KbdDefs;
+/* extern KeyboardDef KbdDefs;
extern JoystickDef JoyDefs[];
-extern ControlType Controls[MAXPLAYERS];
+extern ControlType Controls[MAXPLAYERS]; */
extern boolean SpaceBallPresent;
extern boolean CybermanPresent;

32124
rott-1.0-cvs-fixes.patch Normal file

File diff suppressed because it is too large Load diff

11
rott-1.0-fixes.patch Normal file
View file

@ -0,0 +1,11 @@
diff -urN rott-1.0.orig/rott/rt_ted.c rott-1.0/rott/rt_ted.c
--- rott-1.0.orig/rott/rt_ted.c 2007-05-06 23:57:48.000000000 +0200
+++ rott-1.0/rott/rt_ted.c 2007-05-06 23:45:11.000000000 +0200
@@ -5959,6 +6020,7 @@
ambush = (GameRandomNumber("rand actor",0) < 128);
i = randloc[locindex].x;
j = randloc[locindex].y;
+ tile = mapplanes[1][j*mapwidth + i];
SpawnStand(randomtype,i,j,tile-122,ambush);
used[locindex] = 1;
PreCacheActor(randomtype,0);

20
rott-1.0-more-fixes.patch Normal file
View file

@ -0,0 +1,20 @@
--- rott-1.0/rott/scriplib.c~ 2007-05-16 16:57:34.000000000 +0200
+++ rott-1.0/rott/scriplib.c 2007-05-16 16:57:34.000000000 +0200
@@ -43,7 +43,7 @@
char token[MAXTOKEN];
char name[MAXTOKEN*2];
-char scriptfilename[30];
+char scriptfilename[512];
char *scriptbuffer,*script_p,*scriptend_p;
int scriptline;
boolean endofscript;
@@ -63,7 +63,7 @@
size = LoadFile (filename, (void **)&scriptbuffer);
- strcpy(&scriptfilename[0],filename);
+ snprintf(scriptfilename, sizeof(scriptfilename), "%s", filename);
script_p = scriptbuffer;
scriptend_p = script_p + size;
scriptline = 1;

13
rott-1.0-registered.patch Normal file
View file

@ -0,0 +1,13 @@
--- rott-1.0/rott/develop.h~ 2007-05-11 10:24:32.000000000 +0200
+++ rott-1.0/rott/develop.h 2007-05-11 10:24:32.000000000 +0200
@@ -41,8 +41,8 @@
#define BNACRASHPREVENT 1 //bna added
// Make sure only one of the following are on at one time
-#define SHAREWARE 1
-#define SUPERROTT 0
+#define SHAREWARE 0
+#define SUPERROTT 1
#define SITELICENSE 0
// cute little dopefish thing, only works with special patch?

1576
rott-1.0-winrott-fixes.patch Normal file

File diff suppressed because it is too large Load diff

5511
rott-1.0-winrott.patch Normal file

File diff suppressed because it is too large Load diff

10
rott-registered.desktop Normal file
View file

@ -0,0 +1,10 @@
[Desktop Entry]
Encoding=UTF-8
Name=Rise of the Triad (Registered)
Comment=RotT Registered launch script, this requires the registered data files
Exec=rott-registered
StartupNotify=false
Terminal=false
Type=Application
Icon=rott.png
Categories=Game;ActionGame;

13
rott-registered.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/bash
set -e
if [ ! -f ~/.rott/registered/*.WAD -a ! -f ~/.rott/registered/*.wad ]; then
zenity --info --text='In order to play the registered version of Rise of the Triad (ROTT), An Apogee Game, the original registered ROTT datafiles are needed.
If you posess the registered version, copy all the datafiles of this version to [home folder]/.rott/registered and start ROTT Registered again.'
exit 1
fi
cd ~/.rott/registered
exec rott-registered.bin "$@"

10
rott-shareware.desktop Normal file
View file

@ -0,0 +1,10 @@
[Desktop Entry]
Encoding=UTF-8
Name=Rise of the Triad
Comment=RotT Shareware launcher, will automatically download the needed data-files
Exec=rott-shareware
StartupNotify=false
Terminal=false
Type=Application
Icon=rott.png
Categories=Game;ActionGame;

24
rott-shareware.sh Normal file
View file

@ -0,0 +1,24 @@
#!/bin/bash
set -e
mkdir -p $HOME/.rott
cd $HOME/.rott
if [ ! -f REMOTE1.RTS ]; then
set +e
/usr/share/autodl/AutoDL.py /usr/share/rott/rott.autodlrc
STATUS=$?
set -e
# status 2 means download was ok, but the user choice not to start the game
if [ "$STATUS" = "0" -o "$STATUS" = "2" ]; then
unzip -u 1rott13.zip ROTTSW13.SHR
unzip -u ROTTSW13.SHR VENDOR.DOC 'HUNTBGIN.*' REMOTE1.RTS 'DEMO*.DMO'
rm 1rott13.zip ROTTSW13.SHR
fi
if [ "$STATUS" != "0" ]; then
exit $STATUS
fi
fi
exec /usr/bin/rott-shareware.bin "$@"

114
rott.autodlrc Normal file
View file

@ -0,0 +1,114 @@
[MESSAGELIST]
[MESSAGE]
[TITLE]Please click 'Accept' to allow internet access.[/TITLE]
[TEXT]In order to play Rise of the Triad (ROTT), An Apogee Game, the original ROTT datafiles are needed.
Click Accept, to download the shareware version of the ROTT datafiles, which can be freely downloaded from the internet.
If you posess the full version you can use that instead: Make sure you've installed the rott-registered package, put all the datafiles of the full version in a directory, and then run rott-registered from this directory.
Please click Accept to allow ROTT to access the internet to download the necessary datafiles.[/TEXT]
[/MESSAGE]
[MESSAGE]
[TITLE]License Information[/TITLE]
[TEXT]"Rise of the Triad: The HUNT Begins" Copyright 1994, 1995 Apogee Software, Ltd. P.O. Box 496389, Garland, TX 75049, TEL: 972-271-1765 ("Apogee")
BY COPYING, USING OR DISTRIBUTING THIS SHAREWARE PROGRAM, YOU INDICATE YOUR AGREEMENT TO THE TERMS OF THIS vendor.doc.
=====================
KEY POINTS
=====================
[*] If you want to distribute it in a retail location (such as on a rack), or as part of a hardware or software bundle, or on CD-ROM you must get PRIOR signed written permission from Apogee. Apogee reserves its right to withhold permission.
[*] Everyone can -- and is encouraged! -- to copy, upload and generally pass around this Program without charging for it.
[*] If you want to distribute it as provided in this Vendor.doc by catalog, advertisement, BBS, on-line service, or direct mail, no written permission is needed. Apogee highly recommends, however, that distribution be made from a copy from Apogee or from one of its authorized sources, such as our home BBS (Software Creations BBS: 508-365-2359) to prevent the sale of older versions.
[*] All advertising of the Program must include "Apogee" in the description.
[*] The Program is marked "Shareware" and contains "episode #1". No right is given by this Vendor.Doc to copy, use or distribute any other version, including any version that is registered, or not marked shareware, or that contains any episode other than #1.
======================
LICENSE
======================
[1] DEFINITIONS: "Program" means Rise of the Triad and its related files, including this one. The "Trademarks" consists of "Apogee", the Apogee "comet logo", "Rise of the Triad", and "The HUNT Begins.
[2] OWNERSHIP: Except to the extent expressly licensed, Apogee owns and reserves the exclusive right to distribute the Program, and to use the Trademarks in connection with it. Its content, layout and format are the property of Apogee to the extent permitted by law.
[3] GRANT AND CONDITIONS: Apogee grants a non-exclusive license to distribute the Program on IBM compatible media under the Trademarks subject to the following conditions:
[A] CONDITIONS FOR ALL DISTRIBUTION
[1] All of the Program's files, including this one, as released by us must be included without modification. The following files must always be included to constitute a legal version for shareware distribution:
* demo1_3 dmo 08-01-95 1:30p
* demo2_3 dmo 08-01-95 1:30p
* huntbgin rtc 08-01-95 1:30p
* huntbgin rtl 08-01-95 1:30p
* huntbgin wad 08-01-95 1:30p
* modem pck 08-01-95 1:30p
* readme exe 08-01-95 1:30p
* remote1 rts 08-01-95 1:30p
* rott exe 08-01-95 1:30p
* rotthelp exe 08-01-95 1:30p
* rottipx exe 08-01-95 1:30p
* rottser exe 08-01-95 1:30p
* setup exe 08-01-95 1:30p
* sndsetup exe 08-01-95 1:30p
[2] No copyright or trademark information may be removed.
[3] You must not [a] distribute any version of the Program with unauthorized changes, such as additional or different levels, or changed characters or mazes; or [b] characterize such versions as an "add-on" or "extension" of any Apogee product; or [c] distribute any unauthorized third party utility designed to alter any Apogee game, game level, game episode or saved game.
[B] ADDITIONAL CONDITIONS IF YOU CHARGE: If your distribution involves a disk or other physical medium, you must also:
[1] Clearly market the Program as shareware, which requires (among other things) using "try before you buy" or similar words on packaging for the Programs.
[2] Include "Apogee" and the "comet" logo (we encourage use of the 4 color version) on the front cover of the package.
[3] Include the your name, address and phone number on the packaging and in any added documentation. This can be imprinted on the package or may be in the form of a label affixed to the box, carton or folder.
[4] Any description of the Program included in a re-sellers catalog, sales brochure, on special packaging or handouts, must include "An Apogee Game", "Released by Apogee" or "Published by Apogee" if the word count of the description is more than 14 words in length.
[5] Distribute copies only after the programs on newly created master diskettes have been thoroughly tested. Always use high quality media and duplication technology.
[6] Try to sell only the most current version of the Program.
[7] Although Apogee discourages the practice, you may add an installation routine if it does not interfere with the proper operation or installation of the Program.
[8] Program updates, recommended descriptions and "screenshots" will be provided upon request, and are available in the re-seller / dealer conference of Apogee's main BBS.
[C] ADDITIONAL CONDITIONS FOR BUNDLES, CD-ROMS, AND RACKS:
If you wish to distribute in a retail location (such as on a rack), or as part of a hardware or software bundle, or on CD-ROM, you must get PRIOR signed written permission from Apogee, which is in Apogee's discretion and may be subject to royalty or other conditions.
[4] TERM: Unless terminated for cause, your grants under this VENDOR.DOC terminate 30 days after you receive written notice, or such longer period as the notice may provide. Following such termination, you may distribute the Program only until the earlier of 60 days after the termination date in the notice, or distribution of the copies you have in stock. Sections [2], [5], and [6] survive termination.
[5] LIMITED WARRANTY AND LIMITATION OF REMEDIES: If Apogee provides a physically defective copy of the Program, Apogee will replace it upon submission of the defective one. Aside from this, the Program IS PROVIDED "AS-IS", AND NO WARRANTIES OF ANY KIND (INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE), EXPRESS OR IMPLIED, ARE MADE AS TO IT OR ANY MEDIUM IT MAY BE ON. OUR ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY IS SUCH REPLACEMENT, AND UNDER NO CIRCUMSTANCES WILL WE PROVIDE ANY OTHER REMEDY FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, PUNITIVE, INCIDENTAL OR OTHER DAMAGES ARISING FROM IT, INCLUDING SUCH FROM NEGLIGENCE, STRICT LIABILITY, OR BREACH OF WARRANTY OR CONTRACT, EVEN AFTER NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
[6] MISCELLANY
[A] Since we would be irreparably damaged if Section [3], [4] or [6][D] were not specifically enforced, we will be entitled without bond, other security or proof of damages, to appropriate equitable remedies with respect to breaches of such sections, in addition to such other remedies as we may have.
[B] You will hold us, our partners, contractors, employees and agents harmless from damage, loss and expense arising directly or indirectly from your acts and omissions in copying and distributing the Program, including from any installation routine that you may add.
[C] With respect to every matter arising under this, you consent to the exclusive jurisdiction and venue of the state and federal courts sitting in Dallas, Texas, and to service by certified mail, return receipt requested, or as otherwise permitted by law.
[D] You will not modify, reverse compile, disassemble, or reverse engineer the Program, or use or disclose any confidential information that it contains.
[V.07.15.94][/TEXT]
[/MESSAGE]
[/MESSAGELIST]
[FILELIST]
[FILE]
[FILENAME]1rott13.zip[/FILENAME]
[MD5]0fafd6b629eab80278fc726e31f9cf41[/MD5]
[PATH]$HOME/.rott[/PATH]
[MIRRORS]
[URL]ftp://ftp.3drealms.com/share/1rott13.zip[/URL]
[URL]http://www.dosgamesarchive.com/download/download2.php?id=14[/URL]
[/MIRRORS]
[/FILE]
[/FILELIST]

BIN
rott.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

164
rott.spec Normal file
View file

@ -0,0 +1,164 @@
Name: rott
Version: 1.0
Release: 3%{?dist}
Summary: Rise of the Triad
Group: Amusements/Games
License: GPL
URL: http://icculus.org/rott/
Source0: http://icculus.org/rott/releases/rott-1.0.tar.gz
Source1: rott-shareware.sh
Source2: rott-registered.sh
Source3: rott.autodlrc
Source4: rott-shareware.desktop
Source5: rott-registered.desktop
# Notice this is made from an edited screenshot and thus derived from the non-
# free datafiles. I believe this constitues fair-use. If anyone disagrees let
# me know and I'll remove it
Source6: rott.png
Patch0: rott-1.0-cvs-fixes.patch
Patch1: rott-1.0-compile.patch
Patch2: rott-1.0-fixes.patch
Patch3: rott-1.0-64bit.patch
Patch4: rott-1.0-winrott.patch
Patch5: rott-1.0-winrott-fixes.patch
Patch6: rott-1.0-more-fixes.patch
# Note: this gets applied during build, not during prep!
Patch99: rott-1.0-registered.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: SDL_mixer-devel desktop-file-utils
%description
This is the icculus.org Linux port of Apogee's classic 3d shooter Rise of the
Triad, which has been released under the GPL by Apogee. This version is
enhanced with the "high" resolution rendering from the winrott port.
%package shareware
Summary: Rise of the Triad shareware version
Group: Amusements/Games
Requires: hicolor-icon-theme autodownloader
%description shareware
This is the icculus.org Linux port of Apogee's classic 3d shooter Rise of the
Triad (RotT), which has been released under the GPL by Apogee. This version is
enhanced with the "high" resolution rendering from the winrott port.
This package contains the engine for the shareware version of RotT. In order to
play the shareware version, you will need the shareware datafiles. Which can
be freely downloaded from Apogee/3DRealms, but cannot be distributed as a part
of Fedora. When you start RotT for the first time it will offer to download
the datafiles for you.
%package registered
Summary: Rise of the Triad registered version
Group: Amusements/Games
Requires: hicolor-icon-theme zenity
%description registered
This is the icculus.org Linux port of Apogee's classic 3d shooter Rise of the
Triad (RotT), which has been released under the GPL by Apogee. This version is
enhanced with the "high" resolution rendering from the winrott port.
This package contains the engine for the registered version of RotT. If you own
the registered version, this allows you to play the registered version under
Linux. Place the registered RotT datafiles in a dir and start rott-registered
from this dir.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
pushd rott
make %{?_smp_mflags} EXTRACFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-pointer-sign"
mv rott rott-shareware.bin
patch -p2 < %{PATCH99}
make clean
make %{?_smp_mflags} EXTRACFLAGS="$RPM_OPT_FLAGS -Wno-unused -Wno-pointer-sign"
mv rott rott-registered.bin
popd
%install
rm -rf $RPM_BUILD_ROOT
#no make install target, DIY
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
install -m 755 rott/rott-* $RPM_BUILD_ROOT%{_bindir}
install -p -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-shareware
install -p -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}-registered
install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/%{name}
# below is the desktop file and icon stuff.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE4}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE5}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
install -p -m 644 %{SOURCE6} \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/
%clean
rm -rf $RPM_BUILD_ROOT
%post shareware
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%postun shareware
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%post registered
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%postun registered
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
%files shareware
%defattr(-,root,root,-)
%doc README gpl.txt readme.txt
%{_bindir}/rott-shareware*
%{_datadir}/%{name}
%{_datadir}/applications/fedora-%{name}-shareware.desktop
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%files registered
%defattr(-,root,root,-)
%doc README gpl.txt readme.txt
%{_bindir}/rott-registered*
%{_datadir}/%{name}
%{_datadir}/applications/fedora-%{name}-registered.desktop
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%changelog
* Fri May 11 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.0-3
- Add missing autodownloader Requires to rott-shareware
* Fri May 11 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.0-2
- Add desktop entry and userfriendly launcher script for registered package
- Add a patch fixing crashes with "long" usernames
* Fri May 11 2007 Hans de Goede <j.w.r.degoede@hhs.nl> 1.0-1
- Initial Fedora Extras package

View file

@ -0,0 +1 @@
c1c6cbecf00f2229cf2e0053334dcfc1 rott-1.0.tar.gz