3 Years Ago
Merge branch 'master' into switch-performance Added DefaultProperty attribute, to avoid ParameterPassthrough usage Use FixedUpdateProgress = 1 on Switch / when target FPS is <= 60 Fixed redux bake error Added offline mode for Switch Save replay performance to host even on diverge Save replay file to host on switch Revert "Use FixedUpdateProgress = 1 on Switch / when target FPS is <= 60" This reverts commit 95aec4ac6181727d3e26da4be6b3299d20b95c8b. Save test replay to host when starting to watch Fixed case where cached ActionList methods weren't found Mockup of components / system for an ECS-based bullet Basic rendering of ECS-based bullets Fixed despawning of example ECS-based bullet Example ECS bullet jobs are now burst compiled First pass at rendering ECS bullets with DrawMeshInstanced More efficient ECS bullet rendering using DrawMeshInstancedIndirect Rewrite ECS bullet demo, simplifying how keyframes work New ECS bullets are now depth sorted correctly relative to old stuff Cleanup all manually created systems on stage exit Some cleanup before working on ECS codegen Rewrite example bullet system to get rid of boilerplate Discover and store BulletSystem references while baking Create BulletSystems from ScriptingCache on stage init ECS bullets can now be spawned like normal bullets from json Fixed ECS bullet blinking Grid2 bullet visuals now using ECS Fixed typo in ShapeInstanced shader Made sure ECS bullet systems are created in a deterministic order BulletSystem refactor, working on PlayerCollisionSystem Main structure of PlayerCollisionSystem done Fixed ECS bullet collision info not taking scale into account Fixed issue with PlayerCollisionSystem dependency management Collision for diamond ECS bullets seems to work Changed how bullets are tied to systems, added BulletSystem.OnHitPlayer Refactored spawn and update for ECS bullets Working on onion/pattern/turn as an ECS bullet ECS bullets can now be moved / rotated by BulletPatterns ECS bullets can now despawn when their parent pattern finishes Refactored ECS bullet collisions, added circle collisions ECS bullet graze and push force ECS bullet physics, including repelling Split up bullet components into separate files Refactor ECS RepelBullets ECS bullets have individual time scales AddTimeScale for ECS bullets ECS bullet flash color Fixed error on player death from ECS bullet hit Fixed ECS bullet flash on player hit Reduced some repetition in bullet system definitions ECS bullets now keep track of their own local time ECS bullets can now have lifetimes Bullet acceleration, implemented onion simplespokes.bullet Stage components now have explicitly defined update orders Moved managed job from PlayerCollisionSystem to run at end of update Onion simpleSpokes.bullet2 system Fixed rotation in ShapeInstanced.shader when using property buffers Can now have ECS bullet properties that are updated every fixed update Frame diamondShot4.bullet ECS implementation Frame diamondShot2.bullet ECS implementation Fixed Switch build error Fixed ECS bullets having 0 mass by default Fixed possible exception when validating replays Fixed legacy bullet properties not being set RenderSpriteSystem / AnimateSpriteSystem updates now managed by unity Using ComponentSystemGroups for ECS bullet systems Refactored PlayerCollisionSystem to deal with per-update shape changes Fixed bug with ECS diamond-player collision detection Components for PlayerCollisionSystem refactor Working on ECS border warning Fixed standalone build error Made sure BorderWarningSystem can be auto-created BorderWarningSystem seems to work Smarter job scheduling for ECS border warnings Cached BulletSystems are invalidated on stage change Started work on some ECS system codegen Basic BulletSystem code gen working BulletSystem code gen simple loop support Moved BulletSystem code gen to an editor assembly BulletSystem code gen now supports expressions with parameters BulletSystem codegen starting speed support BulletSystem codegen cleanup, error for per-update properties Simplified BulletSystem generation to not need bake result Some nice progress bars for generating BulletSystems Nicer temp variable identifier generation Fixed ECS codegen for structs like Vector2 Added ECS code gen errors for unsupported ActionLists Updated Facepunch.ExpressionStrings Working on per-update animated property codegen Updated Facepunch.ExpressionStrings Big BulletSystem codegen refactor, working for a bunch of bullets now Fixed exception in BorderWarningSystem after resetting stage BulletSystems can now use RNG BulletSystem lifetime can now be an expression BulletSystem despawn styles, circle skew BulletSystem useRawDeltaTime support BulletSystem noCollisionLeniency support Updated Facepunch.ExpressionStrings Some BulletSystem expression generation cleanup, player support Some nicer conversion between Color and float4 in generated code Automatically detect generated BulletSystem classes Updated Facepunch.ExpressionStrings Don't error when failing to find generated BulletSystems Only update BulletSystems that have spawned bullets Only use BulletSystems on stages that enable it Now don't need to generate a list of supported BulletSystems on bake Enabled BulletSystem generation for all redux stages Updated Facepunch.ExpressionStrings Added way to find out which unsupported fields are most common Removed manually written BulletSystems Added BulletSystem support for per-update circle radius Support for volleyNum and patternNum in BulletSystem codegen Started work on generating BulletSystem event handlers Finished off BulletSystem callback codegen, added OnHitPlayer support Refactored BulletSystem shape handling, added ShapeUpdateSystem Refactored BulletSystem.OnSpawnBullet BulletSystem border warning color / glow / minOpacity codegen Fixed typo in ShapeUpdateSystem Keyframe / per-update animated properties now set complement to 1f Fixed keyframe animated properties in generated BulletSystems Merge branch 'master' into switch-performance Fixed SetValue codegen when using arrays Fixed FloatingText sort order Fixed an ECS warning Fixed typo in ShapeInstanced.shader