Commit Graph

5504 Commits

Author SHA1 Message Date
Joseph Cloutier
166ac06e3e Store images as data when in a web worker.
More work may need to be done to transfer an image from a worker to the main thread, but this will at least prevent crashes.
2024-05-27 12:10:00 -04:00
Joshua Granick
2dad602c0d ThreadPool: Crash fixes 2024-05-21 13:46:41 -07:00
Josh Tynjala
5381f96061 Allow cross-compiling to Linux cpp from other operating systems
Similar to #1661, except targeting Linux instead of Windows

On macOS, need to install https://github.com/messense/homebrew-macos-cross-toolchains

On Windows, I think it may be possible to get Linux compilers with Cygwin, but I haven't tried
2024-04-26 10:03:23 -07:00
Josh Tynjala
c26a73fc3c MacPlatform: when rebuilding the bundled HashLink, bundle all Homebrew dependencies too
Previously, a compiled .app file for HL/C wouldn't launch at all because it couldn't find these libraries. For HL/JIT, it would launch, but it might crash later when it needed to load a missing library.

We need to bundle these dependencies into the .app file so that it can successfully launch on systems that don't have Homebrew installed, or haven't separately installed the exact set of Homebrew libraries that we need. We also don't want to have to make people ask their users to install Homebrew and to install the dependencies manually.

