Commit Graph

842 Commits

Author SHA1 Message Date
Joshua Granick
88c2f6db98 Consistent return handling of HL CFFI string values 2024-01-03 21:37:19 -08:00
Joseph Cloutier
60064f55b3 Make AndroidManifest.xml more configurable.
Now if you need to add something to the `<application />` or `<activity />` tags, you can do it from project.xml. This will require new documentation, however.
2023-12-21 22:30:58 -05:00
Joseph Cloutier
8bdd93753d Standardize ConfigData's array logic. 2023-12-21 19:52:02 -05:00
Joseph Cloutier
8d3d123266 Add unique parameter to ConfigData.push(). 2023-12-21 17:18:54 -05:00
Joseph Cloutier
15e6dc5050 Remove duplicate code in ConfigData. 2023-12-21 01:14:57 -05:00
Joseph Cloutier
ca3012b877 Convert single to double quotes.
The convention, according to haxe-checkstyle, is to use double quotes unless single quotes are specifically required.
2023-12-20 23:03:02 -05:00
Joseph Cloutier
3cd308a6a8 Convert string literals to constant. 2023-12-20 22:55:25 -05:00
Joseph Cloutier
810e73d24d Restore anonymous function support to web workers.
Credit to StackOverflow user phnah for the new way to parse the string. This approach is much more robust.
2023-12-16 16:12:00 -05:00
player-03
c62ef3eb4a Add missing makePortable() call.
I guess I simply never tested that case.
2023-12-16 15:23:39 -05:00
andrew-git
c40ec312fc Joystick: add try/catch around navigator.getGamepads() because it might throw a JS SecurityError if we don't have permission to call it (#1728)
Fixes the following exception when we don't have permissions:

> Failed to execute 'getGamepads' on 'Navigator': Access to the feature "gamepad" is disallowed by permissions policy.

By catching the exception, it should now behave the same as older browsers, where navigator.getGamepads() doesn't exist at all.

In the future, it might make sense to set a flag if navigator.getGamepads() throws, and skip calling it more than once. However, we may want to listen for some kind of browser event that indicates that permission was granted later, and clear the flag when appropriate. Perhaps the gamepadconnected event?

---------

Co-authored-by: Josh Tynjala <joshtynjala@bowlerhat.dev>
2023-12-01 11:09:34 -08:00
Josh Tynjala
0a83f5c61f WindowsPlatform: Visual Studio HashLink/C build
Currently required to run in Visual Studio Developer command prompt
2023-11-17 15:15:21 -08:00
Josh Tynjala
beb8948983 HL/C on Windows with mingw 2023-11-02 14:17:35 -07:00
player-03
1a3a9bd5c5 Avoid integer overflow for long sounds.
Multiplying `dataLength * 8` produces a high number, which in the case of very long audio files can exceed the integer limit. Multiplying by 8.0 coerces to float, allowing much higher values.

