UPDATE: Turns out I didn’t actually set the feature flag to enable the control overlay in release builds. Oops!
Jacques and I spent a lot of time prototyping and refining a better means of handling input on smaller touch-screen devices over the last 2 weeks; it’s why we didn’t patch last week. I’ve poured all my energy into cooking up potentials and testing them on actual devices to get incrementally closer to a better solution than we had, and Jacques has been an absolute monster for cleaning up my prototype efforts and turning them into something that doesn’t make me want to scoop my eyeballs out.
We ultimately landed on two potentials; an overlay of “fake” buttons that looks a bit like a traditional game controller D-Pad, and something much more abstract that would just sit over top of the big rolled out version of the map. They both have their upsides and downsides, and ultimately we’ve put all our energy into the control overlay as our primary option.
Essentially, the sidebar is simply too small to work on touch-screen devices with smaller resolutions, so after a bunch of back and forth and testing, we’ve implemented a slightly different layout for the sidebar that is only active on small touch-screen devices. Right now, this is any device that reports it is an iPhone or Android device, and has a screen resolution below 400 pixels in either direction. This seemed to be a decent tipping point between the devices I had to hand, where I had no problems using the new UI on a mid-size Android tablet, but struggled a lot on a small iPhone SE 2nd Gen. As part of making the layout different to have larger buttons, we had to cut the smaller minimap in this mode entirely, which means the only option on smaller screen devices is going to be the big, rolled out minimap going forward.
To facilitiate this, we designed the control overlay to sit reasonably well around the active room in the big minimap, and then made a bunch of attempts to make it easy to switch between minimap and bust viewer. As a one-time deal, loading older saves into this version will forcibly flip a bunch of related settings to make the game appear as we have intended this work to present itself with a fresh character; making the big minimap rollout happen by default mostly, and enabling the control overlay option by default when the Small Device test passes. These settings should only flip on older saves, so if you really do not like or need the control overlay, you can turn it off in the control options, and instead use larger buttons in the sidebar for movement.
We think this is the best hybrid between having a consistent UI across all devices, and still being easily usable on devices that were having issues with how small a lot of important controls were. We’re gonna wait for feedback on this before we decide if we should implement any other options like the quadrant-based navigation.
TiTS 0.9.044 Changelog:
- Fixed NOT ACTUALLY SETTING THE FEATURE FLAG for the control overlay, so it’s actually present in release builds. (Gedan, weeping)
- Fixed a room on the top floor of Zheng Shi that linked to The Void. (Fenoxo)
- Fixed lust values not displaying properly via outputDamage(). (Jacques)
- Fixed missing tooltips for a porn button. (Jacques)
- Fixed a possible means of squeezing past SmallDeviceMode with weird userAgents. (Gedan)
- Fixed a variety of UI elements displaying too early when in character creation. (Jacques)
- Fixed Geoff/Arties bust causing crashes. (Gedan & Jacques)
- Fixed another means that the new layout couldn’t force itself into place on devices that require it. (Jacques)
TiTS 0.9.043 Changelog:
- PUBLIC: A new ship item has been added; the Holo Mirror system. For now it’s available from Synphia on Uveto. This once-per combat gadget creates 1-3 holographic duplicates of your vessel to soak up enemy attacks. The number of duplicates is based on your ship’s system’s score, making it basically useless to potentially a life-saver depending on your loadout.. (Fenoxo)
- BACKERS: A Cyber Punk-modded Clydesdale K7 I’ve been calling the Cyberdale. Guess what? It uses the holographic duplicate system! She’ll surrender if you pop her mirrored images and drop her shields, but you can always ignore them to take out her armor. Comes with two new victory sex scenes! (This encounter requires Zheng Shi’s coordinates to be unlocked in order to occur.) (Fenoxo)
- PUBLIC: Added a new extended worship bad end event for Lund, unlocked after you perform the existing worship event at least once (William & Gedan)
- Added an image viewer modal to give a simple popover for viewing images. (Jacques)
- Added the text-embedded percentage bar to the Fall of the Phoenix events. (Jacques)
- Added the ability for the internal race scoring functions to return partial score checks, allowing for scaling tests rather than mutually exclusive independant tests. (Gedan)
- Added a Compare toggle to the ship inspect screen. (Jacques)
- Added better support for multiple busts to the image viewer. (Jacques)
- Added a new option that displays the underlying raw and overlaid modification values for stats in the stat bars. (Jacques)
- Added default shapes for the foreground bust shapes to hand with starting animation transitions in the generated bust viewer. (Jacques)
- Added a button overlay that can overlap portions of the UI to provide a more capable input environment on small touch screen devices. This overlay is positioned and sized to overlap the big, rolled out view of the map. This overlay is only enabled automatically on small touch-screen devices, but can be enabled or disabled manually in the control options. (Jacques & Gedan)
- Added a slightly different secondary layout for the sidebar with slightly larger buttons, organized differently. Unfortunately the small map view had to be sacrficied for us to fit this in. This layout is only intended to be active on small device screens. (Jacques & Gedan)
- Added a subroutine specifically for ship combat AI to use misc. gadgets. Previously there was only offensive and healing gadget routines. (Fenoxo)
- Fixed some images not being hidden with image displays are disabled in options. (Jacques)
- Fixed more nipple length value issues in the appearance screen. (Jacques)
- Fixed some other potential rounding issues with other values in the appearance screen. (Jacques)
- Fixed Decoration type items not being considered as part of the Valuable category. (Jacques)
- Fixed Myr Venom not working on the Kui-Tan boss as part of Malai Quest. (Jacques)
- Fixed Gryvain scoring to remove some issues with mutually exclusive point grants. (Gedan)
- Fixed the Half-race scoring boundaries relating to Gryvain, so new PCs that pick the Gryvain option should always start off as half-gryvain as intended. (Gedan)
- Fixed the isHuman() test to use a comparitive score rather than an arbitrary boundary. (Gedan)
- Fixed a crash in KaraQuest2 when leaving her up on the sniper tower. (Gedan)
- Fixed some crashes with hasSheath(). (Gedan)
- Fixed an incorrect parser tag that was querying the player instead of an enemy jumper. (Gedan)
- Fixed pressAcceptCancel() crashing via unsafely accessing button labels when searching for a potential button to activate. (Gedan)
- Fixed Feline score not querying for the presence of a genital before trying to score its type. (Gedan)
- Fixed Demon score referencing a type that isn’t nominally available as part of Demon TFs, an incorrect leg type/hooves description, and added a tongue type test that is part of the Demon TFs. (Gedan)
- Fixed Kitsune using a capacity test and reorganizined the tail scoring to be based around a scaling test rather than three different tail count tests, not all of which were scorable at the same time thus effectively reducing the “max” score but not properly representing this. (Gedan)
- Fixed Lacquine race scoring for a 2nd breast row, as this was cut early on in the development of the TF even though placeholder code existed for it. (Gedan)
- Fixed isMilkTank() not testing for the Mega Milk perk as it probably should do. (Gedan)
- Fixed some empty strings that may have worked into orgasm records. (lowercase_donkey)
- Fixed Ardia’s bustString generator not representing some certain combinations of factors that don’t exist, allowing them to fall back to a bust that does exist and fits themeatically with a subset of those factors. (Gedan)
- Fixed a broken parser call in radglow content. (lowercase_donkey)
- Fixed an incorrect gate for a Verusha rut scene. (DrunkZombie)
- Fixed Slavebreaker lust attack to actually hit Steele rather than itself. (DrunkZombie)
- Fixed some incorrect tests looking for half-races and morphs because of special cases that don’t have “half-” as the actual prefix or morph as the postfix. (Jacques)
- Fixed pregnancy stats not showing under medical. (Jacques)
- Fixed the inconsistecy in TouchTooltipTouchActivate mode, where it was impossible to know if a button had a tooltip and would immediately activate it. Now, all buttons have a placeholder tooltip when this mode is active, stating that there is no
spoon tooltip available, stopping the button from instantly activating. (Gedan) - Fixed the fact that the center room in the big minimap view wasn’t actually centered. This is actually the most important change in this update. (Gedan)
- Fixed a reversed test for Gel Zon in some stormguard content. (lowercase_donkey)
- Fixed Urbolgs combat name. (lowercase_donkey)
- Fixed UI breaking when using overly large font sizes. (Jacques)
- Fixed a bunch of UI elements not properly respecting or ignoring font size settings. (Jacques)
- Fixed the content pane expanding larger than intended. (Jacques)
- Fixed the positioning of the Fullscreen and Panic buttons on the main menu, so that they won’t be overlapped by browser elements on certain devices. (Jacques)
- Fixed some issues with table generation. (Jacques)
- Fixed parser plurality not being wired up properly, allowing the [s] and [p] tags to finally function as intended. (Gedan)
- Fixed CG images being effected by font size settings. (Jacques)
- Fixed a bunch of inconsistencies with image manifest titles. (Jacques)
- Fixed typos, a whole lot, again. (Jacques, Gedan, lowercase_donkey, DrunkZombie)
- Fixed ship combat using the same XP calculations as ground combat. Ship combat no longer automatically rewards normalXP() regardless of what is set in the ship file. If an XP value is set on the ship file (that isn’t 0), it should be respected. Holographic duplicates are worth 1 XP, so they’re not ENTIRELY worthless. (Fenoxo)
- Fixed shield vampire output formatting to be more easily parsed. (Fenoxo)