Commit Graph

67 Commits

Author SHA1 Message Date
Yamagi 40fb2366d1
Merge pull request #14 from Soldy/master
error during compiling the code #13
2020-06-02 08:47:38 +02:00
Soldy 06b54182b7 error during compiling the code #13
Signed-off-by: Soldy <4786022+Soldy@users.noreply.github.com>
2020-05-30 18:22:15 +01:00
Yamagi 6276ba483f
Merge pull request #12 from mjr4077au/Client_AimFixWithCVAR
Implement accurate-aiming CVAR in zaero game code.
2020-04-21 12:48:45 +02:00
Yamagi a047746337
Merge pull request #11 from NeonKnightOA/cppcheckfixes
Fixed many issues pointed out by cppcheck.
2020-04-21 12:48:32 +02:00
Mitchell Richters 82240af227 Implement accurate-aiming CVAR in zaero game code. 2020-04-21 08:02:29 +10:00
NeonKnightOA 3b53b244e6 Fixed: Function 'LerpAngle' argument order different: declaration 'a1, a2, frac' definition 'a2, a1, frac' 2020-02-04 12:48:33 -03:00
NeonKnightOA 3369a24f77 Fixed many issues pointed out by cppcheck.
Fixed the following issues found by cppcheck:

```
[src\g_func.c:576] (warning) Either the condition 'if(other)' is redundant or there is possible null pointer dereference: other. [nullPointerRedundantCheck]

[src\g_func.c:1500] (warning) Either the condition 'if(other)' is redundant or there is possible null pointer dereference: other. [nullPointerRedundantCheck]

[src\g_func.c:1931] (warning) Either the condition 'if(other)' is redundant or there is possible null pointer dereference: other. [nullPointerRedundantCheck]

[src\g_func.c:2623] (warning) Either the condition 'if(other)' is redundant or there is possible null pointer dereference: other. [nullPointerRedundantCheck]

[src\g_misc.c:156] (warning) Identical condition '!self', second condition is always false [identicalConditionAfterEarlyExit]

[src\g_misc.c:337] (warning) Identical condition '!self', second condition is always false [identicalConditionAfterEarlyExit]

[src\g_phys.c:1109] (warning) Either the condition '!ent' is redundant or there is possible null pointer dereference: ent. [nullPointerRedundantCheck]

[src\g_spawn.c:372] (style) Defensive programming: The variable 'i' is used as an array index before it is checked that is within limits. This can mean that the array might be accessed out of bounds. Reorder conditions such as '(a[i] && i < 10)' to '(i < 10 && a[i])'. That way the array will not be accessed if the index is out of limits. [arrayIndexThenCheck]

[src\g_spawn.c:309] (warning) Identical condition '!ent', second condition is always false [identicalConditionAfterEarlyExit]

[src\g_utils.c:30] (warning) Identical condition '!from', second condition is always false [identicalConditionAfterEarlyExit]

[src\g_utils.c:69] (warning) Identical condition '!from', second condition is always false [identicalConditionAfterEarlyExit]

[src\monster\boss\boss.c:420] (warning) Either the condition '!self' is redundant or there is possible null pointer dereference: self. [nullPointerRedundantCheck]

[src\monster\boss\boss.c:749] (warning) Either the condition '!self' is redundant or there is possible null pointer dereference: self. [nullPointerRedundantCheck]

[src\monster\boss\boss.c:1032] (warning) Either the condition '!ent' is redundant or there is possible null pointer dereference: ent. [nullPointerRedundantCheck]

[src\monster\misc\move.c:437] (style) Condition '!enemy' is always false [knownConditionTrueFalse]

[src\player\client.c:529] (style) Condition 'attacker' is always true [knownConditionTrueFalse]

[src\player\client.c:529] (style) Condition 'inflictor' is always true [knownConditionTrueFalse]

[src\player\view.c:893] (warning) Either the condition '!ent' is redundant or there is possible null pointer dereference: ent. [nullPointerRedundantCheck]

[src\shared\shared.c:1160] (warning) Opposite inner 'if' condition leads to a dead code block (outer condition is '*s' and inner condition is '!*s'). [oppositeInnerCondition]

[src\shared\shared.c:1225] (warning) Opposite inner 'if' condition leads to a dead code block (outer condition is '*s' and inner condition is '!*s'). [oppositeInnerCondition]

[src\shared\shared.c:1303] (warning) Either the condition '!value' is redundant or there is possible null pointer dereference: value. [nullPointerRedundantCheck]

[src\zaero\acannon.c:431] (warning) Either the condition '!self' is redundant or there is possible null pointer dereference: self. [nullPointerRedundantCheck]

[src\zaero\ai.c:107] (warning) Either the condition '!self' is redundant or there is possible null pointer dereference: self. [nullPointerRedundantCheck]
```

