Skip to content

v1.0.2

Choose a tag to compare

@Github-Samuel Github-Samuel released this 11 Sep 23:56
· 849 commits to main since this release

Right-to-left layout

Set Locale = 'ar' and the whole interface mirrors, the way an Arabic iPhone reads. There is
no switch to find: the layout follows the language, so Arabic, Farsi, Hebrew and Urdu all get it
and every other language is untouched.

  • The home screen reads right to left. The first app sits top right, pages advance the other
    way, and unread badges move to the icon's top-left corner.
  • The status bar flips, battery and signal to the left, clock to the right.
  • Lists, navigation and gestures mirror together. Icons sit on the right with the label beside
    them, disclosure chevrons point left, pages slide in from the correct side, and swipes reverse
    so back is still the direction it looks.
  • Text keeps its own direction. An English name inside an Arabic screen still reads left to
    right instead of scrambling, and numbers keep their order inside translated sentences.

Some things deliberately do not mirror, which is what iOS and Android both do: maps and route
overlays, game boards, media scrubbers and their transport buttons, clock faces, dial keypads,
card and phone numbers, the calculator and the camera viewfinder. Mirroring those would move a
control away from the thing it acts on.

ForceLeftToRight in configs/config.lua pins the screen left-to-right even under Arabic, for a
server that would rather keep the old layout.

Foldable prop

v1.0.1 gave the phone a hinge on screen. It now has one in the world too.

  • The prop folds in hand, with the shut and open models swapping as the hinge moves.
  • The fold state is remembered, so a phone put away open comes back open.
  • The animation was rebuilt around a spring rather than a fixed curve, with depth lighting
    across the seam. The gap between the halves, the corner windows outside the frame, the shift
    when contents settled and the clock leaking through mid-swing are all gone.
  • Servers without the fold models keep working. A missing model falls back to the plain phone
    prop instead of breaking the hold.
  • FoldPropPrefix, FoldOpenSuffix, FoldPlainShutProp, FoldPlainOpenProp, FoldPropOffset
    and FoldOpenPropOffset in configs/phone.lua cover naming, offsets, and keeping the plain
    prop for either state.

Security

  • Racing checkpoints are validated server-side. The finish only checked the stored index, so a
    modified client could report the final checkpoint and settle a run it never drove, taking the
    prize money, the MMR and the track record with it. Every gate must now arrive in sequence, after
    the green light, with the player's server-side position matching the gate their client reported.
    Thanks to @LouayeG for finding and fixing this one.

Fixes

  • Face Unlock refuses a covered face. The scan was animation only and never asked the game
    anything, so a mask, bandana or hood unlocked the phone regardless. It now fails and falls back
    to the passcode, keeping whatever you were opening. MaskBlocksFaceUnlock in
    configs/lockscreen.lua turns the check off.
  • Migrated photos can be shared again. Photos imported from another phone were written without
    the trust flag, so they showed in the gallery but were refused everywhere else: attaching one to
    a post, a message or a profile picture dropped it with no error. Imports are written trusted now,
    and a one-time repair fixes rows from earlier imports.
  • Live location stops when the phone does. A shared location kept moving after the sharer lost
    or put away their phone. People sharing without a phone to hand now read as Currently
    unavailable instead of showing a stale position.
  • op-garages is detected properly. Its stored state is inverted relative to the others, which
    had every garaged vehicle showing as impounded.

Apps

  • Stocks ships disabled. There are outstanding issues with it, so it is off in
    configs/apps.lua until they are fixed. Turn it back on there if you are already running it.

Localisation

  • Arabic added. The catalog is community-contributed and still being refined, so corrections
    are welcome.