Commit graph

257 commits

Author SHA1 Message Date
Yamagi Burmeister
47520a0020 Don't allow 'give health 0' or even less.
Giving the player < -1 health and increasing it to something above 0
without closing the console breaks the player state.
2019-04-27 19:19:03 +02:00
Yamagi Burmeister
eaaf6c43d4 Fix a missmerge, save_ver is supported since version 4 and not 3. 2019-02-05 09:05:18 +01:00
Yamagi Burmeister
063776d504 Save gclient_t::resp.coop_respawn.*weapon to fix coop savegames
This fixed bug #357 - the problem was that
client->resp.coop_respawn.weapon and .lastweapon (pointers to gitem)
were not properly initialized when loading a savegame.
Now those fields are saved (=> we had to bump the savegame version)
and for old savegames client->resp.coop_rewspawn is initialized
from client->pers, as a hack for backwards-compatibility.
2019-02-04 10:50:23 +01:00
Yamagi Burmeister
1f82ad2154 Fix parasite, return true instead of false when checking attacks.
This was one of those stupid brainos where you know it better and still
do it wrong... In standard C the return value of a non-void function is
undefined if the closing } is reached. MSVC++5 and 6 returned 1 for
functions with return type int. Since qboolean == int parasite_blocked()
and parasite_checkattack() should return true and not false.

BUT: The true in parasite_blocked() was correct, in the original MSVC++6
build parasites always thought that they're blocked and tried to free
themself.

In parasite_checkattack() the false was wrong, so change it to true. And
yes, the function is crap. The better part of it doesn't make sense and
just burns CPU cycles for nothing. But it's working now and everyone is
happy, so let's leave it alone.

This fixes yquake2 issue #359.
2019-01-30 18:32:17 +01:00
Yamagi Burmeister
433a1423d9 Import Q_strlcpy() and replace several dangerous strncpy() with it. 2018-10-25 19:26:17 +02:00
Yamagi Burmeister
fbf3841eaa Call strcasecmp() and not Quake IIs home made version.
The home made version is crap and not const correct.
2018-10-25 19:22:27 +02:00
Yamagi Burmeister
ffdd699ff4 Add variable declaration missed in the last commit. 2018-10-13 09:08:31 +02:00
Yamagi Burmeister
ed4e94510d Split the gibs per frame limit between gibs and debris.
The gibs and debris per frame must be limited to prevent server mem
map overflows. Until now debris and gibs were handled the same, the
debris spawned by rockets and grenates could prevent the actual gibs
of the killed monster from spawning.

Before this change 20 entities were spawned at max. Now up tp 40
enties can be spawned. This needs some testings.
2018-10-07 12:03:23 +02:00
Yamagi Burmeister
c620cea34b Don't accelerate upper entities, let them be pushed by the lower ent.
A long time ago in 2b4f223 I introduced a small logic change to the
handling of stacked entities. If two entities were standing on each
other the original code set the movement speed of the upper entity
to 0. It would be pushed or dragged by the lower entity. I changed
that in way that the upper entity got the same speed as the lower
entity. With that change it wasn't pushed or dragged but moving on
it's own. I hoped to fix some of the 'elevator hurts player or monster'
bugs.

That hope was wrong, at a later time we quirked all elevators that hurt
the player. Additionally the change lead to physics bugs if entities are
standing on high speed elevators (more than 200 units per seconds). So
revert it
2018-10-07 11:58:46 +02:00
Daniel Gibson
82d8b31d02 Switch to Enforcers bloody skin when he's killed
When killing the enforcer with one shot (instead of damaging him first
without killing, which will switch to the bloody skin), the skin wasn't
changed. Now it is.
2018-10-03 17:45:47 +02:00
Yamagi Burmeister
0cfb74223e Replace strcasecmp() by Q_strcasecmp() for better MSVC compaibility.
This was suggest by @ajbonner in xatrix issue #11.
2018-03-23 15:52:08 +01:00
Yamagi Burmeister
02942e9544 Fix a potential crash in ai_run_melee() and ai_run_missile().
This was found and fixed by Maraakate.
2017-09-07 18:11:10 +02:00
Yamagi Burmeister
1776ec3d31 Fix monsters getting stuck when resurrected by a medic.
While in baseq2 monsters had the abillity to duck it wasn't used
often. The same goes for medics, there are only a few throughout the
whole single player campaign. In rogue things are differed. Due to
some AI changes like support for dodging monsters duck more often and
there a a lot of medics and even it's improved version, the medic
commander.

