Commit Graph

4861 Commits

Author SHA1 Message Date
Joseph Cloutier
689fed4545 Merge branch 'develop' into submodules 2022-06-03 18:36:03 -04:00
player-03
2d028bf75f Merge pull request #1534 from player-03/ForegroundWorker
Add thread management tools for Android
2022-06-03 18:25:09 -04:00
Joseph Cloutier
f70b43a543 Explain ForegroundWorker's main use case. 2022-06-03 18:04:32 -04:00
Josh Tynjala
8a3b990f98 MacPlatform: use executableDirectory instead of applicationDirectory when copying HashLink (references #1517) 2022-06-03 13:19:25 -07:00
player-03
276a8f6c8a Merge pull request #1517 from Apprentice-Alchemist/feature/update-hashlink
Update hashlink.
2022-06-02 18:34:19 -04:00
Joseph Cloutier
34817221d8 Adjust RPI build settings.
Co-authored-by: Patrick Gutlich <patrick@gepatto.nl>
2022-06-01 00:27:46 -04:00
Joseph Cloutier
afbd7e15f8 Fix null pointer error in FileDialog.hx.
Co-authored-by: ShaharMS <88977041+ShaharMS@users.noreply.github.com>
2022-06-01 00:15:47 -04:00
Joseph Cloutier
c48f1fb44a Try a different approach to haxe_ver. 2022-05-31 03:00:17 -04:00
Joseph Cloutier
8015148ee0 Fix conditional compilation.
For real this time, definitely, hopefully, maybe.
2022-05-31 02:37:52 -04:00
Joseph Cloutier
894445687e Remove nonexistent function calls.
Earlier Haxe versions just used `EntryPoint`.
2022-05-31 02:31:59 -04:00
Joseph Cloutier
312dd70d72 Never inline ForegroundWorker functions.
The early `return` is incompatible with it.
2022-05-31 02:06:34 -04:00
Joseph Cloutier
6e86e45851 Implement ForegroundWorker. 2022-05-31 01:06:56 -04:00
Joseph Cloutier
7890951d12 Add MainLoop support.
Pros: It's a standard Haxe feature that other Haxelibs may rely on. Plus
it offers built-in thread safety, unlike `onUpdate`.

Cons: It incurs two `mutex.acquire()` calls per frame.
2022-05-30 16:37:43 -04:00
Joseph Cloutier
16166e1a0d Fix RPI compile errors (incomplete).
At least, these changes should be a step in the right direction.
2022-05-28 14:55:50 -04:00
Joseph Cloutier
088b43a37a Don't compile joystick HIDAPI code on iOS.
Per README-ios.md and SDL_config_iphoneos.h, it's disabled by default.
2022-05-28 08:34:04 -04:00
Chris Speciale
02617a854d NativeHTTPRequest: Improve buffer management for O(1) performance
Fixes debilitating issue on Native where buffer creation created an O(n) slowdown
2022-05-27 23:03:14 -04:00
Joseph Cloutier
f3aff7f274 Compile PNG's "intrinsics" when targeting arm64.
As noted in pngpriv.h, the alternative (assembly code) doesn't currently
work on arm64.

There's no mention of iOS or tvOS, so maybe we could remove those?
2022-05-27 20:30:07 -04:00
Joseph Cloutier
821638ae34 Work around inconsistent header inclusion.
Overriding headers has always been risky, and finally we see why.

Apparently on iOS, files may be compiled in such a way that the original
SDL_config.h file is included, not Lime's custom one. It's hard to do
anything more than we've already done to manage include order, so we
need to find another option.

One such option is to make the two files as similar as possible, such
that it usually doesn't matter which one ends up being included. Then we
only set `USING_GENERATED_CONFIG_H` when it really matters.
2022-05-27 03:59:43 -04:00
Joseph Cloutier
03f5dcbf82 Don't enable ARC twice.
If `OBJC_ARC` is set, then `-fobjc-arc` was also set already.
2022-05-27 03:29:07 -04:00
Joseph Cloutier
9d56c6df4a Enable ARC when compiling SDL.
SDL_cocoavideo.m now enforces this, as of this commit:
ec8fa57750

That commit also removed the destructors from SDL_render_metal.m, which
implies it's required on iOS too.

And before anyone asks, SDL seems to have no plans to back down on this.
2022-05-26 21:13:49 -04:00
player-03
6db5820f97 Merge pull request #1533 from pozirk/develop
Add `exported="true"` to AndroidManifest.xml
2022-05-26 18:23:20 -04:00
Igor
dec38dcc97 Required for apps targeting Android 12+
Otherwise it throws the following error on build:
"Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details."

To publish apps on Google Play everyone needs to target SDK 31+, which is Android 12+, so this is like a must now.

If "true", the activity is accessible to any app, and is launchable by its exact class name.
If "false", the activity can be launched only by components of the same application, applications with the same user ID, or privileged system components. This is the default value when there are no intent filters.
2022-05-26 16:19:03 -04:00
Joseph Cloutier
aa44a540f2 Disable -Wno-enum-conversion on Windows.
Seems this doesn't apply to MVSC.
2022-05-25 20:50:50 -04:00
Joseph Cloutier
45d104d105 Disable HIDAPI on all targets again.
This reverts commit 41d93722f9.
2022-05-25 18:25:47 -04:00
Joseph Cloutier
4b5ffdad62 Always disable enum-conversion warning.
Cairo 1.17.6 does a LOT of enum conversion, and judging from line 63 of
meson.build, their plan is to live with it. Might as well follow suit.
2022-05-25 00:45:01 -04:00
Joseph Cloutier
87e779b971 Rename "overrides" to "custom."
This helps shift the emphasis from "replacing existing files" to "adding
missing files," without ruling either option out.
2022-05-22 23:27:47 -04:00
Joseph Cloutier
55f3e74596 Update libwebm to 1.0.0.28. 2022-05-22 22:28:22 -04:00
Joseph Cloutier
0224d24a74 Update libvpx to 1.11.0. 2022-05-22 22:27:52 -04:00
Joseph Cloutier
4623448e0b Update libpng to 1.6.37. 2022-05-22 22:19:34 -04:00
Joseph Cloutier
8291b812d5 Update Vorbis to 1.3.7. 2022-05-22 22:11:37 -04:00
Joseph Cloutier
13c3b60083 Update Ogg to 1.3.5.
Also, make config_types.h defer to inttypes.h for consistency.
2022-05-22 22:11:13 -04:00
Joseph Cloutier
0997d1443a Update Neko to 2.3.0. 2022-05-22 21:54:13 -04:00
Joseph Cloutier
391d947338 Add CoreHaptics.framework via project.pbxproj.
Returning to the way  88d3fa7184 did this
because the alternative wasn't working.
2022-05-22 14:30:44 -04:00
Joseph Cloutier
b6d0af585d Always include CoreHaptics.framework on iOS. 2022-05-22 13:43:18 -04:00
Joseph Cloutier
7b3b49bea6 Fix cURL linker errors on Windows.
Plus, move Windows-only files into the Windows section.
2022-05-22 12:25:27 -04:00
Joseph Cloutier
1b87e1ca60 Ensure FreeType can find zlib.h. 2022-05-22 11:33:11 -04:00
Joseph Cloutier
2ce060788b Add SystemConfiguration.framework on Mac.
Required for `SCDynamicStoreCopyProxies()`, which is only called when
`CURL_OSX_CALL_COPYPROXIES` is defined, which is only defined on OSX.
2022-05-22 11:27:48 -04:00
Joseph Cloutier
51dfc56efb Use Build.xml to include CoreHaptics.framework.
Much simpler and more maintainable than in
88d3fa7184

(Sorting the flags a bit while I'm at it.)
2022-05-22 11:25:54 -04:00
Joseph Cloutier
cf5b033bbc Remove no-longer-used #defines.
Only removing `#define`s for which there were zero search results.
2022-05-22 00:36:43 -04:00
Joseph Cloutier
869f8fa14e Update Mbed TLS to 3.1.0. 2022-05-22 00:18:45 -04:00
Joseph Cloutier
4e65b9e1cd Clean up unused files in LZMA. 2022-05-21 20:59:23 -04:00
Joseph Cloutier
555df2963b Update libjpeg-turbo to 2.1.3. 2022-05-21 20:50:43 -04:00
Joseph Cloutier
e1c55103a6 Update FreeType to 2.12.1.
Note: cff.c includes all the other cffxyz.c files. They're still there.
2022-05-21 20:28:16 -04:00
Joseph Cloutier
c5caf01ad2 Update to efsw 1.2.0. 2022-05-21 20:23:36 -04:00
Joseph Cloutier
64539f77d1 Update cURL to 7.83.1. 2022-05-21 19:58:23 -04:00
Joseph Cloutier
57411634d4 Update HarfBuzz to 4.3.0.
Mostly speed improvements.
2022-05-21 19:00:06 -04:00
Joseph Cloutier
b6fec0a07b Update zlib to 1.2.12.
Among other things, this fixes CVE-2018-25032:
https://github.com/advisories/GHSA-jc36-42cf-vqwj
2022-05-21 18:45:22 -04:00
Joseph Cloutier
7824a39e81 Update Cairo to 1.17.6. 2022-05-21 17:59:55 -04:00
Joseph Cloutier
88d3fa7184 Add CoreHaptics.framework.
This is required by SDL_mfijoystick.m as long as `ENABLE_MFI_RUMBLE` is
defined. And guess what? That's the file that defines it. There's no way
to disable it except decreasing the max iOS version.

Seems like iOS 13 is the new minimum.
2022-05-21 16:52:31 -04:00
Joseph Cloutier
f5a24dc40a Explicitly require NDK 20+.
This also means we no longer need anything like
d66ef73a92
2022-05-21 16:27:05 -04:00