Merge branch 'develop' into 8.3.0-Dev

This commit is contained in:
Josh Tynjala
2025-01-29 09:37:47 -08:00
11 changed files with 52 additions and 41 deletions

View File

@@ -606,7 +606,7 @@ jobs:
runs-on: windows-latest runs-on: windows-latest
strategy: strategy:
matrix: matrix:
haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.1] haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.6]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -715,7 +715,7 @@ jobs:
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: 4.3.3 # minimum required version for HL/C haxe-version: 4.3.3 # minimum required version for HL/C is 4.3.3
- name: Set HAXEPATH (Windows) - name: Set HAXEPATH (Windows)
if: runner.os == 'Windows' if: runner.os == 'Windows'
@@ -756,14 +756,18 @@ jobs:
lime build SimpleAudio hlc -release -verbose -nocolor lime build SimpleAudio hlc -release -verbose -nocolor
html5-samples: html5-samples:
needs: package-haxelib
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy:
matrix:
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.6]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: krdlab/setup-haxe@v1 - uses: krdlab/setup-haxe@v1
with: with:
haxe-version: ${{ env.HAXE_VERSION }} haxe-version: ${{ matrix.haxe-version }}
- name: Set HAXEPATH - name: Set HAXEPATH
run: | run: |
@@ -771,45 +775,51 @@ jobs:
- name: Install Haxe dependencies - name: Install Haxe dependencies
run: | run: |
haxelib install format --quiet
haxelib install hxp --quiet
haxelib install genes --quiet haxelib install genes --quiet
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- uses: actions/download-artifact@v4
with:
name: lime-haxelib
path: lime-haxelib
- name: Prepare Lime - name: Prepare Lime
run: | run: |
haxelib dev lime ${{ github.workspace }} haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi -eval haxelib run lime setup -alias -y -nocffi
- name: Build HelloWorld sample - name: Build HelloWorld sample
run: | run: |
lime create HelloWorld -verbose -nocolor -eval lime create HelloWorld -verbose -nocolor
lime build HelloWorld html5 -release -verbose -nocolor -eval lime build HelloWorld html5 -release -verbose -nocolor
- name: Build HelloWorld variants - name: Build HelloWorld variants
if: ${{ matrix.haxe-version != '3.4.7' }}
run: | run: |
lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes -eval lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes
lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser -eval lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser
- name: Build SimpleImage sample - name: Build SimpleImage sample
run: | run: |
lime create SimpleImage -verbose -nocolor -eval lime create SimpleImage -verbose -nocolor
lime build SimpleImage html5 -release -verbose -nocolor -eval lime build SimpleImage html5 -release -verbose -nocolor
- name: Build SimpleImage variants - name: Build SimpleImage variants
if: ${{ matrix.haxe-version != '3.4.7' }}
run: | run: |
lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes -eval lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes
lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser -eval lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser
- name: Build SimpleAudio sample - name: Build SimpleAudio sample
run: | run: |
lime create SimpleAudio -verbose -nocolor -eval lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio html5 -release -verbose -nocolor -eval lime build SimpleAudio html5 -release -verbose -nocolor
- name: Build SimpleAudio variants - name: Build SimpleAudio variants
if: ${{ matrix.haxe-version != '3.4.7' }}
run: | run: |
lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes -eval lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes
lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser -eval lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser
neko-samples: neko-samples:
needs: package-haxelib needs: package-haxelib

View File

@@ -16,6 +16,7 @@
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftcache.h" /> <depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftcache.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftchapters.h" /> <depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftchapters.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftcid.h" /> <depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftcid.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftcolor.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftdriver.h" /> <depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/ftdriver.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/fterrdef.h" /> <depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/fterrdef.h" />
<depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/fterrors.h" /> <depend name="${NATIVE_TOOLKIT_PATH}/freetype/include/freetype/fterrors.h" />
@@ -79,6 +80,7 @@
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftbitmap.c" /> <file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftbitmap.c" />
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftcalc.c" /> <file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftcalc.c" />
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftcid.c" /> <file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftcid.c" />
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftcolor.c" />
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftdbgmem.c" /> <file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftdbgmem.c" />
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftdebug.c" /> <file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftdebug.c" />
<file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftfntfmt.c" /> <file name="${NATIVE_TOOLKIT_PATH}/freetype/src/base/ftfntfmt.c" />

View File

@@ -30,15 +30,18 @@
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-buffer-verify.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-buffer-verify.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-buffer.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-buffer.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-common.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-common.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-coretext.cc" if="mac || ios" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-coretext-shape.cc" if="mac || ios" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-directwrite.cc" if="windows HXCPP_M64" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-directwrite.cc" if="windows HXCPP_M64" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-draw.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-face.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-face.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-face-builder.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-fallback-shape.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-fallback-shape.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-font.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-font.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ft.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ft.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-number.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-number.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-cff1-table.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-cff1-table.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-cff2-table.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-cff2-table.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-color.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-face.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-face.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-font.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-font.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-layout.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-layout.cc" />
@@ -62,6 +65,9 @@
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-shape.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-shape.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-tag.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-tag.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-var.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-ot-var.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-outline.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-paint.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-paint-extents.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-set.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-set.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-shape-plan.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-shape-plan.cc" />
<file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-shape.cc" /> <file name="${NATIVE_TOOLKIT_PATH}/harfbuzz/src/hb-shape.cc" />

View File

