Commit Graph

178 Commits

Author SHA1 Message Date
Andreas Haas e85be2f5df InputDefault: Fix joypad actions when axis quickly changes direction.
The fix (inserting a fake event so actions get released properly) was already there but disregarded the case when the hardware sends values in the [0;1] range.

(cherry picked from commit 3bea3256f5)
2017-08-13 20:29:47 +02:00
Rémi Verschelde 97c3f66b7c Merge pull request #10317 from Corruptinator/2.1
Fixed OUYA Controller Mapping!
2017-08-13 17:34:06 +02:00
Corruptinator aef0554386 Fixed OUYA Controller Mapping!
The input_default.cpp now has the corrected OUYA Game Controller Mapping
which allows the game console to respond to the controller!
2017-08-13 02:34:22 -07:00
Yakov Borevich 3401ca6803 [2.1] Add expand stretch/ascpect - no more black bars 2017-08-09 12:30:06 +03:00
Fabio Alessandrelli c3055b24d1 Remove "debug/remote_port" project setting (moved to editor)
Also updated default port from 6007 (X11) to 6096 (unspec)
2017-07-22 14:36:43 +02:00
Corruptinator eede898648 OUYA Game Controller GUID for input_default.cpp
Updated input_default.cpp to include the button mapping and GUID of the
OUYA Game Controller. This allows the controller itself to work on
Android devices, including the OUYA and hopefully this fixes issue #9390
for the 2.1.4
2017-07-11 05:15:51 -07:00
Marcelo Fernandez bcb8cc2faa Fix possible crash in joy_axis (fixes #4944).
(cherry picked from commit 2419a4e4ff)
2017-06-25 14:20:47 +02:00
George Marques 48a06f730f
Implement missing WinRT functions
- Fix buildsystem for WinRT/UWP platform.
- Add audio driver and joystick mapping for WinRT.
- Enable thread class for WinRT.
- Refactor MSVC compiler architecture detection to methods.py, so it can
  be used by Windows and WinRT.
2017-06-07 11:36:00 -03:00
Rémi Verschelde d432ad1e17 Improve documentation of thirdparty code snippets
(cherry picked from commit c8aea60324)
2017-05-26 23:53:14 +02:00
Rémi Verschelde fec8e2549c Fix a few property warnings on Globals access
Hand-picked from 515f92d03b.
2017-05-26 18:46:59 +02:00
Fabio Alessandrelli 7a4dc3be41 Allow selecting editor debug host and port.
Possibly fixes various editor<->debugger connection related problems.

(cherry picked from commit 98eb58a93c)
2017-05-12 20:01:53 +02:00
volzhs 8274029e03 Fix error for loading icon image at start up 2017-04-18 04:30:53 +09:00
Andreas Haas 37d9a7bee4
Re-add ouya gamepad mapping.
Also adds yet another type of ps4 controller.
2017-04-10 16:38:44 +02:00
Rémi Verschelde e9b045d9e5 Add "Godot Engine contributors" copyright line 2017-04-08 00:45:24 +02:00
Pedro J. Estébanez 1b15c53479 Optimize-out some debug and/or non-tools methods
Collisions and nav debug are conditionally compiled depending on DEBUG_ENABLED
is_editor_hint() and is_node_being_edited() are compiled only with TOOLS_ENABLED
Every affected method is implemented in the header in case its macro is not present (the getters just returning false and the setters having an empty body) so the compiler can inline and finally no-op-out them as likely as possible.
is_node_being_edited() already showed a similar optimization effort and has been adapted to this change.
Furthermore, and as a consequence, -debugcol and -debugnav will not work on non-debug (strict release) builds.
This can bring a little bit of runtime performance on release and non-tooled builds (less code, so less cycles to spend and maybe more cache friendly).
2017-04-07 16:34:15 +02:00
Pedro J. Estébanez 5889169bbd Fix warped mouse panning on Linux
Fix/improve it also on certain edge cases for any platform
2017-04-03 02:59:03 +02:00
Andreas Haas 33f9873b70
Input: Update Gamepad mappings. 2017-04-02 09:59:53 +02:00
Andreas Haas 6438823037 Merge pull request #8166 from evolarium/joystick_fix
Initialize hat values for mapping and revert X360 mappings.
2017-03-30 14:16:03 +02:00
Jordan Patterson 391f6c5536 Initialize hat values for mapping and revert X360 mappings. 2017-03-27 11:00:37 -06:00
Andreas Haas 8c06da0d49
Better handling of joypad device IDs.
Now InputDefault is responsible for giving out joypad device IDs to the platform, instead of each platform handling this itself.
This makes it possible for c++ modules to add their own "custom" gamepad devices, without the risk of messing up events in case the user also has regular gamepads attached (using the OS code).
For now, it's implemented for the main desktop platforms.
Possible targets for future work: android, uwp, javascript
2017-03-26 00:12:11 +01:00
Andreas Haas ed3134088b Input: Update mouse position on mouse-button events.
(cherry picked from commit 468719c480)
2017-03-24 23:19:49 +01:00
Pedro J. Estébanez 2c2c48ffb3 Implement warped mouse panning for 2D & 3D editors
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-22 21:18:47 +01:00
Andreas Haas 2f1a0448a7
Input: bind parse_input_event()
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-19 08:33:07 +01:00
Rémi Verschelde f8db8a3faa Bring that Whole New World to the Old Continent too
Applies the clang-format style to the 2.1 branch as done for master in
5dbf1809c6.
2017-03-19 00:36:26 +01:00
Rémi Verschelde 1b0e2b0c39 Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.

(Manual redo of 49c065d29c)
2017-03-18 23:45:45 +01:00
Rémi Verschelde 6e5246e312 Reorder the folders in tools to prepare moving tools/editor
- `certs` and `editor_fonts` go to `thirdparty`
- `dist` and `scripts` go to a new `misc` folder
- `collada` and `doc` go to `tools/editor`

The next step will be to rename `tools/editor` to `editor` directly,
but this will be done at the right time to avoid breaking too many PRs.

(cherry picked from commit b87a232668)
2017-03-18 23:29:43 +01:00
Rémi Verschelde 16b78da941 Style: Various fixes to play nice with clang-format
(cherry picked from commit 2a0ddc1e89)
2017-03-18 23:13:47 +01:00
Rémi Verschelde dbf0137576 Style: Fix statements ending with ';;'
(cherry picked from commit f44ee891be)
2017-03-18 21:14:33 +01:00
Rémi Verschelde 4bfecab813 Style: No break before list brace
clang-format does not handle that well *at all*.

For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`

(cherry picked from commit 40323407df)
2017-03-18 21:05:58 +01:00
BastiaanOlij 8436a34305 Core motion for Godot 2.x (based on PR 7127) 2017-03-09 21:46:38 +11:00
Rémi Verschelde ff490e42da Move core engine tests to main
(cherry picked from commits 790f629e5e
and 8b7a86ec7b)
2017-01-12 19:15:30 +01:00
Rémi Verschelde d8223ffa75 Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!

(cherry picked from commit c7bc44d5ad)
2017-01-12 19:15:30 +01:00
Tim Roes d7ec768805 Fix typos and missing newlines in --help
(cherry picked from commit c34aa331ec)
2016-11-15 08:28:58 +01:00
Rémi Verschelde e259bf8bbb style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-02 22:28:28 +01:00
Rémi Verschelde 5a49e45d21 SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.

(cherry picked from commit fc8ccd5b8c)
2016-10-30 14:51:34 +01:00
Andreas Haas 64b083b496 Allow whitespace in Gamepad mappings.
Previously, mappings that contained whitespace (most likely after a comma seperator) would not parse
correctly.
Consider the following mapping as an example:

"_test_guid_, test controller, a:b0, b:b1, leftx:a0 ,"

(cherry picked from commit fa502b7ccc)
2016-10-17 20:50:43 +02:00
Pedro J. Estébanez 12d4d65668 Improve debug focus behavior
Fix focusing debugged game on Windows
Add re-focusing editor on continue

(cherry picked from commit 66dac878ac)
2016-10-09 17:29:59 +02:00
J08nY f315d352ec PCKPacker: moved from tools into core, fixes #4129
(cherry picked from commit b1fba2e013)
2016-10-09 17:28:11 +02:00
Andreas Haas 33223e7a8a Add function to get readable names for joystick events
Closes #6476

(cherry picked from commit e0fcd9331a)
2016-10-09 17:19:57 +02:00
Andreas Haas e788ffff65 Fix input action pressed state not changing for quick joystick movements.
fixes #6488
Also removes a bunch of dead code related to checking if a joystick axis is pressed.

(cherry picked from commit 84783fe77b)
2016-10-09 17:16:19 +02:00
Andreas Haas 323dec7dd5 x11: fix x360 wireless gamepad mapping.
Uses hat values instead of buttons for the dpad now.
Fixes #6419

(cherry picked from commit 20bad652ef)
2016-09-18 23:13:06 +02:00
Andreas Haas adcf45b627 Update gamepad mappings from community db.
(cherry picked from commit 808bd53934)
2016-09-18 23:03:22 +02:00
Andreas Haas cd6afd5f1d Fix crash when trying to access the guid of an unavailable Gamepad.
Throws an error now.

(cherry picked from commit 02a8604906)
2016-09-01 08:45:51 +02:00
Andreas Haas 5f18c5cb46 Fix steam controller gamepad mapping
The left stick click was missing

(cherry picked from commit e52567bd29)
2016-08-08 18:14:51 +02:00
Andreas Haas ccf6b3151d Add gamepad mapping for the steam controller userspace driver. 2016-07-26 11:54:59 +02:00
Jamil Halabi 370ae3512d Added gyroscope support to Godot and Android 2016-07-16 01:43:32 +08:00
Rémi Verschelde 9397458cc0 Merge pull request #5634 from vnen/assetlib-map-crash
Fix crash on asset lib install
2016-07-11 00:17:54 +02:00
George Marques 1a1b62748a
Fix crash on asset lib install
This is not the perfect solution, but fixes the crash and avoid a
dependency on EditorNode.
2016-07-10 17:19:29 -03:00
punto- bba89aef3b Merge pull request #5559 from Hinsbart/connected_joysticks
Input: add get_connected_joysticks() method.
2016-07-10 14:00:27 -03:00
Juan Linietsky 0e6e0ed0e5 Merge pull request #5533 from Hinsbart/cursor_atex
Can use AtlasTextures as custom mouse cursor.
2016-07-10 12:41:57 -03:00