Commit graph

2664 commits

Author SHA1 Message Date
Rémi Verschelde
34c5133e6a
Merge pull request #39604 from Faless/js/3months_backport
[HTML5 - 3.2] Backport most changes/improvement in master.
2020-06-26 20:50:58 +02:00
Fredia Huya-Kouadio
944210923f Follow up cleanup for the godotpayment project module
(cherry picked from commit 206cbd960b)
2020-06-24 22:52:05 +02:00
Rémi Verschelde
8f28e0861f
Merge pull request #39762 from naithar/feature/ios-modules
Enable iOS modules and fix missing symbols errors (3.2)
2020-06-24 22:50:05 +02:00
Poq Xert
bd71925726 Updated purchase receipt suitable for sending to apple verification server 2020-06-24 17:34:20 +10:00
Sergey Minakov
e564ca0c1b Export: Fix iOS enabling push notifications capability 2020-06-22 23:16:22 +03:00
Sergey Minakov
a678ceaeae SCons: Enable modules for iOS 2020-06-22 23:15:52 +03:00
bruvzg
a662b853dd Fix use uninitialized ofs variable introduced in 39701.
(cherry picked from commit 439c97e0ff)
2020-06-22 15:41:36 +02:00
bruvzg
1468c0b4d4 [Windows] Prevent overwriting old cursor handle on multiple mouse_mode changes, ensure mouse_mode is set before cursor_set_shape is called to restore cursor.
(cherry picked from commit fc1d1c3557)
2020-06-22 13:08:53 +02:00
Rémi Verschelde
f2f11bc752
Merge pull request #39744 from timoschwarzer/remove-godot-payment-plugin
Remove GodotPayment android plugin (3.2)
2020-06-22 12:15:36 +02:00
bruvzg
e2675e9462 macOS, prevent multiple CGDisplayHideCursor calls unpaired with CGDisplayShowCursor.
(cherry picked from commit 7a250b579f)
2020-06-22 12:04:31 +02:00
Timo Schwarzer
5053ab684a
Remove GodotPayment android plugin
This is now available in a separate repository
at https://github.com/godotengine/godot-google-play-billing
2020-06-22 11:11:41 +02:00
Rémi Verschelde
8ac13e50cf Move Haiku platform port to external repository
The Haiku port now resides at:
https://github.com/godotengine/godot-haiku-platform

While we're happy to support as many Free and Open Source platforms as we can,
we need to put the main focus on the platforms that we can reasonably maintain,
and for Haiku we have been lacking maintainers ever since the port was first
merged in 2015.

The Haiku code has not been compiling and much less working at least since the
release of Godot 3.0, and while some attempts have been made at fixing things,
it's still not functional today in the `3.2` branch (and much less in `master`,
understandably).

Having it in an external repository should hopefully enable Haiku contributors
to fix issues in their own time, and possibly tag versions compatible with
past Godot releases once they are ready.

(cherry picked from commit efcc508ee5)
2020-06-21 21:42:26 +02:00
Bastiaan Olij
70fb79efa0 Fix missing slider joystick handling on Windows
(cherry picked from commit aa01b327d6)
2020-06-21 21:41:14 +02:00
PouleyKetchoupp
cdbbc75e90 Set proper file type attribute for OSX zip export
The missing file type in file attributes was causing the file to lose
executable permissions when unzipped with some softwares.

(cherry picked from commit 4501771fd8)
2020-06-21 21:40:57 +02:00
Rémi Verschelde
f99cbb94cc Export: Rename 'Windows Universal' to 'UWP'
It's otherwise too easy to be confused between 'Windows Desktop' (Win32)
and 'Windows Universal' (UWP).

(cherry picked from commit 08ef0aab16)
2020-06-21 21:39:44 +02:00
unknown
d080c0de51 adding check for syskeydown on control and alt
(cherry picked from commit d191a8b9f8)
2020-06-21 21:34:50 +02:00
Ev1lbl0w
4d7ac36e84 Allow Godot to kill it's own PID
(cherry picked from commit 75ce45440a)
2020-06-18 11:29:28 +02:00
Fabio Alessandrelli
b146bf2528 Canvas resize callback, to update buffer size. 2020-06-18 09:21:14 +02:00
Fabio Alessandrelli
21c9f37757 [HTML5] Refactor JS, threads support, closures.
- Refactored the Engine code, splitted across files.
- Use MODULARIZE option to build emscripten code into it's own closure.
- Optional closure compiler run for JS and generated code.
- Enable lto support (saves ~2MiB in release).
- Can now build with tools=yes (not much to see yet).
- Dropped some deprecated code for older toolchains.
- Add onExit, and onExecute JS function.
- Add files drag and drop support.
- Add support for low precessor usage mode (via offscreen render, swap).
2020-06-18 09:21:14 +02:00
Rémi Verschelde
7f6767470d
Merge pull request #39580 from m4gr3d/provide_activity_to_godot_plugin_constructor_3_2
Clean up the GodotPlugin public API.
2020-06-16 20:45:49 +02:00
Fredia Huya-Kouadio
61aa477e1c Clean up the GodotPlugin public API. 2020-06-16 09:24:41 -07:00
Aaron Franke
01061c6fbb Simplify some code in platform/uwp/export
(cherry picked from commit 068054002d)
2020-06-15 14:34:35 +02:00
Rémi Verschelde
50c4834548
Merge pull request #39502 from bruvzg/kbd_layouts_3
[3.2] Add keyboard layout enumeration / set / get functions.
2020-06-15 11:11:08 +02:00
Fabio Alessandrelli
1c0abd6393 Use 2-phase setup in JavaScript.
Make the first iteration as soon as the canvas is setup, avoiding a
black screen before the next animation frame is requested.
Also create OS and do setup before syncing FS to avoid crash when IDBFS
access is denied.
2020-06-14 15:43:18 +02:00
bruvzg
2256946f79
[3.2] Add keyboard layout enumeration / set / get functions (macOS, Windows, Linux/X11). 2020-06-13 11:01:49 +03:00
lawnjelly
b330766c30 Fix overflow condition with QueryPerformanceCounter
The previous code for OS_Windows::get_ticks_usec() multiplied the tick count by 1000000 before dividing by ticks_per_second. The ticks is counted in a 64 bit integer and is susceptible to overflow when a machine has been running for a long period of time (days) with a high frequency timer.