When a monster dies it's mmove_t is set to the death animation and
it's AI flags are left as they are. When a monster is resurrected by
a medic, the AI flags are reset to 0 and it's spawn function is
called again. Normally this is totally save. But when there're two
medics and both try to resurrect there monster there's a small window
for the monster being respawned without the AI flags reset.

In this case the mmove_t is set to the monsters standard animation,
while the AI flags may be still contain AI_DUCK. When AI_DUCK is set,
but the current animation is not one of the duck animations, the
monster may get stuck. There's even a comment in the code for that
case. ;) Solve this problem by resetting AI_DUCK as soon as the
monster dies.

With this change applied I was unable to reproduce any problem in
regard to medics, medic commanders, resurrection and spwaning of new
monsters.

This closes issue #6.
2017-01-20 16:32:00 +01:00
Yamagi Burmeister
7720887274 Make sure that a monsters enemy is still alive when deciding to attack.
When the monster was already killed by another monster or a coop player
some references may be NULL and the game was crashed. This was observed
by maraakte, who reported it in issue #164. I've just merged his fix
from q2dos.
2016-12-30 10:23:32 +01:00
Yamagi Burmeister
ff4c00e5e6 Reorder conditionals to please unoptimizing compilers
This was requested by Maraakate. This is likely a noop, since even
early compilers from th 1970th supported simple optimiziations like
this.
2016-12-20 15:18:32 +01:00
Yamagi Burmeister
1c70fd8840 Change edict_s->show_hostile from qboolean to int and add casts
This variable is used as an integer. Defining it as a qbooblean is
just wrong. Add some explicit float -> int casts while at it.
2016-12-18 09:23:04 +01:00
Yamagi Burmeister
88617fac09 Rename teleport_time to last_sound time
teleport_time has nothing to do with teleports, it's just the time
since the last player sound. Rename it accordingly. This was suggest
by maraakate in yquake2 issue #162.
2016-12-18 09:22:02 +01:00
Yamagi Burmeister
a389a36844 Fix monsters ignoring the player under certain circumstances
In ai_checkattack() is a check against AI_SOUND_TARGET. If the player
made a noice and the the monster noticed this noise it's true. If
that noice was more than 5 seconds ago the monster forgets that event
and continues with it's search for the player. Otherwise it informs
the surrounding monsters that something interesting has happened and
then returns false. So the problem is: Even if the monster heard the
player and can see him, it aborts at this point.

Fix this by adding an additional visibility check. Do the sound
checking only if the player is not visible, otherwise just continue.

