Commit graph

6335 commits

Author SHA1 Message Date
Ferenc Arn
f271591ac2 Various corrections in 2D math.
This is the follow up for the 2D changes mentioned in PR #6865. It fixes various mistakes regarding the order of matrix indices, order of transformation operations, usage of atan2 function and ensures that the sense of rotation is compatible with a left-handed coordinate system with Y-axis pointing down (which flips the sense of rotations along the z-axis). Also replaced float with real_t, and tried to make use of Matrix32 methods rather than accessing its elements directly.

Affected code in the Godot code base is also fixed in this commit.

The user code using functions involving angles such as atan2, angle_to, get_rotation, set_rotation will need to be updated to conform with the new behavior. Furthermore, the sign of the rotation angles in existing 2D scene files need to be flipped as well.
2017-01-10 10:14:20 -06:00
Ignacio Etcheverry
460f030b73 Detect bits when building with MinGW 2017-01-10 17:08:31 +01:00
Rémi Verschelde
bf50b41def Merge pull request #7492 from lonesurvivor/filesystem-dock
FileSystemDock: Collapse folders by default, add context menu with "E…
2017-01-10 15:44:00 +01:00
lonesurvivor
8fbd47c377 FileSystemDock: Collapse folders by default, add context menu with "Expand all" / "Collapse all" option. 2017-01-10 15:37:38 +01:00
Rémi Verschelde
0507f87de9 Merge pull request #7491 from BastiaanOlij/tools-no-fixes
Few small fixes so tools=no and target=release compiles
2017-01-10 15:31:03 +01:00
Rémi Verschelde
82ea31e42a Merge pull request #7490 from touilleMan/issue-7481
Remove deprecated Vector2.floorf method
2017-01-10 15:30:41 +01:00
Rémi Verschelde
b7915b3ea2 Merge pull request #7482 from volzhs/modulate-color
Fix modulate property bind to Color
2017-01-10 15:30:28 +01:00
Rémi Verschelde
9856843717 Merge pull request #7462 from karroffel/error_code
expose OS.set_exit_code and OS.get_exit_code to ClassDB
2017-01-10 15:29:39 +01:00
Rémi Verschelde
1105b42883 Merge pull request #7425 from lonesurvivor/master
Fix for the huge audio latency (>200 ms) for the …
2017-01-10 15:19:13 +01:00
BastiaanOlij
bf990b0822 Few small fixes so tools=no and target=release compiles 2017-01-10 21:42:14 +11:00
Emmanuel Leblond
0fbf3b990d Remove deprecated Vector2.floorf method 2017-01-10 09:11:36 +01:00
Juan Linietsky
48097f6df3 Removed the set_child_rect() in AcceptDialog. AcceptDialog now works as a container! 2017-01-10 01:49:55 -03:00
Juan Linietsky
a503f8aadc Groundbreaking!! Godot resources can now be flagged to be local to the scene being edited!
This means that each time this scene is instanced, the resource will be unique!
As such, thanks to this, the following features were implemented:
-ButtonGroup is no longer a control, it's now a resource local to the scene
-ViewportTexture can be created from the editor and set to any object, making ViewportSprite and other kind of nodes obsolete!
2017-01-10 01:07:03 -03:00
Rémi Verschelde
68c008ca8d Issue template: warn about known unstability 2017-01-09 22:53:46 +01:00
Juan Linietsky
1f8451001d -Translation text will change automatically for in-game buttons, labels, poups when translation is changed.
-Added a NOTIFICATION_TRANSLATION_CHANGED for controls that need custom code
-Sorry, editor will not update automatically because it uses a different translatio method.
2017-01-09 16:43:44 -03:00
Juan Linietsky
e9bb65db81 -All types have editable script now in properties
-Changed clip to a property in Control which can be set by the user
2017-01-09 15:50:59 -03:00
volzhs
b8ea0ba984 Fix modulate property bind to Color 2017-01-09 21:53:20 +09:00
Rémi Verschelde
0e635b683b Merge pull request #7480 from godotengine/ip-mingw2-workaround2
Windows: Workaround missing includes in MinGW-w64 < 4
2017-01-09 12:46:33 +01:00
Juan Linietsky
74c63fc378 Merge pull request #7471 from djrm/icons
Added missing node icons, plus some icon changes
2017-01-09 08:46:17 -03:00
Rémi Verschelde
b24fe6879a Windows: Workaround missing includes in MinGW-w64 < 4
The MinGW-w64 version we have on our Travis build environment (Ubuntu 12.04,
mingw-w64 2.0.1, gcc 4.6) is old and has some missing includes in the
dependencies of the `tcpmib.h` header [0] [1] [2].
Those were not triggered before 6323779596
probably due to conflicting WINVER definitions which prevented triggering the code
specific to >= 0x0600 (Vista). We ensure it won't be triggered by defining the
_WIN32_WINNT macro to Windows XP compatibility.
2017-01-09 12:10:25 +01:00
Rémi Verschelde
4163be67a1 OSX: Revert back to kHIDUsage_GD_Joystick
Bug introduced in 547a57777b.
2017-01-09 10:05:50 +01:00
Rémi Verschelde
be13360f56 Merge pull request #7458 from bojidar-bg/right-click-menu
Fix #7455 - script text editor's right click menu being weird
2017-01-09 09:37:55 +01:00
Daniel J. Ramirez
097cb66630 Added resources icons 2017-01-09 02:30:04 -06:00
Rémi Verschelde
ad759de3c1 Merge pull request #7475 from Hinsbart/joypad_fixes
More fixes to Joypad renaming.
2017-01-09 08:52:57 +01:00
Daniel J. Ramirez
16f0068e3e Added missing node icons, plus some icon changes 2017-01-08 23:32:57 -06:00
Juan Linietsky
a168cd7a23 Add clamp and wrap loop modes for animation tracks. 2017-01-09 00:41:16 -03:00
Juan Linietsky
62273e51a2 Moved JSON functions to built-in to_json, parse_json, validate_json 2017-01-08 22:40:00 -03:00
m4nu3lf
2e38b32e0f Fixed inertia tensor computation and center of mass 2017-01-09 00:13:54 +00:00
Juan Linietsky
fdc3380cf6 Remove XML format, as promised, for 3.0 2017-01-08 21:12:19 -03:00
Juan Linietsky
857c50db70 Removed Musepack, it's a pretty obsolete format nowadays. 2017-01-08 21:06:48 -03:00
Juan Linietsky
13cdccf23b Variant INT and REAL are now 64 bits (other types remain at 32) 2017-01-08 20:58:39 -03:00
Juan Linietsky
94ee7798ce -removed stop mouse and ignore mouse from control, which were confusing, replaced by mouse filter 2017-01-08 19:54:19 -03:00
Andreas Haas
d963fa9a01
More fixes to Joypad renaming.
Windows did not compile anymore because DI8DEVTYPE_JOYPAD obviously isn't defined in the directx headers ^^
I also did the same renaming as in #7473 for the windows platform and reverted the changes in the gamepad
mappings.
2017-01-08 23:52:49 +01:00
Juan Linietsky
4fd464a4c5 Removed ratio anchoring (will have to fix multiple 3D views later..) 2017-01-08 19:12:24 -03:00
Juan Linietsky
de73297883 Swapped expand and fill flag bits, so scenes don't save this property by default 2017-01-08 19:12:24 -03:00
Juan Linietsky
719b2e6eaa Merge pull request #7473 from Hinsbart/JoypadLinux
Rename "joypad_linux" class to "JoypadLinux"
2017-01-08 18:34:14 -03:00
Andreas Haas
4a6428aaee
Rename "joypad_linux" class to "JoypadLinux"
Named this class in GodotCase, so it fits with the rest of the codebase.
2017-01-08 22:22:00 +01:00
Juan Linietsky
fa170cbc58 PopupMenu now emits both index_pressed and id_pressed instead of item_pressed, closes #3188 2017-01-08 18:18:54 -03:00
Juan Linietsky
1b0930c435 Renamed finished to animation_finished, also passes the animation name when finished 2017-01-08 17:41:32 -03:00
Rémi Verschelde
8b7a86ec7b Move tests again from core to main
As advised by @reduz, as tests depend on other libs.
2017-01-08 21:33:37 +01:00
Rémi Verschelde
5bfa4227b3 Finish replacement of joystick by joypad
Some parts were forgotten in 547a577.
2017-01-08 21:33:37 +01:00
Rémi Verschelde
c2310b41fa opus: Update to upstream opusfile 0.8
Had missed it in the previous commit as the upstream website is outdated.
2017-01-08 21:33:37 +01:00
Juan Linietsky
a464afb4e7 Removed the "released" signal from button, it's pointless now that button_down and button_up exist. 2017-01-08 17:27:48 -03:00
Juan Linietsky
10938e8bb9 Made Variant::NIL printable as "Null". Please everyone be on the lookout of bugs related to assigning an empty variant to a string, and expecting it to be not empty! 2017-01-08 17:23:04 -03:00
Juan Linietsky
547a57777b renamed joystick to joypad everywhere around source code! 2017-01-08 17:06:33 -03:00
Rémi Verschelde
6323779596 Windows: Define _WIN32_WINRT to 0x0600 (Vista)
Passed as a compiler define to be sure it is always define before windows.h
is loaded. This means that Godot officially requires Vista API or later, it will
not work on Windows XP or earlier.

