Creating Mem using the host allocator allows use to explicitly drop the
previous allocation and freely allocate a new instance without running
into crashes on Android. As such this commit removes the previous
refurbishing mechanism, in favor of the simpler drop -> reallocate.
Change-Id: Ic9fd3b790640bb0525c2ae425c26cc9fb922a843
In Metal Gear Solid Touch (v1.0.0), the plist crate caused a crash when
English was used, due to an InvalidTrailerObjectOffsetSize error when
reading the en.lproj/Localizable.strings file. It was worked around
by setting Japanese as the default language, since
ja.lproj/Localizable.strings loaded successfully.
The latest version of plist fixes this issue, and thus the workaround
is no longer required.
quick-xml, being both a direct dependency as well as transitive
dependency through plist, was also updated to avoid requiring two
versions of the same crate.
The commit updates the versions in Cargo.toml, removes the Japanese
language default setting, and replaces calls to the unescape method
in quick-xml with its replacement method decode.
Fixes GitHub issue #430.
Change-Id: I9b3dae3e994acc1df8016af69a4d2c250cf3f6ef
touchHLE commit 2c9a260981 changed the
Cargo.toml and Cargo.lock to point to the tag touchHLE-1 on the new
GitHub repo touchHLE/rust-sdl2, replacing the tag touchHLE-2 on
the old GitHub repo hikari-no-yume/rust-sdl2. These two repos were
unrelated, and the tag numbering for rust-sdl2 revisions used by
touchHLE was effectively restarted (there was a different touchHLE-1
tag on the old repo).
To keep things orderly, the new repo has been deleted, the old repo has
been moved to its place, and the new touchHLE-1 has been re-tagged as
touchHLE-3. This will mean that attempting to check out and build the
last two commits on trunk (which used touchHLE-1 on the new repo) will
probably fail, but every previous commit (which pointed at the old repo)
should work, which is more important.
Change-Id: I3fec10421a95b1ff612d17e056c6fe2de7fdfa6a
This will be useful for improving the packaging of releases, and might
somehow improve incremental build performance (I hope).
Change-Id: Ib36abfe46e7b58ac1f81d035c69c837443f3767c
This is a squashed merge of the Android branch, the final commit of
which was 3c517a36b1, tagged as
android-before-merge.
@ciciplusplus took the initiative to start porting touchHLE to Android
and got the first version working. @hikari-no-yume's contributions came
later and are mostly fixes and cleanups of various kinds.
There are still various unfinished things in this port, but it's now
in a clean enough state that it no longer needs its own branch.
(Merged pull request by @ciciplusplus, resolves #88.)
Co-authored-by: ciciplusplus <ciciplusplus@gmail.com>
This is in preparation for Android support. Android apps can't be
native code executables, but they can load a native code library, so we
need a library target on Android. Alas, we we can't make the crate type
(executable or library) conditional on the platform, so we have to have
it elsewhere too. Doing this split early makes for a clearer history.
Until now, there was only an executable target, so rustdoc included
private items by default. Now that there's a library target, that
default doesn't apply, which means we would get almost no documentation!
The .cargo/config.toml file is added to override this, though this
now means we get private items in _other_ crates documented too, and
we have to suppress warnings about links to private items that didn't
happen before.
src/main.rs is renamed to src/lib.rs because almost all the code is now
in the library. src/bin.rs is the new module for the executable. It
could have been named src/main.rs, but then git wouldn't realise
src/lib.rs is the successor of the old src/main.rs, which would be
annoying for blames and merges.