Commit graph

123 commits

Author SHA1 Message Date
riperiperi
f5590b2c34 Update docs, api fixes and changes. 2024-12-29 21:25:08 +00:00
riperiperi
0b6807a0de Automatically set internal and public hosts for shards in database
Untested, but I don't see why it wouldn't work.
2024-12-23 03:01:18 +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
d6161563db Disallow untradable objects from transferring during lot trade 2022-11-12 02:04:26 +00:00
riperiperi
fa24e207c4 [Client, SimAntics] Fix some client and TS1 things
- Also revive the weather particle system from the dead.
- MP3 players no longer leak threads.
2019-12-07 01:58:42 +00:00
riperiperi
ccccd2faa3 [VM, LotView] Fix a few bugs. 2019-11-02 00:38:22 +00:00
riperiperi
71cd3826fb [Bugfix] Fix bugs and improve performance
- Fix issue doing like anything with objects in db
- Fix booting on osx (run `mono update.exe` if you're in trouble)
- Add "force update" by holding shift and pressing F10 at login
- Enable culling for objects in 3D/Hybrid 2D
- Allow clicking thru floor levels similar to newer updates of old
lotview
- Fix crash when changing surrounding lot settings
- Draw "headlines" after other elements
- Fix server crash when creating new or job lot.
2019-10-23 22:57:48 +01:00
riperiperi
56cd0d017b
Feature/lotview refactor (#162)
* [Monogame] Fix FSO.Windows having runtime errors on standalone build.

* [LotView] Begin Optimizations

- Fix large CPU usage from chat panel when a lot has many objects (about
5%!)
- Fix large CPU usage when scrolling due to signalling scroll changed to
every object in the property despite this info not being used (this
function has now been removed. 7.55% usage on large test lot)
- Spread room lighting updates across multiple frames to prevent stutter
(may want to disable for events? perhaps give indoors updates more
chances than outdoors ones?)

* [LotView] World effects now have their own classes

No dictionary lookup required for parameters and techniques (faster draw
calls), and the benefit of compile time type checking on effect
parameters. Downside is large classes for each effect, a lot of
redundant info getting params cached and exposed as the correct type.

* [WIP

* [WIP] More refactoring

2D, 2D Hybrd work in progress. 3D still to be done.

* [WIP] Moments before disaster

A lot of stuff is about to be removed and reworked. This is here just as
a sort of "worked here at least" build.

* [3D] Reintroduce 3d (temp toggle with TAB)

Pushing as in case something goes wrong removing old world stuff, still
WIP.

* [LotView] Remove Old World Classes

Known issues:
- No 3D/2D switch yet (currently stubbed to Tab, should be in settings)
- No First Person Cam yet
- In 2D mode, rendering a roof causes the static layer to fall into an
infinite void (???)
- 2D Mode thumbnails do not render
- Lot Thumbnails are completely untested and can be influenced by hybrid
rotation.
- Facade Generator is untested.
- Hybrid 2D Rotation is still a work in progress, and smooth zoom should
be moved to the 2D controller
- Interweaving 2D and 3D entities may break a lot of things
(SpriteIndices unbound, BlendState changed)
- Headlines cut off things behind them a lot more (to be fixed)
- 2D to 3D causes surrounding lots to behave incredibly unusually.
- Still some cleanup to do.

* [IDE] Add TREE resource support

Adds labels, comments and gotos. These can be added via key shortcuts
CTRL+L and CTRL-/. You can add a goto by right clicking a label to point
to. Also fixed a lot of issues when editing BHAVs, especially with the
tracer open.

* [IDE] Very hacky way to fix comment key shortcut

* [WIP] Some improvements to Hybrid 3D

- Fix lot and object thumbnails
- Fix surrounding lots when drawing with 3D camera (includes 2d to 3d
transition)

* [LotView] Implement First Person Camera

* [LotView] Grass rotation

* [LotView] Fix thumbnail bounds

* [LotView] Rotation rework, general fixes

* [LotView] WIP Middle Mouse 2D rotation

- Breaks first person camera for the moment.

* [LotView] More work on hybrid. Add Head Seek.

Still lots more to go 👼 also fixed nuget being bad

* [NuGet] Fix stupid behaviour

* [LotView] Fix OpenGL

- Also fix a longstanding issue where the ground would flash or still be
solid colors on min lighting

* [Volcanic] Fix focus check for external window input

- Also fix some multitile stuff.

* [VM] Inventory Token Modes

- and where to find them

* [World] Some fixes for 3D mode switching.

* [LotView] Fix a few more things in LotView

* [LotView] Fix more bugs.

* [LotView] Fix LightAdjust stuff

* [PIFF] Add additional death type.

* [LotView] Fix some problems with switching between modes.

* [UI] Add mode switch button
2019-10-23 19:02:40 +01:00
riperiperi
6bc395e610 [PR] Fix some merge issues 2019-10-21 13:28:46 +01:00
TheArchitectFreeSO
cf4b2bbd0b CooldownEOD (#161)
* HoldemCasinoEOD plus a few updates to older EODs and some misc

Full description in pull request to main repo, relevant strings for
global server listed elsewhere

* HoldemCasino EOD: Logic Error

Deal hole cards face up except dealer. Duh

* Console Removal

Forgot to remove Console.WriteLine

* S1ndle's Amazing Casino Set

<P g="02B9B1A7" s="19" p="305" n="lamp-ceiling-Hold'em Dice lamp" />

<P g="02B9B1A8" s="19" p="265" n="lamp-floor-Hold'em Dice lamp" />

<P g="02B9B1A9" s="19" p="175" n="lamp-table-Hold'em Dice lamp" />

<P g="02B9B1AA" s="19" p="230" n="lamp-wall-Hold'em Neon Sign" />

<P g="02B9B1AC" s="13" p="350" n="counter-1-The Hold'em Cabinets" />

<P g="02B9B1AD" s="13" p="325" n="counter-2-The Hold'em Island Counter"
/>

<P g="22EF511F" s="13" p="1000" n="table-end-The Hold'em Display Table"
/>

<P g="31CF873D" s="17" p="485" n="rug-runner-1x4-The Hold'em Runner" />

<P g="0D79D716" s="17" p="700" n="rug-area-3x3-The Hold'em Area Rug" />

<P g="7E055DC7" s="18" p="115" n="sign-foldable-The Hold'em Sign" />

<P g="20B11DFB" s="7" p="15" n="column-The Hold'em Column" />

<P g="7CEF5108" s="18" p="1100" n="bar-The Hold'em Watering Hole" />

The Game Table itself:
<P g="37EF5198" s="15" p="35000" n="Casino Hold'em" />

* #113 Review

•Required fix completed
•Nearly all suggested additional changes completed
•Found another logic error related to face up cards
•Found a nasty bug that would have caused players to push each other off
of the table, and they probably were doing so on the blackjack table, so
fixed it there, too

* Final? changes

• Nuget HandEvaluator
• Requested locks added
• Couple of null checks added, though not necessary since correct nuget
package was added

* Jams

:jams:

* HoldemCasinoEOD & BlackjackEOD Patch

• Client: Null check for very rare bug
• Strings changed from "Play Blackjack" to "Play" for both tables
• Check for NPC Dealer before trying to push interaction and possibly
throwing null

* TwoPersonJobObjectMazeEOD

Vanilla TSO Maze, with a twist, plus:
• UIImages can have tooltips

* Of course you know this means war...

Creative, right?

* Unleashed Coffee Table fix

Fix for unleashed coffee table (inits for left and right tiles are now
properly assigned and labelled).

Last commit I promise.

* CT - Is Skill Object? fix

sorry

* Bugfixes: BlackjackEOD & HoldemCasinoEOD

•The repairman bug (infinite loop) is now fixed for HoldemCasino tables
•Pushing a hand on which a player doubled down now returns the doubled
bet amount, rather than just the original bet amount

* BlackjackEOD: Min Table Balance reworked

Needs to be 8 times maximum bet instead of 6 to cover each player
splitting every hand and getting a blackjack on all of them.

•So worst case scenario is 4 players with 4 blackjacks, less 4 times
their initial bet: 1 for the original bet and 3 for each split.
•MinimumBet * (3:2 BlackjackWinRatio) * 4(Hands) * 4(Players) -
MinimumBet * 4 (Hands) * 4(Players) = 8*MinimumBet = TableMinBalance

* Obstensible Fixed Side Bet

Changed side bet payout logic to make sure only one player is paid for
their side bet, based on bug reports of "phamtom payouts"

The bug reports were not sufficient in helping me uncover the error, but
these fixes are good failsafes.

* No more double dealing - Blackjack, HoldemCasino, Roulette

Attempt 1 to fix the double NPCs phenomenon: a remove object instance
prim is invoked at the end of the Dealing/Croupier: Stop interaction(s).

* New EOD Panel Size

Future EODs of DoubleTall size won't have to be bound by the seam..

* New Seasonal Costume

A seasonal costume is being added to the black "costume" trunk for both
genders.

* Null Check for OnClose

A bug was encoutnered in BandEOD where a Sim would disconnect from the
EOD server but the EOD Panel would not close. A patch for band is
forthcoming, but closing the EODPanel shouldn't throw null, either.

* piffsfromdiscord

* missedone

* bugfix

* Add Rotation from any Origin to UIElement

UIImage is the only UIElement to use rotation so far, but it can be used in other classes in the future.

When a rotation angle (radians) is specified that isn't the default 0F, the UImage uses the DrawLocalTexture that allows for a rotation argument. The default rotation Origin is (0.0f, 0.0f) but a custom rotation origin can be set.

Note that the rotation origin specified is not used in the Draw method of the spritebatch, but only to recalculate the 2DMatrix of the UIElement.

Also a change was made (really by ripinperiperi) to HitTestArea.

* UI Updates

Boring updates to the UI, but maybe helpful some day

* Update UISlotsEOD.cs

Wheelspin animations are faster to match the 1.2x animation speed from ages ago.

* Update UIInvisibleButton.cs

Feedback from cbt, less expensive version of invisible button

* Make Band Suck Less - Updates to band

Pending cbt test

* UIImage - Remove DissolveOpacity

Remove DissolveOpacity for PR

* Band piff & Tex

.piff and Textures for Band 2

* Update CityGeometry.cs

City geometry fix - won't error on non-Sunrise crater maps

* Band strings

Band2 strings should be in their own file.

* Revert City Geometry

Reverted to current deployed version as requested

* Band update from CBT Feedback

•Payout has been boosted, especially at early rounds
•RockOn or Sellout? ends when 3 people choose sellout or two people choose rock on.
•Failsafes to keep buttons from appearing activated
•Failsafes added to cleanly go back to the lobby when a player disconnects
•Note tooltips are no longer solfeggio, but are now E major notes with a Lo and Hi E (hard coded literals)

* uh ok

* band strings mismatch

hate csproj files

* Cooldown EOD

Initial commit. No object with which to test yet, so entries for EOD don't exist yet in VMEODServer and UIEODController. So this isn't actually able to be tested yet.

* CooldownEOD final fixes

Ready for testing

* 0x00001004

oh yea
2019-10-21 13:24:03 +01:00
riperiperi
06679a33ff [Server] Add birthday gift task, fix host pool. 2019-10-08 13:50:35 +01:00
riperiperi
7b0d767aff [Project] Consolidate Newtonsoft.json Versions 2019-09-06 00:22:54 +01:00
riperiperi
742bc2bb58 [Various] A ton of changes
- New inventory primitive modes for "token-like" objects.
- Support "fallback" fonts. First is thai - in future they will be read
out of a folder a user can add to.
- Purchasable vehicles, currently forced on in the server but future
config will allow you to specify which new controller objects to import.
- Fix various issues with volcanic (not 2.0)
- Fix various issues with upgrades.
2019-08-28 23:40:51 +01:00
Collin
01a08e775f [API] Added funtionality and efficiency (#153)
* [API] Added funtionality and efficiency

- userOauth token (with specified permissions)
- avatarinfo
  get avatars from specific user (req user auth)
  get avatars from multiple ids
  get all avatars now can get up to 500 avatars per page
  getting all neighborhood avatars is more efficient
  online avatars can also be requested as compact now (only online count)
- lotinfo
  json objects now include lot_id (more consistent/reliable value than location)
  json objects now include admit_mode
  get lots from multiple ids
  online lots can also be requested as compact now (only online count)
  added funtion for getting all the lots by pages, and max 500 lots per page

* [API] userApiFixes

- compact now works more efficient
- stress sql bandwidth fixed on getAllAvatars and GetAllLots
2019-08-19 01:15:22 +01:00
Collin
0f0691c0a7 Added new API functionalities (#152)
New API calls for
- Avatar info
- Lot info
- Neighborhood info
- Bulletin info
- Election info
2019-08-05 20:15:14 +01:00
riperiperi
3a2cb1741e
Initial Implementation of Upgrades (#151)
* [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!
2019-07-16 22:14:18 +01:00
riperiperi
6cefa618af [Simantics, Server] Substantial Backend Improvements
- Fix a bug where the game could crash when switching properties.
- Global Tuning: Tuning that is sent as soon as the player logs in, and
is available in city view.
- Tuning Presets: Tuning that can be applied as part of an ingame timed
event. This can include tuning for motives, object payouts, skill speed
and more - and allows all of these things to be automatically changed
while the server is running.
- Admin API for Events. (should make things easier on other M.O.M.I. ;)
)
- Tuning changes while the server is running now immediately update any
lots that are open. (fixes dynamic payouts not updating til a lot
restart)
- Interpolation for slot-slot movement. Very simple right now - could be
improved for things like table slots.
- Hidden objects (like the go here destination) no longer update
shadows, causing a stutter.
- New collision test function - should be helpful finding the desyncs
that have been hitting popular lots.
- Fix object shadows when shadows for surrounding lots are enabled
- Terrain Force logic now uses global tuning.
- "Community" category flag can now be set by Volcanic.
2019-06-22 22:17:31 +01: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
riperiperi
50d987dc6b [Nuget] Fix all packages
- Also fix some VM crash bugs
- So sorry anyone working on literally anything.
2019-04-06 00:36:07 +01:00
riperiperi
422d2bfabf [Server] Various fixes to new update stuff. 2019-03-26 20:45:53 +00: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
5f32502a14 [City] Fix neighborhood "end of week" timing
The election week was 7 days too late if the end of the month was on a
sunday.
2019-03-25 13:28:41 +00:00
riperiperi
2b5dda5b8c [VM, Server] Various collision fixes. configuration
- Fixed small bug with fence objects joining across floors.
2019-02-18 21:16:30 +00:00
riperiperi
2bc513ea2b [Nhoods, LotView, VM] Mod tools and various improvements
- Fixed a bug with routing where doing an action while sitting would
report destinations within objects as valid.
- Fixed a lot of UI nits with nhood page.
- Search now works for nhoods.
- 3D fences are slightly shorter than wall height to avoid seams in MSAA
mode.
2019-02-16 16:04:46 +00:00
riperiperi
ae46b697a1 Merge changes from master 2019-02-15 13:36:26 +00:00
riperiperi
fc0fdcee74 [VM] Many improvements/changes
- Experimental Simantics -> C# AOT Compiler (JIT soon)
- Optimised movement of objects (specifically large multitile ones)
- Optimised routing through rooms with many obstacles
- Optimisations throughout VM
- Lighting Changes
- New roof geometry with covered edges. Optional parallax mapping (wip)
- Bulletin Board for nhoods
- more stuff

Needs a lot of testing
2019-02-14 23:23:11 +00:00
RHY3756547
f7eb33a16b [Server] Fix dynamic payouts 2018-12-22 02:20:19 +00:00
riperiperi
fcef30b1b7 [Various] Further fixes, build 4.
- Fixed nhood desc bleeding into other nhoods when mod mode was enabled
- Neighborhoods tick now uses UtcNow, time offset from admin cheat is
remembered in a temp file.
- Some changes to support mono AOT compile for newer features
- Clicking a rating summary now shows it in the rating list.
- Fixed name cache failing on desync.
- Fixed a few cases where you could not place a donated/normal object
when the *other* limit was met.
- Fixed "owner only" interactions donated objects not being usable by
the mayor.
- Fixed a bug where skeleton switch on AdultVitaboyModel could break
skeleton state for some meshes.
- Headlines belonging to avatars (rel plus, money) now correctly
disappear when the sim is deleted.
2018-12-03 01:05:54 +00:00
riperiperi
3a92383824 [Various] More Fixes, new soft shadows
- New soft shadows using a separable 4 pass blur. Still work in progress
- some artifacts still present.
- Many fixes to DPI scaling. Prepare for loading 2x scale graphics for
high dpi displays
- Various fixes to new community/default rules: validator and terrain
restore
- Manage Donators dialog is now used for roommates as well.
- Fix various city camera bugs
- Fix top 10 pedestals being clickable while invisible.
- Special prefixes for donator and benefactor roles on community lot.
- Emoji update
- Fix string typos, better name for nomination complete.
- Nomination exception fix
- Users can now delete unowned objects (trees) without breaking the
game.
- More minor things.
2018-11-30 20:05:34 +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
6e99a8bce4 Merge branch 'master' of https://github.com/riperiperi/FreeSO 2018-11-23 13:31:39 +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
Sim
efdf80c913 Save last_login when users login through AuthLoginController (#115)
* Save last_login when users login through AuthLoginController

I don't think this data is obtainable from anywhere in the database at this time. I think it can be pretty useful.
2018-07-25 09:23:32 +01:00
riperiperi
f341cb7627 [Various] Cleanup update
- ALL ANIMATIONS ARE NOW AT 1.2x SPEED. FreeSO was running these slightly too slow when compared to both TS1 and vanilla TSO. Interaction sounds should now correctly match up with animations. (PLEASE REPORT ANY ISSUES RELATED TO THIS IMMEDIATELY!)
- Update Monogame:
+ fixes OpenGL audio bugs
+ mouse cursors now work in DirectX
+ we can add MSAA soon
+ probably a lot of other weird issues fixed
- 3D City View now has touch screen controls. (desktop touch support via the "-touch" launch param)
- When running, avatars now travel up stairs and get off chairs faster.
- Avatars will now run to destinations further than 10 tiles away (unless "walk here" is queued, which will force walking)
- Large scale program restructure. Please double check your NVIDIA and Firewall settings, since the application executable has changed!
- Fixed purchase lot not telling you when your purchase was rejected because the lot name was already taken.
- The purchasable outfit list is now ordered by price.
- Secure trade's "grace period" is now less visually confusing. (disabled checkbox looked active)
- Actually enforce Welcome Lot rules. (visitor skills disabled, except for newbies)
- Welcome lot bonuses are now based on account age rather than sim age. I'd like to remind you that you're only allowed one account per person.
- Smoke particles are no longer visible from floors above the current in 2D.
- Fixed a weird bug with the 3D city transition and disabled surrounding lots.
- Fixed a few crashes to do with the new loading stuff
- Some more things
2018-06-09 17:55:56 +01:00
riperiperi
f1920f461b [Client, Server] Lots of large scale changes.
- 3D City View
- Hints System
- Welcome Lot Type Major Change
- Romance Lot Type Minor Change
- Offbeat Lot Type Minor Change
- Particle System
- Loading Improvements
- Misc fixes and improvements
- 3D Mode improvements
2018-05-19 22:24:33 +01:00
RHY3756547
d1cab0c630 [API] Some API updates.
/userapi/city/{shard_id}/l{lot_location}.json for some more info on
properties.
2018-04-22 01:50:14 +01:00
RHY3756547
cc1957bda6 [Client] Various fixes.
- Changing lot skill mode no longer resets your lot category timer.
- New lot thumb content disposes when leaving city
- Fix stupid merge errors
- Instant update lot thumbnails when they are uploaded.
2018-03-18 14:09:22 +00:00
Sim
a85232a7c4 [API] Registration and Password Reset + SMTP Mailing + misc. admin features (#90)
* [Server] Allow users to be banned from admin API

- Make the API able to ban users and disconnect them.
- Show the INV-150 banned message instead of INV-110 message when a banned user tries to login.

* Forgot ToolRunServer.cs

* [API] SMTP Mailer, misc. admin API features

- Send ingame emails and notify the client.
- Unban users.
- Kick users.
- SMTP Mailer added with optional configuration in config.json. For now it only sends emails asynchronously upon banning a user.

* [Hotfix] Fixes that are hot

- Disable texture compression in cases where it would break on OpenGL 3D
mode and would turn most textures black (monogame issue, may be
re-enabled in future)
- Directional lighting setting is now ignored on minimum lighting.
(fixes black sims, minimum lighting in 3d)
- Fixed key shortcuts for live mode activating when typing. You can now
click or right click on the lot to remove focus from a textbox, letting
you use these commands.
- Skill Gameplay can no longer be disabled for NPCs.
- Audio crashfix for simulation pause.
- Fix newspaper possibly crashing for systems with non-english or
modified date strings.
- Fix an assumption where some systems did not understand "./update.exe"
for launching the updater

* [PIFF] Spotlight patch

- Stops spotlight advertising itself as a table
- Not sure how the original game was fine with this (multiple objects do
the same thing). There must have been some tell to ignore it.

* [API] Began Work on Email Confirmation

- Made optional registration routes for email confirmation.
- Created HTML Mail template files for token sending and
- Created new database table `fso_email_confirm` to store tokens.
- Added new config.json configuration variables.
- Created Database objects for email confirmations.

* [API] Finished Email Confirmation for Registration

- Finished Email Confirmation. Now server admins can choose if they want
  registration to require email confirmation by adding
  `forceEmailConfirmation: true` in config.json

* [API] Implemented Password Reset (w/ Email Confirmation)

- Added password reset handling to API. Usable with or without SMTP enabled.
- When not using SMTP, it asks the user for their old password and if it is correct the password is changed.
- Created necessary Mail templates.

* [API] Added SQL to Manifest, removed forceEmailConfirmation.

If SMTP is enabled and configured, registration will force the use of emails without having to set `forceEmailConfirmation: true`.

* [API] Removed unnecessary routes

Forgot to remove these (they are included in the controllers).
2018-01-29 13:46:59 +00:00
RHY3756547
dfa97bcf75 [VM] Various small fixes, attempt to resolve desyncs and a lot crash. 2018-01-19 17:51:42 +00:00
RHY3756547
0c15e30215 [VM, Server, Gameplay] Many Changes
- Dynamic Money Object Tuning
- Models a supply/demand market for all of the single money objects.
- Less popular objects pay out more. More popular objects pay out less.
- One "bonus" skill may be selected each day to have a higher payout.
- (note: all payout scales factor out the differing times for each
object type to complete)
- More information on the blog, and a future announcement.
- "Read City News" Interaction on Newspaper
- Shows recent/current news and upcoming events.
- Shows the bonus object, and the current payout percentage for each
object.
- Graphs the trend in object payouts over the last week.
- Skill Gameplay Disable
- Lets a lot owner disable skill decay, skill gain and money object
payouts on their lot at will. Useful for casual lot types.
- Can keep enabled for roommates only, or disable entirely.
- Skill gameplay is disabled for visitors by default for services,
entertainment and romance lots.
- Secure Trading
- Trade objects, money and lots... possibly all in one go!
- Revamped system to improve user awareness of possible scams.
- Supports extreme cases such as lot swapping.
- (needs further testing, that's why we beta)
- The snow covering Sunrise Crater has melted due to rain showers.
- Directional Lighting
- Adds an extra pass to the advanced lighting to store light direction.
- Objects and Sims now respect the light direction at their location.
- (in 2D mode, this currently only affects sims. more info coming soon)
- Uses an additional 4x4 pixel per tile half-float buffer
- DXT5 Texture Compression
- Prevents crashes on machines with low VRAM at the cost of visual
quality. (quarters sprite VRAM usage)
- Enabled by default for now, can be disabled from graphics options.
- Will eventually only be enabled by default on intel GPUs.
- Server performance improvements
- Objects that are for sale no longer simulate every tick (5x
performance improvement on extreme store lots, 2.5x increase on a
typical lot)
- ~25% improvement to single core performance on typical lots (and
reduced locking)
- Data service serializer cache
- Restaurant exceptions on round end are fixed.
- (now all you have to deal with is weird routing)
- Lot thumbnails smartly mask out ground colour when it is not sloped or
dead.
- Your lot won't have an ugly green diamond under it in the thumbnail.
(aka the ground)
- Fixed a bug with pets where they would consider their own interactions
more important than getting back in the cage.
- In 3D mode, the catalog thumbnail is now a rotating 3D model, rather
than the usually broken render seen before.
- Premultiplication is now the same between OpenGL and DirectX.
- Discord rich presence now uses lot category icons from Alex.
- Pets crates now show their breed as part of the name, where
applicable.
- Lot server now attempts to log simantics state when aborting a thread
in an infinite loop.
- Actually fix light permissions
- Many minor changes.
2018-01-12 21:40:09 +00:00
RHY3756547
072d25cc31 [Various] Many changes
- 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.
2017-12-15 21:54:49 +00:00
RHY3756547
fe9bae103d [Various] Many changes
- 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.
2017-12-15 21:51:51 +00:00
RHY3756547
234404633d [Server, LotView, UI] Various fixes.
- Add ServerRelease config to build server without IDE hooks
- Some temporary sanity checking for the SessionClosed handler to stop
avatars going offline after they relog
- Fixed bookmarks list layout
- Object shadows no longer appear under wall shadows (unless they are
much closer to the ground)
- fire - innocuous effect will now eventually time out
- Fixed deserialization of VMNetSetTimeCmd.
- Coloured lights now correctly blend together.
- Fixed skeleton dance interaction sometimes crashing the object, and
generally not working.
2017-11-01 15:33:24 +00:00
RHY3756547
e82abe5ad0 [Server] Events system, inbox, more.
See discord or ingame mail for more information.
2017-10-31 16:49:16 +00:00
RHY3756547
afe07dbf87 [LotView, VM, Server] New Features
- Experimental Ultra Lighting mode with 3D object shadows. Enabled in 3D
mode.
- Object Wear: objects now accumulate at 1% per sim day
- Break & Repair: Objects over 50% wear now have a chance of breaking
that increases with the object's wear
- Price depreciation: Object sale price is now tied to its wear. As a
result of this change, existing objects will lower in value more than
usual, but newly bought objects should be fine.
- Light Management: Roommates can now change lights to stay on
permanently, and change light color.
- Dialog and TSO primitive descriptors for IDE.
- Add Shutdown task for automated shutdown.
- Cleanup and bugfix various areas.
2017-10-31 16:49:10 +00:00
RHY3756547
06875fcb23 [3D] Add 3D mode
- Use (-3d) launch parameter (or use the freeso launcher) to activate 3D
mode. The first time the game runs it will freeze heavily joining a lot
- you must wait it out while the meshes generate.
- Fixed an issue where objects that were deleted could reappear on a lot
after a server or lot crash. (all invalid objects will be removed from a
lot immediately!)
- Fixed 2 sim interactions cancelling too quickly
- Fixed ghost and sim leaving transparency
- Fixed a crash that could happen with the game comp card thing
- Fixed serenade occasionally attempting to increase the motives of an
inanimate object and throwing an exception
- Fixed 1 person whisper causing an exception
- Fixed lit sprites in advanced 2D lighting mode
- Added 3D shadows for walls, which also work in 2D mode
- Added 3D mesh replacements for volcanic. These can be in
Content/MeshReplace, or in the object iff itself.
- Added mouse wheel scroll for 2D mode.
- Lots no longer run in the background after "crashing"
- Lots take longer to enter a crashed state.
2017-09-01 00:53:41 +01:00
RHY3756547
2bb7cfcfa2 [Server] Rehaul roommate protocol, avatar retire
You MUST run server.exe db-init after this version.
- Re-enabled and fixed returning non-roommate objects to their
inventories
- Implemented opening a property just to cycle database actions, eg.
roommate object sendback.
- Implemented Sim Retire. Even works when a lot is open - all of the
objects for the removed avatar will be deleted from the lot, just as if
they moved out.
- Implemented lot deletion. When the last avatar leaves a lot, its owner
becomes null. The next time this lot opens, it is deleted from db and
nfs. (opens instantly to close, though a purge task will be implemented
in the future to do this when some lots are missed)
- You can no longer buy a lot when you are the owner of a lot. You must
first move out of your existing lot.
- Lot move out has centralised functionality to stop weird data service
bugs.
- Center sim now considers terrain height
- Quitting to Select-A-Sim now attempts to re-obtain avatar data. If it
fails, you are sent back to the login screen.
2017-07-20 22:26:50 +01:00
RHY3756547
af643fd890 [VM] Terrain now works serverside. 2017-07-16 16:51:27 +01:00
RHY3756547
5d052ba8c4 May 15th Update
See blog post on http://freeso.org for more information.
2017-05-14 22:41:20 +01:00
RHY3756547
b698c5a4b2 [VM, Server] Minor Changes
- Fix objects being on sale after you buy them
- Object deletion is now deferred til after tick execution (fixes some
object crashes)
- Floor pattern 1 no longer sells for greater than 0
- Minor change to db structure. Make sure you run "server.exe db-init"
on servers.
2017-03-29 04:19:27 +01:00