summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/wolfgl/files/0.93-sprite.patch')
-rw-r--r--games-fps/wolfgl/files/0.93-sprite.patch82
1 files changed, 82 insertions, 0 deletions
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);