Commit Graph

5141 Commits

Author SHA1 Message Date
Josh Tynjala
958d2fd49f preliminary CHANGELOG (needs a release date!) 2022-08-08 13:10:16 -07:00
Apprentice-Alchemist
399c1a3ba7 Missing function bodies. 2022-08-05 15:54:00 +02:00
Apprentice-Alchemist
57ef1223bc Fix typo. 2022-08-05 13:35:27 +02:00
Apprentice-Alchemist
86a7b4e136 C++ is strange. 2022-08-05 13:29:34 +02:00
Apprentice-Alchemist
1c8c6c1a5e Implement window transparency. 2022-08-04 22:00:49 +02:00
Josh Tynjala
88b4fdf888 lime.openfl.org 2022-07-28 16:54:37 -07:00
Chris Speciale
7a9a881b22 Remove TODO
...Unfortunately, after a little bit of testing and a lot more thought and consideration, I've realized there really isn't a way to do this without doubling the allocation. Ouch.
2022-07-28 18:01:10 -04:00
Chris Speciale
4fdaefac23 Add TODO 2022-07-28 17:09:23 -04:00
Chris Speciale
592b3dbb4d Merge pull request #1568 from Stencyl/fix-native-loadtext-request
Fix NativeHTTPRequest.loadText
2022-07-28 16:40:35 -04:00
Josh Tynjala
372f79fd81 NativeMenuItem: fix wrong types on keyEquivalent and keyEquivalentModifiers 2022-07-26 11:30:28 -07:00
Justin Espedal
3644549574 Fix NativeHTTPRequest.loadText
Followup to these two commits:
02617a854d
ad3a632927

In the second commit, the buildBuffer call in HTTPRequest was
found to conflict with the way local requests are made, with the
bytes being set directly. So buildBuffer was moved to NativeHTTPRequest
instead. Upon promise completion, now, the value of bytes should always
be correct, and buildBuffer need not be called.

But buildBuffer is called again in NativeHTTPRequest.loadText. For local
requests, this will lead to the same problem that the second commit
fixed (presumably), and for network requests, this leads to the nulled
out buffer being accessed a second time, resulting in a crash.

