Commit graph

212 commits

Author SHA1 Message Date
Jupeyy d52cd5c41a Check if distance is bigger than 0
Is safe, the first check even checks if Distance is > 0
The second check, checks if Distance is > something positive
2020-10-17 20:00:18 +02:00
Jupeyy 28ee13949b Fix NaN in gamecore move
Is safe, if the distance is zero and the NaN is created by 0 / 0.0
all values multiplied or checked stay NaN, so no new position is set
2020-10-17 18:45:59 +02:00
Jupeyy 6426e341f3 Fix NaNs created by bad initialization 2020-10-17 18:17:13 +02:00
def ae1a266dac CCharacterCore::Tick caused out of bounds
src/game/teamscore.cpp:27:78: runtime error: index -1 out of bounds for type 'int const[64]'
    #0 0xf5b948 in CTeamsCore::CanKeepHook(int, int) const src/game/teamscore.cpp:27
    #1 0xf46fe1 in CCharacterCore::Tick(bool) src/game/gamecore.cpp:325
    #2 0xaf7366 in CGameClient::DetectStrongHook() src/game/client/gameclient.cpp:2441
    #3 0xadd734 in CGameClient::UpdatePrediction() src/game/client/gameclient.cpp:2249
    #4 0xad6e17 in CGameClient::OnNewSnapshot() src/game/client/gameclient.cpp:1675
    #5 0x522d55 in CClient::Update() src/engine/client/client.cpp:2767
    #6 0x5333e4 in CClient::Run() src/engine/client/client.cpp:3237
    #7 0x557fda in main src/engine/client/client.cpp:4341
    #8 0x7f55e8c75cc9 in __libc_start_main ../csu/libc-start.c:308
    #9 0x433e29 in _start (build/DDNet+0x433e29)

src/game/teamscore.cpp:34:78: runtime error: index -1 out of bounds for type 'int const[64]'
    #0 0xf5be68 in CTeamsCore::CanCollide(int, int) const src/game/teamscore.cpp:34
    #1 0xf46458 in CCharacterCore::Tick(bool) src/game/gamecore.cpp:271
    #2 0xaf7374 in CGameClient::DetectStrongHook() src/game/client/gameclient.cpp:2442
    #3 0xadd734 in CGameClient::UpdatePrediction() src/game/client/gameclient.cpp:2249
    #4 0xad6e17 in CGameClient::OnNewSnapshot() src/game/client/gameclient.cpp:1675
    #5 0x522d55 in CClient::Update() src/engine/client/client.cpp:2767
    #6 0x5333e4 in CClient::Run() src/engine/client/client.cpp:3237
    #7 0x557fda in main src/engine/client/client.cpp:4341
    #8 0x7f55e8c75cc9 in __libc_start_main ../csu/libc-start.c:308
    #9 0x433e29 in _start (build/DDNet+0x433e29)
2020-10-11 16:37:03 +02:00
def 6680ec388c Reset CCharacterCore at start
Hopefully fixes these by initializing m_Pos:

src/game/collision.cpp:345:10: runtime error: -nan is outside the range of representable values of type 'int'
    #0 0x55e85a8f0967 in CCollision::IntersectLineTeleHook(vector2_base<float>, vector2_base<float>, vector2_base<float>*, vector2_base<float>*, int*) /media/ddnet/src/game/collision.cpp:345:10
    #1 0x55e85a90767b in CCharacterCore::Tick(bool) /media/ddnet/src/game/gamecore.cpp:255:27
    #2 0x55e85af8e477 in CCharacter::Tick() /media/ddnet/src/game/client/prediction/entities/character.cpp:562:9
    #3 0x55e85afc867f in CGameWorld::Tick() /media/ddnet/src/game/client/prediction/gameworld.cpp:193:10
    #4 0x55e85af500b8 in CGameClient::UpdatePrediction() /media/ddnet/src/game/client/gameclient.cpp:2279:16
    #5 0x55e85af48b9b in CGameClient::OnNewSnapshot() /media/ddnet/src/game/client/gameclient.cpp:1675:3
    #6 0x55e85a9fdf8c in CClient::Update() /media/ddnet/src/engine/client/client.cpp:2767:22
    #7 0x55e85aa0cefe in CClient::Run() /media/ddnet/src/engine/client/client.cpp:3237:4
    #8 0x55e85aa2eb2e in main /media/ddnet/src/engine/client/client.cpp:4341:11
    #9 0x7feedbc65151 in __libc_start_main (/usr/lib/libc.so.6+0x28151)
    #10 0x55e85a77be0d in _start (/media/ddnet/DDNet+0x705e0d)

