Commit graph

1565 commits

Author SHA1 Message Date
toger5
426c6b2c49 added to_ABGR32() to core/Color 2017-08-30 21:20:01 +02:00
Ferenc Arn
5ad8d310f2 Add a new decomposition to Basis.
This new decomposition splits the basis into a rotation-reflection matrix and a positive scaling matrix, which is required for physics calculations.
2017-08-30 09:37:18 -04:00
Ferenc Arn
a0bbf5c9af Remove Basis::set_scale and Basis::set_rotation_* functions.
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.

Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
2017-08-29 21:47:59 -04:00
Juan Linietsky
145ff58277 Fix constant reimport on broken files, closes #9930 2017-08-29 20:17:59 -03:00
Juan Linietsky
9c3bddfac2 Merge pull request #10745 from neikeq/fix-docdata-and-stuff
DocData and virtual method type hints fixes
2017-08-29 20:11:07 -03:00
Ignacio Etcheverry
ddb1ce08c3 Fixes missing default arguments in MethodInfo 2017-08-29 19:40:28 +02:00
Ignacio Etcheverry
c16d00591b DocData and type hints fixes
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types
- Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string.
- PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void.
- Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
2017-08-29 19:40:21 +02:00
Juan Linietsky
c812c17633 Made some methods to check method/signal availability in GDScript, closes #9800 2017-08-29 14:33:27 -03:00
Wilson E. Alvarez
b9d0579be9 Removed ParamDef and ParamHint structs 2017-08-29 04:28:17 -04:00
Juan Linietsky
8fce79aaee -Some fixes to code completion.
-Fix getter in code completion being displayed when it shouldn't
-Clean up preview generation for editors and exposed it as editor plugin
2017-08-28 00:04:24 -03:00
Matthias Hoelzl
b6e1e47e3a Make build scripts Python3 compatible
- 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.
2017-08-27 23:05:39 +02:00
Rémi Verschelde
7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Rémi Verschelde
c90bfcb1c6 Re-apply clang-format to all files
Some badly formatted code has managed to pass through our CI...
2017-08-27 14:16:32 +02:00
Ignacio Etcheverry
b50a937fe6 MethodBind: Adds operator== to compare by id 2017-08-26 21:41:25 +02:00
Rémi Verschelde
53c0010932 Merge pull request #10658 from henkz1/android-build
Fix Android build
2017-08-26 20:32:23 +02:00
Poommetee Ketson
4950ef7478 Fix double single quotes in connect error print 2017-08-27 00:46:33 +07:00
Henrik Andersson
3cd3c1da5f Fix refactored Object::cast_to in NO_SAFE_CAST branch 2017-08-26 18:59:37 +02:00
Rémi Verschelde
9f1e3903df Merge pull request #10648 from Xrayez/image-get-size
Add handy get_size() method to Image class
2017-08-26 18:37:08 +02:00
Rémi Verschelde
565600e844 Cleanup tons of obsolete commented out code
Mostly in EditorNode, dropping some obsolete editor plugins and also a
cleanup of ProjectSettings/EditorSettings.
2017-08-26 17:47:57 +02:00
Andrii Doroshenko (Xrayez)
4de96518c8 Add handy get_size() method to Image class 2017-08-26 15:01:21 +03:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Hein-Pieter van Braam
4aa2c18cb4 Add a static version of Object::cast_to()
This is to prepare to replace all instances of the member version of
cast_to().
2017-08-24 23:08:24 +02:00
volzhs
62bb600b5c Show proper string with InputEvent.as_text() 2017-08-25 01:14:36 +09:00
Juan Linietsky
05a6785344 GCC fixes 2017-08-24 00:50:16 -03:00
Juan Linietsky
36e0a72c77 -Code completion for enumerations
-Disabled GDNative and GDNativeScript so build compiles again
2017-08-24 00:06:56 -03:00
Juan Linietsky
3d1c031871 Changed MethodBind API to request information from methods. It's much claner now.
Also changed PropertyInfo to include informatino about class names.
2017-08-23 19:11:11 -03:00
Wilson E. Alvarez
298a6934b6 Moved member variables to initializer list 2017-08-22 11:47:50 -04:00
Juan Linietsky
8a4e05a440 Merge pull request #10520 from RandomShaper/fix-double-parsing
Fix tokenization of doubles
2017-08-22 10:02:42 -03:00
Rémi Verschelde
7f49e2a7a0 Merge pull request #10487 from marcelofg55/curscr_as_default
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22 08:12:04 +02:00
Rémi Verschelde
df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Rémi Verschelde
13f879587d Merge pull request #10254 from marcelofg55/master
Added notification const NOTIFICATION_WM_ABOUT
2017-08-22 00:56:31 +02:00
Juan Linietsky
2cc8309249 Merge pull request #10351 from neikeq/enums-are-for-the-weak
ClassDB: Provide the enum name of integer constants
2017-08-21 19:56:08 -03:00
Rémi Verschelde
92410df24c Merge pull request #10415 from tagcup/euler_hack
Fix incorrect workaround for pure Y (X) rotations in XYZ (YXZ) conven…
2017-08-22 00:54:39 +02:00
Rémi Verschelde
135027a2f6 Merge pull request #10225 from Noshyaar/map
GDScript Built-in: add inverse_lerp & range_lerp
2017-08-22 00:31:46 +02:00
Pedro J. Estébanez
6759a28050 Fix tokenization of doubles
Fixes #9600.
2017-08-21 23:59:29 +02:00
Rémi Verschelde
e9c43cecbf Merge pull request #10433 from djrm/pr_svg_support
SVG support
2017-08-21 23:49:07 +02:00
Marcelo Fernandez
63f847b306 p_screen param from get_screen_* funcs now default to the current screen 2017-08-21 18:28:29 -03:00
Rémi Verschelde
de261ef380 Merge pull request #10484 from Sipaha/pr_mt_queue_deadlock_fix
Fix deadlock in CommandQueueMT
2017-08-21 22:55:07 +02:00
Wilson E. Alvarez
738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Rémi Verschelde
4717d37bfa Merge pull request #10471 from akien-mga/args-doubledash
Third take at making command-line arguments more UNIX-like + main.cpp and help cleanup
2017-08-21 21:01:19 +02:00
Juan Linietsky
1be30f35a6 Fix binary object marshalling, closes #9472 2017-08-21 11:22:08 -03:00
Rémi Verschelde
93f1fb1c2f Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Always use long form of arguments when starting a new Godot process from C++, for clarity and easy grepping
- Cleanup obsolete code here and there
2017-08-21 08:09:22 +02:00
Juan Linietsky
533014b88c simplify the way window is allowed to steal focus, no longer relying on project.godot. Closes #9459 2017-08-20 23:42:54 -03:00
Ignacio Etcheverry
32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Daniel J. Ramirez
da8fecf25e Added support for SVG 2017-08-20 13:53:02 -05:00
Sipaha
f6ee4cac39 Move wait_for_flush out of queue lock 2017-08-21 01:10:44 +07:00
Juan Linietsky
541fdffc0a Merge pull request #10319 from neikeq/pr-engine-editor-hint
Adds Engine::is_editor_hint() method
2017-08-20 12:55:46 -03:00
Rémi Verschelde
f6c39830cb Merge pull request #10481 from neikeq/water-store-remark
Fixes Ref's GetTypeInfo missing with ptrcall disabled
2017-08-20 16:34:38 +02:00
Ignacio Etcheverry
af4c4397df Fixes Ref's GetTypeInfo missing with ptrcall disabled 2017-08-20 14:28:22 +02:00
Przemysław Gołąb (n-pigeon)
6d56c73de7 Exposed Transform.interpolate_with()
Additionaly changed values names for 2D version to more descriptive ones.
2017-08-20 00:09:45 +02:00
Juan Linietsky
b9dcebb37c Revert "Second take at making command-line arguments more UNIX-like + main.cpp and help cleanup" 2017-08-19 17:47:27 -03:00
Rémi Verschelde
70b0857f6c Fixes for new two-dash long command line arguments
- Fixes some single-dash leftovers that were missed in the previous commit
- Reorder the help output for clarity, and document missing options
- Drop obsolete options: --noop, --pack, --editor-scene, --level, --import, --import-script, --no-quit
- Improve error message on malformed arguments and do not display help on error
- Cleanup obsolete code here and there
2017-08-19 16:48:11 +02:00
Ignacio Etcheverry
fd69604bd9 Adds editor_hint to Engine class 2017-08-19 01:03:12 +02:00
Rémi Verschelde
18a7315381 Rename localization method to tr again
Partial revert of #10380 based on contributor ~~bullying~~ feedback.
2017-08-18 22:38:38 +02:00
Juan Linietsky
72be8876ea Properly manage drawing of primitives when they lack an area, fixes #8930 2017-08-18 15:12:48 -03:00
Poommetee Ketson
d28da86f9f GDScript Built-in: add inverse_lerp & range_lerp 2017-08-18 21:49:03 +07:00
Juan Linietsky
dc62389739 -Properly check limits to objects sent (regarding to size), fixes #9034
-Changed the way objects are marshalled and sent to the debugger
-Editing debugged objects happens in the remote inspector now
2017-08-18 10:59:31 -03:00
Rémi Verschelde
1a92906b68 Merge pull request #10406 from marcelofg55/closest_power_of_2
Add closest_power_of_2 func and implement mix_rate/latency on OS X
2017-08-18 08:12:56 +02:00
Ferenc Arn
94aa4092f5 Fix incorrect workaround for pure Y (X) rotations in XYZ (YXZ) convention.
Fixes #10352.
2017-08-18 01:45:36 -04:00
Marcelo Fernandez
eab850524e Add closest_power_of_2 func and implement mix_rate/latency on OS X 2017-08-17 19:51:13 -03:00
Rémi Verschelde
ee59e627de Merge pull request #10380 from akien-mga/XL_MESSAGE
Rename `XL_MESSAGE`/`tr` to `localize`
2017-08-17 22:41:55 +02:00
Rémi Verschelde
c72529baf0 Rename XL_MESSAGE aka tr to localize
Also renames `set_message_translation` to `set_message_localization`
for consistency.
2017-08-17 18:10:22 +02:00
Marcelo Fernandez
aae29c7a0e Added notification const NOTIFICATION_WM_ABOUT 2017-08-17 11:28:45 -03:00
Rémi Verschelde
a8a6082dc0 Merge pull request #8899 from toger5/BetterFlatStylebox
Better flat stylebox with rounded corners
2017-08-16 18:15:04 +02:00
TwistedTwigleg
00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
Rémi Verschelde
035d74f54a Rename cull_AABB to cull_aabb
Part of #8830.
2017-08-16 17:01:05 +02:00
Rémi Verschelde
a8207b2dc7 Merge pull request #10264 from Rubonnek/use-const-reference
Use const reference where favorable
2017-08-16 16:41:35 +02:00
kubecz3k
edd6dce622 Merge pull request #10334 from Faless/fix_spbuffer_utf8
Fix StreamPeer put_utf8_string not working
2017-08-15 23:06:40 +02:00
toger5
c39ac8650d Added Corner Enum 2017-08-15 19:36:34 +02:00
Andreas Haas
155402dc1b
Removing a Resource also deletes imported files. 2017-08-15 01:13:41 +02:00
Wilson E. Alvarez
21d281c4a9 Use const reference where favorable 2017-08-14 13:28:06 -04:00
Juan Linietsky
b7571582ed Ability to save objects to binary format 2017-08-14 11:59:23 -03:00
Fabio Alessandrelli
74795b98da Fix StreamPeer put_utf8_string not working 2017-08-14 13:19:02 +02:00
Rémi Verschelde
0e81053de8 Merge pull request #10296 from raymoo/fixstreampeerbuffer
Fix broken stream reading in StreamPeerBuffer
2017-08-13 17:24:49 +02:00
Ruslan Mustakov
8d26748f80 Implement OrderedHashMap 2017-08-13 17:38:00 +07:00
Andreas Haas
5052cb2b91
InputEventJoypadMotion: Add missing is_pressed() method. 2017-08-12 13:04:14 +02:00
Raymoo
f87100780e Fix broken stream reading in StreamPeerBuffer 2017-08-12 01:19:50 -07:00
Rémi Verschelde
5c6e41cc13 Merge pull request #10190 from tagcup/euler_yxz
Use YXZ convention for Euler angles.
2017-08-11 10:38:46 +02:00
Rémi Verschelde
7ed64327a9 Merge pull request #10163 from ISylvox/resoucre-to-resource
Core/io: Fix typo in resource_format_binary
2017-08-11 10:36:33 +02:00
Rémi Verschelde
5cb09d31d8 Merge pull request #10142 from bruvzg/3.0-osx-ime
Add IME support (macOS)
2017-08-11 10:35:10 +02:00
Rémi Verschelde
306c0471f7 Merge pull request #9987 from Rubonnek/move-members-to-initilization-list
Moved member variables from constructor to initialization list
2017-08-11 10:31:04 +02:00
Ignacio Etcheverry
78619a5866 Fixes method definitions with extra number of arguments 2017-08-10 07:17:51 +02:00
Ignacio Etcheverry
b8420cda9c Removes type information from vararg method binds 2017-08-10 07:17:51 +02:00
Ignacio Etcheverry
2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Ignacio Etcheverry
1e74f27f8f Adds missing type information to virtual method binds 2017-08-10 07:17:50 +02:00
Ignacio Etcheverry
46fdf16399 Improves method bind detection of signature types 2017-08-10 07:17:44 +02:00
bruvzg
8aa86cb9bc Implement NSTextInputClient protocol for IME 2017-08-09 19:09:33 +03:00
Ferenc Arn
53c23b0222 Use YXZ convention for Euler angles.
As discussed in issues #1479 and #9782, choosing the up axis (which is Y in Godot) as the axis of the last (or first) rotation is helpful in practical use cases.
This also aligns Godot's convention with Unity, helping with a smoother transition for people who are used to working with Unity (issue #9905).