So since the received value of bytes is already correct and buildBuffer
is harmful, the buildBuffer call is removed from loadText.
Both local and network requests are happy now!
2022-07-22 23:19:46 +09:00
Josh Tynjala
862fe55b1c Preloader: use ObjectMap instead of Map with bytesLoadedCache so that Dynamic can be a key when disable_preloader_assets flag is set 2022-07-20 11:54:21 -07:00
Josh Tynjala
aa1f305f9d project.xml: add <config:air profile=value/> to optionally support custom AIR profiles on run 2022-07-19 11:10:49 -07:00
Josh Tynjala
5a494a1742 docs-theme: minor color tweak for links 2022-07-18 10:35:53 -07:00
Josh Tynjala
795b2fcace docs-theme: dark mode support 2022-07-18 09:54:51 -07:00
Joseph Cloutier
dada3e3b0a Document JNI constructors. 2022-07-15 12:36:42 -04:00
Josh Tynjala
fd0fc3da48 HashLink: fix the ability to double-click the .app file on macOS to run it
The HashLink executable expects hlboot.dat and libraries to be in the current working directory (it's not enough for them to be in the same directory as the executable). Make the .app file launch a shell script that 1) changes the current working directory 2) launches the HashLink executable
2022-07-13 10:01:57 -07:00
Josh Tynjala
06baca4396 README: use correct file name for installing nightly build 2022-07-11 15:29:28 -07:00
Josh Tynjala
f004b968d0 README: link to development builds shows only successful builds 2022-07-11 14:53:34 -07:00
player-03
2a81e10ba9 Merge pull request #1559 from mgambrell/develop
vorbisfile.cpp - change free(x) to `delete x` (fixes #1556)
2022-07-07 20:47:17 -04:00
Josh Tynjala
8d715cb741 docs website URL
This may change, but this is where it is right now
2022-07-05 08:51:01 -07:00
Josh Tynjala
7e33d52645 docs: logo not required to be served from root of domain 2022-07-05 08:49:08 -07:00
mgambrell
0125e939a9 vorbisfile.cpp - change free(x) to delete x (fixes #1556) 2022-07-04 00:00:38 -05:00
Justin Espedal
b4110480c1 Don't set AL.BYTE_OFFSET immediately after calling AL.sourcePlay
The sourcePlay call in NativeAudioSource.play is removed, since
setCurrentTime will always do that itself. Additionally, within
setCurrentTime, sourcePlay was happening before setting the byte
offset for non-streamed sounds.

This appears to fix the problem of sounds playing the first part
multiple times, described here:
https://community.openfl.org/t/sounds-play-twice-on-ios/12163
2022-07-04 12:17:43 +09:00
player-03
4f83af5848 Merge pull request #1545 from player-03/configChanges
Suppress `uiMode` configuration changes.
2022-06-27 01:49:18 -04:00
player-03
b542d62429 Merge pull request #1552 from player-03/JNI_safety
Rename `ForegroundWorker` → `JNISafety`.
2022-06-18 22:20:08 -04:00
Joseph Cloutier
da5704e263 Rename ForegroundWorkerJNISafety.
This change places the focus on the one known use case, while clearing
up potential confusion caused by similar-sounding classes that function
totally differently.
2022-06-18 21:18:02 -04:00
Joseph Cloutier
0fd3144323 Expose more information to project.xml users.
Previously, they could access `${app.file}` and `${config.android}`, but
not `${project.platformType}` or `${config.android.target-sdk-version}`.
Now they can!

I don't know if we want to phase out `${projectDirectory}`, but it's now
an option.
2022-06-14 21:01:07 -04:00
Josh Tynjala
33502b099e Preloader: if disable_preloader_assets is defined, keep the public API available
Ensures that existing custom templates still work
2022-06-14 07:42:30 -07:00
Josh Tynjala
e3a755ff60 ManifestResources: use Dynamic instead of AssetLibrary when disable_preloader_assets is defined 2022-06-14 07:41:50 -07:00
Josh Tynjala
4e1974fc9f ManifestResources: if disable_preloader_assets is defined, keep the public API available
Ensures that existing custom templates still work
2022-06-14 07:07:22 -07:00
Joseph Cloutier
83b39e9184 Don't treat include.hxp as a complete project. 2022-06-13 15:57:23 -04:00
Joseph Cloutier
2a2b5ebd22 Update Android SDK setup instructions.
Not only are we no longer targeting API 19, the minimum is now 21.
2022-06-12 13:22:00 -04:00
Joseph Cloutier
9a81ae8798 Merge branch 'develop' into DeprecatedGradleFeatures 2022-06-12 10:00:23 -04:00
Joseph Cloutier
bb9b64af81 Suppress uiMode configuration changes.
When the user switches between dark and light themes, Android destroys
and recreates the activity. However, Lime activities can't be recreated
like this, and just close instead.

Since we don't actually use the system theme, there's no reason to do
this. Simplest solution is to suppress it.

https://developer.android.com/guide/topics/resources/runtime-changes
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme#config-changes
2022-06-11 20:28:41 -04:00
Joseph Cloutier
5ffbfd7f3a Add AndroidX options to <config:android />.
`enableJetifier` defaults to false because it can slow compilation.
2022-06-11 20:20:33 -04:00
Joseph Cloutier
00fd063026 Use implementation instead of api.
This is recommended as a best practice, though AFAIK this only matters
for projects that are going to be imported by other projects.

For instance, you used to be able to include `:deps:extension-api` by
including any extension that depended on it. Now, every project that
wants to use `extension-api` has to include it directly. (Which is fine
because in practice, they all already do so.)
2022-06-11 20:10:34 -04:00
Joseph Cloutier
619b67b472 Remove reference to nonexistant folder.
libs/ doesn't exist; only app/libs/ does, and that's handled by app/build.gradle.
2022-06-11 20:10:34 -04:00
Joseph Cloutier
1ff434043c Remove trailing spaces. 2022-06-11 20:09:42 -04:00
player-03
89158a9b7f Merge pull request #1541 from Stencyl/fix-native-audio-stream-pos
Fix getCurrentTime for streaming native sounds
2022-06-10 13:27:00 -04:00
Josh Tynjala
4be9bcf6ff CommandLineTools: mention new --template option from commit 3ba4c4c5c0 in help text 2022-06-10 09:55:50 -07:00
Justin Espedal
8660a189ba Fix getCurrentTime for streaming native sounds
vorbisFile.timeTell() returns the current decoding offset in seconds,
and it's updated each time vorisFile.read() is called. Since data is
buffered by calling vorbisFile.read() multiple times, the associated
time values also need to be preserved in order to get the correct time
offset.

Without this change, getCurrentTime() will return some time in the
future relative to the amount of buffered data.
2022-06-10 13:57:13 +09:00
Josh Tynjala
81d682d355 Window: add new setTextInputRect() method to optionally specify the location of the input when textInputEnabled is set to true
On native, this uses SDL_SetTextInputRect
2022-06-09 14:14:05 -07:00
player-03
5f6f762ff8 Merge pull request #1536 from player-03/android-21
Set minimum-sdk-version to 21.
2022-06-07 16:46:36 -04:00
Joseph Cloutier
f14dfc8462 Work around unreliable clipboard on Linux.
Most likely SDL_waylandvideo.c is to blame, but I don't know enough to
rule out SDL_x11video.c.
2022-06-07 13:36:35 -04:00
Joseph Cloutier
be8fd592a3 Document JNI function arguments. 2022-06-07 12:14:32 -04:00
Joseph Cloutier
14671facef Parse JNI class names more intelligently. 2022-06-07 12:05:50 -04:00
Joseph Cloutier
0e6bfa830b Allow running native apps from other directories.
It isn't always safe to assume `./` is the app directory, and removing
that assumption opens up options.

Requires at least Haxe 3.4, but I don't think Lime supports 3.3 anyway.
2022-06-07 11:47:18 -04:00
Joseph Cloutier
c13f02ef9c Check all asset types if type == null.
According to OpenFL's documentation, `type` is
"The asset type to match, or null to match any type."
2022-06-06 23:07:03 -04:00
Joseph Cloutier
6652a6f7ab Simplify switch statement.
`cast` can handle `null`; no need for a ternary operator.
2022-06-06 23:00:01 -04:00