Age | Commit message (Collapse) | Author |
|
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:
* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.
* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.
* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.
* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.
C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.
GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.
This fixes #7354 and fixes #6947.
|
|
|
|
|
|
-fixes to make scenes exported from godot 2.x work
|
|
TCP/UDP listen bind to address and bugfixes
|
|
This fixes #6631
|
|
|
|
|
|
|
|
|
|
Enable WebGL2 in web export, start fixing build
|
|
Will not yet compile
|
|
We were reserving 12 bytes from the buffer for ip, port, and length, but since
IPv6 introduction we should be reserving 24 (IPv6 are 16 bytes)
|
|
We should probably create a specific function for setting the
recv buffer anyway. UDP sockets does not need to bind (listen)
to be able to call recvfrom. This is especially useful for clients
who just call set_send_address and start communicating with a server.
|
|
The ring buffer for receiving packets was not resized in constructor
|
|
TCP status polling is always performed as non blocking.
Trying to put a packet on a connecting socket will fail immediately.
|
|
OpenBSD does not support binding on both IPv4 and IPv6 using the same socket
|
|
- TCP:
- `listen` bind to wildcard "*" -> dual stack socket
- `listen` bind to address -> socket from address type
- `connect` -> resolve using best protocol (UNSPEC), socket from address type
- UDP:
- `listen` bind to wildcard "*" -> dual stack socket
- `listen` bind to address -> socket from address type
- `put_packet`/`put_var` -> resolve using TYPE_ANY (UNSPEC), socket from address type
(to change socket type you must first call `close` it)
|
|
|
|
|
|
|
|
|
|
|
|
than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
|
|
Fixes compilation on Windows and likely other platforms (at least
as far as AudioServer changes were concerned), though they were
not tested.
|
|
|
|
|
|
|
|
|
|
|
|
Matrix32 -> Transform2D
|
|
TCP connect always opens the correct socket type
|
|
Bug introduced in dcb95ec1473eff3f455909cd81c3cd50b1e1159b.
|
|
Fixes bug introduced in da4170540cbe3dcec4855ddbb59edf1abd7cf9b4.
|
|
added a check to detect this case in the future
|
|
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
|
|
|
|
|
|
TCP client connections does not need to rely on ipv6 dual stack sockets
|
|
|
|
|
|
|
|
Matrix32 -> Transform2D
Matrix3 -> Basis
AABB -> Rect3
RawArray -> PoolByteArray
IntArray -> PoolIntArray
FloatArray -> PoolFloatArray
Vector2Array -> PoolVector2Array
Vector3Array -> PoolVector3Array
ColorArray -> PoolColorArray
|
|
Fix for the huge audio latency (>200 ms) for the …
|
|
The MinGW-w64 version we have on our Travis build environment (Ubuntu 12.04,
mingw-w64 2.0.1, gcc 4.6) is old and has some missing includes in the
dependencies of the `tcpmib.h` header [0] [1] [2].
Those were not triggered before 6323779596dea0db7f58afef7d3d3d5588ef20cb
probably due to conflicting WINVER definitions which prevented triggering the code
specific to >= 0x0600 (Vista). We ensure it won't be triggered by defining the
_WIN32_WINNT macro to Windows XP compatibility.
|
|
Passed as a compiler define to be sure it is always define before windows.h
is loaded. This means that Godot officially requires Vista API or later, it will
not work on Windows XP or earlier.
Also fix a bogus check for Windows 7 API.
|
|
|
|
|
|
renamed to PoolVector
|
|
|