src/base/math.h:22:40: runtime error: -nan is outside the range of representable values of type 'int'
    #0 0x55e85a900c2f in round_to_int(float) /media/ddnet/src/base/math.h:22:40
    #1 0x55e85a90cac1 in CCharacterCore::Write(CNetObj_CharacterCore*) /media/ddnet/src/game/gamecore.cpp:515:22
    #2 0x55e85a90e171 in CCharacterCore::Quantize() /media/ddnet/src/game/gamecore.cpp:574:2
    #3 0x55e85af90be9 in CCharacter::TickDefered() /media/ddnet/src/game/client/prediction/entities/character.cpp:580:9
    #4 0x55e85afc8a1b in CGameWorld::Tick() /media/ddnet/src/game/client/prediction/gameworld.cpp:201:10
    #5 0x55e85af500b8 in CGameClient::UpdatePrediction() /media/ddnet/src/game/client/gameclient.cpp:2279:16
    #6 0x55e85af48b9b in CGameClient::OnNewSnapshot() /media/ddnet/src/game/client/gameclient.cpp:1675:3
    #7 0x55e85a9fdf8c in CClient::Update() /media/ddnet/src/engine/client/client.cpp:2767:22
    #8 0x55e85aa0cefe in CClient::Run() /media/ddnet/src/engine/client/client.cpp:3237:4
    #9 0x55e85aa2eb2e in main /media/ddnet/src/engine/client/client.cpp:4341:11
    #10 0x7feedbc65151 in __libc_start_main (/usr/lib/libc.so.6+0x28151)
    #11 0x55e85a77be0d in _start (/media/ddnet/DDNet+0x705e0d)
2020-10-11 16:37:03 +02:00
def 3be8a592e5 Run clang-format
Purely automatic change. In case of conflict with this change, apply the
other change and rerun the formatting to restore it:

$ python scripts/fix_style.py
2020-09-26 21:50:15 +02:00
heinrich5991 2692f3c758 Use a consistent PRNG on all platforms 2020-05-25 15:19:29 +02:00
trml 47cafe6d6b Remove unused code 2020-05-02 18:52:09 +02:00
fokkonaut f5b8bbc2ff Simplify anti stuck code more 2020-01-05 11:49:21 +01:00
fokkonaut e2b252b714 Distance can't be negative 2020-01-04 16:32:51 +01:00
ChillerDragon 96c9b1ab73 Rename rifle to laser
This makes it easier to copy code from/to 0.7
23df3c609e
2019-11-22 15:37:18 +01:00
heinrich5991 bcd1559c5e Make LimitVel a proper function 2019-09-18 14:50:27 +02:00
heinrich5991 66ccd808aa Rewrite stopper code a bit, second try
Remove the whole copy-and-paste mess.

A seemingly ineffective and apparently code block has been removed.

The broken front layer from the first try has been fixed.
2019-09-18 02:04:46 +02:00
ChillerDragon 6172a9dca0 Use the float type explicitly 2019-07-08 23:08:42 +02:00
trml b72a16ca36 Use new ddnetchar fields, cleanup, and fix prediction for already used jumps 2019-07-01 00:50:50 +02:00
bors[bot] a5096c4de0 Merge #1663
1663: Use freeze end tick instead of a flag. Fix #1659 r=def- a=Learath2

I used -1 for deep frozen, and 0 for not frozen. Not really sure if this is the best way.

Co-authored-by: Learath <learath2@gmail.com>
2019-04-27 08:53:38 +00:00
Ryozuki 42a5d7a9c1 fix conflicts 2019-04-23 20:42:07 +02:00
Learath 67668d7fb2 Use freeze end tick instead of a flag. Fix #1659 2019-04-23 18:57:26 +03:00
Ryozuki d6cc94f839
fix hook col a bit 2019-04-21 19:35:07 +02:00
trml 0b3f3b03b5 Rewrite of prediction code, with additional prediction 2019-04-21 16:12:20 +02:00
Ryozuki 6bfdad9771
fix super and solo 2019-04-21 14:57:45 +02:00
Ryozuki eecdfd2af8
fix hook and colision on super 2019-04-21 10:45:11 +02:00
Ryozuki f37f8a8268
add all character flags to ddnetnetwork character 2019-04-19 11:17:28 +02:00
Ryozuki 3556830b9a
fix solo prediction 2019-04-12 16:29:13 +02:00
Dennis Felsing 13aa154d47 Revert "Rewrite stopper code a bit"
This reverts commit 4ee5c5a781.
2018-08-24 09:34:54 +02:00
Dennis Felsing 02e5fa20a0 Revert "Fix stoppers while retaining backward-compatibility"
This reverts commit e2d3e353cf.
2018-08-22 08:33:28 +02:00
Dennis Felsing d60b0db632 Revert "Add mapbug "stoppers-passthrough@ddnet.tw""
This reverts commit 25e86851d3.
2018-08-22 08:33:21 +02:00
heinrich5991 25e86851d3 Add mapbug "stoppers-passthrough@ddnet.tw"
This can be set for maps that rely on actually passing through stoppers.
2018-08-16 17:54:55 +02:00
heinrich5991 e2d3e353cf Fix stoppers while retaining backward-compatibility
Stopper behavior is only changed when the player would otherwise go
entirely through the stopper. Players can still enter a stopper as far
as the stopper can still affect them. One-way blockers have a bigger
range, and thus allow tees to enter furtherly.

