Commit graph

220 commits

Author SHA1 Message Date
Alexander Akulich a6bdda60ed GameController: Add OnPlayerConnect() like in the upstream 2021-02-23 18:26:16 +03:00
Alexander Akulich d2744d595a GameController: Introduce GetMaskForPlayerWorldEvent() 2021-01-19 22:36:23 +03:00
Alexander Akulich a14607f818 Introduce GameController::HandleCharacterTiles() 2021-01-16 03:20:58 +03:00
Alexander Akulich 729262b896 GameController: Move the DDRace-specific code to the subclass
This leads to some small code duplication but let us remove the ugly casts.
2021-01-16 03:20:58 +03:00
Alexander Akulich 19234987c9 Backport IGameController::OnPlayerDisconnect() from the upstream
Upstream commit 5e4caa9b9c
2021-01-16 03:20:58 +03:00
Alexander Akulich 7512ad285b Backport IGameController::DoTeamChange from the upstream
Upstream commit 5e4caa9b9c
2021-01-16 03:20:58 +03:00
Alexander Akulich c4405c4811 GameController: Backport reorder from upstream
Upstream commit 5e4caa9b9c
2021-01-16 03:20:57 +03:00
Alexander Akulich ffe3f110eb GameController: Extract DoActivityCheck()
Apply refactoring from the upstream.
2021-01-16 03:20:57 +03:00
Alexander Akulich c2f276cee1 Port CConfig API from the upstream (0.7.5)
The old (g_Config) API is kept to not break the stuff.

See commits:
    de5859b371
    78076761eb
2021-01-10 17:10:19 +03:00
Alexander Akulich b865306b56 Entity: Add API changes from the upstream
The upstream restricted access to the class member.
Keep the some protected API as public and some private API as protected
for now to avoid massive changes in a hundreds places (related to m_Pos).

See upstream commit e86a486688.
2021-01-10 14:25:12 +03:00
Alexander Akulich f16937b361 gamecontext.h: Remove unused player.h include
See the upstream commit 24bda2faa0
2021-01-10 14:25:12 +03:00
Alexander Akulich 164cb9907a player.h: Remove unused character.h include
See the upstream commit 24bda2faa0
2021-01-10 14:25:12 +03:00
Jupeyy 6db4323daf Fix spawnpoints calculation 2020-11-08 03:42:35 +01:00
def 5b5d4404a6 Don't access m_aaSpawnPoints out of bounds
As discovered by ASAN:

/home/teeworlds/src/master/src/game/server/gamecontroller.cpp:142:3: runtime error: index 65 out of bounds for type 'vec2 [64]'
    #0 0x5de082 in IGameController::OnEntity(int, vector2_base<float>, int, int, int) /home/teeworlds/src/master/src/game/server/gamecontroller.cpp:142:3
    #1 0x5c9f43 in CGameContext::OnInit() /home/teeworlds/src/master/src/game/server/gamecontext.cpp:3291:20
    #2 0x4ae3aa in CServer::Run() /home/teeworlds/src/master/src/engine/server/server.cpp:2473:20
    #3 0x4c265d in main /home/teeworlds/src/master/src/engine/server/server.cpp:3551:21
    #4 0x7f400fedc09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #5 0x451509 in _start (/home/teeworlds/servers/DDNet-Server-ubsan+0x451509)
2020-11-04 23:16:04 +01:00
def 165857a5a8 Fix variable names manually 2020-11-02 22:40:40 +01:00
def b1f0fd8969 Enable modernize-loop-convert clang-tidy check
and run clang-format afterwards

