2243: Workaround for client crash on predicted explosion r=def- a=trml
I haven't been able to find the exact source of the problem yet, but at least this seems to get rid of the segfault. The crash only happened with with recent versions of gcc and -O3 for me.
Co-authored-by: trml <trml@users.noreply.github.com>
2239: Save active weapon with /rescue r=def- a=d3fault
If you don't have a certain weapon in your last m_SavePos and you get a weapon and then use /r before touching the ground, currently it's bugged and you'll *appear* to have that weapon still out after you use /r.... except it doesn't fire. This is because weapons are saved/restored as of cacf17bd96
A map to test this buggy behavior is Aim 5.0; swing and get the sg and then use /r before you hit the ground. It will *appear* as though you still have the sg, but it won't fire.
Co-authored-by: d3fault <d3fault@d3fault.net>
2231: Don't clamp values that have no reasonable values r=Learath2 a=def-
Still affects many values in editor, for example colors in tiles and quads.
Thanks to Pipou for report.
Co-authored-by: def <dennis@felsin9.de>
2237: clarified /practice voting instructions r=def- a=d3fault
If a person is attempting to enable practice mode for the *first time ever* (unfamiliar with it) and they're doing it with a dummy rather than a real player, the current message doesn't really explain the voting procedure very well. I for one expected to see an f3/f4 vote dialog and even filed a bug report on the matter (#2222). The current message does mention "/practice" but it didn't make me think "ok now I need to switch to my dummy and type /practice". For example when a person types "/map Epix" it doesn't then require everybody on the server to *also* type "/map Epix"..... in that case it uses the normal f3/f4 vote dialog.
Co-authored-by: d3fault <d3fault@d3fault.net>
2226: Fix image/sound selection in editor r=heinrich5991 a=def-
Follow-up to https://github.com/ddnet/ddnet/pull/2186 by @BannZay
Thanks to Cøke for notifying me
Co-authored-by: def <dennis@felsin9.de>
2202: Send DDNet version early in the connection process r=Learath2 a=heinrich5991
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.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2212: Use a consistent PRNG on all platforms r=Learath2 a=heinrich5991
I just used glibc's because that is what we use on all the servers. Based on https://www.mscs.dal.ca/~selinger/random/.
Behavior change: The PRNG is actually seeded now.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2204: Implement /practice for teams r=heinrich5991 a=def-
As discussed on Discord today, can be enabled inside of teams on the fly during each run on any server. Finishes don't count. I haven't tested save/load yet, would do that live on the server if this can be merged.
Co-authored-by: def <dennis@felsin9.de>
As discussed on Discord today, can be enabled inside of teams on the fly
during each run on any server. Finishes don't count. I haven't tested
save/load yet, would do that live on the server if this can be merged.
2213: Rename variables for consistency r=def- a=Zwelf
The following member variables:
* m_name to m_aName
* m_String to m_aString
* m_CpCurrent to m_aCpCurrent
* m_Switchers to m_paSwitchers
* SavedTees to m_paSavedTees
The first one is kind of obvious. The others followed while looking at the code. I am not sure if the m_pa prefix is the correct one, it's a pointer to a dynamically allocated array.
Co-authored-by: Zwelf <zwelf@strct.cc>
The following member variables:
* m_name to m_aName
* m_String to m_aString
* m_CpCurrent to m_aCpCurrent
* m_Switchers to m_pSwitchers
* SavedTees to m_pSavedTees
This came from a long discussion comparing PCG-* against xoroshiro*. Do
not generate integers without bias because it doesn't affect us very
much and it is easier to reimplement with modulo.