An alternate solution is to divide first and multiply by 8 second, thus keeping the number from getting too large at any point. However, the purpose of the 8 is to convert `dataLength` from bytes to bits, so it's clearer if those two are close together.
2023-10-19 22:57:43 -04:00
Josh Tynjala
75bc87102b prepare for HL/C 2023-10-19 15:00:08 -07:00
Josh Tynjala
0528e3996f Assets: add removeLibrary() where unloading is optional (references #1718)
unloadLibrary() now calls removeLibrary() with true for unload to prevent code duplication
2023-10-18 09:19:25 -07:00
Josh Tynjala
667567f7bd WebAudioContext: add missing resume() field for non-html5 platforms to fix doc gen 2023-09-29 09:31:08 -07:00
UncertainProd
843e7fc873 Removed unused field hello in Float32Array.hx 2023-08-19 22:02:19 +05:30
player-03
3c245b5287 Make replaceVariable() account for properties.
Some useful information is only available as a property, not a field.
2023-08-18 16:20:01 -04:00
Joseph Cloutier
9a9b89ae06 Merge branch 'develop' into 8.2.0-Dev 2023-08-17 21:07:12 -04:00
Josh Tynjala
987e3dd425 Merge branch 'develop' into 8.1.0-Dev 2023-08-14 15:53:18 -07:00
Josh Tynjala
b6cfc7d812 HTTPRequest: fix missing response data for HTTP status codes (closes #1699)
Backends now return error and response data, but public API has not changed.

This allows OpenFL to expose URLLoader.data on IOErrorEvent.IO_ERROR to match the behavior of Flash
2023-08-11 13:43:16 -07:00
Joseph Cloutier
7348f62410 Work around fullPath() error/edge case.
Neko claims that the file passed to `fullPath()` must exist. Usually this isn't enforced, but apparently there are circumstances where it is.

c852db0004/libs/std/sys.c (L571)

I didn't take the time to pin down what those circumstances are. Instead I figured it was easiest to just rearrange some code to follow the rule.
2023-08-08 12:52:12 -04:00
player-03
51c9f861b3 Use enum abstract in Haxe 4.
Most of these warnings were fixed by merging the develop branch, but WorkOutput.hx is new in 8.2.0.
2023-08-01 13:44:18 -04:00
Joseph Cloutier
34a6b10064 Merge branch 'develop' into 8.2.0-Dev 2023-08-01 12:16:52 -04:00
Josh Tynjala
6cff64018a Add -npx flag for lime test electron to run the npx electron command instead of just electron.
This will prompt the user to install electron, if required. Saves a separate `npm install -g electron` command before testing.
2023-07-25 08:43:39 -07:00
EliteMasterEric
3c431559df Always use getPath instead of paths.get() directly. 2023-07-17 14:49:45 -04:00
player-03
828864063f Merge pull request #1694 from loudoweb/dev-fix-library-unload
clear cached files on library unload
2023-07-04 20:31:03 -04:00
player-03
8b27623afb Follow formatting conventions. 2023-07-04 20:30:33 -04:00
player-03
914009ddb3 Merge pull request #1680 from player-03/auto_formatting_error
Fix `WebGL2RenderContext` formatting.
2023-07-04 20:23:40 -04:00
Josh Tynjala
ef37cd9afb AIRHelper: needs .app file extension on macOS if AIR target is bundle 2023-06-29 10:25:38 -07:00
Josh Tynjala
2cd1dad5ed Merge branch 'develop' into 8.1.0-Dev 2023-06-09 11:12:43 -07:00
Josh Tynjala
01a04c4d48 Clipboard: (windows/mac) fix issue where requesting text from clipboard ignores clipboard contents, if user last modified the clipboard before app startup 2023-06-09 10:06:45 -07:00
player-03
71c1854779 Don't call Map.clear() in Haxe 3. 2023-06-06 21:55:37 -04:00
Josh Tynjala
9e2d431e2b Merge branch 'develop' into 8.1.0-Dev 2023-06-06 12:35:57 -07:00
Josh Tynjala
aebf139dc7 Fix window show/hide on desktop being incorrectly considered the same as app going into and out of the background/suspend on mobile
The app's Timers should still continue when a window is hidden. Especially since an app could have multiple windows, with some being shown and some being hidden. If only one were hidden, the other shown windows would clearly behave in a broken manner because the one hidden window would cause all app timers, even those associated with other windows, to be paused.

Introduces new WINDOW_SHOW AND WINDOW_HIDE events from C++ to Haxe, and new onShow and onHide events on Haxe Window.

Followup to 0918ee2381
2023-06-06 10:56:06 -07:00
Ludovic Bas
76c76652cc I don't know why the unload method was empty but now it clears all cached files when calling Assets.unloadLibrary(""); 2023-06-06 15:51:01 +02:00
Josh Tynjala
5a87d77897 Merge branch 'develop' into 8.1.0-Dev 2023-06-05 10:29:26 -07:00
Joshua Granick
35d1436dcd Revert WebAssembly improvements (moved to 8.1.0-Dev branch) 2023-05-30 09:03:18 -07:00
Joshua Granick
305c788ed7 Improve error log on webassembly 2023-05-30 08:53:52 -07:00
Joshua Granick
920eb77db4 Set webassembly, wasm, emscripten in Lime project XML parse 2023-05-30 08:53:25 -07:00
Joshua Granick
2ccee960dc Rename Emscripten target to WebAssembly 2023-05-30 08:53:09 -07:00
Joshua Granick
b410a90121 Print http-server message, allow auto port finding starting at 3000 2023-05-30 08:52:38 -07:00
Joshua Granick
be19381999 Emscripten fixes 2023-05-30 08:46:52 -07:00
Joshua Granick
22abd30209 Improve error log on webassembly 2023-05-23 20:11:28 -07:00
Joshua Granick
6dee2204b0 Set webassembly, wasm, emscripten in Lime project XML parse 2023-05-23 19:51:37 -07:00
Joshua Granick
3dbc73f9ab Rename Emscripten target to WebAssembly 2023-05-23 14:19:32 -07:00
Joshua Granick
a90915cb3f Print http-server message, allow auto port finding starting at 3000 2023-05-20 11:05:47 -07:00
Joshua Granick
eec6e5e0fa Emscripten fixes 2023-05-19 23:10:16 -07:00
Josh Tynjala
4458cefeb2 HTML5Helper: need to chmod +x node when running terser on non-Windows platforms 2023-05-18 14:59:04 -07:00
Josh Tynjala
5424e8562e HTML5Helper: don't display deprecation warnings from Node.js
They are not relevant to our users
2023-05-16 12:55:18 -07:00