summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2017-04-20Merge pull request #8417 from neikeq/hello-thereRémi Verschelde
External editor improvements and fixes
2017-04-18Fixed that playing the project opens the project managerMarco Melorio
Fixes #8445
2017-04-18Merge pull request #8441 from tagcup/seed_fixRémi Verschelde
Fix PRNG randomization.
2017-04-17Merge pull request #8375 from Hinsbart/project_extensionRémi Verschelde
Use .godot as file extension for project files.
2017-04-17Fix PRNG randomization.Ferenc Arn
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-17External editor improvements and fixesIgnacio Etcheverry
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-16Use .godot as file extension for project files.Andreas Haas
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-14Correct Variant::hash_compare()Hein-Pieter van Braam
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-11Fix a pesky bug in marshalls.cpp/encode_variantBojidar Marinov
Fixes #7556 running game from editor on LLVM builds.
2017-04-10Rename [gs]et_pos to [gs]et_position for ControlsSergey Pusnei
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-09Merge pull request #8333 from touilleMan/classdb-class_sget_property-bindingRémi Verschelde
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods
2017-04-09Add return value in ClassDB.class_[g|s]et_property bindingsEmmanuel Leblond
2017-04-09Add _ClassDB.class_[g|s]et_property to ClassDB exposed methodsEmmanuel Leblond
2017-04-08Particle system is complete. Rejoice!Juan Linietsky
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-04-06New particle system, mostly working, some small features missing.Juan Linietsky
2017-04-06Merge pull request #8286 from Hinsbart/memleaksRémi Verschelde
Core: fix possible memory leaks.
2017-04-06Core: fix possible memory leaks.Andreas Haas
2017-04-05Merge pull request #8214 from tagcup/bounce_reflect_slideRémi Verschelde
Made slide and reflect active verbs acting on itself in Vector2 and V…
2017-04-04Merge pull request #8246 from GodotNativeTools/dlscript-moduleRémi Verschelde
DLScript module
2017-04-03added dlscript moduleKarroffel
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan. This adds a module to Godot that enables the use of dynamic libraries as a source for scripts. That also allows third party libraries to be linked to Godot more easily and without creating modules. For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
2017-04-03Made slide and reflect active verbs acting on itself in Vector2 and Vector3.Ferenc Arn
This is in alignment with other functions in vector classes. Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs. Fixes #8201.
2017-04-03increased maximum number of scripting languagesKarroffel
2017-04-03Merge pull request #8146 from supagu/astarRémi Verschelde
Added ability to change A-star cost function
2017-04-01Added ability to change A-star cost functionFabian Mathews
2017-03-29Added methods for opening dynamic libraries to OSKarroffel
2017-03-29Fix polar decomposition in 2D.Ferenc Arn
When performing polar decomposition in 2D as B = R.S, where R is rotation (with determinant +1) and S is scaling, use the convention that reflections are absorbed into S through a reflection around y axis. In 3D, this is done by using a reflection along all three axes, but since the dimensionality is even in 2D, one axis needs to be chosen. Fixes Matrix32::get_rotation and Matrix32::get_scale (which weren't properly fixed in #7445).
2017-03-24Merge pull request #8133 from Hinsbart/joy_constantsRémi Verschelde
Input: Refactor JOY_* constants.
2017-03-24Merge pull request #8132 from tagcup/vector3_angle_toRémi Verschelde
Use atan2 rather than acos in Vector3.angle_to.
2017-03-24Merge pull request #8122 from tagcup/axis_check_normalizationRémi Verschelde
Explicitly documented that Transform.basis is not necessarily an orth…
2017-03-24Merge pull request #8109 from RandomShaper/warped-panningRémi Verschelde
Implement warped mouse panning for 2D & 3D editors
2017-03-24Merge pull request #8098 from bojidar-bg/configfile-get-value-suppressRémi Verschelde
Suppress error messages when using ConfigFile::get_value and a default is given
2017-03-24Merge pull request #7985 from Faless/enet_godot_sock_squashRémi Verschelde
Update ENet to use Godot sockets.
2017-03-24Fix typos in source code using codespellRémi Verschelde
From https://github.com/lucasdemarchi/codespell
2017-03-24Input: Refactor JOY_* constants.Andreas Haas
**Breaking change** Removed the `JOY_SNES_*` and `JOY_SEGA_*` constants. Imho there's no reason for a modern game engine to provide button aliases for decades-old hardware. Also renamed `JOY_ANALOG_{0,1}_{X,Y}` to `JOY_ANALOG_{L,R}{X,Y}` and removed `JOY_ANALOG_2_*`.
2017-03-24Use atan2 rather than acos in Vector3.angle_to.Ferenc Arn
Fixes #8111.
2017-03-24Allow non blocking UDP put_packet in C++.Fabio Alessandrelli
- Add blocking mode option to PacketPeerUDP. - put_packet returns ERR_UNAVAILABLE when operation would block. - ENet module uses non-blocking UDP.
2017-03-23Explicitly documented that Transform.basis is not necessarily an orthogonal ↵Ferenc Arn
matrix. Also added a check that in axis-angle rotations, axis is a normalized vector, and modified the docs accordingly. Fixes #8113.
2017-03-22Implement warped mouse panning for 2D & 3D editorsPedro J. Estébanez
Enabled by default as in Blender, but can be disabled separately for 2D & 3D; the core functionality is in Input so this could be reused or even exposed to scripts in the future
2017-03-21Suppress error messages when using ConfigFile::get_value and a default is givenBojidar Marinov
Fixes #8097
2017-03-19Input: bind parse_input_event()Andreas Haas
When using get_tree().input_event(ev), the engine will JUST send the event down the SceneTree. However, you won't get any of the benefits of the Input singleton: - No InputMap actions will be emitted - The internal input state won't be modified, so methods like `Input.get_mouse_pos()` or `Input.is_joy_button_pressed` won't return the expected output after sending the event. This is fixed by using `Input.parse_input_event(ev)` instead. I guess we'll also have to update the docs to reflect that this is the preferred method of sending custom InputEvents.
2017-03-13fixed ClassDB inconsistenciesKarroffel
fixes #7960
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
2017-03-05Style: prevent bogus macro formatting by clang-formatRémi Verschelde
Also prevent formatting of thirdparty snippet
2017-03-05really fixed PTRCALL nowKarroffel
2017-03-05Merge pull request #7958 from karroffel/powerstate-ptrcall-fixRémi Verschelde
Added PowerState casting operator to Variant
2017-03-05Add a bunch of missing Godot headers in own filesRémi Verschelde
2017-03-05Added PowerState casting operator to VariantKarroffel
Without it Godot does not build with PTRCALL_ENABLED
2017-03-05Merge pull request #7950 from RandomShaper/expose-more-geomRémi Verschelde
Expose uncapped versions of closest-point-to-segment utilities
2017-03-04Expose uncapped versions of closest-point-to-segment utilitiesPedro J. Estébanez