Skip to content

Commit 00ee677

Browse files
committed
Merge branch '8.4.0-dev' into 9.0.0-dev
2 parents 315a93c + f0dc0aa commit 00ee677

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+1203
-717
lines changed

.github/workflows/main.yml

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
sudo apt-get update
2020
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libpulse-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev
2121
22-
- uses: krdlab/setup-haxe@v1
22+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
2323
with:
2424
haxe-version: ${{ env.HAXE_VERSION }}
2525

@@ -94,14 +94,14 @@ jobs:
9494
lime build SimpleAudio linux -release -verbose -nocolor
9595
9696
macos:
97-
runs-on: macos-13
97+
runs-on: macos-14
9898
steps:
9999

100100
- uses: actions/checkout@v4
101101
with:
102102
submodules: true
103103

104-
- uses: krdlab/setup-haxe@v1
104+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
105105
with:
106106
haxe-version: ${{ env.HAXE_VERSION }}
107107

@@ -111,14 +111,15 @@ jobs:
111111
112112
- name: Install HashLink dependencies
113113
run: |
114+
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
114115
pushd project/lib/hashlink
115-
brew update
116+
arch -x86_64 /usr/local/bin/brew update
116117
rm /usr/local/bin/2to3*
117118
rm /usr/local/bin/idle3*
118119
rm /usr/local/bin/pydoc3*
119120
rm /usr/local/bin/python3*
120121
rm /usr/local/bin/pip3*
121-
brew bundle
122+
arch -x86_64 /usr/local/bin/brew bundle
122123
popd
123124
124125
- name: Install Haxe dependencies
@@ -194,7 +195,7 @@ jobs:
194195
with:
195196
submodules: true
196197

197-
- uses: krdlab/setup-haxe@v1
198+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
198199
with:
199200
haxe-version: ${{ env.HAXE_VERSION }}
200201

@@ -297,7 +298,7 @@ jobs:
297298
distribution: "zulu"
298299
java-version: 17
299300

300-
- uses: krdlab/setup-haxe@v1
301+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
301302
with:
302303
haxe-version: ${{ env.HAXE_VERSION }}
303304

@@ -363,14 +364,14 @@ jobs:
363364
lime create SimpleAudio -verbose -nocolor -eval
364365
lime build SimpleAudio android -release -verbose -nocolor -eval
365366
ios:
366-
runs-on: macos-13
367+
runs-on: macos-14
367368
steps:
368369

369370
- uses: actions/checkout@v4
370371
with:
371372
submodules: true
372373

373-
- uses: krdlab/setup-haxe@v1
374+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
374375
with:
375376
haxe-version: ${{ env.HAXE_VERSION }}
376377

@@ -434,7 +435,7 @@ jobs:
434435
with:
435436
submodules: true
436437

437-
- uses: krdlab/setup-haxe@v1
438+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
438439
with:
439440
haxe-version: ${{ env.HAXE_VERSION }}
440441

@@ -526,6 +527,11 @@ jobs:
526527
name: Linux64-Hashlink
527528
path: templates/bin/hl/Linux64
528529

530+
- name: Rebuild Lime run.n
531+
working-directory: tools
532+
run: |
533+
haxe run.hxml
534+
529535
- name: Rebuild Lime svg.n
530536
working-directory: tools
531537
run: |
@@ -548,7 +554,7 @@ jobs:
548554

549555
- uses: actions/checkout@v4
550556

551-
- uses: krdlab/setup-haxe@v1
557+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
552558
with:
553559
haxe-version: ${{ env.HAXE_VERSION }}
554560

@@ -578,7 +584,7 @@ jobs:
578584

579585
- uses: actions/checkout@v4
580586

581-
- uses: krdlab/setup-haxe@v1
587+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
582588
with:
583589
haxe-version: ${{ env.HAXE_VERSION }}
584590

@@ -623,7 +629,7 @@ jobs:
623629
with:
624630
submodules: true
625631

626-
- uses: krdlab/setup-haxe@v1
632+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
627633
with:
628634
haxe-version: ${{ matrix.haxe-version }}
629635

@@ -669,11 +675,11 @@ jobs:
669675
needs: package-haxelib
670676
strategy:
671677
matrix:
672-
os: [windows-latest, ubuntu-22.04, macos-13]
678+
os: [windows-latest, ubuntu-22.04, macos-14]
673679
runs-on: ${{ matrix.os }}
674680
steps:
675681

676-
- uses: krdlab/setup-haxe@v1
682+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
677683
with:
678684
haxe-version: ${{ env.HAXE_VERSION }}
679685

