Merge develop upstream#2077
Closed
dimensionscape wants to merge 148 commits into
Closed
Conversation
No need to iterate through the whole string to find the length, just to see if it is empty.
* Fix header issues on mingw When cross compiling from Linux, header names are case sensitive unlike on Windows. * Remove isfinite define in openal config This causes issues on mingw, and is no longer needed since openal now uses std::isfinite (c++11) instead of isfinite. kcat/openal-soft@3ae1c78 * Fix cairo setup for mingw * Fix msvc-specific warning flags on mingw * Fix msvc-specific defines on mingw * Enable some missing compiler flags for mingw * Fix System.cpp when compiling with mingw With mingw, converting from char* to _bstr_t calls ConvertStringToBSTR which is not defined by mingw. Creating all strings from wchar* avoids this issue. comsuppw.lib is also unavailable on mingw, and we need to add wbemuuid.lib manually as the #pragma comment(lib, ...) in System.cpp is only respected by MSVC. Adding bstr_t explicitly rather than relying on implicit conversion also avoids gcc warnings here. * Fix lime rebuild windows with mingw for 64 bit When cross compiling, the default target is set as neko in HXProject, so we can't assume that rebuild will always be cpp. * Fix static build with mingw `wbemuuid.lib` must be linked explicitly, since #pragma comment(lib, ...) only works with msvc. `comsuppw.lib` does not exist in mingw. `no_shared_libs` must be set for mingw to ensure the standard library and other libraries are linked statically. `.lib` must be replaced with `${LIBEXT}` so that it resolves to `.a` on mingw. * Link with bcrypt.lib on windows for curl MSVC links this automatically due to a #pragma in curl's source code, but other compilers require it to be added explicitly. * [ci] Add mingw 64-bit ndll build
* Fix pixman warnings with android ndks before r22 Versions of clang in these ndks did not pass the correct -march flag to the assembler, see: android/ndk#906 This resulted in warnings such as: ``` /tmp/pixman-radial-gradient-09b366.s: Assembler messages: /tmp/pixman-radial-gradient-09b366.s:391: Rd and Rm should be different in mla /tmp/pixman-radial-gradient-09b366.s:394: Rd and Rm should be different in mla /tmp/pixman-radial-gradient-09b366.s:398: rdhi, rdlo and rm must all be different /tmp/pixman-radial-gradient-09b366.s:403: Rd and Rm should be different in mla /tmp/pixman-radial-gradient-09b366.s:406: rdhi, rdlo and rm must all be different /tmp/pixman-radial-gradient-09b366.s:412: rdhi, rdlo and rm must all be different ``` * Adjust condition for pixman clang flag It is necessary due to the pixman assembly files not being compatible with the llvm assembler, and we only compile assembly files if PIXMAN_ARM_NEON is enabled.
Returning here means other architecture builds won't run. If we continue instead, all architecture builds will finish first before the function exits.
The patches we need for haxe 4.2 to run properly have been released, so we can now switch to the release version of setup-haxe.
…bytes to detect codec (closes #2018)
…tes.getString() Followup to commit 9b2be25
This makes it easier to debug when a haxelib name and target name clash.
…ecture/> values We somewhat recently added these strings as command line options as alternatives to -64 and -32, so we might as well support them as strings in project.xml too.
gcc 15 changes the default standard from gnu17 to gnu23, but HashLink mysql won't build with gnu23. I confirmed that clang also supports gnu17 (and it is the documented default).
Replace SDL_GL_CreateContext with SDL_GL_GetCurrentContext in SDLWindow.cpp to use a single shared GL context instead of creating one per window. Keep SDL_GL_MakeCurrent call and add comments explaining the choice and a TODO to revisit context-per-window if windows are ever given independent render loops.
ios still has errors
Introduce Lime-level AudioInput and AudioInputDevice classes so frameworks can poll raw PCM capture data without changing existing event contracts. The native backend uses the existing OpenAL capture bindings to expose support checks, default device lookup, start/stop, sample availability, and Bytes reads. HTML5 and Flash compile as unsupported stubs for now, and the docs import list includes the new media types.
In a perspective projection matrix, the bottom-right element must be 0 to ensure correct perspective division.
Expose alcIsExtensionPresent
Recover native OpenAL playback when the active output device is disconnected. Some OpenAL implementations expose ALC_EXT_disconnect without newer device event or reopen extensions. In that case, active sources could stop producing audio after a headset or output device was unplugged, and they would not recover when another output became available. Track the current OpenAL context generation, poll ALC_CONNECTED as a low-cost compatibility fallback, and recreate the OpenAL context when the active device is lost. Active native AudioSource instances snapshot their playback state before recovery and restore their source handles, buffers, gain, pitch, position, time, loop count, and playing state afterward. Also remember the startup default output device and reopen it when it becomes the default again, so playback can move back from a fallback output to the original headset/device. If we migrate to a a higher version of OpenAL, we can make polling a pure fallback for MojoAL.
Add handling for inline looping audio streams by tracking per-buffer and per-stream loop counts.
Move Bytes resize allocation, copy, and free work outside the shared ownership mutex, leaving the lock only around usingValue bookkeeping and pointer/length updates. This reduces observed contention in threaded compression paths while preserving Haxe Bytes ownership. closes #1943
Normalize FileDialog filters so existing bare extensions like png still work while documented wildcard filters like *.png are accepted without becoming *.*.png. Also fixes save-dialog filter construction to use the full filter string with stable storage, and keeps save auto-extension from appending wildcard text into filenames. CLoses #1945
Patch the copied Windows HashLink launcher to use the GUI subsystem by default, matching Lime's other Windows app targets. The original bundled or user-provided hl.exe is left unchanged, and SHOW_CONSOLE keeps the old console behavior for users who need it. Closes #1428
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge changes into 9.0.0