In order to access the `nativeName` constant field from a C# class, the
mono scope thread must be attached or the mono domain will be null.
(cherry picked from commit eddb99b9be)
By default, when installing from Android App Bundles the native
libraries are not extracted. They are loaded directly from the APK.
See: https://stackoverflow.com/a/56551499
Passing only the file name to dlopen, without the location, makes it
search the native library in all locations, including inside the apk.
(cherry picked from commit c7f716e2ea)
I don't see any reference to gzip/svgz supported in the nanosvg library,
and the handful of test gzip compressed svgz files I tried failed loading.
Also cleaning a couple missing includes in platform export code.
(cherry picked from commit 1ee44b2366)
The command line option is the same you would pass to Mono, but it
begins with `--mono-debugger-agent=` instead of `--debugger-agent=`.
This is useful for platforms where it's difficult for the user to
configure it via environment variables, like Android.
(cherry picked from commit 3b085e2665)
When reloading C# classes and keep their properties values they are
retrieved and stored in a state list.
Retrieving the properties was only getting the fields of the C# class
and not inherited fields so those properties values were lost on reload.
Now we also try to find the field in the parent classes.
(cherry picked from commit 907e709f9d)
When folders are moved/removed from the file system, the `.csproj`
may need to be edited to update the path of C# scripts or remove them.
If a C# solution has not been created, the `.csproj` file does not exist
and therefore there is no need to edit it.
(cherry picked from commit cf98ff248a)
Due to the async nature of WebRTC implementations, the multiplayer peer
could end up having queued packets from a given connection before it is
able to emit the "peer_added" signal.
This commit ensures that packets from peers which are not notified yet
are skipped by `get_packet` and `get_available_packet_count`.
(cherry picked from commit 9b8db7c63a)
In all physics servers, body_get_direct_state() now silently returns
nullptr when the body has been already freed or is removed from space,
so the client code can detect this state and invalidate the body rid.
In 2D, there is no change in behavior (just no more errors).
In 3D, the Bullet server returned a valid direct body state when the
body was removed from the physics space, but in this case it didn't
make sense to use the information from the body state.
(cherry picked from commit b93aeec4a2)
The hash symbol creates spurious issue references on GitHub if
the message is posted outside a code block, which means some issues
have a lot more references than originally intended.
(cherry picked from commit 63d214f04b)