1316: code improvement on gameclient.cpp r=def- a=Ryozuki
1341: Mark unused envelopes r=def- a=Learath2
Thought I'd do this one as well while looking at the editor code.
1349: Don't ignore CONNECT packets with data that we don't know r=def- a=heinrich5991
This specifically affects 0.6.5. Just treat them the same way as those
without any data.
Co-authored-by: Ryozuki <edgar@ryobyte.com>
Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
1340: Editor fixes r=def- a=Learath2
Address #1331 and also fix the scrollbar enabling when there isn't enough elements.
Co-authored-by: Learath <learath2@gmail.com>
1348: increase max score that can be displayed in scoreboard r=Learath2 a=fokkonaut
![base profile screenshot 2018 10 11 - 22 15 10 80](https://user-images.githubusercontent.com/35420825/46831469-d31c2300-cda3-11e8-9a13-2814fd7621f3.png)
its only for the positive numbers because negative should stay at max -999.
level server for examples can often reach the players level over 1000, and then the scoreboard is just a mess. also its not looking bad and the numbers arent over the edge, so i personally think this is a good addition.
as you can also see, scores over 99.999 (basically 100k) arent shown.
another reason: times for ddrace scoreboard can be as long as they want. there is no display limit, so it doesnt make sense have such a small limit for non-ddrace-scoreboard
Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
1329: Add support for extra map items in datafiles r=Learath2 a=heinrich5991
This works by utilizing the good old UUIDs – this way we can make sure
that we don't clash with other people extending the map format.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
See note in https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html
> get_mysql_driver_instance() calls get_driver_instance(), which is not
> thread-safe. Either avoid invoking these methods from within multiple
> threads at once, or surround the calls with a mutex to prevent
> simultaneous execution in multiple threads.
1251: Selecting multiple quads r=def- a=Aerll
- shift+drag to select quads. Selection is additive
- left click on any empty space deselects all quads
- moving, resizing, rotating etc. works for every selected quad
- fixed resizing quads on grid and in properties. Vertices don't land on the same spot
Co-authored-by: Aerll <31746984+aerll@users.noreply.github.com>
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.
1227: Allow multiple layers to be selected and edited at the same time. r=heinrich5991 a=bojidar-bg
Resolves#486.
Please test, I'm still not completely sure it won't crash or mess up a map from time to time.
Co-authored-by: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
1224: vanilla skins only list now only shows vanilla skins r=Learath2 a=fokkonaut
Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
This displays four buttons below the edit box, one for resetting the
skin prefix, and the other three for activating the shipped variants
"kitty", "coala", "santa".
The "none" string is translatable, the variants names are not because
they correspond to file names.
1221: Allow entering automapper rule probability as percentage r=heinrich5991 a=bojidar-bg
Fixes#837
Took a while to guess the right `sscanf` usage (since it does not detect unmatched input past the last format specifier).
Co-authored-by: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
1200: Share libcurl resources across requests r=def- a=heinrich5991
Use the libcurl-share interface to share DNS cache and connections
between different requests.
If compiled with OpenSSL, libcurl can only be safely used from multiple
threads for OpenSSL >= 1.1.0, but this problem is not newly introduced
by this commit: According to libcurl-thread(3):
>OpenSSL <= 1.0.2 the user must set callbacks.
>
>https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION
>
>https://curl.haxx.se/libcurl/c/opensslthreadlock.html
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
1204: Add Teleportation gun/grenade/rifle (finished) r=def- a=Ryozuki
As i made some changes and force-pushed i can't reopen the old pr: https://github.com/ddnet/ddnet/pull/1075
Features:
- Teleport gun: Teleports you where it collided (tees included, in a special way). Doesn't teleport if the collided tile is an untele tile.
- Teleport grenade: Teleports you where it collided (tees included, in a special way). Doesn't teleport if the collided tile is an untele tile.
- Teleport rifle (laser): Teleports you where the laser runs out of energy or if it collides with a tee. Doesn't teleport if the laser bounced in an untele tile.
Co-authored-by: Ryozuki <edgar@ryobyte.com>
Co-authored-by: Tim Schumacher <tim@timakro.de>
Co-authored-by: Edgar <edgar@ryobyte.com>
1195: Fix votespec on /pause (Fixes#1193) r=heinrich5991 a=ChillerDragon
I also thought about using a `` if (str_find(m_aVoteCommand, "set_team"))`` in front of the pause reset.
But then i thought its ok to unpause the VoteVictim every time.
I didn't test but i could belive that this can cause some unwanted unpause for a player with the id of the last VoteVictim on a server type vote for example. Thats why i also reset the ``m_VoteVictim`` to -1 to avoid this.
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
1187: fix projectiles not rendering on mods based on ddnet r=heinrich5991 a=ZombieToad
for some reason the client doesnt render extrainfo projectiles if the gamemode wasnt ddnet
Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
Previously, when you added an image to the map in the editor, it would
start off as embedded, i.e. included in the map file. This does not make
sense for vanilla images as every client has those.
That's why we now only mark non-vanilla images as external by default.
https://cdn.discordapp.com/attachments/293493549758939136/461236206131478538/PainWeaponBug.gif
because I'm new to coding it took me 2 hours to find this bug. I spent a while looking at the POWERUP_ARMOR and RemoveNinja() code wondering why it didn't work.
this bug is funny to some players so maybe you don't want to fix it. i wont mind because it was a challange for me to find it
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).
The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.
For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.
Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.
Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.
Fix#1127.
1157: Add a way to call for external moderator help r=Learath2 a=heinrich5991
This is done by HTTP POSTing to a location specified by
`sv_modhelp_url`. We also provide a `src/modhelp/server.py` which can
use theses POSTs to forward them to Discord servers.
The POST contains a JSON object payload, with the keys `"port"` which
contains the server port, `"player_id"` which contains the calling
player's client ID, `"player_name"` which contains the calling player's
nick and `"message"` which is the user-specified message.
Make JSON-escaping function public, add tests and fix bugs uncovered by
these tests.
Supersedes #1129.
1160: Fix warning about incompatible function pointers r=Learath2 a=heinrich5991
This comes at the cost of one allocation per started thread. This should
be okay because we're about to invoke a syscall anyway.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
1152: send password to first connected server r=heinrich5991 a=ZombieToad
https://github.com/ddnet/ddnet/pull/1149#issuecomment-397538132
fixes issues with connecting to servers with reserved slots
Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
This is done by HTTP POSTing to a location specified by
`sv_modhelp_url`. We also provide a `src/modhelp/server.py` which can
use theses POSTs to forward them to Discord servers.
The POST contains a JSON object payload, with the keys `"port"` which
contains the server port, `"player_id"` which contains the calling
player's client ID, `"player_name"` which contains the calling player's
nick and `"message"` which is the user-specified message.
Make JSON-escaping function public, add tests and fix bugs uncovered by
these tests.
Supersedes #1129.
1154: Rename 'credit' -> 'credits' r=Learath2 a=ChillerDragon
It's named ConCredits and there are many people credited so i guess the plural is fitting better c;
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
1151: fix veto r=heinrich5991 a=ZombieToad
before if a player entered the game and stayed before start on a server with a clock over 20 mins he would get veto
Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
If the latest fire input and the current differ in any way it causes firing.
So if you switch dummy after hammerfly was used it causes a weaponfire.
This unwanted fireing caused many unlucky fails for me already.
So i swap the fire status on dummyswapping so the server doesn't see any difference even if hamemrfly was used.
1128: Remove superfluous parameter from `CServer::NewClientNoAuthCallback` r=Learath2 a=heinrich5991
The `Reset` parameter was only ever set to true, at the only call site.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
1120: Allows low mousesens r=heinrich5991 a=ChillerDragon
Lower minimum mousesens value to avoid confusion. Responing to GG Kid's request:
https://forum.ddnet.tw/viewtopic.php?f=45&t=5807&p=58207&hilit=mousesens#p58207
I did some testing and found no bugs... but i wonder why it was set to 5. So maybe it had some reason i don't understand so please only merge if you know what you are doing ;p
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
1118: Add vote_ban rcon command r=heinrich5991 a=ChillerDragon
Works the same as muteid.
Vote banned players aren't allowed to start or participate in votes.
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
1114: Some text positioning r=def- a=Jupeyy
To be clear, the entity text was meant to be a bit higher, so the text of the overlay is not overwritten("FROM", "CFROM")?
Because there was -4.f added to the y coordinate. Atleast it looks pretty much the same as the old renderer now.
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
1112: Fix default dyncam values r=def- a=Jupeyy
Since dyncam is disabled by default:
these are default static values.
Co-authored-by: Jupeyy <jupjopjap@gmail.com>