Commit Graph

192 Commits

Author SHA1 Message Date
Rémi Verschelde 3102dc17ee
Merge pull request #13437 from xsellier/bugfix/mouse-cursor-lag
Implement hardware cursor acceleration for Godot Engine 2.1
2018-01-03 08:36:44 +01:00
Rémi Verschelde 2712014744 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-02 11:27:24 +01:00
Xavier Sellier 377fdc1e33 Hardware cursor implementation for Godot Engine 2.1
- Remove all references to the variable 'custom_mouse_cursor_hotspot' and 'custom_mouse_cursor' from the project settings.
- Indeed, to implement a custom cursor we need to define a sprite for each 'state' of the cursor. Using those variables in the projects settings would define only the _main_ cursor.
- Cleanup the VirtualServer (Remove references to cursor_set_visible, cursor_set_texture and cursor_set_pos)
- Cleanup the Input (set_mouse_in_window should not be used anymore)
- Update the documentation
- Implement it for windows, X11, Javascript, BB 10, OSx, iOS, server, android
- NOT IMPLEMENTED FOR WINRT (As of today, I'm not able to implement this one, this post might help)
- NOT IMPLEMENTED FOR HAIKU (Support of this platform seems perfunctory)
- Build it for Windows, Android and OSX
2017-12-15 11:37:36 -05:00
Rémi Verschelde 6a4e7198c5 Style: apply clang-format (5.0.0) to current source 2017-12-11 15:31:49 +01:00
Rhody Lugo 714e02c0f6 disable caching for targets using helper functions 2017-11-28 16:14:24 -04:00
Rhody Lugo 388249c386 use the same cache for all branches for appveyor 2017-11-28 03:23:51 -04:00
Rémi Verschelde e3a1bf247d Document -export_debug option in the help output
Fixes #5903.
2017-10-19 23:49:49 +02:00
Indah Sylvia f50a0cecd9 Fixed typo: 'texure' to 'texture' 2017-09-29 04:30:06 +07:00
Rémi Verschelde 514c8ab66c main: Cosmetic changes to help output
It still uses the old-style switches with only one dash for long arguments,
contrarily to the better help output of the master branch, but it is not worth
doing such big changes in the stable branch at this time.
2017-09-24 12:39:02 +02:00
Marcelo Fernandez 60cf34b968 Added a crash handler to dump the backtrace on Windows, Linux and OS X 2017-09-19 19:56:24 -03:00
Rémi Verschelde 891f6c9b63 Merge pull request #10530 from RandomShaper/remove-old-android-setting-2.1
Sanitize Android debug (2.1)
2017-08-29 00:10:31 +02:00
Rémi Verschelde 9d598833d2 Use HTTPS URL for Godot's website in the headers 2017-08-27 14:11:45 +02:00
Juan Linietsky e8fb68e038 simplify the way window is allowed to steal focus, no longer relying on project.godot. Closes #9459
(cherry picked from commit 533014b88c)
2017-08-27 12:53:45 +02:00
Pedro J. Estébanez e42d62ae73 Fix Android remote debug not hitting breakpoints
A change in `Main`'s API is needed. Please read the comment in the diff for an explanation.
2017-08-22 17:25:28 +02:00
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