Commit graph

11 commits

Author SHA1 Message Date
riperiperi
aa2cad067a feat: new update system
- No support for Linux/Macos yet
- Need to remove old update system
- Need standalone server updater
- Some more validation on version info string formatting
2026-06-21 16:41:02 +01:00
riperiperi
b91b4cce12 New join server dialog, WIP new update stuff
A lot of things broken right now, but I'm testing CI in another repo.
2026-06-16 22:58:34 +01:00
SegerEnd
35d0dd89a7
Add server connection, Archive maker and Keyboard navigation (#292)
* Server connection back

Get the server connection working again that was lost by the Archive
mode changes.

Key changes:
- Fix server connection bugs caused by the new Archive mode
- Update Microsoft.Data.Sqlite.Core to 10.0.2
- Add allOpenable config flag for free roam lot transitions for normal
servers.
- Add city and lot server configuration options
- Make UCP.InitArchive public for CoreGameScreenController
- Archive UI improvements (join dialog with direct server IP join)

* Keyboard navigation

Add full keyboard and Tab navigation support to the UI framework.

Key changes:
- Tab/Shift+Tab navigation between focusable UI elements
- Keyboard support for UIButton, UISlider, UIListBox, UICombobox
- UIRadioButton arrow key navigation within groups
- Mouse wheel scrolling for UIListBox
- UIContextMenu keyboard navigation (arrow keys, Enter, Escape)
- UIGridViewer keyboard support
- Focus management via InputManager with IFocusableUI interface

* FSO.Unix cross-platform support

Add FSO.Unix project for native Linux and macOS support.

Key changes:
- New FSO.Unix project with cross-platform entry point
- macOS .app bundle creation and deploy script for macOS/Linux
- Native dialogs via osascript (macOS) and zenity (Linux)
- ImageSharp-based bitmap/PNG handling instead of Windows drawing library
for non-Windows platforms
- GameLocator path fixes for TSO on macOS and Linux

* Docker containers

Add Docker configuration files for running a FreeSO server.

Key changes:
- Dockerfile and docker-compose.yml for server deployment
- Entrypoint script with secret generation
- OCI image labels for container metadata
- Default server configuration template (config.json)

* Spectator mode

Allow non-roommate visitors to open and explore lots in a read-only
spectator mode. Spectators can walk around and observe but cannot
modify the lot (build, buy, delete objects, or use most interactions).

Key features:
- Basic spectator mode for non-roommate lot opening
- Block VM commands, cross-room routing, and portal interactions for spectators
- Block pie menu on lot objects with error feedback
- Spectator-to-writable transition when a roommate/owner joins
- Reload lot save and transition back when lot owner joins
- Walls up with roof on spectator lot entry
- Spectator label shown in UI
- Admins excluded from spectator mode restrictions
- Chat event when lot transitions from spectator mode
- Allow spectators to use direct control
- No spectator lots in Archive mode

Also includes: cursor fixes for macOS/Linux, PriorityQueue pathfinder
optimization, UIListBox focus fix, CurLoader BMP header fix, API
config cleanup, and various other minor fixes.

* Spector mode improvements
2026-05-04 22:15:57 +01:00
riperiperi
be092ac421 Remove unused config, correct a few things, add docs 2024-12-30 17:25:21 +00:00
riperiperi
f5590b2c34 Update docs, api fixes and changes. 2024-12-29 21:25:08 +00:00
riperiperi
b57ebbd141 Cleanup: Remove most unused usings and MPL per-file licenses
MPL per-file was used in older project files, but should apply to the whole project, so having it there was redundant.
2023-11-25 03:45:29 +00:00
riperiperi
21cea91654
Feature/free vote (#149)
* [Server, Client] Add Free Vote

A mechanism that allows avatars in neighborhoods without elections to
vote in an ongoing election of their choosing.

* [Server] Free Vote, Github Releases, Restore Lot Tool, Test Utils

Still need to fix an issue with the unauthenticated disconnect.

* [Server] Improvements, Account Lockout

- Too many failed password attempts can now cause an account lockout.
- More reasonable CORS policy that doesn't spam warnings.

* [UI] Add Free Vote Confirmation Text
2019-05-20 22:44:09 +01:00
RHY3756547
634ddce8da [Api] Actually commit updater fix 2019-04-09 15:53:21 +01:00
riperiperi
65ad416acd [Networking, VM, Server] Server backend improvements
- New updates system, trigger updates from the admin utility. WIP
- Connection re-establish for Lot and City. When a client disconnects,
their session is kept alive for 30 seconds for them to reconnect to it
(with their session key). WIP
- WorldGeometry stuff for Simitone.
- Automatic TSO patching for installing the wrong version of TSO.
- New patcher application with better handling for errors, multiple
queued incremental updates and rollback.
- 3D mode's build/buy grid now uses a grid texture rather than relying
on wireframe rendering.
- FSOMarkDonated tso call.
- Better server validation for interaction commands.
- Various optimisations.
2019-03-25 17:39:46 +00:00
riperiperi
19b0b3bfd7 Up to testing level
- Rating List
- More work on lighting
- donation discount
2018-11-28 19:28:09 +00:00
riperiperi
b90ef43c89 [WIP] Neighborhoods
- A full rework of the neighborhoods system, introducing mayors.
- Bezier Path Routing
- New font renderer
- Data Service modification
- .NET Core support
- Gamma Correction
- Many other changes
2018-11-22 19:37:15 +00:00