Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge '8.2.0 dev' #1810

Merged
merged 61 commits into from
Jul 4, 2024
Merged

Merge '8.2.0 dev' #1810

merged 61 commits into from
Jul 4, 2024

Commits on Mar 16, 2024

  1. Configuration menu
    Copy the full SHA
    f59b669 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Configuration menu
    Copy the full SHA
    4521768 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Configuration menu
    Copy the full SHA
    2138b72 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Build.xml: on macOS, add /usr/local/lib to rpath when building lime.ndll

    This seems to be required with Xcode 15, but was not required previously
    joshtynjala committed May 9, 2024
    6 Configuration menu
    Copy the full SHA
    c70ec9f View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. Build.xml: Add /opt/homebrew/lib as rpath on arm64 macos

    This is where arm64 homebrew installs `libneko.dylib`. However, it may still be in `/usr/local/lib` if installed via the haxe .pkg installer, so we add both.
    tobil4sk authored and joshtynjala committed May 15, 2024
    Configuration menu
    Copy the full SHA
    333d093 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. Print an error message if the HXP project class doesn't match the fil…

    …e name.
    
    This is required but not obvious, so we should spell it out.
    player-03 authored May 16, 2024
    Configuration menu
    Copy the full SHA
    d2ea415 View commit details
    Browse the repository at this point in the history
  2. Use haxelib libpath when searching for NDLLs.

    We could fall back to `haxelib path` for very old versions of Haxelib, but most likely even people stuck on Haxe 3 have updated Haxelib.
    
    Also, `haxelib path` gave incorrect results in the first place, so falling back wouldn't do any good.
    player-03 authored May 16, 2024
    Configuration menu
    Copy the full SHA
    3b11588 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4ce0a83 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Replace __findHaxelib() with a function that finds Lime's NDLL folder.

    This is its only use case, so there's no need for an intermediate step of getting the library root. `haxelib path` does return the NDLL folder; the problem with the old implementation of `__findHaxelib()` was it got Lime's source folder instead.
    player-03 authored May 17, 2024
    Configuration menu
    Copy the full SHA
    a850b12 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2024

  1. ThreadPool: Crash fixes

    jgranick committed May 21, 2024
    3 Configuration menu
    Copy the full SHA
    2dad602 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. ProjectXMLParser: handle Std.parseInt() returning null

    Previously, null was propagated, which could lead to confusing errors from arithmetic operations. Now, it is ignored, and a warning is displayed that says where the invalid value can be found.
    joshtynjala committed May 22, 2024
    Configuration menu
    Copy the full SHA
    ac4039d View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Configuration menu
    Copy the full SHA
    0f6d143 View commit details
    Browse the repository at this point in the history
  2. Store images as data when in a web worker.

    More work may need to be done to transfer an image from a worker to the main thread, but this will at least prevent crashes.
    player-03 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    166ac06 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #1778 from UncertainProd/matrix-3-abstract

    Make `Matrix3` an abstract over Float32Array (just like `Matrix4`)
    player-03 authored May 27, 2024
    Configuration menu
    Copy the full SHA
    d0b1f6b View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1787 from player-03/CFFI_haxelib_libpath

    Fix error when locating Lime's bundled NDLLs.
    player-03 authored May 27, 2024
    Configuration menu
    Copy the full SHA
    3078b7c View commit details
    Browse the repository at this point in the history
  5. Add Matrix4.createPerspective() (#1681)

    * add createPerspective
    
    I didn't find a createPerspective function so I tried to make one, but I don't really know if that will work.
    
    * forgot something
    
    * add doc
    
    * I hope that's correct 
    
    added zero to one mode, and -one to one mode variants
    
    * fix missing import
    
    * I keep forgetting shit
    
    * change to exceptions
    
    * Update Matrix4.hx
    
    * remove `new`
    
    * remove period
    
    * final changes
    
    * Follow formatting conventions.
    
    * Avoid using `Math.pow()`.
    
    Haxe is unable to optimize this function away. Also, it seems to be unable to return numbers smaller than 1e-7, so that's what I used in its place. Smaller constants can work, you just can't get them from `Math.pow()`.
    
    * Fill in missing entries.
    
    As per all the other "create" functions.
    
    * Use guard clause for better readability.
    
    * Fix duplicate assignment.
    
    * Make `createPerspective()` public.
    
    ---------
    
    Co-authored-by: player-03 <[email protected]>
    bwkam and player-03 authored May 27, 2024
    Configuration menu
    Copy the full SHA
    eabb10e View commit details
    Browse the repository at this point in the history
  6. Reduce indentation in ProjectXMLParser.

    Whitespace changes interfere with merges, so this change must be applied manually first.
    player-03 committed May 27, 2024
    Configuration menu
    Copy the full SHA
    1b8d7ac View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d3d476a View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Configuration menu
    Copy the full SHA
    12ddca8 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. MacPlatform: running install_name_tool with System.runCommand() works…

    … better than new Process()
    
    new Process() was crashing before the process could start for some reason
    joshtynjala committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ae941e7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    43b56eb View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Configuration menu
    Copy the full SHA
    71442d0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    224c0a0 View commit details
    Browse the repository at this point in the history
  3. Limit total time spent on green threads. (#1774)

    Every single-threaded `ThreadPool` takes up a certain fraction of the app's time per frame. Without any coordination, they could take up more than 100% of the allotted time, causing the app to slow down. By using static variables, we can make them work together to limit the total time spent per frame.
    player-03 authored May 30, 2024
    Configuration menu
    Copy the full SHA
    57da678 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    53c9b52 View commit details
    Browse the repository at this point in the history
  5. Adding missing RESTRICT define for openal

    tobil4sk authored and joshtynjala committed May 30, 2024
    Configuration menu
    Copy the full SHA
    f116b57 View commit details
    Browse the repository at this point in the history
  6. Remove no longer used defines

    tobil4sk authored and joshtynjala committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1a1beff View commit details
    Browse the repository at this point in the history
  7. Fix pixman build for m1

    tobil4sk authored and joshtynjala committed May 30, 2024
    Configuration menu
    Copy the full SHA
    54d6b72 View commit details
    Browse the repository at this point in the history
  8. Merge pull request #1791 from player-03/CairoMatrix3

    Create a placeholder object to send `Matrix3`s to C++ code.
    player-03 authored May 30, 2024
    Configuration menu
    Copy the full SHA
    c0ca857 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9dc809d View commit details
    Browse the repository at this point in the history
  10. Remove unused code.

    These appear to have been copied from elsewhere and never used.
    player-03 committed May 30, 2024
    Configuration menu
    Copy the full SHA
    93ad84f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    084324a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0cf13bf View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. 5 Configuration menu
    Copy the full SHA
    d067815 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e88b3d2 View commit details
    Browse the repository at this point in the history
  3. CairoPattern: use new CairoMatrix3 for get/set matrix (references #1791

    …) (references #1778) (references #1792)
    
    Fixes gradient drawing in OpenFL
    joshtynjala committed May 31, 2024
    Configuration menu
    Copy the full SHA
    81615dc View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1792 from player-03/Matrix3

    Make `Matrix3` use column-major order.
    player-03 authored May 31, 2024
    Configuration menu
    Copy the full SHA
    6c8d742 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1ebce5f View commit details
    Browse the repository at this point in the history
  6. Copy correct ndll on arm64 mac

    tobil4sk authored and joshtynjala committed May 31, 2024
    Configuration menu
    Copy the full SHA
    45972bb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    653c8c9 View commit details
    Browse the repository at this point in the history
  8. Update neko scripts

    tobil4sk authored and joshtynjala committed May 31, 2024
    Configuration menu
    Copy the full SHA
    587de6d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a74127b View commit details
    Browse the repository at this point in the history
  10. Merge pull request #1770 from barisyild/make-preserveDrawingBuffer-co…

    …nfigurable
    
    make preserveDrawingBuffer configurable
    player-03 authored May 31, 2024
    Configuration menu
    Copy the full SHA
    5bcf8fc View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2024

  1. Configuration menu
    Copy the full SHA
    f23ecb6 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Merge pull request #1790 from player-03/stale_assets

    Automatically delete stale assets and dependency files.
    player-03 authored Jun 4, 2024
    Configuration menu
    Copy the full SHA
    6a23b6e View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Restore "web-worker" attribute.

    This was mistakenly removed while merging.
    player-03 committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    fc393ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8066037 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bbcb8be View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    832ac35 View commit details
    Browse the repository at this point in the history
  5. Use globalThis.

    It's designed to solve exactly this problem, and has been universally available since 2020.
    
    The most likely scenario for `globalThis` to fail is if the user is stuck with an old browser, in which case `self` will be available. `window` will be too, but `self` also works in web workers.
    player-03 committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    2874ac9 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Configuration menu
    Copy the full SHA
    7019abb View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. AndroidHelper: Fix Android -emulator flag by preferring newer executa…

    …ble paths from Android SDK
    
    The 'SDK Tools' package located in /tools/ is officially considered 'obsolete', so we should not use it by default.
    
    We now prefer /platform-tools/adb over /tools/adb
    
    We now prefer /emulator/emulator over /tools/emulator
    
    If the newer replacement executables are missing, we still try to fall back to /tools/. This should allow older Android SDKs to continue to work properly.
    
    Additionally, if neither version can be found, we report an error. For adb, we always need it, so we always report an error if it is missing. For emulator, we report an error only if we're actually going to use an emulator.
    
    /tools/android doesn't have a newer alternative. We were running 'android list avds' to get a list of all available AVDs. However, both '/emulator/emulator -list-avds' and '/tools/emulator -list-avds' provide a simple list of AVDs separated by line breaks. So it seems that we never actually needed /tools/android. Plus, it outputs a better format that doesn't require searching every line of the output string for 'Name:', and we can just split and trim. So I completely removed /tools/android and we now use either '/emulator/emulator -list-avds' or '/tools/emulator -list-avds'.
    joshtynjala committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    eed47e7 View commit details
    Browse the repository at this point in the history
  2. AndroidHelper: report errors for missing adb and emulator executables…

    … when they are used only, instead of immediately in AndroidHelper.initialize()
    
    It turns out that adb isn't included GitHub Actions unless you install it specifically. However, you can technically build Android apps with Lime without adb, so we shouldn't report the error in initialize(). Most important is install(), where both adb and emulator are commonly used.
    
    Followup to eed47e7
    joshtynjala committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    4485246 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2024

  1. Rename web-workerallow-web-workers for clarity.

    The former was unclear about how the dependency would relate to web workers. Would it only be available to workers? Would it automatically spin up a worker?
    
    `allow-web-workers` isn't 100% perfect, but it implies the correct answers to the questions above (no and no) and isn't too long.
    player-03 committed Jun 16, 2024
    Configuration menu
    Copy the full SHA
    593f4fa View commit details
    Browse the repository at this point in the history
  2. Support VIEW intents on Android. (#1799)

    * Add Drop file event support for android.
    
    * Updated MIME type configuration and intent filter generation.
    
    * "supportedMimeTypes" => "mimeType"
    
    * `mimeType` -> `accept-file-intent`
    MAJigsaw77 authored Jun 16, 2024
    Configuration menu
    Copy the full SHA
    0e0dd0b View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. AndroidPlatform: fix @android:style/Theme.NoTitleBarnull in AndroidMa…

    …nifest.xml
    
    Replace (project.window.fullscreen ? ".Fullscreen" : null) with (project.window.fullscreen ? ".Fullscreen" : "")
    joshtynjala committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    c8501b1 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. MacPlatform: use install_name_tool to add /usr/local/lib and /opt/hom…

    …brew/lib to rpath of lime.ndll
    
    Previously, we added these rpaths to lime.ndll when it was built in commits c70ec9f and 333d093, but it's actually necessary only for Neko, so now I made it happen specfically after calling `nekotools boot` to create the Neko executable.
    
    I've tested cpp and hl, and I've confirmed that the executables still launch successfully when these rpaths are omitted. It's better for their security to use fewer rpaths.
    
    As noted commit c70ec9f, adding these rpaths is necessary due to a change in Xcode 15 where /usr/local/lib used to be available on the rpath automatically, but now it isn't, which affects the executable's ability to find the libneko dylib.
    joshtynjala committed Jun 19, 2024
    7 Configuration menu
    Copy the full SHA
    4793649 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. 1 Configuration menu
    Copy the full SHA
    97e1af3 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    5f7e634 View commit details
    Browse the repository at this point in the history
  3. Copy SDL's list of configChanges on Android.

    On Android, Lime apps are SDL apps, so it makes sense to defer to them on this.
    
    https://github.com/libsdl-org/SDL/blob/main/android-project/app/src/main/AndroidManifest.xml
    player-03 committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    d27aaeb View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Configuration menu
    Copy the full SHA
    e257b7e View commit details
    Browse the repository at this point in the history