Imbris
8987f6128e
Do iteration check for snapping after checking the other conditions
2021-10-10 02:42:06 -04:00
Imbris
798e02b9e5
Convert water/walls check to the new iteration function
2021-10-10 02:42:06 -04:00
Imbris
59bd5b4acd
Initial iterator optimization by using internal iteration at the vol_grid level, water/walls not switched over yet
2021-10-10 02:42:06 -04:00
Joshua Barretto
a76496c339
Use previous position caches for airship collision detection
2021-09-17 22:34:28 +01:00
juliancoffee
19f0cf4ee5
Set z_min to 0 for terrain collision checks
...
This allows us have different z_min for e2e checks
2021-09-17 13:28:34 +03:00
juliancoffee
4e3fb87526
Adress review
...
- Rename Collider::get_radius to bounding_radius
- Check origin difference in CapsulePrism with EPSILON * 10.0 instead of
magic 0.00001
- Add comments for closest_points, hardnened expression against NaNs
- Add comments to try_e2e_collision function, renamed to
resolve_e2e_collision, make it return whether collision was triggered.
- Remove Collider::Box (it is Cylinder, which is subset of CapsulePrism
with p0=p1=Vec2::zero())
2021-09-17 13:28:34 +03:00
juliancoffee
3dd6aa9dea
Implement capsule2capsule collisions
2021-09-17 13:28:34 +03:00
juliancoffee
fdb4b7111a
Fix bug with zero-pushback for bigger colliders
2021-09-17 13:28:34 +03:00
juliancoffee
c069a3523d
Fix beam offsets
...
- Introduce notion of min and max radius for Body instead of old
`radius()` function (which is renamed to `max_radius()`).
2021-09-17 13:28:34 +03:00
juliancoffee
7d97fe7ec5
Fix colliding bugs
...
- Make cylinder-like capsules prisms work without NaN in origin offsets.
Just return p0 as both origins instead of getting NaN by further
normalizing required because of how we rotate offsets.
- Fix pushback direction.
Make sure that pushback is calculated as our_pos - their_pos (and not
other way around).
- Fix colliding boundary detection.
Calculate center as Vec3::new(0, 0, height) and
not as `Vec3::new(0, height, 0)`.
2021-09-17 13:28:34 +03:00
juliancoffee
eeb3bec8ad
Refactor implementation of e2e collision
...
+ Add some hopefully helpful comments
+ Extract colliding tries to separate function
+ Move to Capsule + Cylinder collider combination instead of Capsule +
Capsule.
2021-09-17 13:28:34 +03:00
juliancoffee
44962958d8
Adress feedback
...
- Rewrite 2 * PI to TAU
- Some comment formatting
2021-09-17 13:28:34 +03:00
juliancoffee
6c3b61dc25
Implement CapsulePrism collisions
2021-09-17 13:28:34 +03:00
juliancoffee
7712976b86
Refactor box_voxel_collision function
2021-09-17 13:28:34 +03:00
juliancoffee
3b308a3f6f
Add CapsulePrism collider variant
...
+ Add placeholder physics collision implementation as copy of cylinder
Box collider.
+ Display it with debug hitboxes.
2021-09-17 13:28:34 +03:00
Joshua Barretto
0b1a820762
Make arrows 'bonk' hanging sprites
2021-08-31 13:31:27 +01:00
Sam
7dcbd6aaf0
Renamed variable to make more explicit what it does.
2021-08-28 18:31:44 -04:00
Sam
0a648e2e8f
Fixed arrows dealing damage to entities if entity walked near arrow that stuck to terrain several seconds prior.
2021-08-26 19:00:28 -04:00
juliancoffee
c2247686db
Make is_mid_air use on_surface().is_none()
2021-08-13 23:16:38 +03:00
juliancoffee
86b9e2d8e6
Make Fireballs explode EnsnaringVines
2021-08-12 01:25:55 +03:00
Illia Denysenko
0858279810
Gliding Debug Info
2021-08-07 13:19:58 +00:00
Joshua Barretto
665951946f
Fixed block snapping
2021-08-04 14:12:10 +01:00
Imbris
01d1089a46
Add comment to physics and replace magic number in climbing boost with a named constant, fixes #1002
2021-07-29 03:11:44 -04:00
Joshua Barretto
199d56b1db
Fix block-hopping with strangely sized blocks
2021-07-25 20:03:17 +01:00
Imbris
d2b8a5a169
Fix check before calculating entity pushback, was causing a NaN and probably other bugs
2021-07-19 01:31:40 -04:00
Jonathan Berglin
b15f426ee5
Resolve all approved error supressions
2021-07-18 17:11:46 +00:00
Joshua Barretto
eade248e1f
Fixed handling of orientation changes for airships
2021-07-18 01:13:36 +01:00
Sam
0a32b676c8
Vines now ensnare you by applying a buff.
2021-06-23 22:38:16 -05:00
Sam
763461ebef
Ensnaring vines now ensnare you.
2021-06-23 22:38:16 -05:00
Avi Weinstock
f1a1160b80
Make lava solid w.r.t. rendering while still being liquid w.r.t. physics.
2021-06-19 16:52:21 -04:00
Avi Weinstock
2226a4c6a9
Add lava to caves, which sets you on fire if you swim in it. Currently requires uncommenting #define LAVA
in the shaders, and only looks good with cheap fluid mode.
2021-06-19 16:31:21 -04:00
Avi Weinstock
96ffae4387
Address MR 2460 comments.
...
- Switch from point query to AABB query to take into account block thickness.
2021-06-15 22:52:02 -04:00
Avi Weinstock
5e6363dbcc
Make e2t hitboxes tighter by checking the floating point coordinates before looking up voxels.
2021-06-15 21:29:29 -04:00
Avi Weinstock
1af9ac568f
Move force-movement e2e check so that it doesn't confer immunity to arrows.
2021-06-13 20:38:03 -04:00
Avi Weinstock
d02ff2db20
Don't apply e2e pushback during a forced movement character state.
2021-06-12 11:10:06 -04:00
Sam
c81e1534f7
First 3 abilities for tidal warrior functional. Added bubble particles.
2021-06-03 21:39:13 -05:00
Ygor Souza
d890a58b93
Reset on_ceiling state
...
Previously, the on_ceiling state would remain true for the entire
lifetime of the entity after it touched the ceiling once.
2021-05-30 21:49:11 +02:00
Avi Weinstock
d38db15411
Fixed entities with voxel colliders being off by one physics tick for collision.
2021-05-28 20:25:57 -04:00
James Melkonian
419cd2a5e4
Don't modify position in glide character state
2021-05-23 07:26:11 +00:00
Ludvig Böklin
46d1bb5f18
Adjusted masses; less excessive knockbacks; prevent loot shooting off
2021-05-22 17:56:13 +00:00
Daniel Mizerski
f1681f465f
(Wiring) Change Sticky to be handled by physics (but with disabled force on it)
2021-05-04 17:33:42 +02:00
Ludvig Böklin
34660462e9
Glider physics
2021-04-27 14:41:48 +00:00
Ygor Souza
e59f1e8d28
Skip physics pass for arrows stuck on surfaces
...
This keeps the arrow velocity from changing, which is what was causing
the ProjectileHit outcome to be pushed multiple times for the same
arrow, since the outcome checks if the arrow velocity is above a given
threshold.
2021-04-22 23:03:04 +02:00
Imbris
51c0f8733c
Quick physics perf fix
2021-04-21 14:03:23 -04:00
Imbris
1af4a04231
Revert "Merge branch 'revert-b10718c5' into 'master'"
...
This reverts merge request !2172
2021-04-21 17:10:13 +00:00
Imbris
fd672980c4
Revert "Merge branch 'imbris/agent-opt' into 'master'"
...
This reverts merge request !2024
2021-04-21 14:10:06 +00:00
Imbris
e750c9d570
Switch agent target search to use a spatial grid, add convience method for querying the aabr of a circle
2021-04-20 15:25:04 -04:00
Imbris
a76fdbc325
Expose CachedSpatialGrid resource that is updated by the physics system, move BuildAreas into its own module, removed unused ExecMode
2021-04-20 15:25:04 -04:00
Imbris
26222a0a2d
Rename common-sys to common-systems and rearrange common-state slightly
2021-04-20 15:25:04 -04:00