diff options
author | Mike Frysinger <vapier@gentoo.org> | 2003-09-12 06:42:54 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2003-09-12 06:42:54 +0000 |
commit | f4989a75a71cbe3defae2699dee8999cd8aea8cd (patch) | |
tree | 8b1a464829520a7811fe2ee759808937451b559c /games-fps/wolfgl | |
parent | version bump (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | games-fps/wolfgl/files/0.93-gcc.patch | 212 | ||||
-rw-r--r-- | games-fps/wolfgl/files/0.93-sample-rate.patch | 11 | ||||
-rw-r--r-- | games-fps/wolfgl/files/0.93-sprite.patch | 82 | ||||
-rw-r--r-- | games-fps/wolfgl/files/digest-wolfgl-0.93-r1 | 3 | ||||
-rw-r--r-- | games-fps/wolfgl/wolfgl-0.93-r1.ebuild | 53 |
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}/" +} |