Commit Graph

2171 Commits

Author SHA1 Message Date
Juan Linietsky cb1fc5734b
Merge pull request #17316 from ShyRed/significantdigits
Adjust decimal precision
2018-05-07 20:25:06 -03:00
Juan Linietsky 633bbdb231
Merge pull request #17353 from zmanuel/timer_hysteresis_multiframe_pr1
Use hysteresis for smoother physics update frequency
2018-05-07 19:27:32 -03:00
Juan Linietsky 69a96ff4a6
Merge pull request #15943 from poke1024/geometry-line-line
Add Geometry::line_intersects_line_2d()
2018-05-07 17:54:33 -03:00
Juan Linietsky cbd849d13f
Merge pull request #16033 from poke1024/marshalls-dict
Detects crash-related marshalling errors due to NAN values
2018-05-07 17:51:06 -03:00
Juan Linietsky ff1e7cfbf4 Add is_instance_valid() method to GDScript, ending more than a decade of pain. 2018-05-07 17:30:03 -03:00
Juan Linietsky 80b9edf0f6
Merge pull request #16893 from GodotExplorer/debugger-improvement-3
Save runtime node as scene from remote scene tree.
2018-05-07 16:41:34 -03:00
Juan Linietsky 3f3b4703e4
Merge pull request #18121 from Crazy-P/Resolves-Freeze-on-change-reflection-probe
Resolves editor freezes on change of reflection probe
2018-05-07 15:39:25 -03:00
Juan Linietsky e6b938ef16
Merge pull request #18219 from AlexHolly/fix-image-blit-blend
blit and blend fix when dst<Vector2
2018-05-07 15:23:54 -03:00
Juan Linietsky 863781dd3c
Merge pull request #18505 from AlexHolly/image-point2-helper
add Point2 helper for Image.get_pixel and Image.set_pixel
2018-05-07 12:20:32 -03:00
RaphaelHunter 63e258cc8f add condition check in Imgae::create(...) 2018-05-05 16:46:51 +08:00
Max Hilbrunner 1d47266490
Merge pull request #18501 from touilleMan/clean-variant-_data-RefPtr
Remove unused Variant._data.RefPtr
2018-05-05 06:53:48 +02:00
Max Hilbrunner 5d529ba2e1
Merge pull request #18488 from AndreaCatania/ie0
Added method to clear input events of an action
2018-05-05 06:49:46 +02:00
Alexander Alekseev 26963473a9 Vector3::round, Vector2::round & Vector2::ceil methods were added.
Now both structs (Vector2 & Vector3) have round, floor & ceil methods.
(see #18603)
2018-05-04 12:43:50 +03:00
Juan Linietsky f056b09f5a
Merge pull request #18589 from karroffel/oahashmap-robinhood
updated OAHashMap to use robinhood hashing
2018-05-03 14:47:07 -03:00
karroffel bf24d570bb updated OAHashMap to use robinhood hashing 2018-05-03 17:00:21 +02:00
Rémi Verschelde b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
AndreaCatania c510e2586d Added method to clear input events of an action 2018-05-03 00:26:49 +02:00
Rémi Verschelde 18c28c159d
Merge pull request #17196 from RandomShaper/improve-gui-touch
Implement universal translation of touch to mouse (3.1)
2018-05-02 10:47:49 +02:00
Rémi Verschelde f86a67c4d1
Merge pull request #18520 from paulloz/gdscript-api-string-path
fix API string path
2018-05-02 10:36:25 +02:00
Rémi Verschelde c5fe3d9d93
Merge pull request #18530 from garyo/missing-arg-err
Handle missing arg pointer in Variant::get_call_error_text
2018-05-01 19:17:43 +02:00
Rémi Verschelde de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Rémi Verschelde 85c8953c9f
Merge pull request #16649 from ibrahn/visual-script-release-crash
fix for segfault when using CallBasic in visual script on release build
2018-05-01 17:48:27 +02:00
George Marques decf178033
Enable autoload in editor
- Tool scripts will be executed and can be accessed by plugins.
- Other script languages can implement add/remove_named_global_constant
to make use of this functionality.
2018-05-01 11:44:08 -03:00
Manuel Moos 954f7cca60 Fix #17019 : overrides with unknown base setting
If at the time of the _GLOBAL_DEF call a setting itself was unknown,
the function would always return the supplied default value instead of
checking for overrides. This commit changes that, lookup now always
happens which correctly takes overrides into account.
2018-05-01 16:25:48 +02:00
Rémi Verschelde 5281415a7b
Merge pull request #18428 from groud/fix_input
Fixing input strength and the impossibility to erase action events
2018-05-01 11:15:51 +02:00
Rémi Verschelde 4602e58698
Merge pull request #18355 from ShyRed/fix18344
Keep alpha when changing h, s or v Color property in GDScript
2018-05-01 09:38:50 +02:00
Rémi Verschelde 4cce6f3417
Merge pull request #18321 from Crazy-P/Fixes-logically-dead-code
Fixes logically dead code (Coverity)
2018-05-01 08:35:10 +02:00
Gary Oberbrunner 8d5c30ce83 Handle missing arg pointer in get_call_error_text
I had a situation coming from godot-python where the caller of
Variant::get_call_error_text() passed null for `p_argptrs`. In
addition to fixing that in the caller, seems like good practice to
defend against that situation in the callee to prevent a crash.

So this patch just substitutes some semi-useful text for the source
type name and keeps going so the user's actual error gets emitted.
2018-04-30 15:30:21 -04:00
Pedro J. Estébanez de9d40a953 Implement universal translation of touch to mouse
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.

** Summary of changes to settings: **

- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-30 19:03:38 +02:00
Max Hilbrunner 1ff89b547a
Merge pull request #18284 from mhilbrunner/pck-version
Fix .pck exporting via PCKPacker
2018-04-30 17:11:10 +02:00
Paul Joannon a35c8bbdc7 fix API string path 2018-04-30 09:38:18 +02:00
Juan Linietsky 6244b9e2e1 Add option to renormalize mipmaps when generating them for normalmaps.
Reduces some aliasing.
2018-04-29 21:52:21 -03:00
Ignacio Etcheverry 3a86dffc5e ClassDB API hash now only includes exposed classes 2018-04-29 19:50:33 +02:00
Alexander Holland 97485c8df0 add Point2 helper for Image.get_pixel and Image.set_pixel
image-point2-helper
2018-04-29 15:17:06 +02:00
Geequlim 7e499683a2 Send inherited variables and constants from remote debugger 2018-04-29 20:27:20 +08:00
Emmanuel Leblond c55ef807c0
Remove unused Variant._data.RefPtr 2018-04-29 11:41:36 +02:00
groud 0aa8b35ee6 Fixing input strength and the impossibility to erase action events 2018-04-25 22:32:09 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
George Marques ca25f1e6ea
Merge pull request #18176 from nikibobi/string-trim
Add string trim_prefix, trim_suffix, lstrip and rstrip methods
2018-04-22 12:29:44 -03:00
ShyRed 100a775260 Keep alpha when changing h, s or v on color
When modifying the h, s or v properties of a color in GDScript the alpha value needs to stay unchanged.
2018-04-22 17:00:45 +02:00
Crazy-P e6deba8d19 Fixes logically dead code (Coverity)
Fixes reported logically dead codes by Coverity

* image.cpp: Doesn't really need any modification. But to remove the bug
report then we have to move the MAX call away from the for loop
statement.

* rasterizer_gles3.cpp: Removes unnecessary elif condition since it is
checked earlier in the function

* collada.cpp: If stamement never reached due to macro ERR_CONTINUE does
the same.

* navigation_mesh.cpp: Variables should always be null - however, also
checked for the very same condition in their function call. Leaving this
for review (whether the function call is necessary or not)

* path_editor_plugin.cpp: If cancel is true, then it should restore the
edited value to the original provided.
http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle

* spatial_editor_gizmos.cpp: the very condition of i >= 3 is
predetermined in the if case right before it. Thus case 1 is always '1'
and case 2 is always '-1'

* grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp

* voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_server.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_script_expression.cpp: char '-' is already true in the switch
case mechanism. Thus it can never reach to default case.

* particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking
right before the switch execution.

* shader_language.cpp: Invalid index is handled in switch default case.
`type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`)
Fixes the "always false problem" in TODO comment.
2018-04-21 22:35:23 +08:00
Rémi Verschelde 8ae042a895
Merge pull request #18280 from groud/fix_input
Fixes left/up axis not mappable as actions
2018-04-19 21:06:17 +02:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Max Hilbrunner a3aa5ad0d0 PCKPacker:pck_start(): Update version 2018-04-19 00:45:22 +02:00
Rémi Verschelde 9a75975042 Fix some Coverity warnings in String API
- StringName::StringName(const StringName &p_name)
  Non-static class member _data is not initialized in this constructor nor in any functions that it calls.