A possible (manual) test map for this is test_stoppers.map, sha256sum
ed8be386e54a03d7bd7ed69fdd962c86f51f654427972d58d492c8905c8fbdb7, crc
48812a51.
2018-08-16 17:54:55 +02:00
heinrich5991 4ee5c5a781 Rewrite stopper code a bit
Remove the whole copy-and-paste mess.

A seemingly ineffective and apparently code block has been removed.
2018-08-15 17:47:07 +02:00
heinrich5991 797581502a Remove spurious engine/server include in game 2018-02-12 23:29:45 +01:00
eeeee 2797227063 also remove references to CGameContext from CServer 2017-06-05 22:31:56 -07:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
H-M-H e351080dd3 removed double semicolons 2016-05-04 00:24:54 +02:00
def 61e47422f6 Clean up debug messages a bit (lower case, no useless errors) 2016-05-02 21:35:32 +02:00
timgame dc89301292 clean up intersect line code 2015-11-08 10:20:44 +01:00
timgame 988a8f591a remove colflags 2015-11-08 10:20:10 +01:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def a77cd039a6 Get rid of all Clang warnings 2015-04-18 22:29:28 +02:00
def 3fb7b1520e Add descriptions for tunings 2015-03-29 03:52:33 +02:00
timgame 909db5cd55 added ninjajetpack prediction 2015-03-14 18:55:50 +01:00
def 030ebf37c7 Fix number 100000 for this 2015-02-28 01:18:35 +01:00
def cc00a428aa Fix crash 2015-02-24 12:22:08 +01:00
def 6c928c01f0 Oops, actual fix 2015-02-24 00:04:16 +01:00
def 7542868797 Fix hook with super 2015-02-23 23:45:29 +01:00
def 1cf333ada2 Fix antiping hook prediction 2015-02-21 21:05:15 +01:00
def 8f570596d9 Release hook when player changes team 2015-02-18 14:34:49 +01:00
timgame 2ee0ca0648 added refill jumps tile and cleaned tile detection 2015-01-19 22:14:49 +01:00
def b3581f6dba Minor optimization suggested by CytraL 2014-12-30 14:43:02 +01:00
def 79aeb5ea38 Add hook duration tune 2014-12-27 12:05:02 +01:00
Dennis Felsing b525de33b5 Merge pull request #112 from trml/prediction_weapons
Prediction weapons
2014-12-02 11:24:52 +01:00
nuborn 88a1565d75 make the prediction compatible with very large maps 2014-12-02 01:08:52 +01:00
nuborn 9752334e75 convert projectiles back to default format before recording demos 2014-12-01 01:32:51 +01:00
nuborn 03bc769c09 prediction of hammer (hits) and grenade (explosions) 2014-12-01 01:31:58 +01:00
def 1d4ac3b03a check in better order 2014-11-27 22:38:25 +01:00
def 627d6386ee Revert "Revert "Revert "Add antiping for weapons (by nuborn)"""
This reverts commit 8f7e24b4db.
2014-11-02 10:59:22 +01:00
nuborn 8f7e24b4db Revert "Revert "Add antiping for weapons (by nuborn)""
This reverts commit 755e9f4d1c.
2014-10-28 15:50:28 +01:00
def 755e9f4d1c Revert "Add antiping for weapons (by nuborn)"
This reverts commit 48e66a2ab3.

Conflicts:
	src/game/client/gameclient.cpp
	src/game/version.h
