Commit graph

8 commits

Author SHA1 Message Date
Yamagi Burmeister
08037e7328 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.

The actual fix was already committed as part of 69b6e5a. This is just a
little cleanup commit, mainly for documentation purposes.

This closes #320.
2018-10-07 09:31:31 +02:00
Yamagi Burmeister
69b6e5ad48 Redo 95bbb99 in a more correct manner.
1) Do not increment the frame rate returned by SDL by 1. Incrementing
   is unnessecary, more or less up to date versions on Nvidias, AMDs
   and Intels GPU driver on relevant platform return an value that's
   either correct or rounded up to next integer. And SDL itself also
   rounds up to the next integer. At least in current versions. In fact,
   incrementing the value by one is harmfull, it messes our internal
   timing up and leads to subtile miss predictions. Working around that
   in frame.c would add another bunch of fragile magic... So just do
   it correctly. If someone still has broken GPU drivers or SDL versions
   that are rounding down the could set vid_displayrefreshrate.
2) The calculation of the 5% security margin to pfps in frame.c was
   wrong. It didn't take into account that rfps can be slightly wrong
   in the first place, e.g. 60 on an 59.95hz display. Correct it by
   comparing against rfps including the margin and not the plain value.
2018-09-30 19:47:48 +02:00
Yamagi Burmeister
882297c33e Fix monsters blocking when not on ground entity
This bug was "fixed" by id with removing two lines in the ground entity
check. When cleaning up the game I added them back... I don't know if
it's really correct to just remove them, but let's try it. This fixes
issue #157.
2016-10-31 11:51:07 +01:00
Yamagi Burmeister
73e6dc6307 Revert "Convert random() to randk() and crandom() to crandk()"
This reverts commit 12ce981d64.
2012-06-14 12:12:57 +02:00
Yamagi Burmeister
12ce981d64 Convert random() to randk() and crandom() to crandk() 2012-06-02 12:30:20 +02:00
Yamagi Burmeister
40ff7a6b09 Convert rand(), crand() and frand() to randk(), crandk() and frandk() 2012-06-02 11:55:12 +02:00
Christoph Mallon
ab034114b4 Whitespace fixes. 2012-04-30 08:25:59 +02:00
Yamagi Burmeister
69b465fb1e Move game one dir up 2011-10-09 16:12:53 +00:00
Renamed from src/game/baseq2/g_monster.c (Browse further)