- StringName::_Data()
  Non-static class member idx is not initialized in this constructor nor in any functions that it calls.

- String::num_uint64(...)
  This less-than-zero comparison of an unsigned value is never true. n % base < 0UL.

- String::hex_to_int(...) and String::hex_to_int64(...)
  Execution cannot reach this statement (deadcode)
2018-04-18 22:20:39 +02:00
Gilles Roudiere 7e89dc432c Fixes left/up axis not mappable as actions 2018-04-18 21:38:52 +02:00
Juan Linietsky a2f26a96dc Add a macro to deprecate methods 2018-04-18 14:27:26 +02:00
Rémi Verschelde 3018132244
Merge pull request #18204 from tagcup/quat_scale
Avoid converting Quat to Euler angles when not necessary.
2018-04-18 13:55:35 +02:00
Rémi Verschelde 8e2b29b659
Merge pull request #18227 from bojidar-bg/fix-date-unix-crash
Fix crash resulting from bad month check in core_bind.cpp
2018-04-18 13:30:04 +02:00
Juan Linietsky 1a3688d0cc
Merge pull request #16902 from groud/analog_action_system
Allow actions to provide an analog value
2018-04-18 07:21:29 -03:00
Bojidar Marinov 4b9cf93338
Fix crash resulting from bad month check in core_bind.cpp
Also, make it clear that day is 0-based. This might cause very slight differcies in existing games.
Fixes #18221
2018-04-17 22:44:08 +03:00
bosak 79ecdee496
add string trim_prefix trim_suffix lstrip and rstrip methods 2018-04-17 14:15:43 +03:00
Gilles Roudiere ebfa731012 Allow actions to provide an analog value 2018-04-16 23:20:43 +02:00
George Marques fefee533ae
Fix names of Variant operators 2018-04-16 14:54:49 -03:00
Alexander Holland 7cfdffcdf8 blit and blend fix when dst<Vector2 2018-04-15 22:37:28 +02:00
tagcup a5e0bb447c Avoid converting Quat to Euler angles when not necessary.
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis.

Added various missing functions and constructors.

Should close #17968.
2018-04-14 15:53:25 -04:00
Gilles Roudiere e7445c3d82
Merge pull request #18170 from Chaosus/improvewrapf
Small performance fix to wrapf
2018-04-14 15:00:47 +02:00
Chaosus ac4c340a45 Small performance fix to wrapf 2018-04-13 13:50:17 +03:00
Pedro J. Estébanez 00e98458ba Revert "Unify http- and percent- encode/decode"
This reverts commit b76ee30917.
2018-04-12 21:12:34 +02:00
Crazy-P 68dda540fd Fixes incorrect adding to last in self_list
Fixes https://github.com/godotengine/godot/issues/18052
2018-04-11 19:59:41 +08:00
Ruslan Mustakov 1d9a3a9b1c iPhone X support and iOS-related fixes
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.
2018-04-11 14:53:24 +07:00
Poommetee Ketson 72aa87758a
Update classref and docs, fix missing parameters' name 2018-04-11 10:20:22 +07:00
Guilherme Felipe 4f05190fb0 Implement Input.set_default_cursor_shape to change the default shape
Closes #18043
2018-04-10 11:38:34 -03:00
Manuel Moos d5abd4eb75 Add hysteresis to physics timestep count per frame
Add new class _TimerSync to manage timestep calculations.
The new class handles the decisions about simulation progression
previously handled by main::iteration(). It is fed the current timer
ticks and determines how many physics updates are to be run and what
the delta argument to the _process() functions should be.

The new class tries to keep the number of physics updates per frame as
constant as possible from frame to frame. Ideally, it would be N steps
every render frame, but even with perfectly regular rendering, the
general case is that N or N+1 steps are required per frame, for some
fixed N. The best guess for N is stored in typical_physics_steps.

When determining the number of steps to take, no restrictions are
imposed between the choice of typical_physics_steps and
typical_physics_steps+1 steps. Should more or less steps than that be
required, the accumulated remaining time (as before, stored in
time_accum) needs to surpass its boundaries by some minimal threshold.
Once surpassed, typical_physics_steps is updated to allow the new step
count for future updates.

Care is taken that the modified calculation of the number of physics
steps is not observable from game code that only checks the delta
parameters to the _process and _physics_process functions; in addition
to modifying the number of steps, the _process argument is modified as
well to stay in expected bounds. Extra care is taken that the accumulated
steps still sum up to roughly the real elapsed time, up to a maximum
tolerated difference.

To allow the hysteresis code to work correctly on higher refresh
monitors, the number of typical physics steps is not only recorded and
kept consistent for single render frames, but for groups of them.
Currently, up to 12 frames are grouped that way.

The engine parameter physics_jitter_fix controls both the maximum
tolerated difference between wall clock time and summed up _process
arguments and the threshold for changing typical_physics_steps. It is
given in units of the real physics frame slice 1/physics_fps. Set
physics_jitter_fix to 0 to disable the effects of the new code here.
It starts to be effective against the random physics jitter at around
0.02 to 0.05. at values greater than 1 it starts having ill effects on
the engine's ability to react sensibly to dropped frames and framerate
changes.
2018-04-09 22:27:29 +02:00
Crazy-P ae7a9df292 Resolves Inccorect Quaternion Conversion
Fixes https://github.com/godotengine/godot/issues/18025
2018-04-09 14:48:03 +08:00
Juan Linietsky cef01f1f49
Merge pull request #16495 from Chaosus/is_point_in_triangle_fix
Fix is_point_in_triangle function
2018-04-08 18:18:19 -03:00
Juan Linietsky 59cdc5eb9d
Merge pull request #16898 from Lerc/master
add Image::bumpmap_to_normalmap conversion function
2018-04-08 15:52:05 -03:00
Juan Linietsky e9e5aa617e
Merge pull request #17227 from Faless/multiplayer_api
[RFC] MultiplayerAPI refactor
2018-04-08 11:04:16 -03:00
Juan Linietsky 1faea81e15
Merge pull request #17232 from playster000/master
enhance mipmaps, non power of 2 textures
2018-04-08 10:49:13 -03:00
Juan Linietsky 4ee3f3251d
Merge pull request #17382 from bojidar-bg/13971-path-array-unsaved
Duplicate Arrays and Dictionaries when instancing scene in editor
2018-04-08 09:39:03 -03:00
Juan Linietsky 47ffe107e6
Merge pull request #17967 from Nibodhika/all-device-mode
Allows to map an action to all devices.
2018-04-08 09:04:14 -03:00
Nibodhika 1e28f63bcf Allows to map an action to all devices.
This is accomplished by setting a special value (-1) to the device variable
in the InputEvent that's being used to compare with the one received from the OS.