This was reported by shoober420 and debbuged by maraakate. This fix
was DanielGibons idea. This commit fixes yquake2 issue #162.
2016-12-18 09:21:17 +01:00
Yamagi Burmeister
eba36895bb Remove another unneeded sanity checks.
This fixes a warning generated by Clang 3.9.
2016-12-17 10:52:14 +01:00
Yamagi Burmeister
d294e86a45 Remove an unnecessary check.
This was found by Clangs code analyzer.
2016-12-17 10:49:52 +01:00
Yamagi Burmeister
b58a3ae131 Make sure that strings are null terminated.
This is a noop, it just adds some safety. This was reported by maraakate
in yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
fbf505834f Use matching strtof(9 instead of atof().
This saves one cast. This was reported by maraakate in yquake2 issue
160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
b16293c01b Take into account that the player origin may not be in his center
This is another corner case that looks more correct in baseq2. This was
reported by maraakate in yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
89d48af99d In M_CheckGround() use the trace velocity.
I have no clue what this is about. But when in doupt baseq2 is right...
:) This was reported by maraakate in yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
f893d5f8d0 Only start monsters with max_health == health if max_health isn't set.
I dont' know if any monsters start with max_health != health, but this
looks more correct. This was reported by maraakate in yquake2 issue
160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
f4002456b4 In ED_ParseField() replace atof() with strtof().
On most implementations atof() is just a wrapper around strtod().
Calling strtof() saves one cast. For the sake of cinsistency change
atoi() to (int)strtol(), it's a noop. Reported by maraakate in yquake2
issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
c61bff46d7 Don't leak unknown entities.
I don't think that this has a visible effect, because there shouldn't be
any unknown entities in maps creates with the official entities.def.
This was reported by maraakate in quake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
63c71b4e4f Remove sanity check to *data in ED_ParseEdict().
There's another check down below. This was reported by maraakate in
yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
75ea8fe63c Send the player entity to the server when in intermission.
I don't think that this has any visible effect, but it's saver than
assume that in multiplayer all clients enter the intermission at the
same time. This was reported by maraakate in yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
2820da8267 Fix sanity check of door_secret_move6() and door_secret_die().
After this change they match the sanity checks in baseq2 and xatrix.
This was reported by maraakate in yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
78de36c25a Fix sanity checks of train_blocked() and train_use()
With the changes the sanity checks are the same as in baseq2 and
xatrix. Reported by maraakate in yquake2 issue #160.
2016-12-17 10:44:56 +01:00
Yamagi Burmeister
d5fbc8c0f1 In Move_Calc() and AngleMove_Calc() add a sanity check to *func.
This is the same as in baseq2 and xatrix. This was reported by maraakate
in yquake2 issue #160.
2016-12-17 10:44:21 +01:00
Yamagi Burmeister
23cbffbd39 Set self->targetname to NULL when the head is thrown off
This should be a noop, since heads are only removed when an entity is
dying or dead. Noticed by maraakate and part of yquake2 issue #160.
2016-12-17 10:43:46 +01:00
Daniel Gibson
6f45072c26 Make debris SOLID_NOT
in baseq2 this caused bug #154
2016-10-24 17:28:32 +02:00
Daniel Gibson
08404e0949 Apply fix from 2009 for ai_run() and ai_checkattack(), but w/o old bug
To fix some bug, in baseq2 and xatrix
if(coop->value)
{
	if(FindTargeget(self))
	{
		return;
	}
}
was moved from ai_run() to ai_checkattack().
Do the same here, but without the bug from yquake2/#151
2016-10-23 18:27:31 +02:00
Yamagi Burmeister
6467137619 Switch from an arch whitelist to an "all archs are supported" approach.
The old whitelist was a leftover from the early days of YQ2. It should
run on most / all architectures, as long SDL supports them. As suggested
by smcv in issue #138 generate the OSTYPE and ARCH defines by the build
system instead of hardcoding it.

Savegame compatibility is provided by bumping the savegame version. Old
savegames are compared against the old OSTYPE and ARCH defined, new ones
against the new defines. This compatibility code should be removed
somewhere in the distant future.
2016-06-11 09:47:05 +02:00
Yamagi Burmeister
7e7ed6bf94 Make gibs and debris SOLID_BBOX so they move on entities. 2016-04-29 17:44:52 +02:00
Yamagi Burmeister
89cb707444 Reset gibsthisframe and lastgibframe at map change
Without this change the conditionals at g_misc.c:199 and 381 wouldn't
trigger until level.framenum reach it's previous value, resulting in
much to few debris or gibs being thrown. This fixes #104.

Many thanks to maraakate for the analysis and the idea how to fix it.
2015-10-24 13:19:12 +02:00
Yamagi Burmeister
ac864530cd fix a divinely dumbassed mistake of global 'i' and 'corners' variables
Info_RemoveKey: use memmove instead of strcpy for overlapping memory
areas.

Submitted by: Ozkan Sezer
2015-08-31 18:39:25 +02:00
Yamagi Burmeister
a32778260f SV_Physics_Pusher: fix the 'memory corrupted' check
Submitted by: Ozkan Sezer
2015-08-31 18:36:54 +02:00
Yamagi Burmeister
be3472d045 fix several printf format string errors in games' code
Submitted by: Ozkan Sezer
2015-08-31 18:36:18 +02:00
Yamagi Burmeister
40183c82ae fix misplaced braces in the last else case
Submitted by: Ozkan Sezer
2015-08-31 18:33:50 +02:00
Yamagi Burmeister
a2c0f5cb4f Remove unused prototype of GetGameAPI()
Submitted by: Ozkan Sezer
2015-08-31 18:32:43 +02:00
Daniel Gibson
7929e845d3 Fix bug with high velocities in vents in 32bit builds, fix MingW build
See https://github.com/yquake2/yquake2/issues/71
and https://github.com/yquake2/xatrix/issues/4

