Marcel Märtens
ef40ebe0c8
update toolchain to nightly-2021-11-24
2021-11-24 10:09:22 +01:00
Joshua Barretto
c0bf9503bd
Addressed review issues, added cloning docs to BodySpec::Manifests
2021-11-13 17:20:23 +00:00
Joshua Barretto
46ec4203a2
Arbitrary volume airships
2021-11-13 17:13:08 +00:00
socksonme
2ef668a16c
removed unnecessary self
2021-10-29 15:23:49 +03:00
socksonme
42ed5c43f5
fixed code quality
2021-10-29 15:01:21 +03:00
socksonme
584e379e40
Removed beams and shockwaves from phys.rs
...
calc_z_limit doesn't use an Opyion anymore, construct_spacial_grid also doesn't check for beams or shockwaves, collider_other in apply_pushback is also required now and resolve_e2e_pushback also doesn't use Options anymore.
2021-10-29 09:43:01 +03:00
socksonme
052e09039a
Made the pushback cache require colliders
2021-10-19 15:05:30 +03:00
Imbris
4f6eb286e6
Remove dead commented code, updated changelog, commented profiling spans
...
(but left in for easy reuse later), fix clippy complaint
2021-10-10 03:09:03 -04:00
Imbris
7f6ba90f59
simplify water/walls check code, interally iterate in chonks (but not
...
chunks)
2021-10-10 02:42:06 -04:00
Imbris
e7b92789f9
Refactor some of the terrain collision code, failed pre-emptive liquid check experiment
2021-10-10 02:42:06 -04:00
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