This special value is invalid for a regular input, so it should be safe.
Implements #17942
2018-04-07 20:08:09 +00:00
Juan Linietsky cd7e9d9642
Merge pull request #17583 from RandomShaper/enhance-uri-utils
Enhance uri utils
2018-04-07 17:07:29 -03:00
Juan Linietsky 5a1a90c3db
Merge pull request #17636 from rainerdeyke/fix_issue_17585
Fixes moving files causes scene corruption
2018-04-07 16:56:02 -03:00
bruvzg ddae098dee
Experimental support for windows with per-pixel transparency (macOS, X11 and Windows). 2018-04-07 17:11:45 +03:00
Andrea Catania 2f9354016f
Fixed signal input variable name 2018-04-06 09:09:40 +02:00
Pedro J. Estébanez 1fc85b87bd Fix buggy percent-encoding
Fixes #17875.
2018-04-05 21:49:44 +02:00
Rémi Verschelde 866254343b
Merge pull request #17827 from bruvzg/macos_shortcut_key_remapping_fix
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts.
2018-04-05 13:22:52 +02:00
Rémi Verschelde 1710582473
Merge pull request #17847 from Faless/lws_update
LWS v2.4.2, mbedTLS v2.8.0, Websocket  SSL support
2018-04-03 23:14:01 +02:00
Felix Yang 7d5a40c3e6 Ctrl+Clicking a enum now scrolls down to it in the docs. 2018-04-03 21:56:54 +02:00
Fabio Alessandrelli 490dd9f946 Generalize SSL cert reading from file 2018-04-03 20:13:57 +02:00
bruvzg 5ba984fc8c
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts. 2018-03-28 20:22:59 +03:00
Pedro J. Estébanez 8d8e9d54c8 Enhance HTTPClient.query_string_from_dict() 2018-03-27 19:18:32 +02:00
Pedro J. Estébanez b76ee30917 Unify http- and percent- encode/decode
There was a percent-prefixed version, which was exposed, and a http-prefixed version which was not (only to GDNative).
This commit keeps the percent-prefixed versions, but with the http-prefixed implementations.
2018-03-27 19:18:30 +02:00
Rainer Deyke 31c6d6649f Fixes scene corruption when updating dependencies.
This commit fixes issue #17585: renaming/moving resources can corrupt
scene files.  The corruption was caused by
'ResourceFormatLoaderBinary::rename_dependencies' updating the file
format version field of the affected scene file to the latest version
without actually updating the content of the file to that version,
resulting in a file whose content does not match its file format version
field.  The fix preserves the file format version field and the engine
version fields when renaming dependencies.
2018-03-24 15:08:55 +01:00
Marcelo Fernandez bbd21c2203 Fix for clang warning at distance_to 2018-03-22 13:26:04 -03:00
Marcelo Fernandez 35d21c0881 Fix several in-class initialization clang warning 2018-03-22 00:17:18 -03:00
Rémi Verschelde baa092e99d
Merge pull request #17653 from eska014/rwlock-dummy
Add RWLockDummy for NO_THREADS builds
2018-03-21 17:40:01 +01:00
Leon Krause 25800ffb0e Add RWLockDummy for NO_THREADS builds 2018-03-20 05:37:42 +01:00
Pedro J. Estébanez 536611704a Fix listing files inside directory in pack file
When adding a directory path to the inventory of the pack, an empty file name was being added to the file list. That made `Directory.get_ntext()` signal end-of-list too early so that files in a subdirectory were missed.

Fixes #15801.
Helps with #16798.
2018-03-18 14:04:50 +01:00
Fabio Alessandrelli c531262190
Merge pull request #16947 from Faless/ui_actions
GUI elements ui_action usage, improvements
2018-03-16 20:55:11 +01:00
Fabio Alessandrelli b0186b41bb
Merge pull request #17237 from RandomShaper/fix-ssl-handshake
Fix HTTPClient SNI support when verify is off
2018-03-15 22:43:34 +01:00
Neil Graham 4bea98de40 change bumpmap_to_normalmap range from [1...255] to [0...255] 2018-03-16 10:22:48 +13:00
Hein-Pieter van Braam 9bc0503c91
Merge pull request #17376 from marcelofg55/file_get_path
Added File.get_path and File.get_path_absolute functions
2018-03-15 22:21:21 +01:00
Hein-Pieter van Braam f8706cbdf2
Merge pull request #17407 from poke1024/fix-hsv-mismatch
Fix mismatch between Color.h and Color.from_hsv()
2018-03-15 22:16:57 +01:00
Rémi Verschelde 99c1323a08
Merge pull request #17388 from Hinsbart/mono_class_name
Mono: Avoid invalid class names.
2018-03-15 19:47:39 +01:00
Andreas Haas 700d07cf7c
Mono: Avoid invalid class names.
Disallow reserved keywords as class names and prefix base class with the Godot
namespace if it's the same as the class name.

Fixes #12483
2018-03-15 19:25:06 +01:00
Bernhard Liebl 1d3b5d5a2f Fix mismatch between Color.h and Color.from_hsv() 2018-03-14 21:04:02 +01:00
Rémi Verschelde b64d4e3a83
Merge pull request #17486 from bojidar-bg/x-fix-clang-negation-warn
Fix a potential bug hinted by clang
2018-03-13 20:02:42 +01:00
Bojidar Marinov 9f6c0c6eae
Duplicate Arrays and Dictionaries when instancing scene in editor
Also, add deep (=false) parameter to Array.duplicate and Dictionary.duplicate