Tested the .app files for both HL/JIT and HL/C on a system without Homebrew. It failed before, but now it launches successfully!
2024-04-25 15:20:47 -07:00
Josh Tynjala
237c8c6357 update pixman to 0.42.2 to fix macOS builds
was running into this issue: https://issuetracker.google.com/issues/249834910
2024-04-19 09:26:10 -07:00
Joshua Granick
b84eafdef6 Update SVG tool 2024-04-18 08:39:51 -07:00
Joseph Cloutier
2822bdc124 Remove incorrect !. 2024-04-13 14:01:01 -04:00
Joseph Cloutier
657ad24682 Merge branch 'develop' into 8.2.0-Dev 2024-04-13 03:09:20 -04:00
Joseph Cloutier
fc90d2cd21 Use guard clauses to reduce indentation.
This way, the 8.2.0-Dev version of `PlatformSetup` will have the same indentation as the version on the develop branch. Without matching indentation, Git actively hinders the merging process.
2024-04-13 03:07:27 -04:00
Chris Speciale
bb3b31b08d ObjectPool: Write documentation 2024-04-12 06:35:09 -04:00
Josh Tynjala
58bedb124e actions: Build SimpleImage for iOS simulator and SimpleAudio for iOS devices (using new -nosign option)
That way, we test both simulator and device builds for iOS.
2024-04-09 09:09:24 -07:00
Josh Tynjala
68169ea2d7 Added -nosign option for iOS to optionally skip codesigning (#1776)
This allows non-simulator builds on CI servers without setting up team-id/provisioning-profile/etc.

It also allows signing using a different method, if desired.

Co-Authored-By: mcagabe19@users.noreply.github.com
2024-04-09 09:01:51 -07:00
Joseph Cloutier
c50c30353a Include stack information for errors caught on another thread. 2024-04-02 03:44:12 -04:00
Josh Tynjala
83db8d8939 NativeWindow: call setTextInputEnabled(false) right away when window is created (closes openfl/openfl#2697)
We seem to have been assuming that it was false by default, but in SDL 2, it is true by default (planned to be false in SDL 3, apparently). It can cause weird behavior like IME popups appearing when holding down keys (something commonly done by users playing games, so we don't want that!). We want setTextInputEnabled(true) to happen only when an OpenFL TextField (or anything else that accepts text input) receives focus, and then cleared again when focus is lost.

This does not disable regular keyboard input. It is specifically related to what SDL considers text input, which is different, even if it uses the keyboard.
2024-04-01 12:20:25 -07:00
Joseph Cloutier
093cd6a592 Update ThreadPool constructor documentation (closes #1772). 2024-03-26 13:11:37 -04:00
Chris Speciale
307d3ed54e Update LICENSE.md 2024-03-24 05:00:49 -04:00
Josh Tynjala
5f63ef1ee3 ObjectPool: null safety because map exists() result with null key is unspecified 2024-03-21 10:10:25 -07:00
Josh Tynjala
1c8ecd30ea CHANGELOG 8.1.2 2024-03-13 08:34:09 -07:00
Tobi Laskowski
fc6b90538a Downgrade mbedtls to 2.28.7
On ios, we build statically linked executables. This means that if lime uses mbedtls 3, hxcpp is also forced to use it which can cause crashes and other problems, as hxcpp is currently written for 2.28
2024-03-11 12:41:07 -07:00
Josh Tynjala
0894d9010d haxelib.json: prepare for Lime 8.1.2 2024-03-07 15:42:43 -08:00
player-03
0a8a84a61b Prepare for Lime 8.1.2. 2024-03-07 18:06:08 -05:00
player-03
d0e2a34014 Merge pull request #1764 from player-03/AssetsMacro
Remove conditional compilation from `AssetsMacro` class.
2024-02-27 19:05:10 -05:00
Joseph Cloutier
2fd8817ed6 Exclude AssetMacro from doc builds. 2024-02-24 19:39:05 -05:00
Joseph Cloutier
adcccc863f Remove embedBytesHL() function.
This was likely added when `#if hl` began to fail, hiding the problem. With the issue fixed, there's no more need for a workaround.
2024-02-24 19:25:37 -05:00
Joseph Cloutier
95cef72616 Inline resourceName and resourceType.
Sure they're private, but even then they shouldn't be writable.
2024-02-24 19:13:49 -05:00
Joseph Cloutier
3b04a053b7 Simplify AssetsMacro.embedData(). 2024-02-24 19:11:32 -05:00
Joseph Cloutier
c11ae61a1b Replace #if html5 in AssetsMacro. 2024-02-24 19:05:51 -05:00
Joseph Cloutier
81e129f804 Replace #if !display in AssetsMacro.
And while I'm at it, the `if` statement doesn't need to span the whole function. It can be a simple guard clause.
2024-02-24 18:58:49 -05:00
Joseph Cloutier
929dd2b015 Use class reification for readability. 2024-02-24 18:29:23 -05:00
Josh Tynjala
045920596c WindowsPlatform: fix Visual Studio path discovery for uwp target
It was hardcoding VS 2017, but now uses vswhere.exe to find newer Visual Studio versions too.

Newer versions of VS don't actually support UWP JavaScript, though. However, if users have UWP installed in VS, the error message will be clearer about that lack of support.
2024-02-12 10:46:48 -08:00
Josh Tynjala
458ee49fbd FileDialog: fix compilation error for sys.io.File on non-sys desktop targets 2024-02-12 09:48:47 -08:00
player-03
76437a3014 Don't set asset.id to an empty string.
The `Asset` constructor sets `asset.id` to the asset's path, a sensible default. Of course, if the asset has a name instead of a path, we have to use that instead. Or if the user specified an ID, that's even better.

We just don't want to default to `""`, since then a bunch of assets could have the same ID.

Resolves #1758.
2024-02-11 21:18:19 -05:00
Josh Tynjala
f8f97b5771 IOSPlatform: don't copy 32-bit liblime.iphonesim.a by default
Followup to commit 1186d9e
2024-02-09 10:28:46 -08:00
Josh Tynjala
1186d9e75a IOSPlatform: don't rebuild 32-bit liblime.iphonesim.a by default anymore
Similar to how we removed armv7 from the defaults. 32-bit iOS is very old and no longer supported by Apple.
2024-02-09 08:51:05 -08:00
Josh Tynjala
c9605ee784 PlatformSetup: in verbose mode, failure to install lime alias logs a warning
On Windows, if HAXEPATH is not set, but it probably should be, and installing the alias fails, logs a warning suggesting to set HAXEPATH
2024-02-08 14:29:04 -08:00
Joseph Cloutier
4819ff3b27 Make C++ mutex methods constant.
Closes #1729.

Co-authored-by: Diego Fonseca <fonseca.diego.feeshy@gmail.com>
2024-02-05 15:11:33 -05:00
Joseph Cloutier
f52b59bbff Merge branch 'develop' into 8.2.0-Dev 2024-02-05 14:46:33 -05:00
player-03
4ed893afbd Use consistent capitalization.
Not that `dirSuffix` includes any letters yet, but it likely will in the future.
2024-02-04 18:05:54 -05:00
player-03
e72db10900 Change "vcruntime.dll" to "vcruntime140.dll" per HashLink's makefile. 2024-02-04 18:00:43 -05:00
player-03
6fe43ea1e4 Merge pull request #1752 from tobil4sk/fix/mac-HXCPP_ARM64
Set HXCPP_ARM64 by default when building on Apple Silicon Mac
2024-02-03 22:23:24 -05:00
player-03
3cbafc4622 Fix filename typo.
Closes #1756.
2024-02-03 22:21:50 -05:00
Josh Tynjala
c3170a0577 Merge branch '8.2.0-Dev' into feature/hlc 2024-01-30 09:16:34 -08:00
player-03
560ad5a6ba Don't force an architecture when building HL on Mac.
Originally, we forced compilation on x86, presumably because at the time HashLink lacked good 64-bit support. When this support improved, the line was changed to force x64 compilation rather than being removed, which may have been a mistake. Now that there are even more valid architectures, it just doesn't make sense to force one.
2024-01-29 20:30:06 -05:00
player-03
3ee35b05c0 Streamline architecture selection.
I don't know if there are any ARMv6 or ARMv7 Macs, but they were in the old switch block, so maybe?
2024-01-29 16:37:17 -05:00
Josh Tynjala
f8a70444f5 Some missing docs 2024-01-29 12:27:48 -08:00
player-03
17ad0577d7 Merge is64 and isArm64. 2024-01-28 16:17:24 -05:00
player-03
3d87dfeb97 Only set one of is64 and isArm64. 2024-01-28 16:03:37 -05:00
player-03
f0bae5692e Improve target selection logic in MacPlatform.rebuild().
The old logic could produce inappropriate results, such as attempting to compile an x86 binary on ARM64, or compiling no binary when "64" is specified on a 32-bit machine. I'd argue that it makes sense to only check the flags when they're supported, and not to bother otherwise.
2024-01-27 22:29:04 -05:00
tobil4sk
f06c78e82a Set HXCPP_ARM64 by default when building on Apple Silicon Mac 2024-01-27 13:20:22 +00:00
player-03
9fb1817f99 Merge pull request #1749 from ninjamuffin99/patch-1
Update howler.min.js
2024-01-25 19:06:52 -05:00