https://clang.llvm.org/extra/clang-tidy/checks/modernize-loop-convert.html
2020-11-02 22:40:24 +01: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
def 9f9ccaccf7 Create ALLOW_X_SKINS game info flag
To allow server to set any x_ prefixed skin and client won't filter it
out. As requested by Pure_luck for his mod to show players as tanks,
walls, etc. Won't be enabled on DDNet-Servers, thus such skins can be
added where a server modification wants to fine-control what skins are
allowed and can enforce such skins.
2020-09-24 19:05:30 +02:00
Learath 865afa613b Ingame time is in milliseconds 2020-06-20 17:31:06 +03:00
Learath df42ce8b16 Send gameinfo correctly 2020-06-19 20:28:55 +03:00
Learath e81c718180 Rework netobjs, fix chat 2020-06-19 20:28:55 +03:00
Learath 5000b248bb Fix things 2020-06-19 20:27:15 +03:00
Tim Schumacher 442148a194 Begin work on 0.7 support 2020-06-19 20:27:15 +03:00
heinrich5991 0d7872c79e Send DDNet version early in the connection process
This gets rid of the problem that we don't know whether we should send
full snapshots to clients because they haven't told us about them being
DDNet yet.
2020-05-22 17:58:41 +02: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
Learath b1ed78d58d Add new flag, Fix #1807 2019-07-19 12:28:08 +03:00
Learath 78ac5ce030 Send the flag from the server 2019-07-19 11:21:32 +03:00
ChillerDragon 6172a9dca0 Use the float type explicitly 2019-07-08 23:08:42 +02:00
heinrich5991 f31e081bd4 Remove all checking for the gametype in the game
OK, maybe not actually remove because it is kept for fallback when the
new method isn't available.

The whole gametype parsing business had the same downsides as user agent
parsing on the web, hence I removed it while keeping behavior the same.

