4,144 Commits over 701 Days - 0.25cph!
Fix steering and gas pedal hallucinations
Allow full stop in seek state
Use parent boat transforms rather than the childs transform, this preserves rotation when working in global space
Use 2D Distance instead
Compile fix
If we are too close the closest obstacle then attempt to back up - stops us getting stuck in weird places
Avoidance steering is now lerped onto the desired steering with distance to the obstacle as a weight
Clearer target logic
Auto pursue system
Debug visuals and extra states so i can adjust movement target in real time for testing
Fixed avoidance behaviour saving and keeping the 'closest obstacle' when it doesnt exist anymore
Refactored obstacle avoidance logic into its own file
Better abstracted targetting, so we can test better
State agnostic methods will check if we have a target or not - force the right state in both ways
Pursuit state sets right gas pedal depending on distance
Pursuit state sets the right steering setup as well
Locked to just players for now - this wont do
When changing into wait state then take the foot off the throttle
Pursue target aquisition
Target validity methods
Run thought logic at a lower frequency to action logic
New wait state
MAX/MIN times to be in wander and wait
Move between wandering and waiting if you've been stuck in a state too long
naval_update -> scientist_boat_ai
gifted_bag_tugboat_pickup -> main
Fix not being able to pick up gifted sleeping bags on tugboats/in shelters
Add 'Check.HasBuildingPrivilege' and 'Check.InBuildingPrivilegeArea'
'Check.HasBuildingPrivilege' = you can actually build, gives you a boolean yes or no.
'Check.InBuildingPrivilegeArea' = in an area, might not be able to build
Naming convention was driving me nuts with 'CanBuild()' vs 'GetBuildingPrivilege()' everywhere
naval_update -> scientist_boat_ai
facepunch_assert -> main
(for actual testing and answering basic questions: is it useful? What can I add?)
Bug fixes, general cleanup
Assert throws exceptions
Check wont print anything - just returns state
Helper methods for:
Quickly checking if flags have changed between two flag sets
Quickly checking if flags have changed between two flag sets
Quickly checking if two entities are the same prefab (removes a bunch of GetEntity and prefabID checks)
Quickly checking entity realm
Quickly checking if item is in container
Quickly checking if item is new
Bunch of jakes suggestions:
Renaming
Creation of a general Safety class which can check items and throw exceptions if specific issues come up
Integrate item safety class
Keep assert stuff here as well
full_drone_marketplace_fix -> main
flex_layout_manager_spam -> main
Add a Temp FlexLayoutManager, which will prevent the 'There is no FlexLayoutManager' error spam in bootstrap
assembly definition if i end up convinced to pull this to main
Our own small assertion library. Supports everything you'd expect with minimal overhead.
Minimal abstraction. Throws failed conditions in debug.logerror so we can actually use it on staging effectively.
Allows us to do assertions on CLIENT/SERVER specifically - takes advantage of our symbols
Eg:
FAssert.ThatOnServer(test == 5, "Success!")
compile_simulator_unused_variables -> main
Compile simulator will now treat 'field is assigned but its value is never used' as an error: just like our build server
syncvar_crosssave_fix -> main
Ensure Autosync sets the field value on the server as well as the client
If autoloading a property then invalidate the network cache - this ensures the first set of Autoloads will be replicated properly in all cases
Don't want NuGet either in this case - just take the ZLinq and remove everything else
More changes to ensure videos dont play on the home page
linq_optimisations -> main
main -> linq_optimisations
Simplify prioritize premium sorting - works way better than it did before