Commit Graph

297 Commits

Author SHA1 Message Date
7786de18e3 Lots of visibility refactoring and bugfixes. 2022-02-23 20:57:43 -06:00
dee62d2dca Resume logging panics. 2022-02-17 11:13:57 -06:00
ea0b04da53 Fix many errors tracing colliders in maps. 2022-02-14 22:51:15 -06:00
6c97ff6be4 Prefer writing a component value where possible, and other minor cleanup. 2022-02-14 06:56:45 -06:00
1176c65ce9 Add another conversion. 2022-02-12 08:50:54 -06:00
701cac5568 Add conversion methods. 2022-02-12 08:47:59 -06:00
7087e47e6a Add pitch-shifting when behind. 2022-02-11 11:39:50 -06:00
0b9fd0921d Add RunIfExists command for only executing if a given entity exists. 2022-02-11 11:28:42 -06:00
27baaceaea Ditch constructors in favor of From conversions where it makes sense. 2022-02-11 08:44:41 -06:00
288b1605b9 Correct center calculation for visibility colliders. 2022-02-01 17:14:15 -06:00
184cfac47e Send version to Sentry. 2022-02-01 10:22:38 -06:00
3cfb638b48 Remove calls to \.single. 2022-02-01 08:41:27 -06:00
7b1aaf69a2 Run visibility systems more often. 2022-01-27 08:10:45 -06:00
7d179b45f7 Fix a crash. 2022-01-26 14:56:52 -06:00
e4ee87ee27 Various crash fixes. 2022-01-20 18:06:20 -06:00
488037d074 Simplify some conversions. 2022-01-19 18:37:04 -06:00
c0980f66c1 Use new format strings. 2022-01-19 16:38:32 -06:00
a214206caf Assorted small changes. 2022-01-13 14:43:02 -06:00
10bf503c89 Only log panics in release builds. 2022-01-13 14:42:46 -06:00
ae7a0d13fa Finish port to Bevy 0.6. 2022-01-12 11:05:12 -06:00
65e7c0f870 Will giving explicit ownership to this function help? Doesn't seem to. 2022-01-10 23:14:31 -06:00
698f12d9bd WIP: Continue upgrade. 2022-01-10 23:05:51 -06:00
cb02e39870 Include area AABB in component. 2022-01-10 13:55:42 -06:00
356caa09e0 WIP: Begin porting to Bevy 0.6. 2022-01-10 13:52:27 -06:00
3f8636a639 Run visibility systems more often. 2021-12-20 08:41:33 -06:00
cc42081733 Sync more properties on sound creation. 2021-12-08 12:29:15 -06:00
83ee2635d1 Replace 3:00 and 9:00 with right and left. 2021-11-29 12:35:54 -06:00
91b058995c Make relative direction presentation configurable. 2021-11-29 12:29:45 -06:00
07a4bd9d64 Support pitch in footsteps. 2021-11-28 12:31:39 -06:00
e6fce1e28f Replace 12:00 with ahead, and 6:00 with behind. 2021-11-16 16:30:58 -06:00
3b42af12e1 Route all visibility updates through a single system. 2021-10-12 16:59:59 -05:00
8f76bf716f More aggressively find sound icons when exploring. 2021-10-07 11:41:57 -05:00
78e9e8b680 Remove logging. 2021-10-06 07:39:15 -05:00
d43a4228fd Add Default implementation for Pool. 2021-10-05 09:16:44 -05:00
12f36d20e7 Visibility performance optimizations. 2021-10-01 09:07:29 -05:00
bebcd4f66b Remove logging. 2021-10-01 09:07:15 -05:00
e8caa58b08 Optimize visibility. 2021-09-28 14:36:21 -05:00
f3df13ec25 New visibility system. 2021-09-28 12:49:44 -05:00
425c041613 Remove VisibleTiles in favor of looking up directly on the viewshed. 2021-09-27 13:46:11 -05:00
b24a30a5d3 Correctly sort coordinates when moving between features. 2021-09-27 13:18:45 -05:00
0dc9a49c4e Tweak exploration collision algorithm. 2021-09-27 12:26:24 -05:00
4a43642957 Only focus on visible/explorable features. 2021-09-27 10:37:15 -05:00
2ac2566f5d Floor coordinates so directions are consistent. 2021-09-27 09:57:21 -05:00
ef35478b34 More modernization. 2021-09-23 13:36:39 -05:00
ad60bd7a40 Use opaque to be more clear. 2021-09-23 12:59:05 -05:00
8224d85b4b Fix more visibility bugs, and make opaque public. 2021-09-23 12:58:39 -05:00
3c54768e69 Don't despawn focused entities. 2021-09-22 10:21:31 -05:00
52e314ce1c Draw visibility collider lines through coordinate centers to hopefully address seeing through walls. 2021-09-22 08:36:38 -05:00
a59f8a22a1 Use Visible component with opacity to indicate that something should appear visually. 2021-09-22 08:23:01 -05:00
e90a85641b Begin updating exploration plugin. 2021-09-21 15:57:47 -05:00
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