Age | Commit message (Collapse) | Author |
|
|
|
There was an error about undeclared malloc()+free().
|
|
Better handling of joypad device IDs.
|
|
Now InputDefault is responsible for giving out joypad device IDs to the platform, instead of each platform handling this itself.
This makes it possible for c++ modules to add their own "custom" gamepad devices, without the risk of messing up events in case the user also has regular gamepads attached (using the OS code).
For now, it's implemented for the main desktop platforms.
Possible targets for future work: android, uwp, javascript
|
|
X11 return to cwd at exit
|
|
Replace misuse of list iteration
|
|
Get rid of some compilation warnings.
|
|
Windows: Close audiodriver sooner on exit
|
|
Really fix iphone builds
|
|
|
|
Complete the globals.h -> global_config.h conversion
|
|
|
|
work though
|
|
|
|
Redone the commit based on the input in
https://github.com/godotengine/godot/pull/7851 . Not all warnings were
fixed but it's a start.
|
|
modified files)
-.pck and .zip exporting redone, seems to be working..
|
|
|
|
Also fix web builds on Windows and clean up
|
|
|
|
|
|
In #7839 I see the same error that was fixed in #7833 occuring on the
Windows platform. This moves the audio driver closing to the same place
in OS_Windows::finalize() as it is in OS_X11::finalize()
This fixes #7839
|
|
During runtime godot calls chdir() several times. This doesn't really
matter normally but when using tools such as gprof the location of the
profiling data is kind of hard to intuit.
With this PR we simply store the current working directory at start and
restore it once we're almost done exiting.
This doesn't use the OS abstractions as when we need to get the current
workdir we haven't yet initialized it (by necessity). This would break
if we tried to build X11 for windows, but since the X11 target is
hardcoded to use the UNIX abstractions I don't think it matters.
|
|
The audio driver cleanup needs to happen at the start of finish
otherwise a race still seems to exist with the destruction of the
audioserver. I think that destroying the X resoures before has something
to do with it.
|
|
The audiodrivers loaded by OS_X11 are not destroyed before the
audioserver is. This causes a segfault on exit.
The code is taken from os_windows.cpp which did have the cleanup code.
|
|
|
|
Add initialization for OS_OSX.mouse_mode in OS_OSX::OS_OSX(). mouse_mode now defaults to OS::MOUSE_MODE_VISIBLE.
|
|
This new name also makes its purpose a little clearer
This is a step towards fixing #56
|
|
TCP/UDP listen bind to address and bugfixes
|
|
Fix relative cursor data in CAPTURED mouse mode on Windows.
|
|
Close out audio drivers when exiting on Windows.
|
|
Removed DX9 Rasterizer in windows
|
|
Windows.
|
|
Prevents a crash when closing the project manager.
|
|
This doesn't seem to be needed anymore and the code to free the unused
rasterizer was throwing a memory violation since it was getting set to a
value somehow.
|
|
|
|
x11: don't wait for window to be mapped
|
|
Enable WebGL2 in web export, start fixing build
|
|
Fix issues with set_window_resizable on x11
|
|
Use -Ofast on x11. Also introduced use_lto option.
|
|
Will not yet compile
|
|
|
|
debug_release doesn't turn off optimizations for release target now. Ensure that sanitizer options apply to both C and C++ files.
Built-in optimization/debug flags are prepended such that user-specified flags can override them.
Based on and around the discussion in PR #5194.
|
|
|
|
mode (#7162)
|
|
Fixes #7421
|
|
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.
|
|
- 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)
|