Internally, both XYZ and YXZ functions are kept, for potential future applications.
2017-08-09 09:05:37 -04:00
Wilson E. Alvarez
6d112a68b6 Moved member variables from constructor to initialization list 2017-08-08 21:43:19 -04:00
Juan Linietsky
90a595ac42 Set some reasonable limits for sending information to the debugger, closes #5848 2017-08-08 20:55:22 -03:00
Indah Sylvia
51f56a4282 core/io: fix typo 'resoucre' to 'resource' 2017-08-08 12:02:49 +07:00
Juan Linietsky
cd9539f85d Display the Y angle properly when rotating from gizmo, partially helps #1479 2017-08-07 15:09:08 -03:00
Rémi Verschelde
e12b422c90 Merge pull request #10112 from ISylvox/completely-renaming-path_db
Renames Leftover 'path_db' -->> 'node_path'

[ci skip]
2017-08-07 15:09:43 +02:00
Indah Sylvia
83691fec4e renames leftover 'path_db' to node_path 2017-08-07 20:03:58 +07:00
Indah Sylvia
5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Juan Linietsky
134b3edf5a Merge pull request #10123 from bojidar-bg/7695-key-kp-enter
Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTER
2017-08-06 21:04:11 -03:00
Bojidar Marinov
7b7c7c8dc0
Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTER
Closes #7695
2017-08-06 16:26:07 +03:00
Juan Linietsky
475e8b28b2 keep default exported script values unless overriden, closes #8127 2017-08-06 09:33:59 -03:00
Ruslan Mustakov
789815466a Fix is_class check typo in ObjectDB::cleanup 2017-08-06 16:04:35 +07:00
Ignacio Etcheverry
97e942dd42 Merge pull request #10117 from neikeq/pr-classdb-getpropidx
ClassDB: Adds get_property_index method
2017-08-06 07:26:49 +02:00
Juan Linietsky
37adf936ab few bugs fixed thanks to explicit bool constructor and clang.
explicit bool constructor has thus now been removed, as it served it's mission!
2017-08-05 21:43:10 -03:00
Ignacio Etcheverry
aee99ab59f ClassDB: Adds get_property_index method 2017-08-06 02:04:10 +02:00
Juan Linietsky
a3a7fb83e6 Made bool constructor explicit in Variant to avoid bugs, fixes #7843 2017-08-05 19:50:53 -03:00
Juan Linietsky
cfe4b30941 renamed node path, closes #5691 2017-08-05 09:13:59 -03:00
Juan Linietsky
5c361485db -Added GLTF scene support (still missing animations and .glb extension)
-Fixed bugs regarding tangent generation in SurfaceTool
2017-08-02 15:43:49 -03:00
Pedro J. Estébanez
02607b3103 Use atomics for memory use tracking
Plus:
- An allocation is counted only after checking its success.
- Max usage is updated after growing reallocs as well.
- Drop unused header.
- Changed the 0xFFF.. at get_mem_available() to -1 with a comment telling it's the same, but more universal.
2017-08-01 01:50:56 +02:00
Rémi Verschelde
597ffa03b3 Merge pull request #9826 from RandomShaper/improve-atomics
Improve/add atomics
2017-07-31 23:30:07 +02:00
Rémi Verschelde
62464839ad Merge pull request #8567 from BastiaanOlij/ar_vr_server
AR/VR base classes and position tracker support
2017-07-31 13:29:18 +02:00
Rémi Verschelde
76005a8e75 Style: Apply clang-format on all files
Thus fixing some invalid changes that had still made it to the master branch.
2017-07-30 22:53:40 +02:00
Ruslan Mustakov
5804308c57 Fix passing Refs via ptrcall
There was no constructor for Ref from const pointer, so compiler decided
to construct Variant from pointer and then construct Ref from Variant
which turned it into NULL, because the Variant had null ref field.
2017-07-28 22:51:17 +07:00
Rémi Verschelde
3866829115 Merge pull request #9879 from RandomShaper/fix-mutating-settings-file
Fix mutating project.godot
2017-07-28 11:10:59 +02:00
BastiaanOlij
d2ba2d0873 Adding base classes and structures for ARVR support
Added ArVrScriptInterface