@@ -719,11 +725,11 @@ jobs:
719725
needs: package-haxelib
720726
strategy:
721727
matrix:
722-
os: [windows-latest, ubuntu-22.04, macos-13]
728+
os: [windows-latest, ubuntu-22.04, macos-14]
723729
runs-on: ${{ matrix.os }}
724730
steps:
725731

726-
- uses: krdlab/setup-haxe@v1
732+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
727733
with:
728734
haxe-version: 4.3.3 # minimum required version for HL/C is 4.3.3
729735

@@ -775,7 +781,7 @@ jobs:
775781

776782
- uses: actions/checkout@v4
777783

778-
- uses: krdlab/setup-haxe@v1
784+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
779785
with:
780786
haxe-version: ${{ matrix.haxe-version }}
781787

@@ -833,11 +839,11 @@ jobs:
833839
strategy:
834840
matrix:
835841
haxe-version: [4.2.5]
836-
os: [windows-latest, ubuntu-22.04, macos-13]
842+
os: [windows-latest, ubuntu-22.04, macos-14]
837843
runs-on: ${{ matrix.os }}
838844
steps:
839845

840-
- uses: krdlab/setup-haxe@v1
846+
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
841847
with:
842848
haxe-version: ${{ matrix.haxe-version }}
843849

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,6 @@
8282
path = project/lib/hashlink
8383
url = https://github.com/HaxeFoundation/hashlink
8484
shallow = true
85+
[submodule "project/lib/sdl_sound"]
86+
path = project/lib/sdl_sound
87+
url = https://github.com/icculus/SDL_sound.git

CHANGELOG.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,95 @@
11
Changelog
22
=========
33