Fixes #13971
2018-03-13 17:18:08 +02:00
Bojidar Marinov 4d81e8afe6 Fix a potential bug hinted by clang 2018-03-13 17:10:28 +02:00
Marcelo Fernandez a4e64c5454 Added File.get_path and File.get_path_absolute functions 2018-03-13 12:07:37 -03:00
Rémi Verschelde b4da44981a
Merge pull request #17254 from Chaosus/updatewrap
Update wrap functions
2018-03-13 12:33:57 +01:00
Rémi Verschelde ced5b57a60
Merge pull request #17257 from and3rson/master
Fix garbage in string padding.
2018-03-13 12:30:42 +01:00
Rémi Verschelde 18d543d7ab
Merge pull request #17311 from marcelofg55/export_err_checks
Improved error checking at EditorExportPlatformPC::export_project
2018-03-13 12:17:53 +01:00
Rémi Verschelde 4287c7822b
Merge pull request #17440 from viktor-ferenczi/issue-5042
Properly closing all files in Python build code
2018-03-13 11:49:58 +01:00
Rémi Verschelde 08415d0f53
Merge pull request #17319 from eska014/polyclipper-toolsonly
Build polygon clipper only in tools builds
2018-03-13 11:01:28 +01:00
robfram ea94a82596 Fix non working action names containing whitespaces
Now the action name is quoted if it contains spaces. Also, quotation
mark (") is added to the forbidden character list for action names, as
it was also a bug.

Fix #17322
2018-03-12 21:28:41 +01:00
Viktor Ferenczi 272ecddb28 Properly closing all files in Python code 2018-03-11 14:55:50 +01:00
Rémi Verschelde 8ded15b035
Merge pull request #16485 from poke1024/vector2-cross
Bring back Vector2.cross()
2018-03-08 08:50:20 +01:00
Bernhard Liebl 9d7856620c Bring back Vector2.cross() 2018-03-07 21:10:31 +01:00
Leon Krause 802b6d3669 Reinstate WebGL 1.0 driver in HTML5 platform 2018-03-07 20:38:14 +01:00
Leon Krause fa760082f5 Build polygon clipper only in tools builds 2018-03-06 21:53:37 +01:00
ShyRed 051b4d6f19 Adjust decimal precision
Increase the number of significant digits when converting from double to string.
2018-03-06 20:40:29 +01:00
Marcelo Fernandez 0876502f72 Improved error checking at EditorExportPlatformPC::export_project 2018-03-06 14:23:17 -03:00
Chaosus 70bb31a7b2 Update wrap functions 2018-03-06 10:34:37 +03:00
Andrew Dunai 0269e366f1 Fix garbage in string padding. 2018-03-04 19:45:33 +02:00
Marcelo Fernandez d780d774aa Clean and expose get_audio/video_driver_* funcs on OS class 2018-03-04 14:18:05 -03:00
Pedro J. Estébanez 602da6fa4f Fix wrong SSL handshake
The name of the remote host is passed to mbed TLS in all cases so the client hello message is correctly formed.
2018-03-04 01:22:59 +01:00
Mavropoulos Ioannis 60b2ee1624 enhance mipmaps 2018-03-03 23:19:31 +02:00
Fabio Alessandrelli df391cc5be Add new MultiplayerAPI class
Handles all the high level networking stuff
2018-03-03 18:28:49 +01:00
Nicolas Silva e73266a51c Allow degenerate triangles in polygon triangulation when necessary. 2018-02-28 22:46:56 -05:00
Hein-Pieter van Braam d702d7b335 Fix various valgrind reported uninitialized variable uses 2018-02-28 21:55:13 +01:00
Ignacio Etcheverry f37090ccf4 Mono: Better versioning and gracefully unloading of Godot API assemblies 2018-02-25 20:56:27 +01:00
Poommetee Ketson 67e20dc2b6 (Magnify|Pan)Gesture: implement as_text 2018-02-24 10:35:25 +07:00
Neil Graham 617d3cde1a change to clang format 2018-02-24 13:59:02 +13:00
Rémi Verschelde 23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
Fabio Alessandrelli 920d2bfdfa Add two new default actions ui_end, ui_home
Used by Slider and Scrollbar
2018-02-23 13:01:28 +01:00
Poommetee Ketson f4f92b55e1 Color:fix setting V switch S to old V value 2018-02-22 16:43:00 +07:00
geequlim 24e6361cba Save runtime node as scene from the remote scene tree. 2018-02-22 10:00:13 +08:00
luz.paz 612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Juan Linietsky 9e3a1e5401 Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion. 2018-02-21 09:39:09 -03:00
Rémi Verschelde 57d562b394 Fix loading project.binary from PCK file
Regression introduced in #16825.
My logic was correct, but not the error code I was expecting.
The error reporting in FileAccess likely needs a review too.
2018-02-21 09:07:59 +01:00
Neil Graham bc7db7a08d add Image::bumpmap_to_normalmap conversion function 2018-02-21 11:43:58 +13:00
Rémi Verschelde 37a6ce5a42
Merge pull request #15563 from poke1024/gdscript-shuffle
Add shuffle() method to Array
2018-02-19 21:53:08 +01:00
Rémi Verschelde 7455244866
Merge pull request #15852 from poke1024/color_hsv
Add Color.from_hsv()
2018-02-19 21:51:04 +01:00
Rémi Verschelde 7839076f95 Improve error reporting of ProjectSettings::setup()
And use it to better report errors in the console and project manager
when a project.godot file is corrupted.

Fixes #14963.
2018-02-19 16:41:43 +01:00
Artem Varaksa d35e486228 Clean up some bad words from code comments 2018-02-17 16:00:39 +03:00
Rémi Verschelde 0c7bed45c4 Add locale renames for Hebrew and Indonesian on Windows
Windows does not fully respect ISO 639-1 like other systems,
so we have to override its locale values for those languages.

Also added comments to document the locale provenance.
2018-02-14 18:49:27 +01:00
Rémi Verschelde e0f43e0678
Merge pull request #15564 from RandomShaper/adpod-topmost
Add new window setting: always on top
2018-02-14 16:43:40 +01:00
Rémi Verschelde 574133e4e0
Merge pull request #15892 from Zylann/add_missing_vs_bindings
Added all missing VisualServer bindings
2018-02-14 16:05:49 +01:00
Rémi Verschelde b48cc669e2
Merge pull request #16169 from hungrymonkey/issue_16160
Change function signature from float to double to match type get_doub…
2018-02-14 15:50:47 +01:00
Fabio Alessandrelli 67b600d957 Add mbedtls module 2018-02-14 01:26:23 +01:00
Marcelo Fernandez ea1d726a46 Added OS::center_window to center the window precisely on desktop platforms 2018-02-12 15:45:41 -03:00
Ibrahn Sahir 95dfa5b96d fix for segfault when using CallBasic in visual script on release build 2018-02-12 17:09:00 +00:00
Chaosus f2c22791ce Fix is_point_in_triangle 2018-02-08 19:59:52 +03:00
Rémi Verschelde cbdd410a6f
Merge pull request #15899 from karroffel/stringbuffer-template-arg
add template argument for size in StringBuffer
2018-02-07 11:37:10 +01:00
Nicolas Silva 91215e1919 Fix polygon triangulation failure.
The ear clipping algorithm used to triangulate polygons has a slightly too conservative point-in-triangle test which can, in some configurations prevent it from finding a possible tessellation. Relaxing the test by considering that points exactly on edges don't belong the triangle fixes the issue. Changing the semantic of the test is safe because no other code makes use of it. A more detailed explanation can be found in issue #16395.

Fixes #16395.
2018-02-05 16:01:24 +01:00
Hein-Pieter van Braam e836a7d88d Kill an old debugging message
When running the engine with -d we get a message on the command-line for
each control being clicked. After discussing with @reduz it seems that
this is old and should be removed. Commented out as requested.
2018-02-05 11:18:49 +01:00
Timur Celik c16f61190c Fix broken variant call of Vector3.snapped 2018-02-03 19:57:12 +01:00
Paolo Perkovic 08d4bfacaf Fix inconsistencies and typos in argument names 2018-02-01 16:47:20 +01:00
Rémi Verschelde 906ac2fc9d
Merge pull request #16002 from bruvzg/mono_loading_form_res
[Mono] Allow loading assemblies (including mscorlib) from resources.
2018-02-01 14:36:05 +01:00
Rémi Verschelde e7cf2b2e77
Merge pull request #16188 from Schweigert/master
Display set_nodelay to GDScript
2018-01-31 17:26:12 +01:00
bruvzg b3ddf12fb1
Mono: Allow loading `mscorlib` from resources. 2018-01-31 09:20:46 +02:00
Marlon Henry Schweigert 87adf9cfba Display set_nodelay to GDScript
Pass enabled arg

Rename set_nodelay to set_no_delay

Add description to the method

Change description
2018-01-30 13:22:15 -02:00
Rémi Verschelde 5b580fb69b
Merge pull request #15995 from GodotExplorer/pr-debugger-weakref
Remote debugger send the real instance of WeakRef referenced to
2018-01-30 13:43:02 +01:00
Poommetee Ketson ebe2337515 Fix wrong return type of xform functions 2018-01-30 18:45:54 +07:00
hungrymonkey d2f1c87063 Change function signature from float to double to match type get_doubleCloses #16160 2018-01-29 15:45:46 -08:00
Hein-Pieter van Braam 7577252b1b Use the appropriate Variant hash and compare functions for Dictionaries
Dictionaires did not use the VariantHasher and VariantComparator making
them unsafe for use with NaN values as keys. This PR uses the
appropriate Variant implementations for these functions.

   var d = {}
   d[Vector2(NAN, NAN)] = 0
   d[Vector2(NAN, NAN)] = 0
   print(d.size())

will now output '1' and not '2'

This fixes #16031
2018-01-27 15:11:39 +01:00
Ariel Manzur 81426ff0a8 - Improves portability in joystick buttons enum
- Fixes linking bug in modules split library
2018-01-24 19:12:54 -03:00
Bernhard Liebl eb1f9375ea Detects crash-related marshalling errors due to NAN values 2018-01-24 19:24:18 +01:00
Rémi Verschelde 5342ec32b5
Merge pull request #15844 from letheed/better-error-msg
Make cyclic resource inclusion error message more helpful
2018-01-24 11:52:52 +01:00
Geequlim 10f0451cc2 Remote debugger send the real instance of WeakRef referenced to 2018-01-23 17:17:35 +08:00
Bernhard Liebl c1e099b48f Add Geometry::line_intersects_line_2d() 2018-01-21 15:31:34 +01:00
karroffel ac2a9bb267 add template argument for size in StringBuffer
Until now the pre-allocated array size was defined to be 64 without
a way of adjusting it from the calling side.

This commit adds the size as a template parameter.
2018-01-20 20:03:17 +01:00
Marc Gilleron e415fd05bb Added all missing VisualServer bindings
- Added bindings for multimesh, immediate, skeleton, light, reflection probe, gi probe, lightmap, particles, camera, environment, scenario, instance
- Removed draw and sync, were duplicates of force_* equivalents
- Bumped binders max arguments from 11 to 13
- Wrote some wrappers as not all methods were variant-friendly
2018-01-20 16:59:26 +01:00
karroffel 30822e8ab7 fixed crash with StringBuilder
When using a newly created StringBuilder then the as_string() method
will crash when trying to free an allocated 0-sized chunk of memory.

When 0 bytes get allocated with memnew_arr then a NULL pointer gets
returned. When trying to free that pointer the programm will crash.
2018-01-20 15:26:58 +01:00
Ariel Manzur e2b50e1abb improves portability with some compilers 2018-01-18 19:16:34 -03:00
Bernhard Liebl be55171231 Add Color.from_hsv() 2018-01-18 22:13:00 +01:00
Rémi Verschelde 9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
letheed 37c4bc64de Make cyclic resource inclusion error message more helpful 2018-01-18 18:35:24 +01:00
Rémi Verschelde 6c46787749 doc: Replace some more "val" with "value" + sync 2018-01-17 10:43:23 +01:00
Rémi Verschelde 09ca100658
Revert "Fix bad color to HTML conversion. Alpha channel was added before RGB." 2018-01-16 10:22:22 +01:00
Juan Linietsky 03475ba197 Filled tutorial field in most relevent classes.
Added tutorial display in doc.
2018-01-15 18:41:13 -03:00
K. S. Ernest (iFire) Lee ef1c26a9a5 Make sure PropertyHint matches in the VisualScript editor. 2018-01-15 22:19:54 +01:00
bruvzg d0868a8f40
Fix String::itos/String::num_int64(INT64_MIN) output. 2018-01-13 22:06:08 +02:00
Paul Joannon a066f896d8 get_target_fps and set_target_fps now both use an int 2018-01-12 14:26:21 +01:00
Paul Joannon e08b6c9a9c fix set_stream_peer binding in PacketPeer 2018-01-12 14:25:05 +01:00
Rémi Verschelde e24f2c6489
Merge pull request #15611 from bojidar-bg/x-bind-more-properties
Bind many more properties to scripts
2018-01-12 09:00:20 +01:00
Juan Linietsky 2cde466ebd -Remove color operator clamping, which is unnecesary. Fixes #15184, fixes #14686.
-Refresh progress bar less often, makes baking, exporting, etc. faster.
2018-01-12 00:08:32 -03:00
Bojidar Marinov 9b8e8b2220
Bind many more properties to scripts
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
Juan Linietsky 9a62829759
Merge pull request #15531 from AndreaCatania/p2
Fixed crash on duplicate GIProbe baking
2018-01-11 16:44:18 -03:00
AndreaCatania 5ac441131e Fixed crash on duplicate GIProbe baking 2018-01-11 19:50:33 +01:00
Ruslan Mustakov a6157245b1 Dont print error when loading resource from cache 2018-01-11 20:46:18 +07:00
poke1024 75d69fb4ec Add shuffle() method to Array 2018-01-10 19:36:53 +01:00
Bernhard Liebl a01c33c9d0 Object class checking on bound method calls 2018-01-10 18:41:47 +01:00
robfram 19915d674c Fix bad color to HTML conversion. Alpha channel was added befor RGB. 2018-01-09 22:34:00 +01:00
Ignacio Etcheverry 5be356b72f Mono: Implement stack info for errors and exceptions 2018-01-09 17:19:03 +01:00
Todd Ross 6e932c3108 obsolete UndoRedo max_steps; no users identified 2018-01-08 10:57:07 -06:00
Rémi Verschelde 1fea0adc5c
Merge pull request #15337 from touilleMan/fix-classdb_get_method_list-without-instrospection
Fix _ClassDB::get_method_list when instrospection is disabled
2018-01-08 15:18:20 +01:00
Rémi Verschelde fe841fe827
Merge pull request #15437 from GodotExplorer/pr-fix-15424
Add null checking for paramaters in UndoRedo
2018-01-07 13:03:47 +01:00
Rémi Verschelde 0593daa826
Merge pull request #15382 from mrcdk/poolarrays_neq_fix
Fix NEQ operation for Arrays and Pool*Arrays
2018-01-07 13:01:23 +01:00
Rémi Verschelde 42ee9541fd
Merge pull request #15297 from poke1024/runner-limit-errs
Limit number of errors and messages sent by runner
2018-01-07 12:38:08 +01:00
geequlim a6e0dcdcbf Add null checking for paramaters in Undoredo 2018-01-07 18:47:55 +08:00
Juan Linietsky 50b975548d Removed PBM bitmap loader, added abiliy to importi mages as bitmap. Fixes #14828 2018-01-06 16:38:36 -03:00
Jerome67000 b5885c43eb Fix crash when using Image.resize() without calling Image.create() first 2018-01-06 13:20:45 +01:00
MrCdK b2617e72e5 Fix NEQ operation between 2 different Arrays
it was returning false if it found the same content in both arrays which isn't correct, it should return true when it finds different values
2018-01-06 04:19:48 +01:00
Juan Linietsky b1ab44aa05 Print error if a resource can't load from script, fixes #15313 2018-01-05 17:35:48 -03:00
Pedro J. Estébanez ee2c31d306 Add new window setting: always on top
Implemented for Windows and Linux.
2018-01-05 21:31:04 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Emmanuel Leblond c1e2ed1d84
Fix _ClassDB::get_method_list to returns only what's available when introspection is disabled 2018-01-04 19:04:05 +01:00
Emmanuel Leblond e315c94900 Change OS::initialize signature to return Error (fix segfault on x11) 2018-01-04 15:15:55 +01:00
firefly2442 f066991aa7 found via cppcheck:
remove code that will never run
make definition and declaration names for parameters match
change floats that were being set to bool values
remove pointer that is never used
2018-01-03 21:23:48 -07:00
Rémi Verschelde 66d541c69d
Merge pull request #15280 from poke1024/ringbuffer-cow
Avoid redundant copy-on-writes in RingBuffer
2018-01-04 00:21:07 +01:00
Bernhard Liebl df84ecd043 Checks on input_buffer in PacketPeerStream 2018-01-03 21:12:58 +01:00
Juan Linietsky 474523d409
Revert "Add missing image format RGB10A2. Fixes #14964" 2018-01-03 16:43:07 -03:00
Bernhard Liebl 2909085774 Avoid redundant copy-on-writes in RingBuffer 2018-01-03 19:08:53 +01:00
Bernhard Liebl c7c764220c Limit number of errors and messages sent by runner 2018-01-03 17:23:09 +01:00
Rémi Verschelde 6b6f60defc
Merge pull request #15220 from ibrahn/variantcall-defargs-fix
fix VariantCall default parameter ordering
2018-01-03 12:50:04 +01:00
Rémi Verschelde 459ee51338
Merge pull request #15093 from poke1024/canvas-editor-select
More exact picking for canvas editor
2018-01-03 11:15:28 +01:00
Rémi Verschelde 6d812ad27f
Merge pull request #15051 from binbitten/bug-fixes
Add missing image format RGB10A2. Fixes #14964
2018-01-03 10:17:48 +01:00
Rémi Verschelde a24dd678fd
Merge pull request #15274 from GodotExplorer/debugger-fix-15238
Fix a bug for debugger
2018-01-03 08:37:24 +01:00
Rémi Verschelde 6322b0bbb7
Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursor
Custom hardware-accelerated mouse cursor
2018-01-03 08:35:59 +01:00
Geequlim 6c8ec5a930 Fix crash while the debugger encode a freed object. 2018-01-03 13:58:27 +08:00
Juan Linietsky 14772d2213
Merge pull request #15083 from tagcup/spatial_rot_fix
Restore the behavior of Spatial rotations recently changed in c1153f5.
2018-01-02 15:02:19 -03:00
Rémi Verschelde 4973b7a513
Merge pull request #14916 from poke1024/reduce-startup-time
Ramp up remote debugger wait time
2018-01-02 11:33:30 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Noshyaar a6328011d8
Merge pull request #14973 from poke1024/docs-word-selection
Double-click word selection for RichTextLabel (i.e. docs)
2018-01-01 18:51:35 +07:00
Noshyaar 8dcc28254c
Merge pull request #15091 from poke1024/fix-rect2-distance-to
Fix Rect2::distance_to() not returning 0
2018-01-01 18:37:46 +07:00
Ibrahn Sahir 96706168d0 fix VariantCall default parameter ordering 2017-12-31 14:58:45 +00:00
Bernhard Liebl b80bc553dd Double-click word selection for RichTextLabel (i.e. docs) 2017-12-28 17:44:22 +01:00
tagcup e9896b17a9 Restore the behavior of Spatial rotations recently changed in c1153f5.
That change was borne out of a confusion regarding the meaning of "local" in #14569.

Affine transformations in Spatial simply correspond to affine operations of its Transform. Such operations take place in a coordinate system that is defined by the parent Spatial. When there is no parent, they correspond to operations in the global coordinate system.
This coordinate system, which is relative to the parent, has been referred to as the local coordinate system in the docs so far, but this sloppy language has apparently confused some users, making them think that the local coordinate system refers to the one whose axes are "painted" on the Spatial node itself.

To avoid such conceptual conflations and misunderstandings in the future, the parent-relative local system is now referred to as "parent-local", and the object-relative local system is called "object-local" in the docs.

This commit adds the functionality "requested" in #14569, not by changing how rotate/scale/translate works, but by adding new rotate_object_local, scale_object_local and translate_object_local functions. Also, for completeness, there is now global_scale.

This commit also updates another part of the docs regarding the rotation property of Spatial, which also leads to confusion among some users.
2017-12-27 16:40:49 -05:00
Bernhard Liebl 8505871a87 More exact picking for canvas editor 2017-12-27 20:24:58 +01:00
Bernhard Liebl 0d578fb765 Fix crash in StringBuffer::append() 2017-12-27 20:21:50 +01:00
Juan Linietsky a663dbfdd8
Merge pull request #14744 from poke1024/stringname-compare
Avoid string allocations in AlphCompare
2017-12-27 15:44:45 -03:00
Juan Linietsky 988d29bdd8 Reimport now checks source path changes and imported files and their md5, fixes #14728 2017-12-27 15:22:04 -03:00
Bernhard Liebl 41c11894f1 Fix Rect2::distance_to() not returning 0 2017-12-27 09:56:52 +01:00
Noshyaar ab444a8ca9
Merge pull request #14996 from neikeq/enums-mono
Mono: Make the bindings generator output enums
2017-12-27 10:29:00 +07:00
Noshyaar de2247b9b4
Merge pull request #15045 from poke1024/vector2-inline
Inline some very common Vector2 operations
2017-12-27 10:25:08 +07:00
Juan Linietsky c1153f5041 Change the rotate function of Spatial to be local, makes more sense. Closes #14569 2017-12-26 12:45:56 -03:00
Juan Linietsky 4a2eef4ad8 Removed the InputEvent ID field, which was unused and can cause bugs. 2017-12-26 09:49:31 -03:00
binbitten 267bad6b4c Add missing image format RGB10A2. Fixes #14964 2017-12-25 21:01:01 +01:00
Bernhard Liebl 517227943f Inline some very common Vector2 operations 2017-12-25 15:58:14 +01:00
Poommetee Ketson 6c897707ca Add missing parameter names 2017-12-25 21:19:56 +07:00
Juan Linietsky 021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
Ignacio Etcheverry 0a0a44da8d Mono: Make the bindings generator output enums
- Switch to PascalCase for constants names
2017-12-24 04:20:41 +01:00
poke1024 e6d83a766a Ramp up remote debugger wait time 2017-12-22 07:17:31 +01:00
Gilles Roudiere 71f5e17680 Fixes grow_margin not working at all 2017-12-21 23:53:31 +01:00
Juan Linietsky c9d88fd8e8 Add functions to image to load a PNG or JPG from a buffer, closes #4024 2017-12-20 17:17:12 -03:00
Rémi Verschelde f66ef74338
Merge pull request #14823 from willnationsdev/get-base-script
Add Script.get_base_script()/get_instance_base_type() to API
2017-12-20 16:39:35 +01:00
Will Nations 28561c2e7a Add Script.get_base_script/instance_base_type API 2017-12-19 09:56:59 -06:00
Juan Linietsky b3a1bf3245 Use a different strategy for path remaps, try loading from a remap file instead.
This ensures multiple PCK exports still work.
2017-12-18 11:21:49 -03:00
Rémi Verschelde e83c502939
Merge pull request #14754 from willnationsdev/dictionary-copy
Added 'duplicate' function for Dictionary in C++ and API.
2017-12-17 23:58:59 +01:00
Will Nations f19fc83546 Dictionary::copy -> ::duplicate 2017-12-17 16:07:15 -06:00
Guilherme Silva a392dbdbe3 Add implementation for custom hardware cursor 2017-12-17 13:40:29 -02:00
Rémi Verschelde ad3393743c
Merge pull request #14760 from hpvb/add-several-unlikely-macros
Add several unlikely() macros
2017-12-17 14:28:15 +01:00
Rémi Verschelde 6afb90c846
Merge pull request #14635 from poke1024/getline
Faster FileAccess::get_line()
2017-12-17 14:24:07 +01:00
Rémi Verschelde d0abcf1a58
Merge pull request #14745 from poke1024/api-hash-arg-info
Faster ClassDB::get_api_hash()
2017-12-17 14:22:48 +01:00
Hein-Pieter van Braam 9ba134b463 Add several unlikely() macros
Based off of perf-based prediction misses these seem to be the
lowest-hanging fruit for quick (albeit small) improvements. These are
based on:

* baking a complex lightmap
* running platformer 3d
* running goltorus
2017-12-17 13:10:30 +01:00
Bernhard Liebl b47ce5e5d6 Avoid string allocations in AlphCompare 2017-12-17 12:16:08 +01:00
Juan Linietsky 652c98a7be Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.
Call needs to be routed via visual server to reach the proper thread.
2017-12-16 17:11:02 -03:00
poke1024 a3f1ed9af9 Faster FileAccess::get_line() 2017-12-16 16:27:21 +01:00
Bernhard Liebl b17ae020bb Faster ClassDB::get_api_hash() 2017-12-16 15:47:36 +01:00
Rémi Verschelde 6b7bed98f4
Merge pull request #14576 from poke1024/strings
Some performance tweaking of string handling
2017-12-16 13:10:30 +01:00
Ruslan Mustakov 9d6d20e67c Remove get_stack_bottom
It's not used in godot-nim any longer and there were no other uses for
it.
2017-12-16 13:10:26 +07:00
Rémi Verschelde cf7bd1a7e3
Merge pull request #14708 from Faless/get_packet_not_const_rebased
Remove "const" from PacketPeer get_packet/get_var, move windows network related stuff to drivers
2017-12-16 00:05:18 +01:00
Dmitry Koteroff 6fe415ca7f Added rsplit() for String class
Docs updated
2017-12-15 22:23:58 +03:00
Rémi Verschelde 7767d89c45
Merge pull request #14580 from Krakean/string_split_new_arg
Added third argument for String.split() function
2017-12-15 19:56:39 +01:00
Dmitry Koteroff 5302fd125b Added third argument for String.split() function (see issue #14349)
Remove negative limit, leave only positive and make it reflect behaviour like in Python
Also limit renamed to maxsplit to match Python one.
Also docs updated.

Fix indent
2017-12-15 21:51:13 +03:00
poke1024 040d4dba6b Some performance tweaking of string handling 2017-12-15 17:25:57 +01:00
Fabio Alessandrelli 92067b4714 Remove "const" from PacketPeer get_packet/get_var
They are NOT constant methods, as state by the comment message,
they fetch the last packet and then forget about it, actively
changing the state of the object.
2017-12-15 17:14:17 +01:00
Fabio Alessandrelli 206275f3e7 Fix javascript build error and improve #14604 2017-12-15 15:35:18 +01:00
Juan Linietsky 433cb6f490 fix compile issue 2017-12-15 09:04:57 -03:00
Juan Linietsky 251433847f -Added new scene conversion to binary on export (disabled by default, please test)
-This method works by directly converting text to binary, so the scene does not need to be loaded and saved
2017-12-15 08:39:26 -03:00
Rémi Verschelde 108a36f515
Merge pull request #14604 from mhilbrunner/http-defaults
HTTP cleanup & better defaults
2017-12-15 07:53:38 +01:00
Juan Linietsky 93a63a5e1a GDScript files are converted to binary on export now. 2017-12-14 15:34:47 -03:00
Rémi Verschelde fb84b49d87 Fix type mismatch in OS::set_borderless_window
Closes #14663.
2017-12-14 19:16:20 +01:00
Juan Linietsky f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
mhilbrunner 966c054fc9 HTTP cleanup & better defaults 2017-12-14 10:59:42 +01:00
mhilbrunner a7abb459c9 HTTPClient: Add PATCH method and missing HTTP status codes 2017-12-12 10:56:18 +01:00
Rémi Verschelde 2b41afb30e Fix wrong return value in some virtual method bindings 2017-12-10 15:34:08 +01:00
Rémi Verschelde a845411454 Style: Re-apply clang-format over recent invalid additions 2017-12-10 01:27:02 +01:00
Rémi Verschelde 626eebdec4 PropertyEditor: Fix display of property doc in tooltip 2017-12-09 22:54:12 +01:00
Rémi Verschelde 41e3592041
Merge pull request #13347 from Noshyaar/hang_in_there
Rect2: add function returning same rect with positive w and h
2017-12-09 18:08:09 +01:00
Stefano Bonicatti c067cf2c6a Fixes vsync setting ignored when using a separate thread for rendering
Setting the vsync in the main thread, after the rendering thread starts
and takes the OpenGL context fails, so we need to do that before.
Also, for some reason, the main thread cannot make current the context
anymore.

Fixes #13447
2017-12-09 01:43:23 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Rémi Verschelde d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Rémi Verschelde a88543c881
Merge pull request #14003 from karroffel/dictionary-iterate-fix
fix Dictionary iteration
2017-12-07 00:22:38 +01:00
Rémi Verschelde e6f3253f7d
Merge pull request #12603 from GodotExplorer/beautify-json
Add indent and sort keys support for JSON.print
2017-12-06 23:53:05 +01:00
Rémi Verschelde c033be4528
Merge pull request #14326 from RandomShaper/fix-chmod-error
Fix Windows-to-Linux export error
2017-12-06 23:16:18 +01:00
Juan Linietsky a496dd4d38 Created internal usage flag to remove non editor properties from doc, closes #13334 2017-12-06 17:16:25 -03:00
Pedro J. Estébanez 7fb9508cfa Fix Windows-to-Linux export error
Now chmod() returns ERR_UNAVAILABLE by default, to signal the caller the problem is lack of support instead of a failed operation.
2017-12-06 20:46:38 +01:00
karroffel 2ba4edbfb7 fix Dictionary iteration 2017-12-05 20:00:44 +01:00
Unknown fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01:00
Juan Linietsky d438ac0aed -Implemented Proxy Textures (needed to solve the problem with ViewportTexture)
-Properly use hierarchy to initialize resources local to scene (solves problem of GUI in 3D)
2017-12-04 15:56:17 -03:00
Bastiaan Olij 4f9dac5bb1 Forgot to apply oversampling to Y 2017-12-03 22:32:42 +11:00
Juan Linietsky 9678231b10 Changed the dynamic library open function to allow setting the path of the library to open extra libraries. 2017-11-30 10:00:55 -03:00
Rhody Lugo a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
Rhody Lugo a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
Poommetee Ketson 5c9be411eb Rect2: add function returning same rect with positive w and h 2017-11-28 00:41:29 +07:00
Rémi Verschelde c7e53f1934 Fix javascript build after bc2e8d99 2017-11-27 08:17:28 +01:00
Rémi Verschelde af9c67db0c Allow customizing user:// path (folder in OS::get_data_path())
This allows to specify any valid folder name (including with subfolders) to use
as user:// on all platforms. The folder is constrained to the platform-specific
OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to).

Fixes #13236.
2017-11-26 19:02:32 +01:00
Juan Linietsky bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Andreas Haas c76a9b99b0
Core: Bind InputEventGesture events. 2017-11-24 19:23:04 +01:00
Rémi Verschelde 3d0aec7a81
Merge pull request #13244 from bojidar-bg/13243-get-static-indexed
Fix a crash in get_static_property_type_indexed
2017-11-24 15:07:24 +01:00
Bojidar Marinov 0b63e84566
Fix a crash in get_static_property_type_indexed
Fixes #13243
2017-11-24 15:26:32 +02:00
dragmz b20bb8615f
reduce static memory usage
fixes #13217
2017-11-23 21:16:18 +01:00
Juan Linietsky 62d86b1588 Modified low processor sleep to 8000 and made it customizable (should be customizable for editor too) 2017-11-22 14:41:45 -03:00
Rémi Verschelde ba891a0e8b
Merge pull request #13143 from willnationsdev/list-insert-before-after-fix
Fixes List<T>::insert_before/after
2017-11-22 18:18:25 +01:00
Rémi Verschelde c07833f8b5
Merge pull request #13178 from bojidar-bg/13174-tween-fix
Make tween able to be used as before (without the need for ":...")
2017-11-22 13:20:20 +01:00
Rémi Verschelde 71f464e798 i18n: Add support for Serbin (Cyrillic) locale
[ci skip]
2017-11-22 13:19:09 +01:00
Bojidar Marinov bfe44de2b6
Make tween able to be used as before (without the need for ":...")
Fixes #13174
2017-11-22 14:13:56 +02:00
Juan Linietsky 0300522189
Merge pull request #13176 from bojidar-bg/allow-subproperty-set
Fix combatibility with older .scn files
2017-11-22 08:46:34 -03:00
Bojidar Marinov 3eb7858a3a
Fix combatibility with older .scn files 2017-11-22 13:34:43 +02:00
Rémi Verschelde 9638c9cb5d
Merge pull request #12371 from donkeybonks/color-lighten-darken
Add Color.lighten and Color.darken (like LESS.css or SASS) #2
2017-11-22 01:27:01 +01:00
Rémi Verschelde 3b7e9df255
Merge pull request #13151 from akien-mga/basis-vector3-constructor
Properly implement Basis constructor using Vector3 of Euler angles
2017-11-22 01:20:14 +01:00
Rémi Verschelde bedcbdd420
Merge pull request #13130 from endragor/gdnative-android-export
Proper GDNative export on Android
2017-11-21 23:59:01 +01:00
Rémi Verschelde 613d374bc5
Merge pull request #12284 from bojidar-bg/allow-subproperty-set
Allow for getting/setting "dotted" properties of objects
2017-11-21 22:44:14 +01:00
Rémi Verschelde a3f8dde502 Properly implement Basis constructor using Vector3 of Euler angles
Fixes #13104.
2017-11-21 20:52:07 +01:00
Bojidar Marinov 0cf9597758
Allow for getting/setting indexed properties of objects using get/set_indexed
Performance is around the same as using pure set() through GDScript.
2017-11-21 20:58:21 +02:00
Juan Linietsky 640856f4d4
Merge pull request #11895 from m4nu3lf/rendering/separate_thread
Restore rendering on a separate thread
2017-11-21 14:31:14 -03:00
Juan Linietsky 30dadb1228
Merge pull request #11933 from cxong/master
Use "Command" instead of "Meta" for macOS (#1619)
2017-11-21 14:25:09 -03:00
Will Nations 52f73a153d Fixes List<T>::insert_before/after 2017-11-21 10:51:38 -06:00
Ruslan Mustakov ebf9b80a47 Proper GDNative export on Android 2017-11-21 20:40:31 +07:00
Rémi Verschelde 6c9ee1f125
Merge pull request #13133 from endragor/resurrect-file-logging
Return and repair file logging
2017-11-21 14:25:33 +01:00
Rémi Verschelde 1c2782a7c7
Merge pull request #12590 from poke1024/bsearch
Add bsearch and bsearch_custom to Array
2017-11-21 13:14:08 +01:00
Kyle Van Berendonck 8e4336a729
Add Color.lightened and Color.darkened (like LESS.css or SASS) 2017-11-21 21:48:11 +11:00
Ruslan Mustakov d42c5646a5 Return and repair file logging
And make it configurable, too.
2017-11-21 16:43:44 +07:00
Bernhard Liebl 80ad8afc85 Native pan and zoom for macOS 2017-11-21 09:11:39 +01:00
poke1024 d6e54de502 Add bsearch and bsearch_custom to Array 2017-11-21 08:50:31 +01:00
Rémi Verschelde 71a3e71b61
Merge pull request #11783 from endragor/ios-export-frameworks
Allow exporting third-party iOS Frameworks
2017-11-20 22:56:15 +01:00
Rémi Verschelde 6065b2d177
Merge pull request #11940 from GodotExplorer/debugger
Enhanced debugger for godot 3.0
2017-11-20 22:55:49 +01:00
Ruslan Mustakov 8f0f327f02 Allow configuring iOS export
- EditorExportPlugin's _export_begin accepts all the arguments related
   to the current export (is_debug, path, flags).

 - EditorExportPlugin API is extended with methods allowing to configure
   iOS export: add_ios_framework, add_ios_plist_content,
   add_ios_linker_flags, add_ios_bundle_file.

 - iOS export template now contains Godot as a static library so that
   it can be linked with third-party Frameworks and GDNative static
   libraries.

 - Adds method to DirAccess for recursive copying of a directory.

 - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-21 01:16:49 +07:00
Rémi Verschelde 450bdda97a
Merge pull request #12387 from santouits/x1111
Fix x11 boot logo position in fullscreen and in maximized
2017-11-20 15:48:08 +01:00
Rémi Verschelde 4d5b82811f
Merge pull request #13006 from hoelzl/pr-placement-delete
Add placement deletes to avoid warnings on VC++
2017-11-20 13:16:23 +01:00
Juan Linietsky d413f372be Make old scenes readable again 2017-11-20 08:25:43 -03:00
Chip Collier fd81c001fc Basis accepts Vector3 as constructor argument. 2017-11-20 09:59:42 +01:00
Rémi Verschelde 3fd23da5ee Rename the version's "revision" to "build"
That "revision" was inherited from SVN days but had been since then
used to give information about the build: "custom_build", "official",
"<some distro's build>".

It can now be overridden with the BUILD_NAME environment variable.
2017-11-20 00:51:14 +01:00
Rémi Verschelde 6947bed015 Pass engine name and version parts as proper strings
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
2017-11-20 00:51:14 +01:00
Rémi Verschelde ecf80fbbba
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
2017-11-20 00:42:51 +01:00
Matthias Hoelzl 4c76c6892c Add placement deletes to avoid warnings on VC++
When compiling with VC++ 2017, Godot generates huge numbers of
C4291 warnings about missing placement delete.

I have not found a way to disable these warnings using compiler
options: AFAICT there is no equivalent to `-f-no-exceptions` for
VC++ (there is only /EH to change the exception-handling model,
/GX is deprecated) and adding /wd4291  to the
`disable_nonessential_warnings` list in the `SConstruct` file
or even compiling with `warnings=no` does not disable the
messages.

Placement delete is only called when placement new throws an
exception, since Godot doesn't use exceptions this change should
have no runtime effect.

Fixes #12654 (probably, difficult to say without log)
2017-11-19 21:25:18 +01:00
Rémi Verschelde 32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
m4nu3lf f9a38d2309 CommandQueueMT doesn't lock during command execution 2017-11-18 18:37:44 +00:00
Daniel J. Ramirez 59c2e8906a Improved packed scene previews. 2017-11-17 21:42:14 -06:00
Rémi Verschelde 73049d115e Rename OS::get_data_dir to OS::get_user_data_dir
Will be needed to avoid confusion with system data path (XDG_DATA_HOME)
and editor data dir in upcoming refactoring.
2017-11-17 20:55:09 +01:00
Juan Linietsky ebbe2bd572
Merge pull request #12930 from vnen/gdscrit-output-print
Make tool scripts print on the editor Output panel
2017-11-17 16:05:44 -03:00
Ferenc Arn d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Geequlim fab66af7e9 Move the remote scene tree to the scene tree dock.
Ignore all script constants in the global section of the breakpoint stack.
Check property size before send to avoid too large of data be sent.
Fix crash while clear the remote objects from the debugger.
2017-11-17 12:01:54 +08:00
geequlim ccf76798d5 Send script members, contants and globals to debugger
Remove remote inspector panel
2017-11-17 09:20:32 +08:00
geequlim 475cee9c0f Abstract some method for script system 2017-11-17 09:20:32 +08:00
George Marques 1d12470a78
Add print_error function, akin to print_line 2017-11-16 21:56:57 -02:00
Rémi Verschelde 219d735eb2
Merge pull request #12932 from willnationsdev/capitalize-enhancement
Fixes a bug where capitalize didn't work with camelCase names
2017-11-17 00:28:18 +01:00
Will Nations 238d488a04 Fixed a bug where capitalize didn't work with camelCase names 2017-11-14 14:32:37 -06:00
Leon Krause acb23adad3 Fail when attempting to retrieve a non-existent singleton 2017-11-14 16:15:00 +01:00
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Rémi Verschelde 0dd96bccd3
Merge pull request #12867 from eska014/html5-http
Implement HTTPClient in HTML5 platform
2017-11-13 08:32:32 +01:00
Leon Krause 2970061a73 Implement HTTPClient in HTML5 platform
Limitations:

 - Subject to same-origin policy
 - No persistent connection (but simulated for compatibility)
 - No blocking mode
 - No StreamPeer access
 - No chunked responses
 - Cannot disable host verification
2017-11-13 00:58:29 +01:00
Goutte 91ca725f9b Add support for the TAU constant. Fixes #12094. 2017-11-12 13:32:35 +01:00
Rémi Verschelde ed57f0a0d4 Remove get_default_video_mode definition on OSX/iOS
It had been missed in d09160a8b6 and broke compilation
for those platforms.

Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
2017-11-09 23:36:08 +01:00
Juan Linietsky d09160a8b6 Make video mode initialization more intuitive, fixes #12022 2017-11-09 13:02:26 -03:00