Commit Graph

297 Commits

Author SHA1 Message Date
4e9fcef178 More collider-based visibility work. 2021-09-21 12:58:57 -05:00
42912e59a8 Refactor visibility to be collider and event-based. 2021-09-21 06:38:51 -05:00
8f5b1b8f08 Simplify path negotiation. 2021-09-17 10:02:33 -05:00
10fc85d384 Simplify visibility calculation. 2021-09-16 14:27:08 -05:00
dc1c14fd23 Various pathfinding tweaks. 2021-09-16 14:26:45 -05:00
74e66dbd59 Create area AABBs of the correct size. 2021-09-16 14:25:17 -05:00
02eff61016 Spawn areas with correct size, remove printlns, and reformat. 2021-09-14 10:36:16 -05:00
f16333d258 Fix out-of-bounds error. 2021-09-01 11:34:38 -05:00
9a85544ad5 Use clock facings for relative directions. 2021-08-31 21:15:52 -05:00
fae8b559cf Integrate Sentry for crash logging. 2021-08-30 11:44:55 -05:00
68e5143386 Add exit point to GridBuilder and change parameters to usize. 2021-08-26 16:00:56 -05:00
d33f26d31c Visibility system cleanup. 2021-08-23 10:14:03 -05:00
60ad00276e Zero out velocity when Speed component is removed. 2021-08-18 14:35:58 -05:00
00458f1835 Make colliders children of the map. 2021-08-12 13:20:00 -05:00
22abe7462e Export shadowcasting crate and its requirements. 2021-08-11 10:45:30 -05:00
25d0664f49 Visibility blocking takes an opacity. 2021-08-11 10:44:45 -05:00
fef392a8cc Correctly calcuate area AABBs. 2021-08-06 04:28:44 -05:00
ade155fcb4 Simplify. 2021-08-04 15:51:18 -05:00
6fdbf4a667 Insert default value. 2021-08-03 14:12:26 -05:00
dd84266039 Expose to allow hooking into visibility-like calculations more easily. 2021-08-03 11:24:08 -05:00
ffa783bff1 Tweak spawn table creation to not overflow. 2021-08-03 08:57:40 -05:00
62ed38c952 Minor argument cleanup. 2021-07-29 19:37:02 -05:00
5664f9e646 Remove printlns. 2021-07-28 09:39:10 -05:00
7fe808b2a1 Tweak sync queries to include positions for which rigid body/collider positions aren't automatically synced by Rapier. 2021-07-28 09:36:50 -05:00
7f61eb3a90 Even more cleanup. 2021-07-27 20:29:08 -05:00
d28dd051e4 More cleanup. 2021-07-27 20:17:36 -05:00
ae46114f6d Simplify calculation query. 2021-07-27 20:12:36 -05:00
a4f0fa8aa4 Round 2: Refactor to futures, attaching tasks as components. 2021-07-27 17:10:13 -05:00
1eb5351a9c Round 1 of pathfinding optimizations. 2021-07-27 11:17:06 -05:00
5dbc6510bc Add degrees getter for cardinal directions. 2021-07-26 16:07:34 -05:00
42513e7912 Store cardinal direction on player. 2021-07-26 15:50:25 -05:00
12b7ecd2ea If an entity has coordinates and a collider hits a space that isn't equal to the coordinates, mark it as visible.
Yes this is an ugly hack, but it works for now.
2021-07-21 15:27:38 -05:00
fee446cb7d Pathfinding optimizations. 2021-07-21 15:20:02 -05:00
e6af8f7618 More optimizations to coordinate/position sync. 2021-07-20 11:36:09 -05:00
2abeb3b08c Don't sync transforms with a ColliderPosition, and also don't sync if they're already equal. 2021-07-20 10:53:44 -05:00
a591326734 More robust area descriptions. 2021-07-19 12:16:47 -05:00
9a2495d9de Rename AreaTag to Area. 2021-07-19 11:30:27 -05:00
48e6b9ff61 Minimize number of colliders by tracing walls. 2021-07-14 16:06:26 -05:00
3de4b69030 Allow collider/portal spawning to be run separately. 2021-07-14 12:52:03 -05:00
fc9e561be7 Appease Clippy. 2021-07-13 12:26:51 -05:00
1391856478 Bump mapgen. 2021-07-13 12:22:50 -05:00
4749a09c5b Compute AABB on area addition. 2021-06-30 11:16:57 -05:00
1da536d274 Order systems such that portal and collider-spawning are ordered. 2021-06-30 09:53:11 -05:00
52ba77be46 Remove old area system. 2021-06-30 09:43:26 -05:00
5ff4a92c44 Migrate area description logger to new areas. 2021-06-29 10:36:59 -05:00
80f163f65f Move new area initialization to existing collider initialization system. 2021-06-29 10:31:18 -05:00
0b37adb797 Add new area system. 2021-06-29 09:29:49 -05:00
0700c3d30c Remove in favor of stopping physics processing. 2021-06-28 12:26:30 -05:00
a5fdea3292 Pathfinding takes physics into account. 2021-06-28 10:04:53 -05:00
64499a6278 Broaden circumstances in which paths are calculated. 2021-06-16 13:35:32 -05:00
822e60e722 Fix visibility logging. 2021-06-16 13:09:21 -05:00
98bca77f66 More tweaks to pathfinding and visibility. 2021-06-16 11:28:06 -05:00
2e805b3b8b Use physics for pathfinding. 2021-06-15 17:48:49 -05:00
16eac466a4 Parameterize Rapier user data. 2021-06-10 19:15:50 -05:00
06d47a0a60 Try to lock angular velocity when not rotating. 2021-06-10 11:16:39 -05:00
a461b0907f Update shape size/position for calculating visibility. 2021-06-10 09:31:48 -05:00
24db52abd9 Refine visibility algorithm. 2021-06-09 17:42:04 -05:00
3994c1c744 Avoid unnecessary coordinate changes. 2021-06-09 17:24:56 -05:00
2635dcbb9c Use mapgen::Map directly. 2021-06-09 14:53:48 -05:00
173630edab Refactor visibility to use physics system. 2021-06-09 14:13:09 -05:00
eefd3a2209 Add possibly useful conversions. 2021-06-08 10:10:59 -05:00
08e6c4779a Use colliders for portals, and other cleanup. 2021-06-07 12:43:20 -05:00
c85fdb67c9 Add BlocksVisibility to visibility-blocking colliders. 2021-06-04 07:58:38 -05:00
f01b0856f4 Move collider add code into MapPlugin. 2021-06-04 07:39:53 -05:00
72c647385a Fix collider cube sizes, and more aggressively clear velocity. 2021-06-04 07:34:58 -05:00
99b6da1953 Basic rotation works. 2021-06-03 09:04:48 -05:00
ac728cc864 Re-export Rapier. 2021-06-02 19:41:06 -05:00
c4533c7024 Remove collision indices. 2021-06-02 17:02:38 -05:00
b6fe9d420e Introduce physics to movement controls. 2021-06-02 16:53:35 -05:00
1c970a3f41 Remove custom movement system. 2021-06-02 16:25:28 -05:00
6c3db77e9e Spawn colliders for blocked tiles. 2021-06-02 15:50:38 -05:00
5a6a3efb35 Sync rigid body positions with coordinates, and don't sync coordinates for physics objects with transforms 2021-06-02 15:50:12 -05:00
cc249ad4fb Add and initialize Rapier. 2021-06-02 14:47:49 -05:00
c41f5470c9 Add RandomTable for spawns. 2021-06-02 11:40:40 -05:00
20692919dc Add Pool for tracking current and max stat values. 2021-06-01 19:38:33 -05:00
6eabdf52ab Bring collision monitoring in line with visibility blocking. 2021-06-01 12:35:14 -05:00
e28f21c351 Remove entity from old index before recalculating collision/visibility of tile. 2021-06-01 12:14:27 -05:00
a2cf420963 Add PointLike conversion for Transform. 2021-06-01 11:01:51 -05:00
33921acee8 Add configuration factors for forward/back/strafe motion. 2021-05-30 14:35:10 -05:00
d5c580f165 Make action type generic for ExplorationPlugin. 2021-05-26 17:30:34 -05:00
4982838815 Cleanup. 2021-05-26 17:30:03 -05:00
6871f4cb96 Make action type configurable. 2021-05-26 16:46:20 -05:00
3084d02f66 Separate viewshed updates based on coordinate and visibility_blocked. 2021-05-26 14:57:55 -05:00
3050235926 Remove println. 2021-05-25 09:04:52 -05:00
4b0f23c0db Flatten sound icons. 2021-05-24 15:34:38 -05:00
9c26f58724 Flatten footsteps. 2021-05-24 14:02:22 -05:00
41bfe08a03 Refactor indexing into individual setter functions. 2021-05-24 10:19:01 -05:00
f78e23c332 Always run this for now. 2021-05-23 12:55:00 -05:00
0e9c231907 Try reordering systems. 2021-05-23 12:23:56 -05:00
1878ead9be Simplify visibility systems. 2021-05-21 12:04:10 -05:00
c49b6ac33f Goodbye exits, hello portals. 2021-05-20 14:54:13 -05:00
3dfb7c1bc7 Back to interrupting for direction announcement. 2021-05-17 09:52:26 -05:00
7719bb08b3 Add component to not log something when it appears. 2021-05-17 09:50:03 -05:00
b2138d3e4c Describe directions relatively. 2021-05-16 17:24:26 -05:00
9b124e5640 Put direction before distance. 2021-05-16 16:50:20 -05:00
64e763a840 Make describing undescribed areas configurable. 2021-05-16 15:27:52 -05:00
3332d0a88d Initial commit. 2021-05-13 12:25:45 -05:00