4+
8.3.0 (11/11/2025)
5+
------------------
6+
7+
* Added `onDisplayOrientation` and `onDeviceOrientation` events to `Application` to detect mobile device orientation changes.
8+
* Added `safeArea` property to `Display` to detect region safe from cutouts and rounded corners.
9+
* Added `rumble()` method to `Gamepad`.
10+
* Added `-json` flag, which works similarly to the `-xml` flag, but outputs types in JSON format.
11+
* Added `layoutInDisplayCutoutMode` to `<config:android>`, which may be set to `default`, `always`, `never`, or `shortEdges`.
12+
* Added support for Windows resource file to set metadata in executable.
13+
* Added `pannerAttr()` method to `Howler` to configure panner node's attributes for a sound or group of sounds.
14+
* Added `addString()` method to `HBBuffer` to properly handle encoding conversions in native code.
15+
* Added `screensize` and `screenDPI` to `<config:air>` to customize the mobile simulator.
16+
* Added `onUncaughtError` event to `ThreadPool` to allow main thread to handle exceptions in `doWork`.
17+
* Added `strikethroughPosition` and `strikethroughThickness` to `Font`.
18+
* Added separate `lime-openalsoft` and `lime-mojoal` defines to help detect which library is used.
19+
* Added `gradle-properties` to `<config:android>` to customize properties for Android Gradle builds.
20+
* Fixed missing `hl-ver` define to configure the Haxe compiler to target Lime's bundled HashLink (unless a custom `HL_PATH` is set).
21+
* Fixed display of preload progress for packed asset libraries.
22+
* Fixed mouse move and mouse up event failing to dispatch outside window bounds when mouse button is down.
23+
* Fixed `hardware` attribute not being set on context creation.
24+
* Fixed some window properties not getting set properly from attributes on window creation.
25+
* Fixed performance issues in `ThreadPool` by overhauling job scheduling.
26+
* Fixed exception on Windows when exiting program by using `SDL_QuitSubSystem` in native code.
27+
* Fixed separate private variables for `visible` and `hidden` that got out of sync.
28+
* Fixed crash on HashLink when passing `NULL` device to OpenAL bindings.
29+
* Fixed many variables that defaulted to `Dynamic` because they did not declare a type and were not initialized.
30+
* Fixed `ThreadPool` throwing an exception when `Application.current` is `null`.
31+
* Fixed old _run.n_ in Haxelib because the CI server did not build it.
32+
* Changed Android rebuild to use NDK r28c for Haxelib to support new 16KB native library aligment requirement.
33+
* Changed Android target SDK version to 35. May require updating to JDK 17 or newer.
34+
* Changed default Android architecture for x86 from x86_32 to x86_64 (can still rebuild x86_32 manually).
35+
* Changed default Android emulator architectures to include ARM64 to better support ARM64 on macOS.
36+
* Changed default Adobe AIR SDK version from 28.0 to 32.0 because 28.0 is no longer available for download from Adobe.
37+
* Changed `minimum-sdk-version` in `<config:android>` to customize the `PLATFORM` or `PLATFORM_NUMBER` values used by Android builds.
38+
* Changed _index.html_ template to use `mobile-web-app-capable` instead of deprecated `apple-mobile-web-app-capable`.
39+
* Removed Linux x86_32 binaries from Haxelib (but can still rebuild them manually).
40+
* Removed custom implementation of `haxe.io.Bytes`.
41+
* Updated bundled HashLink executable version to 1.14.
42+
* Updated SDL submodule to version 2.30.12.
43+
44+
8.2.3 (10/01/2025)
45+
------------------
46+
47+
* Fixed JPEG rendering on 32-bit platforms.
48+
* Fixed application hang in `FileDialog` on Windows by forcing `SINGLE_THREADED` flag.
49+
* Fixed iOS device installation on versions older than iOS 16.
50+
* Fixed how iOS 16 and newer devices are selected for testing to support more available devices.
51+
* Fixed ability to specify the version of a Haxelib when using a local _.haxelib_ repository.
52+
* Fixed exception when initializing vibration on Android and permission was disabled.
53+
* Fixed parent directory incorrectly opened in `FileDialog` if the default path is a directory.
54+
* Fixed Unicode system path conversions on Linux.
55+
* Fixed `password`, `alias`, and `aliasPassword` being assigned incorrectly in Lime tools.
56+
* Fixed crash in `AudioManager` when `alc.openDevice()` returns `null`.
57+
* Fixed references to certain types for stricter rules in Haxe 5.
58+
* Fixed `FFECT_AUTOWAH` typo by adding correct `EFFECT_AUTOWAH` value.
59+
* Fixed exception in `HTML5HTTPRequest` in some environments when `request.upload` is `null`.
60+
* Fixed `EXC_BAD_ACCESS` when decoding PNGs and the bytes are `null` or length is `0`.
61+
* Fixed iOS app sometimes running in iPhone simulator when `<config:ios device="ipad"/>` is specified.
62+
* Fixed iOS app sometimes not starting in simulator by recognizing more valid simulator IDs.
63+
* Fixed incorrect request for confirmation when `-alias` or `-cli` flags are specified.
64+
* Fixed conversions between key codes and scan codes in both directions.
65+
* Fixed memory leak in cURL bindings from header values not getting freed.
66+
* Added `CURLOPT_ACCEPT_ENCODING` option for native HTTP requests.
67+
* Fixed missing macos define when using cpp target on macOS.
68+
* Fixed compatibility with Haxe 3 in `HTML5Thread` and Lime tools.
69+
* Fixed failed static build linking on Windows caused by missing _.lib_ file.
70+
* Fixed failed static builds caused by conflicts between hxcpp's and Lime's mbedtls versions.
71+
* Fixed missing UTF-8 conversion in `hb_buffer_add_utf8`.
72+
* Fixed `Font.getGlyphs()` returning an array of zeroes on HashLink.
73+
* Fixed `Font.getGlyphs()` getting stuck in an infinite loop on encountering an invalid character.
74+
* Fixed `System.getDirectory()` UTF-16 encoding.
75+
* Fixed error not getting displayed when NDK 20 or newer is required for Android.
76+
* Fixed OpenAL Soft build on Android by adding `-std=c++11` option.
77+
* Fixed deprecation warning on Android caused by using deprecated no-arg constructor in `android.os.Handler`.
78+
* Fixed unnecessary `untyped __js__` in `ImageCanvasUtil` because externs are now available.
79+
* Fixed crashes when SDL functions return `NULL` on some targets.
80+
* Fixed `Timer.stop()` performing redundant iterations.
81+
* Added `-cli`, `-alias`, and `-noalias` flags to usage instructions.
82+
* Added instructions to use `lime config remove HL_PATH` to clear a custom HashLink version.
83+
* Changed `non-exempt-encryption` default for iOS from `true` to `false`.
84+
* Removed usage of legacy `MAC_USE_CURRENT_SDK` define in Lime tools when targeting macOS.
85+
* Updated Cairo submodule to version 1.18.2 from a snapshot release.
86+
* Updated HarfBuzz submodule to version 10.2.0.
87+
* Updated cURL submodule to version 7.87.0.
88+
* Updated zlib submodule to version 1.2.13.
89+
* Updated png submodule to version 1.6.46.
90+
* Updated efsw submodule to version 1.4.1.
91+
* Updated tinyfiledialogs submodule to version 3.19.1 and fix compatibility with zenity.
92+
493
8.2.2 (12/19/2024)
594
------------------
695

