iPhone and iPad: Blight draws through Metal now. Apple's reviewers test on virtual iPhones with no
OpenGL ES, and 2.0.0 fell over before its first frame there. Blight now draws through ANGLE, Google's
OpenGL ES built on Metal (the one Safari's WebGL runs on), so it starts wherever Metal does. Every build is
booted on an iPhone and an iPad in the simulator the reviewers' way, with Apple's OpenGL ES refusing to
start, and nothing reaches TestFlight or App Review unless it passes (#288).
The iPhone and iPad build uploads to the App Store: the Metal drawing's two frameworks were missing the
version number App Store Connect insists on, so it refused the upload after everything else had passed.
The App Store paperwork comes from the repo. Every iPhone, iPad and Mac release now fills in what
Apple's reviewers ask for: the copyright line, who to contact, notes on how to play, and that Blight's
font and instruments are other people's work, used with permission, and the answers App Review asks a new
studio for (what Blight is, how to start, the services it talks to). No more typing it into a website
before each review; the contact's phone number stays a secret, out of the repo (core#44).
Credit where it's due. Settings has a Licences screen now, on every platform: everyone whose work Blight is
built on (the engine, the font, the SoundFont, the libraries and the .NET runtime), and the full licence each
shares it under. Every build carries them, and a build that ships something without its notice doesn't build
(#290). On a phone, Licences and Back share Settings' last row, so it all still fits.
New instruments. The music and stings play on FluidR3 GM now, Frank Wen's SoundFont, instead of TimGM6mb:
richer recordings (proper strings, brass and a grand piano), and a licence every store is happy with. It's cut
down to just the instruments and notes Blight plays, and a test fails if a song reaches for one that was cut. The
SoundFont is read once and shared, so a sting no longer loads it all over again (#292).
On a phone or tablet, lifting one of two fingers (the end of a pinch, say) no longer moves your aim or walk to
where the other finger is: the game follows the finger that pressed and lets go when it lifts (#297).
Licences scrolls with every swipe on a phone or tablet, not just the first: each new swipe used to start by
jumping back as far as the finger had moved since the last one let go (#295). A swipe that lets go over Back
no longer closes the screen, and the scrollbar's thumb stays under the finger or mouse that drags it.
On an iPhone or iPad, typing no longer crashes the game: Chat, your name in Settings and a With Friends game's
name now come up in iOS's own one-line prompt, keyboard up and Return to finish, as on Android. The old one was
a kind iOS refuses outright these days. Every build now shows that prompt in the simulator before it can reach
TestFlight (#302).
When the whole game stands still for two seconds or more, Blight now says so in its crash reports (when they're
on): how long, and how much of it was .NET's garbage collector. A freeze like that also drops everyone in the
game, since the host goes silent, and both ends now say why a player left (a timeout, say) (#304).
Hosting from a phone survives a phone being a phone. A friend now waits twenty seconds for a host that's gone
quiet, not five, and is told why: "Ken has stepped away" when the host's game has gone to the background, or a
countdown when it's simply stopped answering. On an iPhone or iPad, Blight asks for time to keep everyone
connected while you nip into another app; if you're away longer than iOS allows, the game ends cleanly for
everyone instead of timing out, and you're told why when you're back (#304).
On a phone or tablet the screen stays awake while you're in a match, so auto-lock no longer sends Blight away
mid-fight; on the menus it sleeps as normal (#312).
Behind the scenes: a release's switches now reach the App Store uploads and the facilitator as set. The forge
dropped or overwrote settings handed to those steps, so switching the Mac off never stopped the Apple uploads.
Each trap is proven on a test workflow and avoided, and a new app_stores switch ships a release everywhere but
the App Stores, for when an earlier version is still with App Review (#311).