Only these two are missing, I haven't figured out what should I do:
```
[src\monster\misc\move.c:650] (style) Condition 'rand()&(7==1)' is always false [knownConditionTrueFalse]

[src\zaero\mtest.c:506] (error) Resource leak: wCfgFile [resourceLeak]
```
2020-02-04 12:27:41 -03:00
Yamagi c49cb3982d
Merge pull request #9 from NeonKnightOA/pvsfixes
Adding struct checks to files. This solves countless of issues and bugs.
2020-02-04 09:27:34 +01:00
NeonKnightOA dae4e2c537 Adding struct checks to files. This solves countless of issues and bugs. 2020-02-03 12:51:22 -03:00
Yamagi 8236760dfd
Merge pull request #8 from NeonKnightOA/skills
Easier handling of skill levels by using defines instead of numbers
2020-01-30 18:36:21 +01:00
NeonKnightOA 72c6681746 Oops... forgot the header. Sorry! 2020-01-29 14:14:27 -03:00
NeonKnightOA afc3c22b84 Easier handling of skill levels by using defines instead of numbers 2020-01-22 13:42:15 -03:00
Yamagi efc0e1b1fe
Merge pull request #5 from Pickle/master
Added cmake support
2019-05-09 18:36:44 +02:00
Yamagi Burmeister 47010478bc Fix missmerge, ReadField() may only be called once for each field. 2019-02-05 09:10:31 +01:00
Yamagi Burmeister 511db03dfc Fix clang warnings, abs() may not be used for floats. 2019-02-04 13:31:11 +01:00
Yamagi Burmeister 7bb26be80c Port compiler detection from the other addons.
This is done to keep the Makefiles more or less in sync.
2019-02-04 13:29:44 +01:00
Yamagi Burmeister 4bdd8facd5 Merge outstanding savegame changes from yquake.
- Switch from an whitelist base approach regarding platforms and systems
  to an blacklist approach. This is savegame version 2.
- Fix coop_respan struct not fully initialized after savegame load while
  running in coop mode. This is savegame version 3.

Support for savegame version 2 was added to keep the divergence between
zaero and the other addons low.
2019-02-04 13:24:13 +01:00
Scott 0126a7f93a Added cmake support 2018-12-15 16:29:25 -05:00
Daniel Gibson 4e031fe308 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:49:07 +02:00
Daniel Gibson 61b100d096 Fix Windows build 2016-02-20 20:42:20 +01:00
Daniel Gibson ac084046a8 Fix Windows detection in makefile for MinGW 2016-02-20 20:34:31 +01:00
Daniel Gibson b0f4627044 coop spawnpoint fix from other addons 2016-02-20 20:29:38 +01:00
Daniel Gibson 2bcbd86a61 A few fixes from q2dos 2016-02-20 18:20:20 +01:00
Daniel Gibson 3fabd3c09c remove (unused) q_shared.h
header/shared.h is used instead
2016-02-20 18:19:57 +01:00
Daniel Gibson 469c53e03e Reset gibsthisframe and lastgibframe at map change
ported de5849caf534c5c687bcfcd9f5951e3a62da3fd7 from yquake2 to zaero
2016-02-20 17:46:14 +01:00
Daniel Gibson 0822b94db9 Fixed some crashes during gameplay and loading; broke savegame compat
I added more missing fields to savegame/tables/fields.h and reordered
everything to make missing fields easier to find.
This broke savegame compatibility, and that might happen again.
I hope I'll remember to bump the savegame version before merging this
branch to master.

