Previously, the first for loop would reach the end of the characters, so
no further characters were read in the second loop. This meant that the
array remained filled with 0 values.
To properly handle encoding conversions, we need to do it in native
code. This new function performs this role.
This is useful for hxcpp which may have either ascii or utf16 encoding,
but this can only be checked via the native api and it is not possible
on the haxe side.
This function wants the utf8 length, but text->length does not give
this. We can instead use -1 to tell harfbuzz to treat it as null-
terminating, which is the case with all hashlink strings anyway.
A HxString is not guaranteed to be utf8 on hxcpp, so we need to use
hxs_utf8 to convert it otherwise it incorrectly displays any utf16
encoded string.
Unfortunately, hxs_utf8 doesn't give us the length of the utf8 string.
The best thing we can do is to tell harfbuzz it is null terminated. This
isn't perfect because technically hxcpp strings are allowed to contain
NULL, but it's better than all utf16 strings being broken.
Exposes the pannerAttr field, which allows panner values to be set. By setting the panningModel to "equalpower", audio degradation is prevented and results in crisp by default, resolving the problem mentioned in https://github.com/goldfire/howler.js/issues/112.
In the future, panner attributes can be passed (for example `parent.buffer.__srcHowl.pannerAttr({panningModel: "HRTF”});)` within the HTML5AudioSource `play()` function, after it has began playback via `parent.buffer.__srcHowl.play()`.
The targets do not create a file with the target name, so they should be
marked as .PHONY
We are not using implicit rules either, so we can disable them by
making .SUFFIXES empty
Group targets together
Also remove LIB_BASE variable, it has been unused since:
f7ab6ab36b
Hxcpp's mbedtls has MBEDTLS_NET_C disabled, which meant that older
versions of curl which use this feature cannot be linked against it.
This version of curl no longer requires this feature, which avoids the
issue.
Hxcpp 4.3.0 has an mbedtls_config.h file in ${HXCPP}/src/hx/libs/ssl,
which we have to ensure is included, but older versions do not.
To support both 4.3.0 and older versions, we can add an empty
mbedtls_config.h and add the include path at the end. This way it will
only be used if it does not exist in the previous include paths.
Remove broken Windows HDPI support
Fix submodule?
try to fix CI
Add some missing files
Update to SDL2 2.30.12
Include khronos headers
Enable EGL on macOS
Enable GLES on Mac
Options are default, always, never, and shortEdges. Defaults to default.
What default means depends on which Android SDK version is used.
According to the Android docs, starting with Android SDK 35, most options will be forced to act the same as always. However, for SDK 34 (which is the current minimum on Google Play) this should remain configurable.
https://developer.android.com/develop/ui/views/layout/display-cutout
Like OpenFL, we should eventually modify the docs build to use include("lime") to automatically include everything instead of manually adding each thing to ImportAll. However, we'll need to use conditional compilation to hide certain classes from targets where they aren't supported.