summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2003-09-12 06:42:54 +0000
committerMike Frysinger <vapier@gentoo.org>2003-09-12 06:42:54 +0000
commitf4989a75a71cbe3defae2699dee8999cd8aea8cd (patch)
tree8b1a464829520a7811fe2ee759808937451b559c /games-fps/wolfgl
parentversion bump (diff)
downloadgentoo-2-f4989a75a71cbe3defae2699dee8999cd8aea8cd.tar.gz
gentoo-2-f4989a75a71cbe3defae2699dee8999cd8aea8cd.tar.bz2
gentoo-2-f4989a75a71cbe3defae2699dee8999cd8aea8cd.zip
misc patches to better the game #28466
Diffstat (limited to 'games-fps/wolfgl')
-rw-r--r--games-fps/wolfgl/ChangeLog8
-rw-r--r--games-fps/wolfgl/files/0.93-gcc.patch212
-rw-r--r--games-fps/wolfgl/files/0.93-sample-rate.patch11
-rw-r--r--games-fps/wolfgl/files/0.93-sprite.patch82
-rw-r--r--games-fps/wolfgl/files/digest-wolfgl-0.93-r13
-rw-r--r--games-fps/wolfgl/wolfgl-0.93-r1.ebuild53
6 files changed, 368 insertions, 1 deletions
diff --git a/games-fps/wolfgl/ChangeLog b/games-fps/wolfgl/ChangeLog
index cbb06e4d3f1b..c1e2965ec1ed 100644
--- a/games-fps/wolfgl/ChangeLog
+++ b/games-fps/wolfgl/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for games-fps/wolfgl
# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-fps/wolfgl/ChangeLog,v 1.2 2003/09/10 16:07:40 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-fps/wolfgl/ChangeLog,v 1.3 2003/09/12 06:42:54 vapier Exp $
+
+*wolfgl-0.93-r1 (12 Sep 2003)
+
+ 12 Sep 2003; Mike Frysinger <vapier@gentoo.org> :
+ Add a bunch of patches (gcc, sprite, sound) submitted by
+ Tony Vroon <tony@vroon.org> #28466.
*wolfgl-0.93 (14 Jul 2003)
diff --git a/games-fps/wolfgl/files/0.93-gcc.patch b/games-fps/wolfgl/files/0.93-gcc.patch
new file mode 100644
index 000000000000..3789aa2e255d
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-gcc.patch
@@ -0,0 +1,212 @@
+diff -abur common/console.c common/console.c
+--- common/console.c 2000-09-27 16:19:44.000000000 +0200
++++ common/console.c 2003-09-11 19:59:46.037562040 +0200
+@@ -3,6 +3,14 @@
+ #include "id_us.h"
+ #include "console.h"
+
++#ifdef _LINUX
++#include <string.h>
++#endif
++
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ static char con_lines[32][45]; // buffer
+ static int con_active; // console is visible
+ static int con_current; // current line
+Only in common: console.c.orig
+diff -abur common/id_in.h common/id_in.h
+--- common/id_in.h 2000-09-27 16:04:26.000000000 +0200
++++ common/id_in.h 2003-09-11 19:32:14.368653880 +0200
+@@ -178,6 +178,7 @@
+
+ void IN_Startup();
+ void IN_Shutdown();
++void IN_KeyEvent(unsigned char key);
+ void IN_Default(wbool gotit, ControlType in);
+ void IN_ClearKeysDown();
+ void IN_ReadControl(int player, ControlInfo *info);
+Only in common: id_in.h.rej
+diff -abur common/id_vh.c common/id_vh.c
+--- common/id_vh.c 2000-09-26 17:39:36.000000000 +0200
++++ common/id_vh.c 2003-09-11 19:24:57.183116184 +0200
+@@ -230,3 +230,4 @@
+
+ }
+ */
+\ No newline at end of file
++
+Only in common: id_vh.c.rej
+diff -abur common/opengl.c common/opengl.c
+--- common/opengl.c 2000-09-27 16:04:26.000000000 +0200
++++ common/opengl.c 2003-09-11 19:22:35.622636648 +0200
+@@ -1,5 +1,10 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ #include "system.h"
+ #include "opengl.h"
+ #include "wl_def.h"
+diff -abur common/wl_act2.c common/wl_act2.c
+--- common/wl_act2.c 2000-09-27 16:04:26.000000000 +0200
++++ common/wl_act2.c 2003-09-11 19:19:45.511497472 +0200
+@@ -1,5 +1,9 @@
+ // WL_ACT2.C
+
++#ifdef _LINUX
++#include <stdlib.h>
++#endif
++
+ #include "wl_def.h"
+
+ //=============================================================================
+diff -abur common/wl_agent.c common/wl_agent.c
+--- common/wl_agent.c 2003-09-11 20:04:40.738760648 +0200
++++ common/wl_agent.c 2003-09-11 19:57:06.860760592 +0200
+@@ -3,6 +3,10 @@
+ #include <string.h>
+ #include "wl_def.h"
+
++#ifdef _LINUX
++#include <stdlib.h>
++#endif
++
+ //=============================================================================
+ // LOCAL CONSTANTS
+ //=============================================================================
+diff -abur common/wl_draw.c common/wl_draw.c
+--- common/wl_draw.c 2003-09-11 20:04:40.739760496 +0200
++++ common/wl_draw.c 2003-09-11 19:20:33.512200256 +0200
+@@ -2,6 +2,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ #include "system.h"
+ #include "opengl.h"
+ #include "wl_def.h"
+diff -abur common/wl_menu.c common/wl_menu.c
+--- common/wl_menu.c 2000-09-27 16:04:27.000000000 +0200
++++ common/wl_menu.c 2003-09-11 20:07:38.892677136 +0200
+@@ -5,6 +5,10 @@
+ //
+ ////////////////////////////////////////////////////////////////////
+
++#ifdef _LINUX
++#include "../linux/input.h"
++#endif
++
+ #include <string.h>
+ #include "opengl.h"
+ #include "wl_def.h"
+diff -abur common/wl_menu.h common/wl_menu.h
+--- common/wl_menu.h 2000-09-26 17:38:31.000000000 +0200
++++ common/wl_menu.h 2003-09-11 18:31:41.593919584 +0200
+@@ -233,3 +233,4 @@
+ void NonShareware();
+ /*int GetYorN(int x,int y,int pic);
+ */
+\ No newline at end of file
++
+diff -abur common/wl_play.c common/wl_play.c
+--- common/wl_play.c 2000-09-27 16:04:27.000000000 +0200
++++ common/wl_play.c 2003-09-11 19:40:31.293109880 +0200
+@@ -1,6 +1,11 @@
+ // WL_PLAY.C
+
+ #include <memory.h>
++
++#ifdef _LINUX
++#include "../linux/input.h"
++#endif
++
+ #include "wl_def.h"
+ #include "system.h"
+
+diff -abur common/wl_state.c common/wl_state.c
+--- common/wl_state.c 2000-09-27 16:04:27.000000000 +0200
++++ common/wl_state.c 2003-09-11 19:23:26.895841936 +0200
+@@ -2,6 +2,10 @@
+
+ #include "wl_def.h"
+
++#ifdef _LINUX
++#include <stdlib.h>
++#endif
++
+ //=============================================================================
+ // GLOBAL VARIABLES
+ //=============================================================================
+diff -abur common/wl_text.c common/wl_text.c
+--- common/wl_text.c 2000-09-26 17:40:23.000000000 +0200
++++ common/wl_text.c 2003-09-11 19:19:00.110399488 +0200
+@@ -4,6 +4,10 @@
+ #include "wl_def.h"
+ #include "system.h"
+
++#ifdef _LINUX
++#include <string.h>
++#endif
++
+ #ifndef SPEAR
+
+ void FreeMusic(); // WL_MENU.C
+diff -abur linux/sound.c linux/sound.c
+--- linux/sound.c 2000-09-26 17:57:48.000000000 +0200
++++ linux/sound.c 2003-09-11 19:55:16.702507192 +0200
+@@ -9,6 +9,8 @@
+ #include <stdlib.h>
+
+ #include <sys/time.h>
++#include <string.h>
++#include <errno.h>
+
+ #include <fcntl.h>
+ #include <unistd.h>
+diff -abur linux/sound.h linux/sound.h
+--- linux/sound.h 2000-09-26 17:57:48.000000000 +0200
++++ linux/sound.h 2003-09-11 19:44:03.663824624 +0200
+@@ -1,5 +1,8 @@
+ void S_LoadSound(int id, void* data, long length);
+ void S_PlaySound(int id, int pan);
++void S_UpdateSound();
++void S_InitSound();
++void S_ShutDownSound();
+
+ extern int DigitalDevice;
+
+diff -abur linux/system.c linux/system.c
+--- linux/system.c 2000-09-26 17:57:48.000000000 +0200
++++ linux/system.c 2003-09-11 19:42:14.955350824 +0200
+@@ -1,9 +1,12 @@
+ #include <stdio.h>
++#include <string.h>
++#include <unistd.h>
+ #include <sys/time.h>
+ #include <X11/keysym.h>
+ #include <GL/gl.h>
+ #include <GL/glx.h>
+ #include "wl_def.h"
++#include "sound.h"
+
+ int screen_width, screen_height;
+ Display *dpy;
+@@ -117,7 +120,7 @@
+ visinfo = glXChooseVisual( dpy, scrnum, attrib );
+ if (!visinfo) {
+ printf("Error: couldn't get an RGB, Double-buffered visual\n");
+- exit(1);
++ _exit(1);
+ }
+
+ /* window attributes */
diff --git a/games-fps/wolfgl/files/0.93-sample-rate.patch b/games-fps/wolfgl/files/0.93-sample-rate.patch
new file mode 100644
index 000000000000..4beb8886355d
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-sample-rate.patch
@@ -0,0 +1,11 @@
+--- linux/sound.c.orig 2003-09-11 20:28:32.032170976 +0200
++++ linux/sound.c 2003-09-11 20:28:45.111182664 +0200
+@@ -64,7 +64,7 @@
+ #define BUFMUL 4
+ #define MIXBUFFERSIZE (SAMPLECOUNT*BUFMUL)
+
+-#define SAMPLERATE 11025 // Hz
++#define SAMPLERATE 8000 // Hz
+ #define SAMPLESIZE 2 // 16bit
+
+ // The actual output device.
diff --git a/games-fps/wolfgl/files/0.93-sprite.patch b/games-fps/wolfgl/files/0.93-sprite.patch
new file mode 100644
index 000000000000..0ba91fc76a24
--- /dev/null
+++ b/games-fps/wolfgl/files/0.93-sprite.patch
@@ -0,0 +1,82 @@
+--- common/wl_agent.c.orig 2003-09-11 20:39:02.674298800 +0200
++++ common/wl_agent.c 2003-09-11 20:42:17.229721880 +0200
+@@ -919,32 +919,31 @@
+ viewdist = 0x7fffffffl;
+ closest = NULL;
+
+-// while (1)
++ while (1)
+ {
+ oldclosest = closest;
+
+ for (check=ob->next ; check ; check=check->next)
+ if ((check->flags & FL_SHOOTABLE)
+- //&&
++ &&
+ // (check->flags & FL_VISABLE) &&
+-// (abs(check->viewx - centerx) < shootdelta)
++ (abs(check->viewx - centerx) < shootdelta)
+ )
+-// {
++ {
+ if (CheckLine(check))
+-// if (check->transx < viewdist)
++ if (check->transx < viewdist)
+ {
+-// viewdist = check->transx;
++ viewdist = check->transx;
+ closest = check;
+- break;
+ }
+-// }
++ }
+
+ if (closest == oldclosest)
+ return; // no more targets, all missed
+
+ // trace a line from player to enemey
+-// if (CheckLine(closest))
+-// break;
++ if (CheckLine(closest))
++ break;
+ }
+
+ // hit something
+--- common/wl_draw.c.orig 2003-09-11 20:43:26.473195272 +0200
++++ common/wl_draw.c 2003-09-11 20:46:57.859059736 +0200
+@@ -877,7 +877,7 @@
+ tilespot = &tilemap[0][0]+spotloc;
+
+ // could be in any of the nine surrounding tiles
+- if ((*visspot) ||
++ if (1 || (*visspot) ||
+ (*(visspot-1) && !*(tilespot-1)) ||
+ (*(visspot+1) && !*(tilespot+1)) ||
+ (*(visspot-65) && !*(tilespot-65)) ||
+@@ -980,6 +980,8 @@
+
+ for (obj = player->next; obj; obj = obj->next)
+ {
++ int sprite;
++
+ if (!areabyplayer[obj->areanumber])
+ continue;
+ if (!gamestates[obj->state].shapenum)
+@@ -989,10 +991,14 @@
+ glTranslated((float)obj->x/(1<<16), (float)obj->y/(1<<16), 0);
+ glRotated(-player->angle, 0,0,1);
+
+- if (texture_index[PMSpriteStart+gamestates[obj->state].shapenum] == 0)
+- CreateSprite(PMSpriteStart+gamestates[obj->state].shapenum);
++ sprite = gamestates[obj->state].shapenum;
++ if (gamestates[obj->state].rotate)
++ sprite += CalcRotate(obj);
++
++ if (texture_index[PMSpriteStart+sprite] == 0)
++ CreateSprite(PMSpriteStart+sprite);
+ else
+- glBindTexture(GL_TEXTURE_2D, texture_index[PMSpriteStart+gamestates[obj->state].shapenum]);
++ glBindTexture(GL_TEXTURE_2D, texture_index[PMSpriteStart+sprite]);
+
+ glBegin(GL_QUADS);
+ glTexCoord2f(0,0);
diff --git a/games-fps/wolfgl/files/digest-wolfgl-0.93-r1 b/games-fps/wolfgl/files/digest-wolfgl-0.93-r1
new file mode 100644
index 000000000000..fe0fcbea6191
--- /dev/null
+++ b/games-fps/wolfgl/files/digest-wolfgl-0.93-r1
@@ -0,0 +1,3 @@
+MD5 58259bb463c3f8dd2786685b90b8ed0f wolfgl-0.93.tbz2 146132
+MD5 bc4564940cae816aec0f4af0b8436baf wolfdata.zip 564771
+MD5 0aa1f89a8f5ddef700613b0f428fd8b0 sdmdata.zip 557147
diff --git a/games-fps/wolfgl/wolfgl-0.93-r1.ebuild b/games-fps/wolfgl/wolfgl-0.93-r1.ebuild
new file mode 100644
index 000000000000..bf50288de35c
--- /dev/null
+++ b/games-fps/wolfgl/wolfgl-0.93-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-fps/wolfgl/wolfgl-0.93-r1.ebuild,v 1.1 2003/09/12 06:42:54 vapier Exp $
+
+#ECVS_SERVER="cvs.sourceforge.net:/cvsroot/wolfgl"
+#ECVS_MODULE="wolfgl"
+#inherit cvs
+inherit games
+
+DESCRIPTION="Wolfenstein and Spear of Destiny port using OpenGL"
+HOMEPAGE="http://wolfgl.sourceforge.net/"
+SRC_URI="mirror://gentoo/${P}.tbz2
+ mirror://sourceforge/wolfgl/wolfdata.zip
+ mirror://sourceforge/wolfgl/sdmdata.zip"
+# mirror://sourceforge/wolfgl/wolfglx-wl6-${PV}.zip
+# mirror://sourceforge/wolfgl/wolfglx-sod-${PV}.zip
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+
+DEPEND="virtual/opengl
+ virtual/x11"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${PV}-gcc.patch
+ epatch ${FILESDIR}/${PV}-sample-rate.patch
+ epatch ${FILESDIR}/${PV}-sprite.patch
+}
+
+src_compile() {
+ make CFLAGS="${CFLAGS}" DATADIR=${GAMES_DATADIR}/${PN} || die
+}
+
+src_install() {
+ newgamesbin linux/SDM/wolfgl wolfgl-sdm
+ newgamesbin linux/SOD/wolfgl wolfgl-sod
+ newgamesbin linux/WL1/wolfgl wolfgl-wl1
+ newgamesbin linux/WL6/wolfgl wolfgl-wl6
+ insinto ${GAMES_DATADIR}/${PN}
+ doins ${WORKDIR}/*.{sdm,wl1}
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ einfo "This installed the shareware data files for"
+ einfo "Wolfenstein 3D and Spear Of Destiny."
+ einfo "If you wish to play the full versions just"
+ einfo "copy the data files to ${GAMES_DATADIR}/${PN}/"
+}