This allows servers to explicitly opt in or out of certain bug
workarounds and other client behavior. This increases the complexity of
different configurations that are available in the client (which is a
bad thing).
2019-06-14 00:28:59 +02:00
fokkonaut af7fd12341 Remove m_Weapon parameter from CProjectile 2019-06-02 22:04:11 +02:00
Learath2 c98978c9d6 Implement timescore using a netobj 2019-05-21 10:26:33 +02:00
ChillerDragon ad7a2cdef2 Remove unused vanilla code (closed #1658) 2019-04-24 22:36:47 +02:00
def eda16acbca Explain game tiles and entities in editor (fixes #1600)
- Explanations by Lady Saavik taken from https://ddnet.tw/explain/
- CCW/CW were mixed up in enum names, fixed
- Make sure that the texts fits, otherwise reduce font size
- Still need explanations for Portal tiles
2019-04-08 19:39:56 +02:00
Learath 548e9969b2 Add colors for authed players. Deprecates #1299 2019-03-02 13:50:33 +03:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
eeeee 0497cdd49d stop casting auth state to bool 2017-06-08 13:03:44 -07:00
def 4125941896 Disable dbg_stress in release builds (fewer confused kids that think they hacked the server, less useless code in cache) 2017-06-02 20:45:09 +02:00
Learath 5626259b27 Rework pause. Fixes force_pause 2017-04-09 00:20:41 +02:00
necropotame b6548aa8cf Fix wrong code convension, add enum for timer display type 2017-02-28 07:31:24 +01:00
necropotame 4cfe96801b Send the race time using warmup timer 2017-02-28 07:31:24 +01:00
BannZay a96ebde93a getting jetpack through remote 2016-10-10 15:18:06 +03:00
def 2df9c79483 proper str_copy size (fixes #461) 2016-05-04 18:43:54 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def 3804c16f02 Fix a bunch of crashes on server demo recording 2014-09-26 03:20:47 +02:00
def 94938b11c3 Fix #24 2014-08-26 23:04:07 +02:00
def f64bf42894 Show time of player you're spectating (#1) 2014-08-22 13:29:39 +02:00
def 3eaad43b6b Merge remote-tracking branch 'upstream-teeworlds/0.6' into DDRace
Conflicts:
	bam.lua
	data/languages/index.txt
	src/engine/server/server.cpp
	src/engine/shared/network_server.cpp
	src/game/client/components/chat.cpp
	src/game/client/components/menus_settings.cpp
	src/game/server/entities/character.cpp
	src/game/server/gamecontext.cpp
	src/game/version.h
2013-12-26 18:02:22 +01:00
def bd5fd4ec6e Prevent memory leaks 2013-08-06 05:14:53 +02:00
Magnus Auvinen 1711be955b fixed all the errors that the clang static analayzer found 2013-02-24 17:58:34 +01:00
GreYFoX cd4ba53bae Merge branch 'master' of git://github.com/teeworlds/teeworlds into DDRace
Conflicts:
	bam.lua
	scripts/build.py
	scripts/make_release.py
	src/engine/server.h
	src/game/client/gameclient.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontext.h
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/player.cpp
	src/game/version.h
2012-04-12 02:09:31 +02:00
Learath2 50b2d85abb Fixed according the comment of GreYFoX. 2012-02-14 22:38:06 +02:00
Learath2 d64e1796aa Simplifys the usage of timer commands. Fixes new year happy spawn. 2012-02-14 20:25:34 +02:00
oy dfe91338f0 added pause command. Closes #15 2012-01-10 00:49:31 +01:00
oy 3626286d0d skip inactive kick for debug dummies to avoid console spam 2012-01-08 15:26:37 +01:00
GreYFoX ee670118a5 Merge branch 'master' of git://github.com/oy/teeworlds into DDRace
Conflicts:
	src/engine/console.h
	src/engine/server/server.cpp
	src/engine/server/server.h
	src/engine/shared/config.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/engine/shared/network_server.cpp
@heinrich5991 todo
2012-01-01 00:11:56 +02:00
oy ccaec79567 made it possible to automatically swap teams between rounds 2011-12-30 22:47:26 +01:00
GreYFoX 799f4de2b3 Added the following settings to Close #123.
sv_time_in_broadcast, 1, 0, 1, CFGFLAG_SERVER, "Whether to display time in broadcast every interval or not by default, later the choice can be changed by players via chat commands"
sv_time_in_broadcast_interval, 1, 0, 60, CFGFLAG_SERVER, "How often to update the broadcast time"
sv_time_in_gametimer, 0, 0, 1, CFGFLAG_SERVER, "Whether to display time in the round/game timer or not by default, later the choice can be changed by players via chat commands"
Added the following Chat commands to give the player the choice over their settings:
"saytime", "", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSayTime, this, "Privately messages you your current time in this current running race"
"saytimeall", "", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSayTimeAll, this, "Publicly messages everyone your current time in this current running race"
"time", "", CFGFLAG_CHAT|CFGFLAG_SERVER, ConTime, this, "Privately shows you your current time in this current running race in the broadcast message"
"broadcasttime", "?s", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSetBroadcastTime, this, "Personal Setting of showing time in the broadcast, broadcasttime s, where s = on for on, off for off, toggle for toggle and nothing to show current status"
"servergametime", "?s", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSetServerGameTime, this, "Personal Setting of showing time in the round/game timer, servergametime s, where s = on for on off for off, toggle for toggle and nothing to show current status"
Fixed Chat Command "eyeemote" and made it a set + toggle instead of just toggle for better bin techneques
Moved some vars from CCharacter to CPlayer to keep their status evern after death but not after disconnect.
So now players have the choice to see which timer they wanna see if any.

Note: These changes are all untested Stay away from this update on your main server until they are tested, i don't even know if they will compile propperly
2011-12-29 14:17:34 +02:00
GreYFoX 1446d0980b Merge branch 'master' of git://github.com/oy/teeworlds into DDRace
* Version 1.098a
Conflicts:
	bam.lua
	src/game/client/gameclient.h
	src/game/mapitems.h
2011-12-05 11:32:01 +02:00
oy 8e0ce38e29 fixed sv_max_client usage 2011-12-04 16:51:33 +01:00
GreYFoX 5b27758650 Removed level stuff
Removed client ID stuff
Removed console stuff
Resolved merge conflicts
Upgraded Banmaster
Cleaned up
2011-08-13 02:11:06 +02:00
GreYFoX 35d16bd58c Merge branch 'master' of git://github.com/oy/teeworlds into DDRace0611
Conflicts:
	src/engine/console.h
	src/engine/server.h
	src/engine/server/server.cpp
	src/engine/shared/config_variables.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/engine/shared/network_server.cpp
	src/game/client/components/console.cpp
	src/game/client/components/console.h
	src/game/client/components/menus_browser.cpp
	src/game/client/gameclient.cpp
	src/game/editor/editor.cpp
	src/game/editor/editor.h
	src/game/editor/io.cpp
	src/game/editor/layer_tiles.cpp
	src/game/editor/popups.cpp
	src/game/gamecore.cpp
	src/game/mapitems.h
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/gamemodes/ctf.cpp
	src/game/server/player.cpp
	src/game/variables.h
2011-08-13 02:01:40 +02:00
Johannes Loher e2664c1b00 Added server sided automatic demo recording 2011-07-30 18:23:59 +02:00
oy b153003b0b fixed dm wincheck 2011-07-04 18:30:24 +02:00
oy c10c7d9ac3 improved sudden death in ctf. Closes #617 2011-06-19 17:32:00 +02:00
oy 4dc79a9ec1 fixed spawn bug. Closes #634 2011-06-15 01:03:14 +02:00
GreYFoX 9c4b1c9892 fixed a crash, closes #56 2011-06-07 17:21:47 +02:00
GreYFoX 0df6d0541f Merge branch 'master' of git://github.com/oy/teeworlds into HEAD
Conflicts:
	bam.lua
	src/engine/console.h
	src/engine/server.h
	src/engine/server/server.cpp
	src/engine/shared/config.h
	src/engine/shared/config_variables.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/game/client/components/binds.cpp
	src/game/client/components/chat.h
	src/game/client/components/console.cpp
	src/game/client/components/console.h
	src/game/client/components/controls.cpp
	src/game/client/components/emoticon.h
	src/game/client/components/maplayers.cpp
	src/game/client/components/menus.h
	src/game/client/components/scoreboard.h
	src/game/client/components/spectator.h
	src/game/client/components/voting.h
	src/game/client/gameclient.cpp
	src/game/client/gameclient.h
	src/game/client/render.h
	src/game/collision.cpp
	src/game/editor/ed_layer_tiles.cpp
	src/game/gamecore.cpp
	src/game/gamecore.h
	src/game/layers.cpp
	src/game/layers.h
	src/game/mapitems.h
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/entities/laser.h
	src/game/server/entities/pickup.cpp
	src/game/server/entities/pickup.h
	src/game/server/entities/projectile.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/gameworld.cpp
	src/game/server/gameworld.h
	src/game/server/player.cpp
	src/game/variables.h
2011-04-14 01:27:49 +02:00
oy 06115dd49d added "Whitespace and line Endings cleanup" by GreYFoX 2011-04-13 20:37:12 +02:00
GreYFoX 03095b5ecf Nothing 2011-04-12 00:27:52 +02:00
GreYFoX 32a85dabe3 Fixed some merge mistakes, NOTE: This will be be buggy to say the least 2011-04-09 23:01:10 +02:00
GreYFoX f7f6058a92 Merged Oy, Cleaned up, removed some useless features and code parts
Added Icon by landil
alot more...
2011-04-09 22:32:17 +02:00
oy d4f2b8de87 fixed skin colour of spectators 2011-03-27 11:52:16 +02:00
oy 722644008f added a respawn delay command for tdm 2011-03-26 22:38:05 +01:00
oy 9811c2396b made network clip flags. Closes #131 2011-03-04 17:08:10 +01:00
oy 45eee0c8c2 fixed spawning on crappy maps 2011-02-21 12:35:14 +01:00
GreYFoXGTi 793ea4a499 Don't holdup spawning if tees are there
fixed cl_ddrace_scoreboard
2011-02-16 19:04:41 +02:00
oy d939b84125 removed no longer needed progression browse info 2011-02-16 12:31:47 +01:00
GreYFoXGTi 29c9bf531d Fixed merge errors 2011-02-14 09:43:44 +02:00
GreYFoXGTi f83132448d Merged Oy, Isolated Freeze from Deep Freeze 2011-02-13 19:32:06 +02:00
GreYFoXGTi 1b2703aaba Refactoring & fixed WEAPONSPEC_GUN in content.py 2011-02-12 21:18:41 +01:00
oy 3f05289328 fixed a possible problem with occupied spawn points and cleaned up spawn code a bit 2011-02-10 12:05:55 +01:00
GreYFoXGTi 2c36457b94 Fixed warnings 2011-02-05 03:33:53 +02:00
GreYFoXGTi 832bad08e6 Cleanup and Added All Left Masks 2011-01-29 16:18:36 +02:00
GreYFoXGTi 2151883b43 Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	src/game/gamecore.cpp
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/entities/pickup.cpp
	src/game/server/entities/projectile.cpp
	src/game/server/entity.h
	src/game/server/gamecontext.cpp
	src/game/server/player.cpp
	src/game/variables.h
2011-01-20 16:10:32 +02:00
oy 19a9462fe8 removed double entity list in gameworld and cleaned up connected stuff 2011-01-19 18:27:50 +01:00
oy 99e9d4910a fixed that team mates are regarded when evaluating the spawn position. Closes #426 2011-01-17 15:55:23 +01:00
oy 40f6740742 fixed few spelling mistakes and disabled an unused command 2011-01-17 12:56:49 +01:00
GreYFoXGTi 21994e017f fixed warnings 2011-01-06 14:21:44 +02:00
GreYFoXGTi c5648311ed Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	data/languages/german.txt
	src/game/client/components/scoreboard.cpp
	src/game/editor/ed_layer_tiles.cpp
	src/game/server/entities/character.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/variables.h
2011-01-04 22:37:09 +02:00
oy a72848e780 added constants for teams by Choupom 2011-01-03 12:50:38 +01:00
GreYFoXGTi e803f30f52 Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	src/game/server/entities/character.cpp
	src/game/server/entities/flag.cpp
	src/game/server/player.cpp
	src/game/variables.h
2010-12-16 06:06:23 +02:00
oy 0121f27311 fixed server crash on too many snap items. Closes #317 2010-12-16 03:29:08 +01:00
GreYFoXGTi cebbecf632 Some Code Improvements and Compiler warnings 2010-12-07 19:44:23 +02:00
GreYFoXGTi af44a79b03 New Broadcast/Timer System 2010-11-30 04:24:15 +02:00
GreYFoXGTi 5d9ee1736e made the code so it would have less conflicts in the future and Merged branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	data/languages/dutch.txt
	data/languages/french.txt
	data/languages/german.txt
	data/languages/russian.txt
	src/game/server/entities/flag.cpp
	src/game/server/entities/flag.h
	src/game/server/gamecontext.cpp
	src/game/server/gamemodes/ctf.cpp
	src/game/server/gamemodes/ctf.h
	src/game/server/gamemodes/dm.cpp
	src/game/server/gamemodes/dm.h
	src/game/server/gamemodes/mod.cpp
	src/game/server/gamemodes/tdm.cpp
	src/game/server/gamemodes/tdm.h
2010-11-22 00:26:00 +02:00
Sworddragon fc9211c777 Updated copyrights 2010-11-20 21:26:06 +01:00
GreYFoXGTi ae591407c9 Merge branch 'master' of http://github.com/oy/teeworlds 2010-11-17 13:11:40 +02:00
oy 0d1178107e fixed typo in a kick message 2010-11-17 00:44:04 +01:00
GreYFoXGTi b6a4b2b7ba Merge branch 'master' of http://github.com/oy/teeworlds 2010-11-16 22:11:24 +02:00
oy e46cb02089 Made inactivity check ignore authed players. Closes #273 2010-11-16 18:08:19 +01:00