83c2a1be11
[Dependency] source generator part 2 ( #6550 )
...
* [Dependency] source generator
No more reflection, no more codegen at runtime
Also various changes to Roslyn helpers to make this easier to write.
Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.
No fallback is available for [field: Dependency] properties, due to a Roslyn bug.
Code Fixes exist. We love Roslyn
* Apply dependencies generator changes to all code
* Release notes
* Preprocessor got hands
* Handle nullable dependencies
These are bad but gotta deal with it.
* Apply suggestions from code review
Co-authored-by: Moony <moony@hellomouse.net >
* Fine, let's not use collection expressions
---------
Co-authored-by: Moony <moony@hellomouse.net >
2026-05-08 12:38:33 +02:00
Dinner and GitHub
aa5cca4c7f
Fix Layer constructor in SpriteComponent not properly copying unshaded sprite layers ( #6368 )
...
* remove Layer() null check for Unshaded and ShaderPrototype variables
* remove comments
2026-01-11 04:03:05 +01:00
ac3cb4dc2a
SpriteComponent: allow animations to optionally stop instead of looping ( #6210 )
...
* Loop false
* Removed goobstation comments
* Addressed changes
* Add layer field, set auto animated
* release notes
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com >
2025-09-21 14:36:07 +12:00
Pieter-Jan Briers and GitHub
cdd3afaa4c
Remove redundant custom math types ( #6078 )
...
Vector3, Vector4, Matrix4, and Quaternion are now gone. Use System.Numerics instead.
This commit is just replacing usages, cleaning up using declarations, and moving over the (couple) helpers that are actually important.
2025-07-23 01:15:27 +02:00
d894ef70ef
Misc SpriteSystem fixes ( #6001 )
...
* Move GetPrototypeTextures to SpriteSystem
* Fix tests
* Fix #6002
* release notes
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2025-06-09 18:59:37 +10:00
Leon Friedrich and GitHub
05cb4bb1c9
Make SpriteSystem.LayerMapReserve not throw ( #5930 )
...
* Make SpriteSystem.LayerMapReserve not throw
* fix SpriteComponent.Visible
* remove region
2025-05-14 23:23:51 +10:00
15d5b9aa02
Move parts of SpriteComponent to SpriteSystem ( #5602 )
...
* Partial sprite component ECS
* release notes
* tests
* Why
* SetSnapCardinals
* NoRotation
* DirectionOverride
* This is why I love distinct overrides that take in object
* LayerSetData
* ISerializationHooks continue to haunt me
* Relocate SetShader
* LayerSetSprite
* LayerSetTexture
* yipeeeee
* LayerSetRsi
* Remove GetFallbackState
* LayerSet Scale,Rotation,Color,Visible
* Fix LayerSetRsi
* LayerSetOffset
* LayerSetDirOffset
* Add overrides that take in a Layer
* LayerSetAnimationTime
* LayerSetRenderingStrategy
* Reduce Resolves, Add Layer.Index
* Access
* Try fix NREs
* Asserts
* LayerGetState
* Cleanup
* Merge helper partial classes
* partial rendering
* GetLayerDirectionCount
* Cache local bounds
* RenderLayer
* RefreshCachedState
* RoundToCardinalAngle
* Fix the pr
* Fix debug assert
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com >
2025-05-10 21:56:53 +10:00
Leon Friedrich and GitHub
cf2d6a1dbf
Make unshaded sprite layers not require shader/texture changes. ( #5248 )
...
* Make unshaded sprite layers not require shader/texture changes.
* Always sample texture
* revert some variable name changes
* Use color SIMD
2025-03-24 02:37:04 +01:00
Leon Friedrich and GitHub
1de8731465
Reduce uses of IComponentFactory.GetIndex(Type) ( #5242 )
...
* Update `RaiseComponentEvent` & component lifestatge methods
* Fix ComponentNetworkGenerator
* a
* A
2024-06-17 01:46:51 +10:00
eoineoineoin and GitHub
56c30edf04
Replace Matrix3 with System.Numerics.Matrix3x2 ( #5078 )
...
* Delete Matrix3. Replace with System.Numerics.Matrix3x2
* Feedback
* release notes
2024-06-02 14:08:47 +10:00
Pieter-Jan Briers
0f97f366a6
Copy CopyToShaderParameters in SpriteComponent.CopyFrom.
...
Fixes dragging displacement-mapped mobs in SS14 making the displacement map visible.
2024-05-01 23:45:58 +02:00
Pieter-Jan Briers and GitHub
4033d96327
Engine changes for displacement maps. ( #5023 )
...
* Add load parameter support to RSIs.
Currently only supports turning sRGB off. RSIs with custom load parameters are not thrown into the meta-atlas.
As part of this, TextureLoadParameters and TextureSampleParameters has been made to support equality.
* Add UV2 channel to vertices.
This is a bad hack to make displacement maps work in Robust. The UV2 channel goes from 0 -> 1 across the draw and can therefore be used by displacement maps to map a separate displacement map layer on top of the regular meta-atlas RSI texture.
This creates float inaccuracy issues but they weren't bad enough to completely void the feature. I'm thinking I learn from this experience and completely re-do how UVs work with the renderer rewrite, so that hopefully won't happen anymore.
This required dumping the optimized PadVerticesV2 because the changed struct size made it impractical. RIP.
I don't like this approach at all but the renderer is slated for a rewrite anyways, and all shaders will need to be rewritten regardless.
* Add CopyToShaderParameters for sprite layers.
This effectively allows copying the parameters of a sprite layer into another layer's shader parameters. The use case is to copy texture coordinates for displacement maps, as the exact map used changes depending on orientation. It also enables animations to be used though I didn't use that personally.
2024-04-27 16:03:35 +10:00
DrSmugleaf and GitHub
8c25a83066
Expose worldPosition in SpriteComponent.Render ( #5043 )
...
* Expose worldPosition in SpriteComponent.Render
* Set default value to zero
2024-04-17 16:17:12 +10:00
Leon Friedrich and GitHub
7cd78f3f4e
Fix sprite animation bug ( #4774 )
...
* Fix sprite animation bug
* CL
2023-12-28 11:13:25 +11:00
metalgearsloth and GitHub
495671576e
Add cycling for auto-animated states ( #4763 )
...
* Add cycling for auto-animated states
* Non-nullable and AdvanceFrameAnimation() tweak
2023-12-28 08:51:00 +11:00
metalgearsloth and GitHub
170d192791
Revert audio rework ( #4554 )
2023-11-07 09:34:09 +11:00
metalgearsloth and GitHub
d75dbc901f
Audio rework ( #4421 )
2023-10-29 14:58:19 +11:00
metalgearsloth and GitHub
25007a743f
Remove lights component reference ( #4316 )
2023-09-11 19:17:28 +10:00
DrSmugleaf and GitHub
66239d23ea
Refactor serialization copying to use source generators ( #4286 )
2023-08-22 17:37:13 -07:00
Leon Friedrich and GitHub
c825c1e413
Remove IoCManager.Resolve calls in Resource.Load ( #4243 )
2023-08-07 11:24:15 +10:00
metalgearsloth and GitHub
7d1ad527d9
Replace Robust Vector2 with System.Numerics ( #4092 )
2023-07-08 14:08:26 +10:00
metalgearsloth and GitHub
23a40e58e4
Pause animations on ent pause ( #4117 )
2023-07-01 22:02:33 +10:00
cf86c7a8b5
Fixed some coding mistakes ( #4105 )
...
Co-authored-by: Canvas123 <lunarfury6@gmail.com >
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com >
2023-06-02 20:12:11 +02:00
Leon Friedrich and GitHub
0e7863650b
IconComponent cleanup & linter inheritance ( #4070 )
2023-05-19 17:12:36 +10:00
Leon Friedrich and GitHub
eb7886bff4
Fix sprite debug assert ( #4033 )
2023-05-15 00:52:46 +10:00
Menshin and GitHub
ff35b921aa
Add option for norot/snapping sprite layers ( #3808 )
2023-05-13 08:14:03 +10:00
Leon Friedrich and GitHub
c5ecc426d0
Remove server and shared sprite component ( #3981 )
2023-04-30 16:09:07 +10:00
Tom Leys and GitHub
2618bc7a36
Check for Sprite layer's existance ( #3984 )
2023-04-30 09:08:42 +10:00
Leon Friedrich and GitHub
69cdf6f727
Generalize sprite view ( #3978 )
2023-04-29 16:06:30 +10:00
metalgearsloth and GitHub
8a6cadd38f
Revert "Revert "Replace ResourcePath with ResPath ( #3926 )" ( #3949 )" ( #3950 )
2023-04-20 20:15:57 +10:00
metalgearsloth and GitHub
d646403068
Revert "Replace ResourcePath with ResPath ( #3926 )" ( #3949 )
2023-04-20 11:43:51 +10:00
Ygg01 and GitHub
d6a3e1e286
Replace ResourcePath with ResPath ( #3926 )
2023-04-19 23:37:46 +10:00
Leon Friedrich and GitHub
2705e2a56a
Allow PrototypeLayerData to clear shaders ( #3934 )
2023-04-15 11:56:38 +10:00
Leon Friedrich and GitHub
69bb4f9237
Fix sprite error log. ( #3892 )
2023-03-31 12:05:35 +11:00
Leon Friedrich and GitHub
466f565e44
Fix sprites sometimes not updating IsInert when changing state. ( #3842 )
2023-03-11 13:42:12 +11:00
Leon Friedrich and GitHub
d52cbca984
Fix multi viewport sprite update ( #3773 )
2023-02-14 00:21:52 +11:00
Leon Friedrich and GitHub
d79ad9717b
Alternative SpriteComponent.CopyFrom() fix ( #3705 )
2023-01-16 17:34:38 +11:00
metalgearsloth and GitHub
9528d6dc8f
Remove ISpriteComponent ( #3692 )
2023-01-15 13:38:46 +11:00
Pieter-Jan Briers
2a957f1423
Fix prototype hot reloading.
2023-01-14 21:08:27 +01:00
metalgearsloth and GitHub
59d40eb56c
Remove manual comp registrations from client / server ( #3626 )
2023-01-10 22:32:07 +11:00
Leon Friedrich and GitHub
054a908efd
Generalize component trees ( #3598 )
2022-12-27 13:33:46 +11:00
27e0c22fe2
Somewhat improve sprite processing ( #3587 )
...
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com >
2022-12-26 10:48:08 +11:00
Leon Friedrich and GitHub
0c5b43d5af
Fix sprite inert update ( #3574 )
2022-12-13 15:24:29 +11:00
Moony and GitHub
2b03a2c550
Commits an unholy sin (PJB approved) ( #3566 )
2022-12-12 22:13:24 +01:00
Leon Friedrich and GitHub
698d65c5af
Fix sprite animations not updating ( #3446 )
2022-11-07 07:20:40 +11:00
Leon Friedrich and GitHub
32f8b6f4b8
Prevent singular sprite matrices ( #3339 )
2022-10-16 11:04:53 +11:00
Leon Friedrich and GitHub
e534fcd800
Unrevert "Remove obsolete GridId and all references to it" ( #3279 )
2022-10-10 08:41:58 +11:00
metalgearsloth and GitHub
818ea1a629
Revert "Remove obsolete GridId and all references to it" ( #3308 )
2022-10-09 17:32:54 +11:00
SpaceManiac and GitHub
ebaa8d9ac3
Remove obsolete GridId and all references to it ( #3279 )
2022-10-09 16:23:40 +11:00
Leon Friedrich and GitHub
078b81d495
Better sprite errors ( #3285 )
2022-09-28 16:32:37 +10:00