Age | Commit message (Collapse) | Author |
|
re-added MultiScript
|
|
The very first Godot version (when it was open sourced) had "MultiScript" which lets you use multiple scripts on one object.
With the addition of mulitple new scripting languages (VisualScript, soon C# and GDNative) it can be of use to combine scripts rather than delegating (with huge maintainance cost) or creating child nodes
which could impact performance.
I used the code from 0b806ee as the base and made it work with the current master.
|
|
Fixes #8463.
|
|
|
|
[GDNative] fixed msvc build
|
|
|
|
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
|
|
Respect the expand margin for StyleBoxTextures again.
|
|
Show script filename instead of thumbnail
|
|
|
|
|
|
[GDNative] explicit calling convention
|
|
|
|
Fixed that playing the project opens the project manager
|
|
Fixes #8445
|
|
Support for space indentation
|
|
|
|
|
|
Fix PRNG randomization.
|
|
Fix gles3-particles shader not compiling
|
|
It seems to give nightmares to Windows users.
|
|
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.
|
|
[GDNative] added "new" method and fixed headers
|
|
Correct gdnative signatures
|
|
|
|
|
|
Add godot_string_unicode_str to GDnative
|
|
instead of ptr.
|
|
|
|
ScriptEditor: Fixes bug where menu option would be handled twice
|
|
[GD 3.0] Fix stretch mode 2d... again
|
|
|
|
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.
|
|
Objects on the screen were not displayed when the project was played,
because it looked for the values of width and height of menus with old
names (godot 2.1?) For that reason delivered value (0, 0).
|
|
|
|
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.
|
|
Feels snappier now.
|
|
Fix FBO depth texture format
|
|
|
|
[GDnative] Implement missing functions in gdnative vector2 and vector3 bindings
|
|
|
|
|
|
Make buttons closer in Inspector panel
|
|
Fix editor style box for ToolButton
|
|
Correct Variant::hash_compare()
|
|
Prevent to take too much space for long vertical texture
|
|
Removed the deprecated Import menu from the main editor.
|
|
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.
|