I also got segfaults (e.g. when a door was blocked by a corpse) in
G_UseTargets() because activator was NULL.

And in g_cmds.c there was a typo in OnSameTeam() - from the relatively
recent fix. No idea why, it doesn't exist in the other addons..
2015-06-29 18:11:12 +02:00
Daniel Gibson 0e4e1b7285 Fix crashes when loading savegame
savegame/tables/fields.h was missing some fields with FFL_NOSPAWN
and FFL_NOSPAWN handling in g_spawn.c was missing

Because of that after loading a savegame some pointers were invalid
and dereferencing them resulted in segfaults.
2015-05-19 04:19:41 +02:00
Daniel Gibson aa5ccc1770 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:48:21 +02:00
Daniel Gibson 398aeff770 One entity shooting another should work even if friendly fire is off
In rogue's 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.
I also refactored ClientTeam() to take the buffer instead of using a
static one and to be static (it's only called by OnSameTeam() anyway).

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 18:06:36 +01:00
Lennart Burmeister 3bcb10d734 Windows and OS X support for the Makefile 2013-05-13 08:12:00 +02:00
Yamagi Burmeister 7e05ae8f6e At some more informations to the README
This is a port of Team Evolves Zaero to Yamagi Quake II. It's
unfinished. While it might work, there are most likely some serious bugs
left! Use this at you own risk! Patches (or better pull requests) are
welcome.

The first commit messages are a mess and in german. Sorry for that.
2012-04-29 11:31:52 +02:00
Yamagi Burmeister 49f92a0c72 Correctly destroy blocking entities and derefernce entities destroyed by
the killbox
2011-10-12 07:50:52 +00:00
Yamagi Burmeister 9d1d32d2be Add savegames tables, missed yesterday 2011-10-12 07:10:17 +00:00
Yamagi Burmeister 8770845581 Fix non-moving soldiers 2011-10-11 15:41:08 +00:00
Yamagi Burmeister be4833ab5f Add README 2011-10-11 15:31:02 +00:00
Yamagi Burmeister 04163afa82 Rearrange files 2011-10-11 15:28:06 +00:00
Yamagi Burmeister 6d456db7d1 Port the new savegame system 2011-10-11 14:28:49 +00:00
Yamagi Burmeister 59bfb6f8c4 Calculate a real bounding box for rotating entities 2011-10-11 14:15:32 +00:00
Yamagi Burmeister 71d6ee0935 Fix the crash when too much debris or gibs is shown 2011-10-11 14:13:17 +00:00
Yamagi Burmeister b49bec2143 Remove static 2011-10-11 10:12:01 +00:00
Yamagi Burmeister 6cddf17b88 Add LICENSE files 2011-10-10 19:40:18 +00:00
Yamagi Burmeister 3e9cdcd3b3 Resurrect zaero. 2011-10-10 19:26:35 +00:00
Yamagi Burmeister 179cd6b1d0 Fixt einen Crash beim Benutzen der lasergranaten 2009-10-08 15:56:19 +00:00
Yamagi Burmeister 4a9bfc2cf3 Weapon, Trigger, Sentien und Spwan aufgeräumt 2009-10-08 15:37:19 +00:00
Yamagi Burmeister 3492d05a57 Hund, Items, Handler, Kamera und MTest aufgeräumt 2009-10-08 15:14:40 +00:00
Yamagi Burmeister 4b73b52ebb Boss aufgeräumt 2009-10-08 15:00:39 +00:00
Yamagi Burmeister db9643d393 Animationscode, die Autocannon, die KI und die Handler 2009-10-07 14:45:55 +00:00
Yamagi Burmeister a68d4e906f Soldir, Supertank und Tank. Damit sind nun alle auch im Hauptspiel
vorhandenen Moster auf dessen Stand
2009-10-07 09:54:15 +00:00
Yamagi Burmeister 60af02fc6d Mutant und Parasite 2009-10-07 09:43:38 +00:00
Yamagi Burmeister 3d80fd35eb Bewegungscode aufgeräumt 2009-10-07 09:40:04 +00:00