project/Build.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<set name="LIME_SDL_ANGLE" value="1" if="windows LIME_SDL_ANGLE" unless="static_link" />
3232
<set name="LIME_SDL_ANGLE" value="1" if="windows angle" unless="static_link" />
3333
<set name="LIME_SDL_ANGLE" value="1" if="winrt" />
34+
<set name="LIME_SDL_SOUND" value="1" />
3435
<set name="LIME_TINYFILEDIALOGS" value="1" if="windows || mac || linux" unless="winrt || emscripten" />
3536
<set name="LIME_VORBIS" value="1" />
3637
<!-- <set name="LIME_VPX" value="1" />
@@ -46,6 +47,7 @@
4647
<set name="NATIVE_TOOLKIT_HAVE_MBEDTLS" value="1" if="LIME_MBEDTLS" />
4748
<set name="NATIVE_TOOLKIT_HAVE_PNG" value="1" if="LIME_PNG" />
4849
<set name="NATIVE_TOOLKIT_HAVE_SDL" value="1" if="LIME_SDL" />
50+
<set name="NATIVE_TOOLKIT_HAVE_SDL_SOUND" value="1" if="LIME_SDL_SOUND" />
4951

5052
<set name="NATIVE_TOOLKIT_SDL_STATIC" value="1" />
5153
<set name="NATIVE_TOOLKIT_SDL_ANGLE" value="1" if="LIME_SDL_ANGLE" />
@@ -289,6 +291,19 @@
289291

290292
</section>
291293

294+
<section if="LIME_SDL_SOUND">
295+
296+
<compilerflag value="-DLIME_SDL_SOUND" />
297+
<compilerflag value="-D__IPHONEOS__" if="ios || tvos" />
298+
<compilerflag value="-D__APPLETVOS__" if="tvos" />
299+
<compilerflag value="-DAPPLETV" if="tvos" />
300+
<compilerflag value="-DHAVE_STDIO_H" unless="windows" />
301+
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/sdl_sound/src/" />
302+
303+
<file name="src/media/SDLSound.cpp" />
304+
305+
</section>
306+
292307
<section if="LIME_ZLIB">
293308

294309
<compilerflag value="-DSTATIC_LINK" if="emscripten || ios || tvos" />
@@ -365,6 +380,7 @@
365380
<include name="lib/pixman-files.xml" />
366381
<include name="lib/png-files.xml" />
367382
<include name="lib/sdl-files.xml" />
383+
<include name="lib/sdl_sound-files.xml" />
368384
<include name="lib/tinyfiledialogs-files.xml" />
369385
<include name="lib/vorbis-files.xml" />
370386
<include name="lib/vpx-files.xml" />
@@ -398,6 +414,7 @@
398414
<files id="native-toolkit-pixman" if="LIME_PIXMAN" />
399415
<files id="native-toolkit-png" if="LIME_PNG" />
400416
<files id="native-toolkit-sdl" if="LIME_SDL" unless="emscripten" />
417+
<files id="native-toolkit-sdl_sound" if="LIME_SDL_SOUND" />
401418
<files id="native-toolkit-tinyfiledialogs" if="LIME_TINYFILEDIALOGS" />
402419
<files id="native-toolkit-vorbis" if="LIME_VORBIS" />
403420
<files id="native-toolkit-vpx" if="LIME_VPX" />

project/include/media/SDLSound.h

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#ifndef LIME_MEDIA_DECODERS_SDL_SOUND_H
2+
#define LIME_MEDIA_DECODERS_SDL_SOUND_H
3+
4+
5+
#include <media/AudioBuffer.h>
6+
#include <utils/Resource.h>
7+
8+
9+
namespace lime {
10+
11+
12+
class SDLSound {
13+
14+
15+
public:
16+
17+
static bool Decode (Resource *resource, AudioBuffer *audioBuffer);
18+
19+
20+
};
21+
22+
23+
}
24+
25+
26+
#endif

project/include/ui/Window.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ namespace lime {
6464
virtual void SetTextInputRect (Rectangle *rect) = 0;
6565
virtual const char* SetTitle (const char* title) = 0;
6666
virtual bool SetVisible (bool visible) = 0;
67+
virtual bool SetAlwaysOnTop (bool alwaysOnTop) = 0;
6768
virtual void WarpMouse (int x, int y) = 0;
6869

6970
Application* currentApplication;

project/lib/sdl-files.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,7 @@
421421
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/linux/SDL_evdev.c" />
422422
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/linux/SDL_ibus.c" />
423423
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/linux/SDL_ime.c" />
424+
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/linux/SDL_sandbox.c" />
424425
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/linux/SDL_threadprio.c" />
425426
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/linux/SDL_udev.c" />
426427
<file name="${NATIVE_TOOLKIT_PATH}/sdl/src/core/unix/SDL_poll.c" />

project/lib/sdl_sound

Submodule sdl_sound added at 502409f

0 commit comments

Comments
 (0)