George Marques
cf4079cb5f
Reduce number of addressing modes in GDScript VM
...
There's now only 3 addressing modes: stack, constant, and member.
Self, class, and nil are now present respectively in the first 3 stack
slots. Global and class constants are moved to local constants when
compiling. Named globals is only present on editor to use on tool
singletons, so its use now emits a new instruction to copy the global to
the stack.
This allow us to further optimize the VM later by embedding the
addressing modes in the instructions themselves, which is better done
with less permutations.
2021-04-08 14:29:55 -03:00
ray90514
7501c7f48a
Fix LineEdit undo behaves strangely
2021-04-08 23:47:54 +08:00
Rémi Verschelde
35066f39ff
Merge pull request #47697 from gongpha/color-picker-bars-fix-raw-mode
...
Fix ColorPicker's RGB bars are show in RAW mode and other
2021-04-08 16:32:38 +02:00
George Marques
b25ab27d4a
Set resource path earlier on ProjectSettings setup
...
Since loading the config might use the resource path, it needs to be
set before that happens.
2021-04-08 09:35:06 -03:00
George Marques
c165814d36
Set up PackedData when setting up tests
...
Some tests need functions of ProjectSettings that rely on this being
available.
2021-04-08 09:35:06 -03:00
George Marques
5f77f38573
Add runner for GDScript testing
...
This is meant for testing the GDScript implementation, not for testing
user scripts nor testing the engine using scripts.
Tests consists in a GDScript file and a .out file with the expected
output. The .out file format is: expected status (based on the enum
GDScriptTest::TestStatus) on the first line, followed by either an error
message or the resulting output. Warnings are added after the first
line, before the output (or compiler errors) if the parser pass without
any error.
The test script must have a function called `test()` which takes no
argument. Such function will be called by the test runner. The test
should not have any dependency unless it's part of the test too. Global
classes (using `class_name`) are registered before the runner starts, so
those should work if needed.
Use the command `godot --gdscript-generate-tests
godot-source/modules/gdscript/tests/scripts` to update the .out files
with the current output (make sure the output are the expected values
before committing).
The tests themselves are part of the doctest suite so those can be
executed with `godot --test`.
Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
2021-04-08 09:34:59 -03:00
Rémi Verschelde
084b882c0a
Merge pull request #47647 from akien-mga/doctool-default-cwd
...
Main: Default `--doctool` path to '.' if none given
2021-04-08 14:12:06 +02:00
Rémi Verschelde
0283bc8fd5
Merge pull request #44456 from univeous/allow_input_echo_in_ui_focus
...
allow input echo when changing ui focus
2021-04-08 13:28:43 +02:00
Rémi Verschelde
fe6f226d26
Merge pull request #47717 from lyuma/fbx_empty_crash
...
Fix crash on importing empty .fbx file
2021-04-08 13:02:05 +02:00
Lyuma
7d8e981262
Fix crash on importing empty .fbx file
2021-04-08 02:50:01 -07:00
Fabio Alessandrelli
f7ae5442a6
Merge pull request #47708 from Calinou/doc-websocketclient-secure
...
Document secure wss:// caveats for WebSocketClient
2021-04-08 00:47:04 +02:00
Rémi Verschelde
40dff7117a
Merge pull request #47648 from Blackiris/fix-gdscript-editor-hangs
...
Fix infinite loop when guessing argument type from parent class
2021-04-07 23:19:29 +02:00
Rémi Verschelde
73a1253095
Merge pull request #47672 from Blackiris/fix-setter-stackoverflow
...
Fix stack overflow in setter
2021-04-07 23:17:30 +02:00
Hugo Locurcio
a56e37545b
Document secure wss:// caveats for WebSocketClient
...
See https://github.com/godotengine/godot/issues/37739 .
2021-04-07 21:32:17 +02:00
Sushi
a4d5664858
Fix: Selection Only in Find/Replace now preserves selection
2021-04-07 16:38:22 +02:00
Rémi Verschelde
47aef8e8dc
Merge pull request #47441 from TwistedTwigleg/skeletonik_changes_and_bug_fixes_regressionfix2
...
Fix for SkeletonIK not working correctly with 0 interpolation and incorrectly rotating with animation
2021-04-07 16:25:30 +02:00
Kongfa Waroros
ce126d4b79
Fix ColorPicker's RGB bars are show in RAW mode and other
2021-04-07 18:39:37 +07:00
Rémi Verschelde
1075943cc5
Merge pull request #43900 from nathanfranke/fix-stream-peer-tcp-ambiguity
...
Improve Ambiguous StreamPeerTCP `set_no_delay` Documentation
2021-04-07 11:54:59 +02:00
Rémi Verschelde
e261c2dd9d
Merge pull request #46877 from W4RH4WK/always-dynamically-allocate-property-table
...
Always dynamically allocate PropertyTable
2021-04-07 11:25:38 +02:00
PouleyKetchoupp
9d87bcdcde
Fix TextEdit cursor update when adding or deleting text
...
Updating the viewport while setting the line index before the column is
set could wrongly cause the text to be scrolled down.
2021-04-06 22:17:16 -07:00
Aaron Franke
5a9037f828
Warn when creating a script with the same name as the parent class
2021-04-06 22:43:00 -04:00
Rémi Verschelde
f96392a2b5
Merge pull request #47683 from akien-mga/sync-gamecontrollerdb
...
Sync controller mappings DB with SDL2 community repo
2021-04-06 22:53:01 +02:00
Rémi Verschelde
f83486b430
Sync controller mappings DB with SDL2 community repo
...
Synced with gabomdq/SDL_GameControllerDB@01dce71403 .
2021-04-06 22:39:35 +02:00
Rémi Verschelde
68b28c6cd4
Merge pull request #47678 from madmiraal/fix-47436.1
...
Check for empty ConcavePolygonShape2D before checking for intersection
2021-04-06 22:35:49 +02:00
Rémi Verschelde
7fa84d8bd3
Merge pull request #47675 from madmiraal/fix-47436
...
Check ConvexPolygonShape2D point count before calcuating moment of inertia
2021-04-06 22:35:01 +02:00
Rémi Verschelde
0d37116aee
Merge pull request #47674 from madmiraal/fix-47437
...
Check for the use of an empty shape in Bullet Kinematic collisions
2021-04-06 22:34:17 +02:00
Rémi Verschelde
0485a0d8b2
Merge pull request #47668 from madmiraal/fix-47438
...
Ensure ConvexPolygonShape3D support count variable is initialised
2021-04-06 22:30:07 +02:00
Marcel Admiraal
2abfc0518f
Check for empty ConcavePolygonShape2D before checking for intersection
2021-04-06 20:05:10 +01:00
Rémi Verschelde
17e0ad9d5b
Merge pull request #47666 from madmiraal/fix-46137
...
Ensure ConvexPolygonShape2D support count variable is initialised
2021-04-06 21:03:00 +02:00
pkowal
f93de6f94f
Clean up profiler
2021-04-06 20:31:41 +02:00
Marcel Admiraal
25593a481a
Check ConvexPolygonShape2D point count before calcuating moment of inertia
2021-04-06 19:15:09 +01:00
Marcel Admiraal
ff9a6c4e39
Check for the use of an empty shape in Bullet Kinematic collisions
2021-04-06 18:40:13 +01:00
Julien Nguyen
43c1c680f0
Fix stack overflow in setter
2021-04-06 19:00:08 +02:00
Kongfa Waroros
6294507acb
Add Various ColorPicker shapes
2021-04-06 22:48:03 +07:00
Marcel Admiraal
6544f8422f
Ensure ConvexPolygonShape3D support count variable is initialised
2021-04-06 16:46:15 +01:00
Marcel Admiraal
0d4d8925b7
Ensure ConvexPolygonShape support count variable is initialised
2021-04-06 16:18:49 +01:00
Andrii Doroshenko (Xrayez)
679d038043
makerst: Fix generation of overridden properties in child classes
...
This only affects `Object` classes, not `Variant`.
2021-04-06 17:26:18 +03:00
Rémi Verschelde
55faf1c874
Merge pull request #47651 from Calinou/export-improve-nonexistent-preset-errors
...
Improve error messages for missing export presets when using `--export`
2021-04-06 14:37:25 +02:00
Hugo Locurcio
09f38ea215
Improve error messages for missing export presets when using --export
...
- Display a specific error message if the project doesn't have an
`export_presets.cfg` file.
- Display a list of detected export presets if an invalid export
preset name is supplied.
2021-04-06 14:27:15 +02:00
Rémi Verschelde
2d16ccaaa1
Merge pull request #47654 from vnen/stdout-disable
...
Add flag to stop printing to stdout/stderr
2021-04-06 13:34:05 +02:00
Rémi Verschelde
64e8eee3c6
Merge pull request #47660 from Faless/js/4.x_webgl_fallback
...
[HTML5] Implement WebGL fallback.
2021-04-06 13:07:51 +02:00
Fabio Alessandrelli
34fd48f68d
[HTML5] Implement WebGL fallback.
...
According to project settings and when WebGL2 is not available.
This does nothing in current master, as we have no rendering yet!
2021-04-06 12:57:24 +02:00
George Marques
f8dd7917ec
Add flag to stop printing to stdout/stderr
...
This allows the terminal output to be suppressed but still be captured
by print/error handlers.
2021-04-06 07:36:41 -03:00
Rémi Verschelde
45f0b5db28
Merge pull request #47200 from LightningAA/delete-from-project-manager-4.0
...
Add the ability to remove project contents from the remove project dialog
2021-04-06 11:30:14 +02:00
Rémi Verschelde
096ef0dc91
Main: Default --doctool
path to '.' if none given
2021-04-06 10:23:50 +02:00
Rémi Verschelde
12286a1fde
Merge pull request #47655 from BastiaanOlij/fix_reloadable
...
Only cleanup meta data if GDNative library is reloadable
2021-04-06 09:45:04 +02:00
Rémi Verschelde
c647e41e60
Merge pull request #47657 from LightningAA/graphedit-zoom-follow-mouse-4.0
...
Make `GraphEdit` scrollwheel zoom based on mouse position
2021-04-06 08:46:51 +02:00
Lightning_A
d514949755
Make scrollwheel zoom based on mouse position
2021-04-05 23:00:56 -06:00
Bastiaan Olij
81131bd844
Only cleanup meta data if GDNative library is reloadable and we're about to unload it
2021-04-06 11:55:15 +10:00
Rémi Verschelde
f4b82814f8
Merge pull request #47622 from pycbouh/editor-plugins-expose-scale
...
Expose editor scale to the plugin API
2021-04-05 19:00:45 +02:00