In ClientThink(), the float value ent->velocity[i]*8 is saved into
a short and if the value is too big for a short, in 32bit gcc builds
the short is set to SHRT_MIN, resulting in the player being pressed
down instead of up.
Now we put the result in a 32bit int first (which should be big enough)
and assign the int to the short. This still overflows, but with -fwrapv
at least in a defined way (most probably the same way the original
binaries did).

The Makefile now sets $CC to gcc for MingW builds, this should fix
https://github.com/yquake2/xatrix/issues/3

And while I was at it, when the game lib is loaded, it prints the date
it was built, this is especially interesting for our Win32 binaries.
2015-05-17 18:40:49 +02:00
Daniel Gibson
bcbae17d9c Fix Coop Bug in RHANGAR1 when friendly fire was off
In RHANGAR1 the turret didn't blow up the ceiling when friendly fire
was off, because in ClientTeam() both entities were set to "" (no team),
but OnSameTeam() just did a strcmp() instead of checking this special
case (no team).
We check this now and thus it works. Hooray.

The savegame table entry for this function was invalid, but it doesn't
need to be saved anyway, so I just deleted it from the table.
2014-11-30 17:50:34 +01:00
Yamagi Burmeister
6c854253de Remove unnecessary conditionals. They're always true. 2014-08-03 11:40:36 +02:00
Yamagi Burmeister
1859c42484 Use correct return type 2014-08-03 11:34:06 +02:00
Yamagi Burmeister
d8eb7037a4 Use correct flavor of abs() 2014-08-03 11:29:47 +02:00
Yamagi Burmeister
8dd8520ddc Rewrite COM_FileExtention()
COM_FileExtension() was parsing strings from beginning to end, bailing
out as soon as '.' was found and treating everything thereafter as the
file extension. That behavior caused problem with relatives pathes
like models/monsters/tank/../ctank/skin.pcx. The new implementation uses
strrchr() to determine the last '.'.
2014-07-30 21:44:21 +02:00
Yamagi Burmeister
bac51c8d95 Whitespace cleanup 2014-02-22 13:20:22 +01:00
Yamagi Burmeister
926c38ac1b Fix help computer and inventory updates when already opened
These changes ware originally committed by svdijk into baseq2
as reveison 6f6c9a1 to 20110fa.
2014-02-22 13:14:02 +01:00
Yamagi Burmeister
f4058dc8e9 Remove to unsued variables not found by Clang 2014-02-13 08:10:06 +01:00
Yamagi Burmeister
e53422065e Add functions of Deadalus and Medic Commander
This brings the necessary changes to the savegame tables for being able
to save levels with an Deadalus or Medic Commander. Since this breaks
savegame compatiblity, bump the savegame version. *sigh*
2014-02-11 19:07:27 +01:00
Yamagi Burmeister
069ded5e88 Bring back the Medic Commander, lost during early cleanup 2014-02-11 19:07:07 +01:00
Yamagi Burmeister
2bbb79e56b Bring back the Deadalus, lost during early cleanup 2014-02-11 19:06:23 +01:00
Yamagi Burmeister
5fe56d8bac Fix manual loading of maps in coop mode
This change ports my magic "find the right coop spawnpoint if target is
unset"-heuristic from baseq2 to rogue. This code was originally written
by me and is licensed to the GPL and the Quake II SDK license. With this
change all maps can by loaded by console in coop mode without spawnpoint
problems.
2014-02-06 19:23:06 +01:00
Yamagi Burmeister
f69e6aa98a Cleanup window (both stages) and add sanity checks 2014-02-06 18:49:22 +01:00
Yamagi Burmeister
eb4dc2b586 Cleanup turret and add sanity checks 2014-02-06 18:46:12 +01:00
Yamagi Burmeister
342c157e15 Cleanup tank and add sanity checks 2014-02-06 18:45:56 +01:00
Yamagi Burmeister
e77291f8c7 Cleanup supertank and add sanity checks 2014-02-06 18:42:23 +01:00
Yamagi Burmeister
cb95ec45a0 Cleanup stalker and add sanity checks 2014-02-06 18:42:06 +01:00
Yamagi Burmeister
f10b7137ff Cleanup soldier and add sanity checks 2014-02-06 18:41:49 +01:00
Yamagi Burmeister
af65bf67e0 Cleanup parasite and add sanity checks 2014-02-05 19:46:50 +01:00
Yamagi Burmeister
8bf6b098b2 Cleanup mutant and add sanity checks 2014-02-05 19:46:32 +01:00
Yamagi Burmeister
ea8149e344 Cleanup player animations 2014-02-05 19:46:18 +01:00
Yamagi Burmeister
93b666e830 Cleanup move.c and add sanity checks 2014-02-05 19:45:59 +01:00
Yamagi Burmeister
817cb17c10 Cleanup medic and add sanity checks 2014-02-05 19:45:37 +01:00
Yamagi Burmeister
f13744b79e Cleanup insane and add sanity checks 2014-02-05 19:43:50 +01:00
Yamagi Burmeister
b123f6870d Cleanup infantry and add sanity checks 2014-02-05 19:43:26 +01:00
Yamagi Burmeister
cc4c996cd5 Cleanup hover and add sanity checks 2014-02-04 17:32:13 +01:00
Yamagi Burmeister
c9f4d792f9 Cleanup gunner and add sanity checks 2014-02-04 17:31:41 +01:00
Yamagi Burmeister
a3eb6b72aa Cleanup gladiator and add sanity checks 2014-02-04 17:31:19 +01:00
Yamagi Burmeister
08e453217d Cleanup flyer and add sanity checks 2014-02-04 17:29:42 +01:00
Yamagi Burmeister
73899ec20c Cleanup floater and add sanity checks 2014-02-04 17:29:21 +01:00
Yamagi Burmeister
e2edf54062 Cleanup flipper and add sanity checks 2014-02-04 17:29:01 +01:00
Yamagi Burmeister
d3710d28e1 Cleanup chick and add sanity checks 2014-02-03 17:51:47 +01:00
Yamagi Burmeister
9e61cdfc45 Cleanup carrier and add sanity checks 2014-02-03 17:51:27 +01:00
Yamagi Burmeister
21948786d0 Cleanup brain and add sanity checks 2014-02-03 17:50:12 +01:00
Yamagi Burmeister
a12497536f Cleanup boss3 and add sanity checks 2014-02-03 17:49:44 +01:00
Yamagi Burmeister
134d6008c1 Cleanupo boss2 and add sanity checks 2014-02-03 17:48:44 +01:00
Yamagi Burmeister
2c05b79e46 Cleanup berserker and add sanity checks 2014-02-03 17:48:26 +01:00
Yamagi Burmeister
d97357f177 Remove actor
The actor was a special "monster" used für simulating NPC. It was never
fully implemented and therefor disfunctional. Thus it was never used in
any map. Remove it like done in baseq2 and xatrix.
2014-02-02 18:40:34 +01:00
Yamagi Burmeister
83e9c55ab5 Cleanup local.h 2014-02-02 18:17:27 +01:00
Yamagi Burmeister
777e939e8c Cleanup game.h 2014-02-02 18:14:54 +01:00
Yamagi Burmeister
daefddcf6b Add file headers
With this commit the game logic is cleaned up. Coop spawnpoint cleanup
is still missing, it'll be done at a later time. While not completely
finshed, rogue should alread run much more stable than the unmodified
code. Please note, that this is still untested! Headers are next,
monsters will be done after that.
2014-01-30 18:33:36 +01:00
Yamagi Burmeister
3f70140b56 Cleanup tag.c and add sanity checks 2014-01-30 18:20:59 +01:00
Yamagi Burmeister
19ae368fef Cleanup ball.c and add sanity checks 2014-01-30 18:20:59 +01:00
Yamagi Burmeister
6bb515a5e3 Cleanup weapon.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
676f6c5f25 Cleanup view.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
91393ab581 Cleanup trail.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
174a7b42bc Cleanup hud.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
d8c6aae783 Cleanup client.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
79eb5c8c09 Cleanup g_weapon.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
dd6503a780 Cleanup g_utils.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
2f89dd8382 Cleanup g_turret.c and add sanity checks 2014-01-30 18:20:53 +01:00
Yamagi Burmeister
695d83441e Cleanup g_trigger.c and add sanity checks 2014-01-30 18:20:52 +01:00
Yamagi Burmeister
811e038971 Cleanup g_target.c and add sanity checks 2014-01-30 18:20:52 +01:00
Yamagi Burmeister
3be19fed3a Cleanup g_svcmds.c and add sanity checks 2014-01-30 18:20:52 +01:00
Yamagi Burmeister
a81e7e6bf7 Cleanup g_sphere.c and add sanity checks 2014-01-30 18:20:52 +01:00
Yamagi Burmeister
ef791c82c1 Cleanup src/g_spawn.c and add sanity checks 2014-01-30 18:20:52 +01:00
Yamagi Burmeister
b417093ec8 Cleanup g_phys.c and add sanity checks 2014-01-30 18:20:52 +01:00
Yamagi Burmeister
027fccbfe4 Cleanup gnewweap.c and add sanity checks 2014-01-30 18:20:44 +01:00
Yamagi Burmeister
762208bceb Cleanup g_newtrig.c and add sanity checks 2014-01-26 16:16:23 +01:00
Yamagi Burmeister
b81736eece Cleanup g_newtarg.c and add sanity checks 2014-01-26 16:12:23 +01:00
Yamagi Burmeister
4816a3ae03 Cleanup g_newfnc.c and add santiy checks 2014-01-26 16:06:06 +01:00
Yamagi Burmeister
579b6cc413 Cleanup g_newdm.c and add sanity checks. 2014-01-26 15:58:17 +01:00
Yamagi Burmeister
2d2c7e8222 Cleanup g_newai.c and add sanity checks 2014-01-26 15:53:04 +01:00
Yamagi Burmeister
d1e914778e Cleanup g_monster.c and add sanity checks 2014-01-26 11:34:15 +01:00
Yamagi Burmeister
e47f955256 Cleanup g_misc.c and add sanity checks 2014-01-26 11:13:50 +01:00
Yamagi Burmeister
be4d838f45 Cleanup g_main.c and add sanity checks 2014-01-26 10:20:06 +01:00
Yamagi Burmeister
ea9bd331ff Cleanup g_item.c and add sanity checks 2014-01-23 19:31:39 +01:00
Yamagi Burmeister
b3be15b91b Cleanup g_func.c and add sanity checks 2013-05-01 15:35:01 +02:00
Yamagi Burmeister
bacd021882 Cleanup g_combat.c and add sanity checks 2013-05-01 13:39:08 +02:00
Yamagi Burmeister
0a471ec8d8 Cleanup g_cmds.c and add sanity checks 2013-05-01 10:43:49 +02:00
Yamagi Burmeister
7dc2b023e9 Cleanup g_chase.c and add sanity checks 2013-05-01 10:28:42 +02:00
Yamagi Burmeister
8a89578a2d Cleanup g_ai.c and add sanity checks 2013-05-01 10:25:53 +02:00
Joshua Scoggins
49288378bf Added the sparc64 ARCH tag to savegame.c 2012-11-30 20:59:47 -08:00
Joshua Scoggins
b741f8adb1 Added OpenBSD and MacOS X support to savegame.c 2012-11-30 20:59:07 -08:00
Joshua Scoggins
16e11b2ae4 Added an ia64 ARCH string to savegame.c 2012-11-30 20:45:48 -08:00
Yamagi Burmeister
8dc6640a7e Initialize variable "blindfire"
Found by Clang 4.2 SVN.
2012-11-08 08:13:02 +01:00
Daniel Gibson
ee209d649c Remove bad check from door_use()
It was added in ec3ceb2696
2012-10-18 22:24:00 +02:00
Yamagi Burmeister
cb9736d97c Fix warnings, enable a clean Windows build 2012-06-30 21:08:08 +02:00
Yamagi Burmeister
2482849546 Add platform defines for windows 2012-06-27 14:54:27 +02:00
Yamagi Burmeister
e341087a80 Port randk() from baseq2 2012-06-27 14:34:56 +02:00
Yamagi Burmeister
6aeeda2a9d Fix possible division by zero 2012-06-27 14:24:26 +02:00
Yamagi Burmeister
ec3ceb2696 Remove dead code 2012-06-27 14:20:58 +02:00
Yamagi Burmeister
b4363080c7 Added a CHANGELOG 2011-12-08 11:02:36 +00:00
Yamagi Burmeister
489ab02814 Rearrange source and rework Makefile 2011-10-11 11:40:43 +00:00
Yamagi Burmeister
d1c7849ef1 Port the new savegame system from quake 2 2011-10-11 10:53:48 +00:00
Yamagi Burmeister
e4b136c168 Calculate a real bounding box for rotating entities 2011-10-11 08:02:37 +00:00
Yamagi Burmeister
4e31aed406 Fix the crash when too much debris or gib is thrown 2011-10-11 07:58:53 +00:00
Yamagi Burmeister
5acee518b5 Make static functions non-static 2011-10-11 07:48:50 +00:00
Yamagi Burmeister
ab796d18ed Initialize some variables 2011-07-02 08:35:07 +00:00
Yamagi Burmeister
08340b71b1 Behebt einen potentiellen Nullpointer beim Herausfinden, ob der Spieler
vor einem Monster steht.
2011-01-23 14:40:50 +00:00
Yamagi Burmeister
ae3ae9e72c - Prüfe ob "run" im Target-Code NULL ist
- Prüfe ob "plane" beim Anheften der Proxy-Mine NULL ist
2010-12-27 15:47:09 +00:00
Yamagi Burmeister
5af197b73c Ändere einige Details in der Ausgabe der Spiele 2010-10-27 13:33:37 +00:00
Yamagi Burmeister
f6365b98b7 Der gleiche cl_gun == 2 und fov > 91 Fix wie im Hauptspiel für CTF und
beide Addons.
2010-01-28 20:59:40 +00:00
Yamagi Burmeister
f171e29266 No-Op Änderung. Entfernt sinnlosen Code 2010-01-28 16:57:21 +00:00
Yamagi Burmeister
8f7debb1e6 So, nun explodieren auch die Teslas wieder in der Lava. Den
Prixymine-Bug haben wir sogar noch ein wenig eleganter gefixt
2010-01-05 09:39:31 +00:00
Yamagi Burmeister
57fa438154 Okay, eine andere Lösung. Bei der vorherigen explodierten die Proxys
leider nicht, wenn man sie in Lava warf
2010-01-05 09:23:28 +00:00
Yamagi Burmeister
23862f340a Dies fixt einen sehr seltenen Crash bei exzessiver Nutzung des
Proxymine-Launchers
2010-01-05 09:14:39 +00:00
Yamagi Burmeister
7416156ad3 Den Gunner repariert 2009-04-08 17:50:41 +00:00
Yamagi Burmeister
920ea02401 Der dumme Stalker klebt nun wieder an der Decke 2009-04-05 10:48:21 +00:00
Yamagi Burmeister
06e66057c3 Animationen der Infantry korrigiert 2009-04-03 11:07:39 +00:00
Yamagi Burmeister
3cf9b066c6 Überflüssige ifdef entfernt 2009-03-31 15:25:16 +00:00
Yamagi Burmeister
597a7ca7ec Baut nun fehlerfrei 2009-03-31 15:11:03 +00:00
Yamagi Burmeister
4cd96d7fb4 Mkay, nun startet er wieder 2009-03-31 13:01:57 +00:00
Yamagi Burmeister
8be94c74b6 Und weitere Änderungen 2009-03-31 12:48:29 +00:00
Yamagi Burmeister
99073edce7 Die meisten Moster 2009-03-31 12:36:47 +00:00
Yamagi Burmeister
f7e666ddaf Das behebt den Teslacrash 2009-03-31 11:17:05 +00:00