Instead, update the surface with the same change. For many
consecutive getPixel() -> setPixel() calls on the same bitmap,
this avoids calling glReadPixels at every iteration.
More accurate behavior, such as Font objects properly inheriting
their name attributes, and centralization of code for picking
the first existing name from a passed string array.
Also centralizes initial default_name population in core.
Note: This currently breaks the mruby binding build.
This makes it easier to play CJK games, since the embedded font must have
the glyphs necessary to display the game text.
The qmake portion is untested, but should hopefully not break the build.
See also #135
Calculation was completely off as it didn't take into
account the imposed viewport origin.
All in all, similar fixes as the previous ones to TilemapVX.
Before, even though we did match all possible extensions,
we only took the first match and tried opening it.
If we were looking for a .png image, but there was an unrelated
.txt file with the same name (as it actually happens in RTPs),
we would potentially see the .txt first, try opening it,
and fail alltogether, even though the image file existed.
Now we try opening all matching files until we find one that
we can parse.
This fixes#101.
The default value is an empty string, which triggers the simple
transition. Passing null is not legal (and wasn't possible in
mkxp from Ruby side anyway).
Fixes#108.
Previously, file lookup (ie. extension supplementing) would only
try out a few predetermined extensions based on the asset type.
This was not accurate in regard to RMXP's behavior, which will
happily match "some_asset" against "some_asset.abcef" and try
to open it.
Some games make use of this quirk and rename their ogg audio files
to "*.dat" or similar to thwart users from copying them.
This change also makes it easier to read arbitrary formats
supported by SDL_image without modifying mkxp.