summaryrefslogtreecommitdiff
path: root/modules/enet/networked_multiplayer_enet.cpp
AgeCommit message (Collapse)Author
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-04-02Replace NULL with nullptrlupoDharkael
2020-02-17NetworkedMultiplayerENet dtls support.Fabio Alessandrelli
2020-02-02Improve error explanations related to NetworkedMultiplayerENetHugo Locurcio
2020-01-16Merge pull request #34789 from Faless/enet/disconnect_relayRémi Verschelde
ENet optional server_relay when disconnecting peer
2020-01-03Fix ENet max clients highest value.Fabio Alessandrelli
Was 4096, while actually it's 4095. Fixed now in both docs and `create_server` check.
2020-01-03ENet optional server_relay when disconnecting peerFabio Alessandrelli
Was not correctly enforced before, always notifying other peers of the disconnection.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-11-27Add ENet option to disable server relaying.Fabio Alessandrelli
It's useless when building fully authoritative servers, and prevents various kinds of abuse.
2019-11-26Fix memory leak in NetworkedMultiplayerENet.Fabio Alessandrelli
Dynamically allocated ids of peers where not correctly freed when calling close_connection and disconnect_peer (with now=true).
2019-09-25Added some obvious errors explanationsqarmin
2019-08-12Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in rest of 'modules/'Robin Hübner
2019-06-27Add default values to the editor help, docs, and generated RSTBojidar Marinov
Also, make spacing of "=" in the editor help a bit more consistent. Closes #16086
2019-06-15Fix ENet incorrectly binding to wildcard.Fabio Alessandrelli
Values were not properly initialized, and wildcard would evaluate to true in most cases.
2019-06-11Fix error macro calls not ending with semicolonRémi Verschelde
It's not necessary, but the vast majority of calls of error macros do have an ending semicolon, so it's best to be consistent. Most WARN_DEPRECATED calls did *not* have a semicolon, but there's no reason for them to be treated differently.
2019-05-19Fix typos with codespellRémi Verschelde
Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2019-04-23Merge pull request #25004 from Faless/enet/proto_optimizeHein-Pieter van Braam
Save 4 bytes in ENet multiplayer protocol.
2019-04-09Style: Apply new changes from clang-format 8.0Rémi Verschelde
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0, so contributors can keep using those versions for now (they will not undo those changes).
2019-02-21Fix all -Wtype-limits warnings.marxin
2019-02-20Add check to validate client IDs in ENet.Fabio Alessandrelli
Server now checks that the ID received from the client is not already used by someone else and is a valid ID (>=2)
2019-01-15Save 4 bytes in ENet multiplayer protocol.Fabio Alessandrelli
Avoid sending encoded packet flags (reliable/unreliable/ordered) as that's already been done by ENet itself and we can read them from the incoming packet.
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-09-26ENet: Remove redundant if conditionRémi Verschelde
Closes #22445.
2018-09-25Set ENet service time to 0.Fabio Alessandrelli
Process all packets in queue, but never wait.
2018-09-13Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde
Misc. typos
2018-09-12Misc. typosluz.paz
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-05-12Expose channels in NetworkedMultiplayerENetFabio Alessandrelli
2018-05-08Document websocket module, further document enetFabio Alessandrelli
2018-05-07Enet: Add wait time param to close_connection()mhilbrunner
Enet: Allow to set client interface/address and port Enet: More error checks Fix comment
2018-04-13Add DNS resolution in NetworkedMultiplayerEnet::create_client()mhilbrunner
2018-04-12Implement get_peer_[address|port] in ENet/WSServerFabio Alessandrelli
Also implement get_connected_host and get_connected_port in WebSocketPeer (not supported in HTML5 due to browser limitation). Add shorthand disconnect_peer(id) for get_peer(id)->close() like in ENet to WebSocketServer.
2018-04-10NetworkedMultiplayerEnet: Add disconnecting/kicking peersmhilbrunner
2018-01-12Bind many more properties to scriptsBojidar Marinov
Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-15Remove "const" from PacketPeer get_packet/get_varFabio Alessandrelli
They are NOT constant methods, as state by the comment message, they fetch the last packet and then forget about it, actively changing the state of the object.
2017-11-25Made Vector::ptrw explicit for writing, compiler was sometimes using the ↵Juan Linietsky
wrong function, leading to unnecesary copy on writes and reduced performance.
2017-11-17Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde
Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-20ClassDB: Provide the enum name of integer constantsIgnacio Etcheverry
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-06-08Add zstd compression support.Ferenc Arn
zstd has much better compression speed and ratio, and better decompression speed than currently available methods. Also set zstd as the default compression method for Compression as well as FileAccessCompressed functions.
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-24ENet code cleanup and changes from review.Fabio Alessandrelli
2017-03-24Update ENet module to support custom ENet libFabio Alessandrelli
Keep compatibility with upstream enet libraries
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code