Commit Graph

315 Commits

Author SHA1 Message Date
bd899b9c8e Reorganize.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-19 11:56:41 -05:00
f3d2778830 cargo fmt 2022-07-19 11:27:37 -05:00
1721dc98f8 Refactor helpers for direction and distance, adding some that take colliders into account.
Some checks failed
continuous-integration/drone/push Build is failing
2022-07-19 11:24:45 -05:00
2d00bbb2db Add implementation of PointLike for &Destination.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 11:53:33 -05:00
410b07826c Add Zone component on rooms. 2022-07-18 11:52:48 -05:00
95e32b3689 Update direction later to hopefully fix other miscalculations.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-13 09:25:42 -05:00
6b6a961720 Make maps optional for exploration.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-12 17:28:36 -05:00
4b07388a56 Make exploration types generic.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-12 15:22:44 -05:00
bff40340a8 Upgrade Rapier. 2022-07-12 12:43:43 -05:00
65067412af Remove direction when transform is removed.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-11 17:03:40 -05:00
a1cfc448db Update viewshed in distinct stage to ensure that data is synced.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-11 14:01:25 -05:00
3994fef9d0 Run snap system after direction is updated.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-11 12:48:04 -05:00
1ff98c9132 Make visibility colliders the single source of truth for calculations.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-11 10:26:03 -05:00
6ff5eb15a9 Appease Clippy.
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-06 10:13:59 -05:00
3c61a57bc6 cargo fmt
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-15 10:30:53 -05:00
257e228a7a Use single collider per tile, and fix other off-by-1 errors.
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-15 10:28:21 -05:00
eae03f8f7a Correctly offset shape when calculating whether it will collide at tile. 2022-06-15 10:28:00 -05:00
a019e8b5c7 Add GlobalTransform to map colliders.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-07 09:14:11 -05:00
a1edab98f9 Set elapsed time of sound icons to their duration on visibility gain so they begin playing immediately. 2022-06-07 09:13:03 -05:00
828a0ca0b3 Add GlobalTransform to Area.
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-03 10:11:21 -05:00
e5b43e4388 cargo fmt
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-03 08:13:59 -05:00
a491e90573 Correctly manage icon state when visibility is lost.
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-03 06:53:45 -05:00
32a04f2af4 Default gain to 1. 2022-05-31 10:59:25 -05:00
b2e4f9b729 Merge branch 'main' into synthizer 2022-05-31 10:38:05 -05:00
a26cf344d6 Add option check. 2022-05-31 10:17:16 -05:00
d54dbedea5 Rename variable for now. 2022-05-24 11:37:12 -05:00
29405c7307 Port to Synthizer. 2022-05-23 13:35:25 -05:00
1022037efe Move sound functionality into separate plugins.
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-23 11:51:44 -05:00
5db110ccc8 Appease Clippy. 2022-05-23 11:23:04 -05:00
6d8f235657 Eliminate extra stage for sound icons and exploration.
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-19 09:25:26 -05:00
b3a06abf0f Various visibilityu/exploration tweaks and consistency fixes. 2022-05-18 10:28:42 -05:00
480e3cc6a5 Consistently convert coordinates. 2022-05-18 10:28:19 -05:00
34b10aaca4 Divide, not multiply. 2022-05-18 10:27:52 -05:00
615af720cb Major visibility system updates.
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-17 10:37:46 -05:00
64fd169ba2 Trigger icon check based on visibility, not presence of coordinates. 2022-05-12 10:46:32 -05:00
7e6fd923a3 More accurately sync speed and velocity. 2022-05-12 10:07:38 -05:00
ef55419bb7 Restore transforms so portals' transforms update correctly, and don't add children twice. 2022-05-11 14:41:17 -05:00
e8a15fd84d Strip down bundle and correct overly broad query. 2022-05-11 13:34:48 -05:00
0a141f078b Add PointLike implementation for GlobalTransform. 2022-05-11 13:34:03 -05:00
13d1cb0734 Get rid of Coordinates. 2022-05-10 13:56:49 -05:00
f3d03d531a Appease Clippy. 2022-05-07 04:53:21 -05:00
623b731765 Only check collisions with map when pathfinding. 2022-05-07 04:50:17 -05:00
9307852eda Initial port to Bevy 0.7. 2022-05-06 11:07:59 -05:00
37d0f0fcde Further tweaks to snap turns.
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-05 08:34:53 -05:00
aba63ebb19 Migrate to new Rapier.
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-04 12:53:59 -05:00
12c7759f66 Remove more unnecessary bounds.
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-04 10:00:57 -05:00
3ca886ee8c Remove unnecessary bounds.
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-04 09:32:51 -05:00
3fb03d6b41 Run snap before regular movement controls.
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-30 13:15:12 -05:00
43137cfb36 Theoretically restore old cache hit.
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-25 12:27:09 -05:00
38564fbebe Remove bad cache hit check.
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-25 11:22:46 -05:00
66dcd7cb00 Reset invalid log-reading position.
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-25 11:11:36 -05:00
bc24308fa1 Appease Clippy and fix gnarly visibility error.
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-25 01:00:30 -05:00
813137d7a1 Add conversion to string.
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-22 16:37:54 -05:00
52d8e8db3b Clear angular velocity when snapping.
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-21 22:06:09 -05:00
4357a5838a Add snapping.
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-21 21:58:34 -05:00
cadaeceba9 Improve performance of visibility calculations.
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-21 19:22:13 -05:00
cc4b8751f4 Update maze-generator.
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-21 09:14:44 -05:00
4f1c420348 Switch to here_be_dragons.
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-18 15:58:27 -05:00
f16d160994 Avoid possible crash. 2022-03-17 12:39:35 -05:00
0751cf344d Cache collision data when calculating visibility. 2022-03-17 12:15:30 -05:00
92b0a92a70 Restore timestep for visibility updates. 2022-03-17 11:30:12 -05:00
197080e5fd Trim down on unnecessary visibility updates. 2022-03-16 10:50:43 -05:00
81162c8ca8 Don't speak direction component when added. 2022-03-15 10:48:17 -05:00
24334ba511 Update mapgen to custom fork. 2022-03-15 10:37:28 -05:00
0fa6875d8c No need to remove this component, and guard against entity not existing. 2022-03-02 09:44:27 -06:00
0f4da55509 Remove calculating task at time of creation to avoid needing a separate system. 2022-03-01 11:30:48 -06:00
3202956719 Fix crashes caused by non-existent entities. 2022-02-24 13:37:16 -06:00
6d6ff3ae23 Since visibility requires physics, use RigidBodyPositionComponent rather than Coordinates for calculations. 2022-02-24 11:11:11 -06:00
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