He's Back
Deploying surprise in 3... 2... 1...
Fix build ?
Make others visible even when controller is not plugged in
Fix lighting
Improve 3d camera
Fix lighting error
Add enable tuning, fix integration with direct control, regen health
* Fix bug where trailing "/" on InstallPath would crash the game when loading sounds
For crashes relating to FAR files the file name causing the crash is included in the exception
MoveObjects cheat is defined in the VM as TS1_EnableMod
Add Cheat Command
Add VMCheatContext
* Remove unneeded changes
Add object that holds current cheat state
* Rename VMNetCheatCmd
Add serialization
* Disable AcceptFromClient
* [IDE] WIP PIFF viewer
Do not use - just liberating from my PC with nightmare thermals
* [IDE] PIFF editor, with summary+comments, deleting existing patches.
Useful for keeping track of changes by other users. Available on Object
Window and Iff Resource Browser. Right now the patch list is a little
shaky with updating.
* [IDE] Editor UI. Not hooked up yet.
* [Upgrades] Initial Functionality
- Missing some behaviour for constant replacement, followed by upgrade.
- Does not yet support relative object pricing.
- Does not yet report correct price for store discount.
- Inventory does not yet show upgrade level. (trade does)
- Other changes to make build/buy more extendable.
- Upgrade Level now stored in database so the transaction is never lost.
- Fix an issue where users would run check trees for random objects when
hovering over a sim's shadow. (could cause an exception)
- More!
- 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.
See discord for more information.
Chat overhaul, data service optimisation, state sync overhaul, bugfixes,
simitone stuff.
Will probably change commit strategy after this. (since these 209 change
commits are really stupid)
- The nightclub job is now available. Four complex plugins driving the
gameplay and a whole new play strategy built around finding the right
patterns.
- Blackjack object is now available, thanks to The Architect and Raeven
for creating this complex EOD completely from scratch!
- Volcanic now has a sound browser.
- Volcanic can now generate, export and import BMP thumbnails for
objects.
- Added (late) anniversary object.
- Added NPC caretaker for community lots, by Raeven.
- Admin API for obtaining lot data from server, and uploading *.fsof.
- NPCs at job lots now have no collision. (they will still try to avoid
standing in the same physical position)
- Fix a problem where some 3D meshes would regenerate even if they were
already generated.
- Roof textures now use mipmaps.
Job matchmaker improvements:
- users cannot join a job lot with someone who has ignored them, or vice
versa.
- when the above situation is met coming from a taxi, the lot with the
ignored user will be skipped in the search. (likely creating a separate
job lot).
- matchmaker now knows when avatars leave a job lot - they are freed up
to connect to another (possibly higher level), and people coming from
taxis can join the instance they left.
- matchmaker can now put people together on the same lot group (eg.
level 9-10 diner, or 7-10 nightclub), but with different levels.
- max working players on a lot is now a hard limit, even when joining
via follow. (excluding admins)
Bugfixes:
- HIT sound improvements. Dishwasher sound no longer loops, some sounds
now loop correctly. Sounds with interrupts or attribute based indexing
now work.
- Preparing a meal no longer destroys all interactions queued (Push
Interaction fix for "prepare" action on food).
- Fixes Issues #94, #91, #65. (idle animations, moonwalk, text box
crash, chat focus)
Other:
- Lot Facade Generation
- Objects can now be untradable/unsellable.
- Interactions that you have unlocked now show with yellow text, instead
of being followed by ;1.
- Number keys change speed in sandbox instead of numpad.
- Added transaction logging in preparation for dynamic tuning
- Added database-soured tuning system
- Added motive overfill (see blog)
- Added weather and particle system. Currently set to rotate levels of snow based on time.
- The city's ground is now entirely snow!
- Many misc shader and graphics changes.
- Added support for recording gameplay and then playing it back.
Currently used to record job lots for debug and moderation purposes -
ideally this should allow us to reproduce a "stuck lot" in a developer
environment.
- Sandbox mode can now play back .fsor recordings in the LocalHouse/
folder
- Sandbox mode now has a much higher object limit and no category
restrictions.
- Fix a bug with 4th floor lighting on AMD hardware.
- Stuck lots are reduced to BelowNormal priority.
- no partial updates yet (should follow similar behaviour to city
terrain)
- water does not render correctly (pool and lake)
- lighting is always from first floor
- lighting on walls and avatars temporarily broken
- minor rendering bugs with edge of map, diagonals
- minor z issues
- Start fixing iOS build
- Make VM deserialization more secure
- Fix owner switch
- Add scaling for motives
- Move server dataservice and domain out of common assemblies
- fix duck
- lots more
- roofs, roof tool, slopes
- edge scrolling rules and window focus honored in city view
- city view zoom with mouse wheel
- city view shadows now render lazily instead of every frame (good for
intel)
- namelocal and fixedlocal
- immutablelist data service
- reduce floor paint tool lag
Routing:
☑ Remove doors from Room Obstacles (stops getting stuck in doors)
☑ Leaving sims have no collision so that they can exit objects like the
mechanical bull regardless
City:
☑ Move Lot
☑ Purchase Lot costing money
☑ Change Lot Category
☑ Clean up instant messaging
Person Page:
☑ Relationship panel
☑ Skill Lock rules - verify users can apply skill locks and keep track
of how many can be applied.
Lot:
☑ Invalidate city server data service for avatars in lots every db
update.
☑ Update person page with up to date information, as an extension to the
city client data service. (relationships, skills)
☑ Modify Skill Locks while in lot
☑ Category Specific Objects, special behaviour depending on lot category
☑ User objects for sale
☑ Removing objects you do not own sends them to roomie's inventories
instead of selling them. (only owners)
☑ Roommates leaving lot
☑ Island surroundings - make less terrible.
☑ Interaction Result
CAS:
☑ Special cases where it fails - make sure all of these are caught
☑ Verify that running the game immediately starting with CAS lets users
do everything without a client/server restart. (also anonymous clients
should not be able to do most things)
Bugs:
☑ Exceptions thrown in data service should not be fatal... They are made
to be caught.
Account Management:
☑ Registration and simple account management online (web app polling API
server)
- Lot lifecycle greatly improved
- House mode, buildable area
- Inventory improvements, and primitive
- Person page Skills & Job
- Roommates in DB
- Online Jobs: restaurant and robot factory. Matchmaker WIP, primitive
mostly worked out (see comments)
- Smoother faster zoom
- FSC (ambience) player improvements
- Routing improvements (dont walk to same spot as other people)
- Respect limits and buy/build rules
- Room score, lighting improvements.
- ...and much more!
- Added VMAsyncState to keep track of generic blocking waits for the
SimAntics VM.
- Added IVMGlobalLink interface to use to connect to the global server.
(currently stubbed out, more functions will be developed into this)
- Added chat to Charvatia, auto save, restart on crash.
- Added TSOState classes for platform specific state.
- Implement "Transfer Funds" primitive
- Display budget on UI.