Added ARVRCamera, ARVRController and ARVROrigin helper objects
2017-07-28 10:39:15 +10:00
Karroffel
135c2112ad added an optional parameter to OS symbol lookup
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.
2017-07-27 11:13:21 +02:00
Rémi Verschelde
6645c7cc18 Merge pull request #9872 from bruvzg/3.0-num-enter-fix
Remove duplicate keycode constant for Numpad Enter key (3.0)
2017-07-27 08:52:52 +02:00
Pedro J. Estébanez
9aecc83cda Merge pull request #9892 from RandomShaper/fix-err-format
Fix misplaced quote in error messsage
2017-07-27 01:29:22 +02:00
Pedro J. Estébanez
748240b090 Fix misplaced quote in error messsage 2017-07-27 01:26:30 +02:00
Thomas Herzog
18e23ad4dc Merge pull request #9882 from endragor/nativescript-refcount
Forward refcount changes to NativeScriptInstance
2017-07-26 21:29:26 +02:00
Ruslan Mustakov
db9dcbddbc Forward refcount changes to NativeScriptInstance
This also changes Reference::unreference() to always invoke
refcount_decremented. Previously it was not invoked until the count
reached zero due to short-circuit evalution of boolean expressions.
2017-07-26 22:36:57 +07:00
Pedro J. Estébanez
1619aabfe1 Fix mutating project.godot
Namely:
- comment block lost on first save;
- config_version doubled as 3 and null on second save;
- format change on first save.
2017-07-26 16:13:38 +02:00
Thomas Herzog
9caf9fa76f Merge pull request #9720 from endragor/stack-bottom
Add a way to retrieve stack bottom of the main thread
2017-07-26 15:30:04 +02:00
Rémi Verschelde
668f4f437f Merge pull request #9873 from Noshyaar/pr-prop
Fix various property not found errors
2017-07-26 15:20:15 +02:00
Poommetee Ketson
0154098531 Fix various property not found errors 2017-07-26 20:03:13 +07:00
bruvzg
7de7ca8ae4 Remove duplicate keycode constant for Numpad Enter key. 2017-07-26 14:43:02 +03:00
Marcelo Fernandez
2144093fe6 Fix cvs files freezing the editor when a double quote is not closed 2017-07-25 22:38:28 -03:00
Rémi Verschelde
a931052c79 Merge pull request #9731 from Xrayez/gdscript-completion
Update GDScript completion names for Pool*Arrays
2017-07-25 21:05:42 +02:00
Rémi Verschelde
e4fe194fe5 Add newline after config_version and fix custom_features hint
Fixes #9818.
2017-07-25 21:02:38 +02:00
Andrii Doroshenko (Xrayez)
72436956dd Update GDScript completion names for Pool*Arrays
Notice: GDScript tokenizer used the old PoolFloatArray name.
Renamed PoolFloatArray to PoolRealArray.