Also fix a bogus check for Windows 7 API.
2017-01-08 20:41:26 +01:00
Juan Linietsky
920947f297 renamed _input_event for GUI events to _gui_input, so it's more differentiated than generalized _input 2017-01-08 16:28:12 -03:00
Juan Linietsky
0a59c3c3a6 Dictionary keys are now sorted by insertion order 2017-01-08 14:17:04 -03:00
Ferenc Arn
6b1252cdfa Fix the order in which additional transformations are applied in Matrix3 and Transform.
This is a part of the breaking changes proposed in PR #6865, solving the issue regarding the order of affine transformations described in #2565. This PR also fixes the affected code within Godot codebase. Includes improvements to documentation too.

Another change is, Matrix3::get_scale() will now return negative scaling when the determinant of the matrix is negative. The rationale behind this is simple: when performing a polar decomposition on a basis matrix M = R.S, we have to ensure that the determinant of R is +1, such that it is a proper rotation matrix (with no reflections) which can be represented by Euler angles or a quaternion.

Also replaced the few instances of float with real_t in Matrix3 and Transform.

Furthermore, this PR fixes an issue introduced due to the API breakage in #6865. Namely Matrix3::get_euler() now only works with proper rotation matrices. As a result, the code that wants to get the rotation portion of a transform needs to use Matrix3::get_rotation() introduced in this commit, which complements Matrix3::get_scaled(), providing both parts of the polar decomposition.

Finally, it is now possible to construct a rotation matrix from Euler angles using the new constructor Matrix3::Matrix3(const Vector3 &p_euler).
2017-01-08 10:36:14 -06:00
Rémi Verschelde
d945c4e58e x11: Improve logic for cross-dependencies between freetype, zlib and libpng
Fixes #7373.
2017-01-08 17:17:05 +01:00