Age | Commit message (Collapse) | Author |
|
Fix UNIX file open
|
|
In #10973 I refactored FileAccessUnix::_open() but I accidentally made
it impossible to create new files.
This fixes that and fixes #10984
|
|
Make UNIX file access more correct
|
|
Another take at fixing symlinks
|
|
Check for errors in the POSIX recommended ways.
|
|
|
|
The second in my quest to make Godot 3.x compile with -Werror on GCC7
|
|
Improve Mac/UNIX conformance/reliability
|
|
- The Windows, UWP, Android (on Windows) and Linux builds are
tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
|
|
|
|
|
|
For every UNIX-derived (Android, Linux, macOS, iOS) flavor, a global counter is atomically incremented on thread start. That id is kept as thread-local storage.
Therefore, thread ids are sequential numbers, trivially comparable. This improves the previous state of things, in which `pthread_t` were casted to `Thread::ID` and unportabily compared. Also big, ugly thread ids appeared.
|
|
Implemented with `nanosleep()`. `usleep()` is deprecated.
Also loops to ensure that __at least__ the requested time is waited, accounting for spurious interruptions.
May help in situations like reattempting to connect to the debugger.
|
|
|
|
Reworked change_dir to support symlinks
|
|
Fixes #10244.
|
|
|
|
|
|
|
|
When looking up a symbol from a library, previously an error was
shown when the symbol did not exist. That caused confusion when the
lookup was completely optional.
This adds a new parameter to that method so that those errors can
be handled manually if needed.
|
|
-Added system for feature overrides, it's pretty cool :)
|
|
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
|
|
|
|
|
|
Ignore non-IP addresses for both windows and unix
|
|
|
|
|
|
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
|
|
|
|
... really.
|
|
|
|
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan.
This adds a module to Godot that enables the use of dynamic libraries as a source for scripts.
That also allows third party libraries to be linked to Godot more easily and without creating modules.
For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
|
|
|
|
|
|
- Add blocking mode option to PacketPeerUDP.
- put_packet returns ERR_UNAVAILABLE when operation would block.
- ENet module uses non-blocking UDP.
|
|
windows.h is a mess.
|
|
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
|
|
|
|
modified files)
-.pck and .zip exporting redone, seems to be working..
|
|
TCP/UDP listen bind to address and bugfixes
|
|
This fixes #6631
|
|
|
|
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)
|
|
|
|
|