@@ -96,7 +96,7 @@ class HTML5Thread {
var thread:HTML5Thread = new HTML5Thread(url.href, new Worker(url.href)); var thread:HTML5Thread = new HTML5Thread(url.href, new Worker(url.href));
// Run `job` on the new thread. // Run `job` on the new thread.
thread.sendMessage(job); thread.sendMessage(#if !haxe4 cast #end job);
return thread; return thread;
#else #else
@@ -416,7 +416,7 @@ abstract WorkFunction<T:haxe.Constraints.Function>(WorkFunctionData<T>) from Wor
else else
{ {
#if !macro #if !macro
this.sourceCode = (cast this.func:Function).toString(); this.sourceCode = (cast this.func #if haxe4 :Function #end).toString();
if (this.sourceCode.indexOf("[native code]") < 0) if (this.sourceCode.indexOf("[native code]") < 0)
{ {
// All set. // All set.

View File

@@ -34,9 +34,12 @@ class AudioManager
var alc = context.openal; var alc = context.openal;
var device = alc.openDevice(); var device = alc.openDevice();
var ctx = alc.createContext(device); if (device != null)
alc.makeContextCurrent(ctx); {
alc.processContext(ctx); var ctx = alc.createContext(device);
alc.makeContextCurrent(ctx);
alc.processContext(ctx);
}
} }
#end #end
} }

View File

@@ -354,7 +354,7 @@ class IOSPlatform extends PlatformTarget
} }
context.IOS_LINKER_FLAGS = ["-stdlib=libc++"].concat(project.config.getArrayString("ios.linker-flags")); context.IOS_LINKER_FLAGS = ["-stdlib=libc++"].concat(project.config.getArrayString("ios.linker-flags"));
context.IOS_NON_EXEMPT_ENCRYPTION = project.config.getBool("ios.non-exempt-encryption", true); context.IOS_NON_EXEMPT_ENCRYPTION = project.config.getBool("ios.non-exempt-encryption", false);
switch (project.window.orientation) switch (project.window.orientation)
{ {

View File

@@ -711,7 +711,7 @@ class MacPlatform extends PlatformTarget
continue; continue;
} }
} }
if (Lambda.exists(homebrewDirs, dirPath -> StringTools.startsWith(resolvedLibPath, dirPath))) if (Lambda.exists(homebrewDirs, function(dirPath:String):Bool { return StringTools.startsWith(resolvedLibPath, dirPath); }))
{ {
homebrewDependencyPaths.push(libPath); homebrewDependencyPaths.push(libPath);
pathsToSearchForHomebrewDependencies.push(resolvedLibPath); pathsToSearchForHomebrewDependencies.push(resolvedLibPath);

View File

@@ -383,7 +383,7 @@ class WindowsPlatform extends PlatformTarget
var visualStudioPath = StringTools.trim(vswhereOutput); var visualStudioPath = StringTools.trim(vswhereOutput);
var vcvarsallPath = visualStudioPath + "\\VC\\Auxiliary\\Build\\vcvarsall.bat"; var vcvarsallPath = visualStudioPath + "\\VC\\Auxiliary\\Build\\vcvarsall.bat";
// this command sets up the environment variables and things that visual studio requires // this command sets up the environment variables and things that visual studio requires
var vcvarsallCommand = [vcvarsallPath, "x64"].map(arg -> ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1")); var vcvarsallCommand = [vcvarsallPath, "x64"].map(function(arg:String):String { return ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1"); });
// this command runs the cl.exe c compiler from visual studio // this command runs the cl.exe c compiler from visual studio
var clCommand = ["cl.exe", "/Ox", "/Fe:" + executablePath, "-I", Path.combine(targetDirectory, "obj"), Path.combine(targetDirectory, "obj/ApplicationMain.c")]; var clCommand = ["cl.exe", "/Ox", "/Fe:" + executablePath, "-I", Path.combine(targetDirectory, "obj"), Path.combine(targetDirectory, "obj/ApplicationMain.c")];
for (file in System.readDirectory(applicationDirectory)) for (file in System.readDirectory(applicationDirectory))
@@ -398,7 +398,7 @@ class WindowsPlatform extends PlatformTarget
} }
clCommand.push("/link"); clCommand.push("/link");
clCommand.push("/subsystem:windows"); clCommand.push("/subsystem:windows");
clCommand = clCommand.map(arg -> ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1")); clCommand = clCommand.map(function(arg:String):String { return ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1"); });
// combine both commands into one // combine both commands into one
command = ["cmd.exe", "/s", "/c", vcvarsallCommand.join(" ") + " && " + clCommand.join(" ")]; command = ["cmd.exe", "/s", "/c", vcvarsallCommand.join(" ") + " && " + clCommand.join(" ")];
} }

View File

@@ -816,11 +816,6 @@ class PlatformSetup
setupHaxelib(new Haxelib("lime")); setupHaxelib(new Haxelib("lime"));
} }
if (System.hostPlatform == MAC)
{
ConfigHelper.writeConfigValue("MAC_USE_CURRENT_SDK", "1");
}
if (targetFlags.exists("noalias")) if (targetFlags.exists("noalias"))
{ {
return; return;
@@ -1079,11 +1074,6 @@ class PlatformSetup
setupHaxelib(new Haxelib("openfl")); setupHaxelib(new Haxelib("openfl"));
} }
if (System.hostPlatform == MAC)
{
ConfigHelper.writeConfigValue("MAC_USE_CURRENT_SDK", "1");
}
if (targetFlags.exists("noalias")) if (targetFlags.exists("noalias"))
{ {
return; return;