Moved "project_settings.h" down one line to comply with the clang-format rules.

Fixes #9638

Closed pull request #9714 because I messed up with commits, sorry!
2017-07-25 12:14:40 +03:00
Ruslan Mustakov
3b88476130 Add a way to retrieve stack bottom of the main thread
I'm working on Nim bindings and Nim GC needs to know the stack
boundaries to check whether certain pointers are located on the stack
or in the heap. This commit adds godot_get_stack_bottom procedure
to gdnative module which returns pointer to the stack bottom of the
main thread. Later on this may be improved to return stack bottom of
the current thread.
2017-07-25 10:53:31 +07:00
Pedro J. Estébanez
27637b9e7f Improve/add atomics
- Remove use of non-builtin overloaded `InterlockedExhangeSubtract()` for Windows. Moreover, it was wrongly being used as if it hadn't a 64-bit version instead of being overloaded.
- Implement exchange-if-greater (as a CAS loop).
2017-07-25 01:49:22 +02:00
Rémi Verschelde
374cffaa11 Merge pull request #9764 from Noshyaar/pr-fix2
Add object type hint for docs
2017-07-24 08:07:32 +02:00
George Marques
f514fabf61
UWP: Fix build issue caused by atomic operations 2017-07-23 21:29:01 -03:00
Juan Linietsky
cf286ed287 Requesting for dictionary keys also respects insertion order, closes #9161 2017-07-23 12:24:03 -03:00
Thomas Herzog
9e483604a5 Merge pull request #9718 from endragor/ptrcall-fixes
Use specific size for numeric types in ptrcall
2017-07-23 16:35:10 +02:00
Poommetee Ketson
2777f81d29 Add object type hint for docs 2017-07-23 18:57:03 +07:00
L. Krause
aa798ebf8f Fix atomic operations in NO_THREADS builds 2017-07-22 22:06:01 +02:00
Juan Linietsky
3b2dfae5af function to add script and instance at once, as needed by neikeq 2017-07-22 16:57:56 -03:00
Juan Linietsky
0ad1a8f3d0 Script languges are uninitialized properly now. 2017-07-22 16:11:56 -03:00
Ruslan Mustakov
30176b0bb1 Use specific size for numeric types in ptrcall
The script system does not provide information about specific int
sizes, so we should establish convention to use the largest size
(64 bits). For real types double is always used.
2017-07-20 11:50:18 +07:00
Juan Linietsky
25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Thomas Herzog
45b498c4e0 Merge pull request #9699 from RameshRavone/master
[gdnative] `Object::_get` return type and dynamic property
2017-07-19 13:07:06 +02:00
Rémi Verschelde
c5ba9d9b7c Merge pull request #9703 from Noshyaar/docs
Add object type hint for docs
2017-07-19 10:00:20 +02:00
geequlim
5a2500f580 Fix errors with global config names no more sorrys please 2017-07-19 09:25:50 +08:00
Poommetee Ketson
49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Ramesh Ravone
826c51c70e
_get return type fix 2017-07-18 21:09:46 +05:30
Rémi Verschelde
e089989777 Merge pull request #9608 from RandomShaper/more-atomics
Implement more atomic ops
2017-07-18 07:48:25 +02:00
Juan Linietsky
bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Pedro J. Estébanez
00d60125df Implement add & subtract atomics 2017-07-17 23:26:53 +02:00
Rémi Verschelde
8691355158 Merge pull request #9634 from vnen/gzip-compression
Add GZIP compression support
2017-07-17 22:40:47 +02:00
Juan Linietsky
4366b7c8b0 Added a simpler/faster way to bind script languages instance wrappers to Godot 2017-07-16 12:40:23 -03:00
Andreas Haas
2b7b67b7b1
Bindings: Fix Object::get_meta return type.
The method was shown as void in the docs.
2017-07-16 11:57:08 +02:00
Juan Linietsky
741145febd -Fix for multiple reflection probes causing issues.
-Fix for positional sound corruption to avoid making people deaf.
2017-07-15 18:42:06 -03:00
Juan Linietsky
2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
George Marques
0f765c86e5
Add GZIP compression support
- Fix a wrong call in PoolByteArray::compress
2017-07-13 14:41:10 -03:00
Poommetee Ketson
fdd2a87b8f Ignore fuzzy translations 2017-07-12 21:49:22 +07:00
Pedro J. Estébanez
9a868cd846 Add atomics for 64-bit integers
The public API looks the same but with added overloads.
The implementation uses templates or overloads depending on the context
to avoid code duplication.
2017-07-11 17:17:25 +02:00
Rémi Verschelde
a5bb77d523 Merge pull request #9366 from GodotExplorer/pr-ime-position-flow-cursor
IME window follow the input cursor.
2017-07-11 17:07:14 +02:00
Rémi Verschelde
faae28c955 Merge pull request #9607 from Noshyaar/astar
AStar: add bool has_point(id)
2017-07-11 16:45:38 +02:00
Rémi Verschelde
b708546f50 Merge pull request #9602 from ducdetronquito/master
[#7212] Fixed missing 'Variant' return values in documentation.
2017-07-11 16:44:21 +02:00
Poommetee Ketson
2c9f6312e2 AStar: add bool has_point(id) 2017-07-11 21:06:30 +07:00
Rémi Verschelde
711ebafa71 Revert "Improve reliability of memory stats" 2017-07-11 14:26:34 +02:00
Pedro J. Estébanez
6758ba0d93 Merge pull request #9014 from RandomShaper/improve-mem-stats
Improve reliability of memory stats
Memory block byte tagging
2017-07-11 14:19:45 +02:00
ducdetronquito
074801e7a9 [#7212] Fixed missing 'Variant' return values in documentation. 2017-07-11 13:25:51 +02:00
geequlim
7358766ff6 IME window follow the input cursor.
Abstruct set_ime_position to OS class.
Update ime position for LineEdit and TextEdit.
2017-07-11 18:36:20 +08:00
Poommetee Ketson
5a9eb5ef58 Include Git hash in the engine 2017-07-11 15:57:52 +07:00
Poommetee Ketson
2fd204c35e Refactor 'treshold' to 'threshold' 2017-07-08 22:24:56 +07:00
ducdetronquito
566655adc1 [#9292] Renamed Image.put_pixel() to set_pixel(). 2017-07-07 19:05:45 +02:00
Rémi Verschelde
6f63a01302 Merge pull request #8943 from RandomShaper/fix-error-handling
Implement well-defined handling of unrecoverable errors
2017-07-05 10:55:11 +02:00
Pedro J. Estébanez
779693a79b Implement byte-tagging of memory
Using a magic value for memory allocated but uninitialized and another one for memory about-to-be-released. Helps in debugging unitialized members, dangling pointerts, etc.

Disabled by default. Can be enabled for debug builds by defining `DEBUG_MEMORY_TAGGING`.
2017-07-05 10:31:13 +02:00
Pedro J. Estébanez
490a2ff0b9 Improve reliability of memory stats
The allocation count is managed atomically and where it actually should
change (for instance, not counting an allocation before its success has
been checked).

Bonus: Improve readability of the pre-pad checks.
2017-07-05 10:26:55 +02:00
Pedro J. Estébanez
211c451890 Implement well-defined handling of unrecoverable errors
Plus the addition of some convenience CRASH_* error macros.
Plus transient avoidance of the flood of warnings emitted by Clang when checking 'this' for NULL.
Plus explanation about the do-while(0) loop in some error macros.
2017-07-05 09:31:44 +02:00
Juan Linietsky
7263137dba Implemented environment arrays for skybox reflection and roughness, quality increase is enormous. 2017-07-04 23:53:08 -03:00
Rémi Verschelde
e54c7d5715 Merge pull request #9457 from TwistedTwigleg/Fixed_Vector3_snap
Fixed syntax inconsistency in Vector3.snap and Vector3.snapped
2017-07-03 23:43:33 +02:00
TwistedTwigleg
44ecfb028d Fixed syntax inconsistency in Vector3.snap and Vector3.snapped 2017-07-03 16:29:03 -04:00
Juan Linietsky
2a3e00c8c7 -Many fixes to VisualScript, fixed property names, etc.
-Added ability to set/get a field in GetSet, as well as assignment ops
-Added a Select node
-Fixed update bugs related to variable list and exported properties, closes #9458
2017-06-30 21:35:05 -03:00
Juan Linietsky
db3b05d289 Reworked translation system
-Label and Button reload translation on the fly
-Resources are loaded and reload depending on locale
2017-06-28 17:01:35 -03:00
Rémi Verschelde
6f0762ba5d Merge pull request #9195 from kubecz3k/obj-incoming-connections
Ability to get a list of signals that are targeting given object
2017-06-27 00:06:42 +02:00
Juan Linietsky
760cdbe1a3 -Added folding to property editor, persistent on objects it edits
-Some changes to tree to support this properly
2017-06-25 17:31:22 -03:00
geequlim
4b2a44054a Fix crash with String copy from with NULL string parameter 2017-06-25 21:57:06 +08:00
Rémi Verschelde
87fd71244b Merge pull request #9334 from Noshyaar/pr-genh
BuildSystem: generated files have .gen.extension
2017-06-25 11:08:36 +02:00
Rémi Verschelde
8efd835009 Merge pull request #9348 from bojidar-bg/9299-save-device-ids
Make the InputEvent device property get saved
2017-06-25 10:55:03 +02:00
Poommetee Ketson
e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Rémi Verschelde
9c186a754f Merge pull request #8783 from bojidar-bg/fix-range-loop-type
Fix for..in range() resulting in floats instead of ints
2017-06-24 23:39:55 +02:00
dumitru-stama
9ce0538ab3 Added 'blit_rect_mask' for 3.0 too 2017-06-24 08:53:54 -07:00
Bojidar Marinov
7542896046
Make the InputEvent device property get saved
Fixes #9299
2017-06-24 16:28:19 +03:00
Juan Linietsky
00e5ba3143 Remove methods from code completion which are already exposed by properties, makes completion cleaner and more close to the documentation. 2017-06-23 15:10:46 -03:00
Ignacio Etcheverry
a87c7f1328 Image: Fix wrong method DEFVAL 2017-06-23 03:51:36 +02:00
Juan Linietsky
3f2cd75c6f Fix shortcuts, make them visible again and work. 2017-06-22 19:57:59 -03:00
Bojidar Marinov
26a51c3c0b
Reimplement for..in range() so that it always results in ints
Fixes #8278, fixup of bfef8de1bc
2017-06-22 20:41:52 +03:00
Pedro J. Estébanez
0b776f9a30 Add atomics for 64-bit integers 2017-06-22 05:29:58 +02:00
Karroffel
40bb90fabd fixed ptrcall cast for const Ref<T>
Some methods require a const Ref<T> argument,
the ptrcall method wrappers cast `void *` to the
apropriate types. The problem is that there is no `Ref(const T *)`
constructor, but since Ref modifies the refcount of a Reference
anyway there's no point in a const version.

The problem is that with a `const T *` constructor call, the
argument gets converted to Variant first and loses all the
reference information, resulting in a null reference as the
argument to the constructor.
2017-06-20 21:38:21 +02:00
dumitru-stama
82d8da2a48 Fixed a string class bug 2017-06-19 20:08:31 -07:00
Thomas Herzog
b6b225f4c5 Merge pull request #8870 from tagcup/pathfollow
Fix PathFollow rotations.
2017-06-19 23:30:40 +02:00
Thomas Herzog
9d67be447a Merge pull request #9274 from vnen/compress-functions
Expose compression functions to GDScript
2017-06-19 22:59:24 +02:00
George Marques
5c779c574a
Add compression support for File object 2017-06-19 16:38:37 -03:00
George Marques
af7d590206
Add basic compression functions to PoolBaseArray 2017-06-19 16:38:10 -03:00
d
053a4fdcd9 Added two new methods to 3.0 'blend_rect_mask' and 'fill' 2017-06-18 11:29:37 -07:00
Juan Linietsky
5c6cac4e53 Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far. 2017-06-17 23:27:42 -03:00
George Marques
b1537da605 Merge pull request #9231 from dumitru-stama/constimg
Fixed a bug in get_pixel not being const
2017-06-16 22:09:26 -03:00
Juan Linietsky
b19225bfce -Fix freezes caused by etccomp2, closes #9183
-Normalmaps are now detected and imported as RGTC, both in S3TC and ETC2, this improves their quality.
2017-06-16 21:49:37 -03:00
dumitru.stama
7787700aca Fixed a bug in get_pixel not being const 2017-06-16 17:29:05 -07:00
Rémi Verschelde
3fadbe2172 Merge pull request #9201 from vnen/rename-extensions
Rename Godot-specific resource extensions
2017-06-16 13:01:10 +02:00
Marc Gilleron
4dbe0967d5 Fixed memory leaks
- PoolVector leak
- mesh_remove_surface leak
2017-06-16 02:39:16 +02:00
George Marques
e42d59f01e
Rename Godot-specific resource extensions 2017-06-15 21:35:20 -03:00
Rémi Verschelde
43a84429ff doc: Sync classref with current source
Tried to salvage what I could of the Image and InputEvent changes.
2017-06-15 20:52:51 +02:00
Rémi Verschelde
4f8d9f0915 Merge pull request #9177 from tagcup/gcc5_isinf
Use inline code for isinf with gcc versions <6.
2017-06-15 20:46:10 +02:00
Jakub Grzesik
8ff5e50513 Ability to get a list of signals that are targeting object 2017-06-15 15:32:30 +02:00
Ferenc Arn
cd1e14b1da Use inline code for isinf as a workaround for libstdc++ versions from gcc 5.x era.
Fixes #9166.
2017-06-14 18:30:22 -05:00
Rémi Verschelde
108d8bcfc0 Merge pull request #9157 from capnm/fix-https-request
Don't append standard ports to the request header.
2017-06-14 23:15:38 +02:00
Rémi Verschelde
19017a760c Merge pull request #9158 from Hinsbart/script_templates
Add ability to use custom script templates.
2017-06-14 23:11:41 +02:00
Rémi Verschelde
a91b62e4c7 Merge pull request #9175 from bd339/iss9156
Correct Image::blit_rect
2017-06-14 22:46:10 +02:00
Rémi Verschelde
c769a38c07 Merge pull request #9155 from kubecz3k/check-process-type
Ability to check if we are in fixed thread, solves: #3698
2017-06-14 17:21:54 +02:00
Benjamin Dahse
075997c563 Rewrite Image::blit_rect to use the following algorithm:
1. Let r1 be the source rectangle clipped against the entire source image rectangle.
2. Let r2 be r1 offset by p_dest, clipped against the entire destination image rectangle.
3. Copy pixels from r1 to r2.
2017-06-14 15:56:58 +02:00
Juan Linietsky
a8e845a474 Merge pull request #8548 from tagcup/etc2comp
Add ETC1/ETC2 compression support though etc2comp.
2017-06-13 19:17:13 -03:00
Martin Capitanio
5cabe5f0fc Don't append standard ports to the request header.
Breaks the SSL communication with some servers,
do the same that the other curl, wget, firefox & co clients do.

Fixes #9146
2017-06-13 22:58:23 +02:00
Andreas Haas
8361b1ce07 Add ability to use custom script templates.
Templates will be loaded from .godot/script_templates
For now they're disabled for GDNative.

Ideas for further improvements:

- Add a "Save as Template" option to the script editor, as it can normally only save to res://
- Support more placeholders / custom placeholders
2017-06-13 20:03:08 +00:00
kubeczek
a81b706e09 Fixed thread check, solves: #3698 2017-06-13 17:49:28 +02:00
Ferenc Arn
98261e2df2 Expose zstd and zlib compression levels as global config. 2017-06-11 20:27:07 -05:00
Juan Linietsky
12b2652ecb Merge pull request #9104 from tagcup/zstd
Add zstd compression support.
2017-06-11 18:41:56 -03:00
Zher Huei Lee
9ecdf522bd Added EditorPlugin.remove_import_plugin()
Allows addons with import extensions to clean up properly on
removal.
2017-06-11 17:18:22 +08:00
alexholly
935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Ferenc Arn
f177c15347 Add zstd compression support.
zstd has much better compression speed and ratio, and better decompression speed than currently available methods.
Also set zstd as the default compression method for Compression as well as FileAccessCompressed functions.
2017-06-08 23:48:14 -05:00
Juan Linietsky
612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Poommetee Ketson
fcaddeccbb
Fix build error, commit bee81d5 2017-06-08 12:48:59 +07:00
Rémi Verschelde
b52466f793 Merge pull request #9002 from Hinsbart/key_action_match
InputEvent: Restore old behaviour for matching key events to actions.
2017-06-08 07:43:18 +02:00
Rémi Verschelde
bee81d5214 Merge pull request #8981 from toger5/addedGrowFunction
implemented grow(left,top,right,bottom) function
2017-06-08 07:41:54 +02:00
Rémi Verschelde
71ada5bc2c Merge pull request #9015 from mcanders/mcanders/ParseObjectVariantFix
Fix Variant::OBJECT token parsing
2017-06-07 07:51:32 +02:00
toger5
66b308925c added grow functions to Rect2
- grow_individual
 - grow_margin
2017-06-05 01:11:00 -07:00
Carter Anderson
0a8de39bb1 Fix Variant::OBJECT token parsing 2017-06-04 21:33:09 -07:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Rémi Verschelde
5a6d4971e1 Merge pull request #8973 from thomas-goerlich/8957_rand_range_bugfix
Fixed rand_range not returning correct random values on windows
2017-06-03 08:44:07 +02:00
Rémi Verschelde
59322d4cc4 Merge pull request #9011 from karroffel/ptrcall-nightmare-fix
fixed PowerState enum cast
2017-06-01 09:42:05 +02:00
Ferenc Arn
6a9c990da7 Add ETC1/ETC2 compression support though etc2comp.
Remove rg-etc1 code. Also updated travis to use ubuntu 14.04.

Fixes #8457.
2017-05-31 18:59:00 -05:00
Juan Linietsky
a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
Karroffel
6bda2876f1 fixed PowerState enum cast
Quite a while ago I made a commit (131631b) where I did a weird
thing to fix compilation with PTRCALL_ENABLED. And I couldn't
sleep because of this after all these months. So here is the
proper version.
2017-06-01 00:16:33 +02:00
Ferenc Arn
a1c8896d9d Fix PathFollow rotations.
Used parallel transport to move the object along the curve. Also introduced a few more math checks useful for debugging.
2017-05-31 13:58:31 -05:00
Andreas Haas
c218390864
InputEvent: Restore old behaviour for matching key events to actions.
Original code in 9100db7
2017-05-30 22:27:55 +02:00
Juan Linietsky
5567e898d1 Several fixes related to PBR and Environment 2017-05-30 08:56:19 -03:00
Thomas Görlich
2c6449c4fc Changed enum to const because enum with uint64 size does not work on VSC++ Compiler 2017-05-29 23:56:21 +02:00
Poommetee Ketson
ff03d846eb NaturalSort: strings start with . treated differently 2017-05-29 09:59:02 +07:00
Juan Linietsky
bb20f230ad -Added .hdr format support
-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-28 21:48:05 -03:00
Rémi Verschelde
378ebffb23 Merge pull request #8936 from Hinsbart/fix_action
Fix InputEvent actions.
2017-05-27 11:29:05 +02:00
Andreas Haas
3204befd1e
Fix InputEvent actions.
The `InputEvent::is_action(pressed|released)` methods weren't implemented yet.
Also fixed a typo in `InputDefault` that prevented `Input.is_action(pressed|released)` from working.
2017-05-27 10:52:57 +02:00
Juan Linietsky
f89641907f -Added EXR supprot for HDR (no BC6 compression yet though)
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
2017-05-26 22:31:32 -03:00
Andreas Haas
3744d9fd55
Fix virtual methods in InputEventKey.
This fixes a lot of problems with key input in the engine.
2017-05-25 21:56:54 +02:00
Juan Linietsky
7c89e00d46 Merge pull request #8590 from tagcup/s3tc_stuff
Use libsquish to decompress DXT textures.
2017-05-25 16:29:04 -03:00
Rémi Verschelde
7592c2380d Merge pull request #8898 from vnen/screentouch-struct-class
Change InputEventScreenTouch from struct to class
2017-05-25 08:40:27 +02:00
George Marques
452caf3f80
Change InputEventScreenTouch from struct to class 2017-05-24 16:06:07 -03:00
Martin Capitanio
29c5b4c7e6 Fix 2D-editor mouse wheel zoom (x11).
Fixes #8888
2017-05-24 10:02:43 +02:00
Juan Linietsky
afcce9eb12 -Fix the "set_val" call deferred, it was the only one.. closes #8742
-Removed redundant bind in input_event
2017-05-23 09:06:22 -03:00
Juan Linietsky
6161e731d0 fixed crash on code that checks InputEvent 2017-05-23 08:13:11 -03:00
Rémi Verschelde
ce51138b38 Merge pull request #8786 from bojidar-bg/fix-astar-weight-scale
Fix weigth scale of A* being applied to the whole estimation
2017-05-22 15:16:20 +02:00
Bojidar Marinov
bd91730347
Fix weigth scale of A* being applied to the whole path and estimation
Attempt to fix #8584
2017-05-22 15:55:49 +03:00
Ferenc Arn
e4eb093c62 Avoid overestimating the cost in AStar heuristics.
This is a necessary condition for finding optimal solutions.
This is achieved by simply requiring/ensuring that no weights are smaller than 1.

Fixes #8584.
2017-05-21 15:13:09 -05:00
Juan Linietsky
5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Rémi Verschelde
c7650c363b Merge pull request #8829 from supagu/astar-bidirectional
Added bool to allow astar points to be connected in one direction only
2017-05-20 09:49:28 +02:00
Emmanuel Leblond
abcb044bf3
Finish implementation of GDnative builtins bindings 2017-05-19 23:28:15 +02:00
Fabian Mathews
2262a59ab3 Added bool to allow astar points to be connected in one direction only 2017-05-19 20:46:45 +09:30
Ferenc Arn
3c175115eb Use libsquish to decompress DXT textures. 2017-05-18 16:57:53 -05:00
Rémi Verschelde
1f62c33141 Merge pull request #8807 from RandomShaper/mq-flush-reentrant
Make MessageQueue::flush() reentrant
2017-05-18 18:52:55 +02:00
Rémi Verschelde
c2854381b3 Merge pull request #8649 from neikeq/pr-ringbuffer-find
RingBuffer: Adds find() method
2017-05-18 13:42:56 +02:00
Pedro J. Estébanez
983fd3a7bb Make MessageQueue::flush() reentrant 2017-05-18 13:02:49 +02:00
Rémi Verschelde
c3baf5eb3c Fix two typos from previous commit
Also cleanup comments on variant types.
2017-05-17 18:45:56 +02:00
Juan Linietsky
98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Damian Day
f2564ca97f Fix natural sorting order in EditorFileDialog, FileDialog and EditorFileSystemDirectory
Make EditorFileDialog, FileDialog and EditorFileSystemDirectory alphanumerical sorting more natural

Added a new method 'naturalnocasecmp_to' and comparator 'NaturalNoCaseComparator' to String.

Fixes #8712.
2017-05-12 13:02:25 +01:00
Marcelo Fernandez
bba8f1db30 Fixed the IP resolver code blocking the main thread, it uses a Mutex now to lock its own thread. 2017-05-08 21:30:48 +02:00
toger5
304a1f5b5a Implemented scrolling factor for smooth trackpad scrolling
Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.
2017-05-07 14:23:56 +02:00
Rémi Verschelde
18df047f0b Merge pull request #8658 from Faless/explain_out_of_mem_msg_queue_master
Better explain out of memory error in message queue
2017-05-05 23:09:30 +02:00
Rémi Verschelde
e58519eb31 Merge pull request #8642 from RandomShaper/fix-pack-get-curr-dir
Fix infinite loop in DirAccessPack::get_current_dir()
2017-05-05 23:02:07 +02:00
Fabio Alessandrelli
1a7aafa90d Better explain out of memory error in message queue
Also effectively saves one unnecessary call when everything is fine.
2017-05-05 19:56:54 +02:00
Ignacio Etcheverry
803a54d93c RingBuffer: Adds find() method 2017-05-05 02:09:43 +02:00
Pedro J. Estébanez
5c0188b5c3 Fix infinite loop in DirAccessPack::get_current_dir() 2017-05-04 02:20:53 +02:00
Rémi Verschelde
7ce8342ac5 Rename project file to "project.godot"
Slimmed down variant from the reverted #8375.
The rationale behind the name change is to give Godot's project file a unique
extension (".godot") that can be registered on the OS to be associated with
the Godot binary (OS registration not implemented here).

This PR also adds the possibility to start the game or editor if launched
with the project.godot passed as argument, which paves the way for allowing
a similar behaviour on a double-click in the OS file manager (code originally
by @Hinsbart).

Closes #6915.
2017-05-01 17:50:19 +02:00
Rémi Verschelde
de7eba887e Merge pull request #8572 from akien-mga/thirdparty
Moving more thirdparty stuff (minizip, some single-file external libs) to the thirdparty directory
2017-04-29 22:57:49 +02:00
Juan Linietsky
6d2f985db4 Revert "Use .godot as file extension for project files." 2017-04-29 17:56:51 +02:00
Rémi Verschelde
d4029aa51a Move other lone thirdparty files to thirdparty/misc
Also move Box2D ConvexDecomposition contrib code to
thirdparty/b2d_convexdecomp.
2017-04-28 21:19:25 +02:00
Rémi Verschelde
c5f830d6b9 Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from 150e125cba/smaz.c

With a small modification to match Godot expectations:
```
diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c
index 9b1ebc2..555dfea 100644
--- a/thirdparty/core/smaz.c
+++ b/thirdparty/core/smaz.c
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #include <string.h>

 /* Our compression codebook, used for compression */
-static char *Smaz_cb[241] = {
+static const char *Smaz_cb[241] = {
 "\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS",
 "\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277",
 "\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336",
@@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = {
 "e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com"
 };

-int smaz_compress(char *in, int inlen, char *out, int outlen) {
+int smaz_compress(const char *in, int inlen, char *out, int outlen) {
     unsigned int h1,h2,h3=0;
     int verblen = 0, _outlen = outlen;
     char verb[256], *_out = out;
@@ -167,7 +167,7 @@ out:
     return out-_out;
 }

-int smaz_decompress(char *in, int inlen, char *out, int outlen) {
+int smaz_decompress(const char *in, int inlen, char *out, int outlen) {
     unsigned char *c = (unsigned char*) in;
     char *_out = out;
     int _outlen = outlen;
@@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) {
             inlen -= 2+len;
         } else {
             /* Codebook entry */
-            char *s = Smaz_rcb[*c];
+            const char *s = Smaz_rcb[*c];
             int len = strlen(s);

             if (outlen < len) return _outlen+1;
diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h
index a547d89..a9d8a33 100644
--- a/thirdparty/core/smaz.h
+++ b/thirdparty/core/smaz.h
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #ifndef _SMAZ_H
 #define _SMAZ_H

-int smaz_compress(char *in, int inlen, char *out, int outlen);
-int smaz_decompress(char *in, int inlen, char *out, int outlen);
+int smaz_compress(const char *in, int inlen, char *out, int outlen);
+int smaz_decompress(const char *in, int inlen, char *out, int outlen);

 #endif
```
2017-04-28 21:19:24 +02:00
Rémi Verschelde
2398eb6ed4 Move core thirdparty files to thirdparty/{minizip,misc} 2017-04-28 21:19:23 +02:00
Andreas Haas
c530d8f43c
Fix recognition of resource extensions.
Also removes a related debug print.
2017-04-26 23:07:23 +02:00
volzhs
ec1c7ce6c3 Fix wrong fallback for locale 2017-04-26 04:48:03 +09:00
Rémi Verschelde
1dc689b513 Merge pull request #8506 from iam13islucky/patch-1
[3.0] Fix bug in Image::_get_pixelb
2017-04-24 12:02:10 +02:00
Rémi Verschelde
bd885ed704 Merge pull request #8469 from Melix19/patch-2
Update snake_case splitting
2017-04-24 11:38:36 +02:00
Rémi Verschelde
68870af214 Merge pull request #8420 from magyar123/pr-script-files-as-base
Added the ability to select files as base when creating scripts
2017-04-24 11:28:36 +02:00
Rémi Verschelde
5ae1e172da Merge pull request #8277 from tagcup/math_checks
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
iam13islucky
73a9a85bc9 [3.0] Fix bug in Image::_get_pixelb
Fixes issue:
 https://github.com/godotengine/godot/issues/8158
2017-04-23 22:51:35 -06:00
Marco Melorio
4677c0fbb8 Update snake_case splitting 2017-04-23 23:03:16 +02:00
Rémi Verschelde
515f92d03b Fix property warnings and hide some debug prints
"ALL IS GOOD" was a lie.

In particular, removes verbose "path not recognized" false positive.

The actual logic is to (somewhat naively) check all ResourceFormatLoaders
and to pick the first good match, so no need to warn about the formats
that do not match the type hint.
2017-04-23 11:17:32 +02:00
Rémi Verschelde
99529fb80d Move VERSION_MKSTRING logic to version.h
Fixes a bug where the VERSION_PATCH define is not yet in scope if
typedefs.h is included before version.h at compilation time.

(cherry picked from commit 3b687c5474)
2017-04-20 12:14:34 +02:00
Rémi Verschelde
22b9c0207b Merge pull request #8417 from neikeq/hello-there
External editor improvements and fixes
2017-04-20 02:20:04 +02:00
Marco Melorio
1ac38846e8 Fixed that playing the project opens the project manager
Fixes #8445
2017-04-18 15:46:37 +02:00
Rémi Verschelde
7088d9e30f Merge pull request #8441 from tagcup/seed_fix
Fix PRNG randomization.
2017-04-18 00:06:41 +02:00
Rémi Verschelde
474f18512a Merge pull request #8375 from Hinsbart/project_extension
Use .godot as file extension for project files.
2017-04-17 23:28:15 +02:00
Ferenc Arn
ceb699f5ec Fix PRNG randomization.
PCG32 doesn't like small seeds, which leads to zero random values (prior to #7532, zero values were handled as special cases).

Use a large default seed, and also add a shift in Math::randomize.

Fixes #8423.
2017-04-17 14:05:02 -05:00
Ignacio Etcheverry
4b8568006d External editor improvements and fixes
Notable changes:

- Now ScriptLanguages have the option to override the global external editor setting.
If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used.
- Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`.
- `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from.

Fixes:

- Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor.
- Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit.
- `Script::get_member_line()` now returns -1 ("found nothing") by default.
2017-04-17 01:51:30 +02:00
Andreas Haas
c06a2db63a
Use .godot as file extension for project files.
Now project files don't have to be named "godot.cfg" anymore, they can have any name so as long as it ends with *.godot.
Also godot will automatically start the editor now if launched with a project file as an argument.
This allows for double-clicking of projects to open them :)

Code-wise this should be complete, but there's still work to do:

- Make a nice icon for godot projects.
- Work on installers/packaging -> register the extension and icon with godot.
- Update the 2.1 to 3.0 exporter.

Tested on linux and windows so far.
2017-04-16 10:19:07 +02:00
mbalint12
a3afec588c Added the ability to select files as base when creating scripts 2017-04-15 23:29:09 +02:00
Hein-Pieter van Braam
8ff6e53833 Correct Variant::hash_compare()
There was a logic error in #7815 which made
Variant.hash_compare() == Variant.hash_compare() always true.
In an attempt to short-circuit the NaN check I made an (in hindsight) obvious
error: 10 == 12 || is_nan(10) == is_nan(12)

This will be true for all inputs, except for the NaN, not-NaN case. The macro
has been updated to now generate:

(10 == 12) || (is_nan(10) && is_nan(10))

so:

(10 == 12)   || (is_nan(10)  && is_nan(12))  = false
   False  or (False and False) is False
(10 == 10)   || (is_nan(10)  && is_nan(10))  = true
   True or (False and False) is True
(Nan == 10)  || (is_nan(NaN) && is_nan(10))  = false
   False or (True and False) is False
(Nan == Nan) || (is_nan(NaN) && is_nan(NaN)) = true
   False or (True and True) is True

Which is correct for all cases.

This bug was triggered because the hash function for floating point numbers
can very easily generate collisions for the tested Vector3(). I've also added
an extra hashing step to the float hash function to make this less likely to
occur.

This fixes #8081 and probably many more random weirdness.
2017-04-14 11:31:18 +02:00
Bojidar Marinov
c37840c69f
Fix a pesky bug in marshalls.cpp/encode_variant
Fixes #7556 running game from editor on LLVM builds.
2017-04-11 20:17:56 +03:00
Sergey Pusnei
8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
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
2017-04-10 08:27:34 +02:00