This PR separates the overall calculation into one for seconds and one for the remainder, removing the possibility of overflow due to the multiplier.

(cherry picked from commit db9fa88160)
2020-06-11 09:40:04 +02:00
Rémi Verschelde
7bf9787921 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.

(cherry picked from commit cd4e46ee65)
2020-06-10 15:30:52 +02:00
Fabio Alessandrelli
8b321354d8 Swtich HTML5 key detection from keyCode to code.
The value of this, does not include the layout.
The code has extra logic to map the unicode value to our keylist,
supporting ASCII and Latin-1.

(cherry picked from commit 0a35b97b62
with help of https://github.com/Faless/godot/tree/js/keyCode)
2020-06-05 12:49:50 +02:00
Marcus Brummer
a6e9001579 Check if the specified Android release keystore exists
(cherry picked from commit 21263a65a9)
2020-06-05 12:45:46 +02:00
Fredia Huya-Kouadio
d1e4cede90 Add support for focus awareness 2020-06-04 15:51:51 -07:00
PouleyKetchoupp
aa935c262a Fix inconsistent error messages with Android custom export templates
(cherry picked from commit be22a1f9bc)
2020-06-04 12:16:39 +02:00
Marcel Admiraal
eef442f32d Update Windows GUID to SDL uid conversion.
(cherry picked from commit a833db80d9)
2020-06-04 12:09:40 +02:00
Marcel Admiraal
5dfd4fc84d Update OSX GUID to SDL uid conversion.
Co-authored-by: John Wakley <johncwakley@users.noreply.github.com>
(cherry picked from commit d04cbbd76b)
2020-06-04 12:09:40 +02:00
Marcel Admiraal
91590b0cf0 Add dinput nullptr checks.
(cherry picked from commit bc49d34123)
2020-06-04 12:09:39 +02:00
Marcel Admiraal
6c9c6885a2 Do not probe joypads if DirectInput cannot be initialized.
(cherry picked from commit 97a529b1d8)
2020-06-04 12:09:39 +02:00
Hugo Locurcio
d814352d92 Tweak the DirectInput initialization failure message
This closes #36662.

(cherry picked from commit fe09b4d2b3)
2020-06-04 12:09:39 +02:00
bruvzg
1642c4163d Ignore invalid tablet driver name, when non are available.
(cherry picked from commit ef1a305e50)
2020-06-04 12:09:39 +02:00
Fredia Huya-Kouadio
bea913a874 Stop ignoring hidden files and directories in the assets directory
(cherry picked from commit bf76d2afcf)
2020-06-04 12:09:39 +02:00
Marcus Brummer
b6c536317b Perform a clean Gradle build if android plugins changed
Fixes #38986

(cherry picked from commit abd66c1bb0)
2020-06-04 11:17:11 +02:00
bruvzg
c994eb1daf
[3.2] Fix macOS global menu removal and preserve order. 2020-06-02 16:37:19 +03:00
volzhs
c86ddd6b61 Add missing consumePurchase plugin method for GodotPayment 2020-05-28 11:51:14 +09:00
Rémi Verschelde
f03bc21e09
Merge pull request #39103 from m4gr3d/enable_legacy_external_storage
Enable legacy external storage for Android 10
2020-05-27 22:57:24 +02:00
Fredia Huya-Kouadio
2e7e3dcfe4 Enable legacy external storage for Android 10 2020-05-27 13:34:40 -07:00
Fredia Huya-Kouadio
0181e89e43 Validate that Use Custom Build is enabled when Plugins are selected
Remove `GodotPayment` from the default build template
2020-05-27 12:04:31 -07:00
Rémi Verschelde
9aeb9ea826
Merge pull request #39081 from m4gr3d/fix_emit_signal_3_2
[3.2] Fix parameters passing when emitting signal
2020-05-27 12:53:35 +02:00
Fredia Huya-Kouadio
3c0b26e29c Fix parameters passing when emitting signal
The issue was caused because we were using variables local to the `for` loop block.
Address [feedback](https://github.com/godotengine/godot/pull/39047#issuecomment-634545849) by @pouleyKetchoupp regarding the use of arrays on stack with dynamic size.
2020-05-27 03:38:38 -07:00
Fredia Huya-Kouadio
06b7f611f8 Provide the ability for clients of the Godot library to add their own command line arguments 2020-05-27 02:12:54 -07:00
Timo Schwarzer
8373c0792a
Re-implement GodotPayment Android plugin using the Google Play Billing library 2020-05-25 21:09:45 +02:00
PouleyKetchoupp
f4f4b77d23 Use long instead of int for object id in Android java wrapper
Using int for 64-bit values might cause issues with objects not found
in ObjectDB when the id is truncated.

(cherry picked from commit 39f59786fa)
2020-05-25 16:36:34 +02:00
Fabio Alessandrelli
d0613a2243 Fix JS audioContext parameters.
Were not passed along correctly.
`latencyHint` is supposed to be in seconds, not milliseconds.

(cherry picked from commit 57bdb4cc35)
2020-05-25 15:53:18 +02:00