Hein-Pieter van Braam
cff6840ff7
Add a simple signal handler for SIGCHLD on Unix
...
This fixes #6631
2017-02-09 22:08:35 +01:00
Juan Linietsky
6f2e16306a
Several bugfixes, improving the import workflow
2017-02-06 00:38:39 -03:00
Fabio Alessandrelli
5dc7c920bf
Fix buffer size check in UDP socket.
...
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)
2017-01-23 20:18:23 +01:00
Fabio Alessandrelli
9336857132
Use default UDP ring buffer size of 65536 for clients
...
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.
2017-01-23 20:18:23 +01:00
Fabio Alessandrelli
68dc969f8c
Fix bug causing UDP socket to close after the first send if not listening
...
The ring buffer for receiving packets was not resized in constructor
2017-01-23 20:18:23 +01:00
Fabio Alessandrelli
fa0cb7da0e
Avoid deadlock when writing/reading data on a connecting TCP socket
...
TCP status polling is always performed as non blocking.
Trying to put a packet on a connecting socket will fail immediately.
2017-01-23 20:18:23 +01:00
Fabio Alessandrelli
619e7a2c8b
Bind to IPv4 on OpenBSD when using wildcard
...
OpenBSD does not support binding on both IPv4 and IPv6 using the same socket
2017-01-23 20:18:23 +01:00
Fabio Alessandrelli
88a56ba783
Remove set_ip_type from network classes (no longer needed)
...
- 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)
2017-01-23 20:18:22 +01:00
Fabio Alessandrelli
2fe4ef6699
Implement UDP listen bind address
2017-01-23 20:18:18 +01:00
Fabio Alessandrelli
b2839343ca
Implement TCP Server bind address
2017-01-23 20:15:20 +01:00
Fabio Alessandrelli
98a7e2b4e0
Convert validity checks of IP_Address to is_valid method.
2017-01-23 20:15:20 +01:00
Fabio Alessandrelli
e4b9b37ccf
Avoid calling close when polling a UDP peer without socket
2017-01-23 20:15:20 +01:00
Rémi Verschelde
a992d3f74f
Merge pull request #7510 from Faless/tcp_connect
...
TCP connect always opens the correct socket type
2017-01-15 00:26:46 +01:00
Rémi Verschelde
479790a841
StreamPeerWinsock: Fix changed declarations
...
Bug introduced in dcb95ec147
.
2017-01-14 16:23:01 +01:00
Juan Linietsky
dcb95ec147
removed duplicated functions in class hierarchy that were bound more than once
...
added a check to detect this case in the future
2017-01-14 11:10:42 -03:00
Rémi Verschelde
93ab45b6b5
Style: Fix whole-line commented code
...
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.
2017-01-14 14:52:23 +01:00
Juan Linietsky
da4170540c
Fixed dir access return value, changed it to Error like all other funcs
2017-01-14 09:17:15 -03:00
Juan Linietsky
6c512b88c2
UDP.set_send_address to UDP.set_dest_address
2017-01-14 00:54:21 -03:00
Fabio Alessandrelli
55b4f3686d
TCP connect always opens correct socket type
...
TCP client connections does not need to rely on ipv6 dual stack sockets
2017-01-13 19:02:39 +01:00
Fabio Alessandrelli
65483d57bf
Improvements to scons defined WINVER/_WIN32_WINNT
2017-01-12 17:13:19 +01:00
Rémi Verschelde
b24fe6879a
Windows: Workaround missing includes in MinGW-w64 < 4
...
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 6323779596
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.
2017-01-09 12:10:25 +01:00
Rémi Verschelde
6323779596
Windows: Define _WIN32_WINRT to 0x0600 (Vista)
...
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.
2017-01-08 20:41:26 +01:00
Juan Linietsky
d9ca9d778d
Use more compatible initializarion of RWLockPosix
2017-01-08 11:35:32 -03:00
Juan Linietsky
2ab83e1abb
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
2017-01-07 18:26:38 -03:00
Juan Linietsky
53ce643e52
-Changed memory functions, Memory::alloc_static*, simplified them, made them aligned to 16
...
-Changed Vector<> template to fit this.
2017-01-06 10:15:44 -03:00
Juan Linietsky
0f7af4ea51
-Changed most project settings in the engine, so they have major and minor categories.
...
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky
118eed485e
ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
...
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde
3f3f5a5359
Merge remote-tracking branch 'origin/gles3' into gles3-on-master
...
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
0b2771bd65
Merge pull request #7271 from Faless/ipv6_cleanup
...
Fixes and improvementes for IPv6 implementation.
2017-01-02 15:51:45 +01:00
Rémi Verschelde
c7bc44d5ad
Welcome in 2017, dear changelog reader!
...
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Fabio Alessandrelli
de23ce11b5
Remove old unused AI_V4MAPPED flag to getaddrinfo
2016-12-09 23:38:14 +01:00
Fabio Alessandrelli
1aff508dd9
IP_Address now handle IPv4 and IPv6 transparently
...
IP_Address changes:
- Converts to and from String transparently while handling IPv4 as IPv6
mapped (::ffff:[IP]) address internally.
- Completely remove AddrType enum.
- Setting/Getting of ip array is now only possible through dedicated functions
(ie. set_ipv4, get_ipv4, set_ipv6, get_ipv6)
- Add function to know if the address is a valid IPv4 (for IP implementation and enet)
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
c18c5013f8
Migrate int.IP_TYPE_ constants to IP.TYPE_
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
4d90a4fcd5
Move V6ONLY flag selection inside helpers
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
9200da58e4
Automatically map IPv4 address to IPv6 when needed
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
95bdd97768
Use an instance variable for ip_type in raw sockets
...
PacketPeerUDP/StreamPeerTCP/TCP_Server now uses an instance variable
to store the selected ip_type (IPv4/IPv6/ANY, where ANY = dual stack).
All calls to resolve addresses, sending/receving data, connecting/listening
will use that socket type.
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
311f1f165b
Fix getaddrinfo failing on android
2016-12-09 18:24:58 +01:00
Fabio Alessandrelli
4f07b595a1
Properly handle tcp connection failure
2016-12-09 18:24:58 +01:00
Fabio Alessandrelli
cdc1ca0f13
Fix _set_ip_addr_port not setting the address.
2016-12-09 18:24:58 +01:00
eska
a6ae3204fb
OS additions and fixes for WebAssembly/asm.js
...
- Implement alert, shell_open, set_window_title
- Add locale lookup, fixes #2477
- Print without color control sequences
- Move get_executable_path implementation to OS_JavaScript
2016-11-30 22:01:55 +01:00
George Marques
b113c7b7a3
Rename WINRT_ENABLED to UWP_ENABLED
2016-11-03 14:51:08 -02:00
George Marques
3958171a7a
Merge pull request #7006 from vnen/fix-ipv6-uwp
...
Fix IPv6 linking for UWP
2016-11-01 12:39:45 -02:00
George Marques
4160b3c9fe
Fix IPv6 linking for UWP
2016-10-31 21:39:45 -02:00
Rémi Verschelde
d4c17700aa
style: Fix PEP8 whitespace issues in Python files
...
Done with `autopep8 --select=E2,W2`, fixes:
- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Fabio Alessandrelli
bdc7ca84ca
Define IPV6_V6ONLY flag if not defined on windows (old mingw versions)
2016-10-30 22:58:15 +01:00
Fabio Alessandrelli
eb27e993f0
TCP/UDP Listen sockets can now be set to IPv6 only
2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
812908e236
Fix windows debugger connection problems.
...
Unify network socket creation between platform.
Ensure IPV6_V6ONLY flag is not set on sockets (allow IPv4 connection in IPv6 socket, dual-stack).
2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
ee69bd81cf
TCPServer listen now default to IP type ANY (v6 socket with v4 support)
2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
25e29972a9
Fix PacketPeerUDP get_packet_port()
...
Properly convert port field from network to system ordering on incoming packets.
2016-10-26 18:27:01 +02:00
Rémi Verschelde
c67e3a485d
Merge pull request #6925 from godotengine/ipv6
...
Adding IPv6 support
2016-10-26 14:32:51 +02:00
Fabio Alessandrelli
80e911647c
Pass correct address size (ipv4,ipv6) to socket connect, bind, sendto
...
The address size passed to network system calls now reflects the the actual IP type (v4 or v6).
Fix Windows and OSX ipv6 sockets
2016-10-26 08:20:31 +02:00
Ariel Manzur
672225b710
added windows support for ipv6, cleaned up unix code
2016-10-20 07:04:10 -03:00
Ariel Manzur
1d45f35a4a
fixed some byte order and parsing problems
2016-10-19 18:32:36 -03:00
Ariel Manzur
887a897c02
adding ipv6
2016-10-18 18:53:18 -03:00
Rémi Verschelde
fc8ccd5b8c
SCsub: Add python shebang as a hint for syntax highlighting
...
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
248bc9159c
drivers: Refactor SCsub and drop redundant env_drivers clone
...
The reordering of the SConscript includes allows to ensure that
stuff like the builtin zlib headers will be available for libpng.
Also moved glew back into global env, otherwise windows seems
not to find it... Kind of shooting in the dark with this multi-env
setup.
2016-10-15 18:10:18 +02:00
Juan Linietsky
1527cf8c0d
2D Shaders are working again using the new syntax, though all is buggy in general
2016-10-10 18:31:01 -03:00
Juan Linietsky
fc61eb37ce
Merge pull request #5920 from 29jm/fix-warnings
...
Fix some more warnings
2016-09-10 12:21:02 -03:00
George Marques
c9b82498b4
Fix drivers coding for WinRT
...
- Add a proper function to retrieve IP addresses.
- Solve issues with Windows FileAccess and DirAccess to use the same code
for WinRT.
- Add patches to the GLES2 rasterizer to workaround ANGLE issues.
2016-09-03 19:36:44 -03:00
Johan Manuel
046f94d3ac
Remove some unused variables
2016-08-13 13:21:35 +02:00
Rémi Verschelde
22419082d9
Remove some noisy debug prints
...
Part of #5031
2016-07-17 18:25:21 +02:00
Juan Linietsky
f9bd038ca7
Removed no longer needed check
2016-07-02 13:32:07 -03:00
Juan Linietsky
ffbc2e56c9
Fix some bugs in diraccess, closes #5288
2016-06-30 18:23:39 -03:00
Juan Linietsky
8dac3bf3b1
Added function to notify ScriptLanguage when a thread is created/freed, allows scripts to allocate a stack there via TLS
2016-06-25 10:41:23 -03:00
Daniel J. Ramirez
422fac5066
Removed lots of prints
2016-06-18 18:01:06 -05:00
Juan Linietsky
e3905a084e
-made get_space_left() return values more homogenous, also for script, converted to mb, closes #4617
2016-06-18 11:32:45 -03:00
Juan Linietsky
61655d6dc2
Fixed make_dir and make_dir_recursive erros, closes #1680 closes #1872
2016-06-18 11:13:03 -03:00
Rémi Verschelde
a7fc04626a
Add missing license headers in our source files ( #5255 )
...
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Juan Linietsky
7f02627290
-Add visible IO errors when closing a file fails due to it being locked (most likely on windows), closes #4760
2016-06-13 10:10:50 -03:00
volzhs
9073dc9963
change invalid characters when get user data dir on Windows & Unix
...
Can't create user data folder when project name has ``\ / : * ? " < > |`` characters on OS_Windows & OS_Unix.
So, change it to ``-`` to be able to make folder.
fixes #4928 and it's altanative to #4986 .
2016-06-03 03:39:37 +09:00
Aren Villanueva
e5c1a2c3f7
Implements get_executable_path for OS X should proc_pidpath in os_osx.mm doesn't succeed. Silences the warning for javascript as the function currently appears superfluous.
2016-04-20 17:49:48 +10:00
Kyle Luce
674c6f2f2d
Add function to convert Date time from a dictionary to Epoch
...
- Also changed get_time_from_unix_time to get_date_time_from_unix_time to be
consistent.
Ticket:
https://github.com/godotengine/godot/issues/4038
2016-03-16 23:13:39 -07:00
Kyle Luce
feef563f3f
Fixes the month consistency issue in enums and get_date etc
...
- Also updated the docs to reflect this.
- Added some vim temp files to gitignore
- Changed NaCL to be consistent with the other OS_Unix::get_date implementation
(added 1 to month to map to 1-12)
Ticket:
https://github.com/godotengine/godot/issues/4025
2016-03-13 15:27:39 -07:00
Zher Huei Lee
d7052ddba3
Added relative paths for DirAccess::remove()
...
Follows similar behaviour to DirAccess::rename()
2016-03-01 10:40:31 +00:00
est31
fb1e52f4d8
Fix allocation bug if compiled with modern clang or gcc
...
* Add overflow checked intrinsic abstractions that check on overflow.
* Use them for memory allocation code.
* Use size_t type for memory allocation code to support full platform dependent width.
Fixes #3756 .
2016-02-19 07:58:42 +01:00
Ariel Manzur
0cd8c054a2
thread renaming
2016-01-31 20:23:24 -03:00
Ariel Manzur
b406aae790
total pointers
2016-01-31 20:23:24 -03:00
Juan Linietsky
c633a29a39
improve reporting of error in wrong inheritance for autoload script
2016-01-13 09:42:03 -03:00
Rémi Verschelde
7f82c8d7c5
Merge pull request #3230 from touilleMan/issue-55
...
Remove unnecessary null pointer checks
2016-01-11 12:00:44 +01:00
Juan Linietsky
a120c66f98
-Removed OS.get_system_time_msec(), this is undoable on Windows and also unusable from GDscript due to precision.
...
-Added, instead an OS.get_system_time_secs(), which is 32 bits friendly, fixes #3143
2016-01-10 18:24:55 -03:00
Juan Linietsky
52e53d4513
-Added a new mode, WRITE_READ to File, to recover compatibility with old projects but also achieve desired functionality. Closes #3272
2016-01-10 15:15:04 -03:00
eska
a6c1a5c6d0
Fix pthread renaming in Open/FreeBSD
2016-01-09 15:56:31 +01:00
Emmanuel Leblond
cabf923484
Remove unnecessary null pointer checks
2016-01-04 11:46:16 +01:00
Juan Linietsky
908f75c23f
having active items is pointless in input map
2016-01-03 18:52:42 -03:00
Juan Linietsky
5769f8aaae
Change rb+ to wb+ on file access READ_WRITE to allow more use cases, closes #2278
2016-01-02 12:03:33 -03:00
George Marques
5be9ff7b67
Update copyright to 2016 in headers
2016-01-01 11:50:53 -02:00
Ariel Manzur
02d6669a38
threads
2015-12-22 10:08:20 -03:00
Ariel Manzur
4a7e5fafb1
thread rename for ios and osx (if called from the thread to be renamed)
2015-12-18 02:58:30 -03:00
Ariel Manzur
10298b9534
thread set name
2015-12-17 06:24:27 -03:00
Juan Linietsky
95a469ad28
added binary API to StreamPeer, fixes #2863
2015-12-13 12:53:29 -03:00
est31
3dbf7dd7fa
Fix windows build
2015-12-09 16:06:00 +01:00
est31
e1d02e4831
Make the setting unix-only.
...
For this, put the detection into the OS class and its subclass.
2015-11-30 02:35:59 +01:00
Juan Linietsky
6127f17368
Merge pull request #2756 from trond/bugfix_udp
...
UDP fixes
2015-11-19 19:33:04 -03:00
Trond Abusdal
a8a2458f0b
Fixed mistake where available buffer size would not be updated for each recvfrom-call in PacketPeerUDPWinsockPposix.
2015-11-19 19:06:01 +01:00
Juan Linietsky
0c3386b2ed
Merge pull request #2707 from akien-mga/master
...
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Rémi Verschelde
9ab7de243f
Fix error messages forcing a white font for subsequent messages
...
This is achieved using the "no specific formatting" \E[0m tag.
Fixes #2566 .
Also remove the hardcoded black background colour and use default bolded terminal font for error message.
Error logs should now look good both on terminals with a dark and light background colour.
2015-11-10 18:30:40 +01:00
Rémi Verschelde
6334895088
Display error type (error, warning, script error) in OS::print_error
...
Previously all types of errors would be shown as ERROR, thus making for example warnings (WARN_PRINT) somewhat aggressive.
ERROR is displayed in red, WARNING in yellow and SCRIPT ERROR in magenta (though the latter does not seem used so far).
Fixes #1127 .
2015-11-10 18:29:34 +01:00
Trond Abusdal
41a161647d
* Winsock UDP messages sent to an unavailable target causing WSAECONNRESET will no longer close the socket.
...
* Ensured that unsigned<->signed conversion would not cause wrong buffer size values sent to recvfrom.
2015-11-09 01:33:16 +01:00
Trond Abusdal
f809cd44ea
Fixed PacketPeerUDP getting wrongly closed due to recvfrom using rb.data_left instead of rb.space_left.
2015-11-09 00:22:05 +01:00
Rémi Verschelde
399b1b0474
Cosmetic fixes to SCons buildsystem
...
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39 )
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00