2014-10-27 20:03:22 +01:00
def 48e66a2ab3 Add antiping for weapons (by nuborn) 2014-10-23 17:31:29 +02:00
def d11012dbdb Revert "Hopefully fix speedup prediction"
This reverts commit 7c0e3daec7.
2014-08-28 16:20:11 +02:00
def 94cfb4a6b5 Revert "Better remove defunct speedup protection"
This reverts commit 9a92acb466.
2014-08-27 14:14:32 +02:00
def 9a92acb466 Better remove defunct speedup protection 2014-08-01 15:01:30 +02:00
def 7c0e3daec7 Hopefully fix speedup prediction 2014-07-30 01:30:08 +02:00
def dcf5e244b5 Fix walljump after holding a key 2014-06-23 14:46:27 +02:00
def 374bc024bd Fix cheat with walljump 2014-06-22 18:07:28 +02:00
def 22d9f3f146 Revert "Fix cheat with walljump"
This reverts commit 4626106739.
2014-06-22 18:07:00 +02:00
def 4626106739 Fix cheat with walljump 2014-06-22 18:04:55 +02:00
def 99c74b5311 Fix wall jumps 2014-06-22 00:50:11 +02:00
def b3e9041768 Revert "Same hook strength for everyone (by cinaera)"
This reverts commit 2b08464527.
2014-05-01 03:03:31 +02:00
def 2b08464527 Same hook strength for everyone (by cinaera) 2014-04-30 17:36:25 +02:00
def 5eb7a74558 Fix: Tunings and Tunezones with dummies 2014-04-29 03:34:23 +02:00
def 15ecbb71d1 fixed compiling using visual studio 2013 by renaming the round function 2014-04-22 23:46:55 +02:00
def 68980e7699 Fix: Ok, proper Jetpack prediction now 2014-04-14 10:56:14 +02:00
def 5850403eb6 Fix: Only predict when weapon is jetpack 2014-04-14 10:22:48 +02:00
def 38b16ee5c0 Jetpack prediction (Thanks to v) 2014-04-14 01:34:50 +02:00
def 5563ae9a7b Make DDRace tile prediction optional 2014-03-28 23:53:12 +01:00
def 35328d37b0 TILE_STOP client prediction 2014-03-27 11:19:25 +01:00
def a4580c4af0 Add speedup prediction (by c) 2014-03-25 01:13:46 +01:00
def 3e5bcb0213 Absolutely perfect +showhookcoll 2014-01-27 05:06:23 +01:00
def 11dc90206b Fix super bug 2014-01-22 00:12:24 +01:00
def fe7f274023 Fix: Proper super on DDRace 16 player servers 2014-01-21 18:21:01 +01:00
def ac23c862d4 Oops 2014-01-12 03:06:38 +01:00
def 693d68841c More exact showhookcoll 2014-01-12 00:45:25 +01:00
def 72bc639a0c TeleOuts as pointer; Hopefully fixes Visual Studio crash 2013-12-12 14:35:01 +01:00
def 22ce12a9cc Fix: Don't crash when using sv_old_teleport_hook and new teleports 2013-10-26 08:02:45 +02:00
def 1cc6977611 Fix jumping 2013-08-24 02:25:58 +02:00
def 6da8d2146c New mapping entity: Specify number of jumps 2013-08-24 01:03:45 +02:00
def 40ff09be29 Revert visual studio fix 2013-08-18 22:19:02 +02:00
BeaR ee6192900c fix previous commit 2013-08-14 19:56:55 +02:00
def af69765063 Revert "fix visual studio build"
This reverts commit 62409f740a.
2013-08-14 17:31:15 +02:00
BeaR 62409f740a fix visual studio build 2013-08-13 14:06:29 +02:00
def bf518df74d New teleport entities 2013-08-13 04:59:25 +02:00
def 4987b26b7b Fix prediction 2013-08-05 19:58:51 +02:00
def 111d5c7f10 Add entities to start and stop: Player collisions, Hooking, Infinite jump 2013-08-05 17:47:04 +02:00
def c7fef524e6 Don't follow from-teles without a corresponding to-tele 2013-07-23 02:13:13 +02:00
def d4c0f31b32 Make client compile 2013-07-22 17:20:34 +02:00
def 81163821d4 Still support no tele-hook 2013-07-20 13:41:52 +02:00
def 8721cf346c Make hook work through multiple teleports 2013-07-20 13:39:17 +02:00
def 7f89f1f078 Fix: No twitching on hook 2013-07-19 03:22:47 +02:00
def 1b68bf65f2 Add server options for sv_teleport_hook and sv_teleport_weapons 2013-07-19 01:23:48 +02:00