Age | Commit message (Collapse) | Author |
|
[3.0] Fix bug in Image::_get_pixelb
|
|
Update snake_case splitting
|
|
Added the ability to select files as base when creating scripts
|
|
Added various functions basic math classes. Also enabled math checks …
|
|
Fixes issue:
https://github.com/godotengine/godot/issues/8158
|
|
|
|
"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.
|
|
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 3b687c5474113b64f186388883ca85cdfe6523d4)
|
|
External editor improvements and fixes
|
|
Fixes #8445
|
|
Fix PRNG randomization.
|
|
Use .godot as file extension for project files.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
Fixes #7556 running game from editor on LLVM builds.
|
|
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
|
|
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods
|
|
|
|
|
|
|
|
|
|
|
|
for debug builds.
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
|
|
Core: fix possible memory leaks.
|
|
|
|
Made slide and reflect active verbs acting on itself in Vector2 and V…
|
|
DLScript module
|
|
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
|
|
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.
|
|
|
|
Added ability to change A-star cost function
|
|
|
|
|
|
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).
|
|
Input: Refactor JOY_* constants.
|
|
Use atan2 rather than acos in Vector3.angle_to.
|
|
Explicitly documented that Transform.basis is not necessarily an orth…
|
|
Implement warped mouse panning for 2D & 3D editors
|
|
Suppress error messages when using ConfigFile::get_value and a default is given
|
|
Update ENet to use Godot sockets.
|
|
From https://github.com/lucasdemarchi/codespell
|
|
**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_*`.
|
|
Fixes #8111.
|
|
- Add blocking mode option to PacketPeerUDP.
- put_packet returns ERR_UNAVAILABLE when operation would block.
- ENet module uses non-blocking UDP.
|
|
matrix.
Also added a check that in axis-angle rotations, axis is a normalized vector, and modified the docs accordingly.
Fixes #8113.
|
|
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
|
|
Fixes #8097
|