Add calculation of close-tangibles

This commit is contained in:
2021-08-09 12:54:32 -04:00
parent 3fa782383e
commit fb6bd8d163
6 changed files with 50 additions and 10 deletions

View File

@@ -80,6 +80,8 @@ public:
using IdVector = util::IdVector;
using TanVector = std::vector<const Tangible*>;
using Redirects = std::map<int64_t, int64_t>;
const float RadiusVisibility = 100.0;
const float RadiusClose = 10.0;
// Constructor.
//
@@ -103,9 +105,11 @@ public:
// get_near
//
// Get a list of the tangibles that are near the player. If 'exclude_nowhere' is
// true, exclude any tangibles on the nowhere plane.
// true, exclude any tangibles on the nowhere plane. The unsorted version returns
// the tangibles in an unpredictable order.
//
IdVector get_near(int64_t player_id, float radius, bool exclude_nowhere) const;
IdVector get_near_unsorted(int64_t player_id, float radius, bool exclude_nowhere) const;
// Make a tangible.
//
@@ -247,7 +251,7 @@ private:
// We also update the actor's ID allocation pipeline.
//
static void diff_actor_essentials(const Tangible *mactor, const Tangible *sactor, StreamBuffer *sb);
void patch_actor_essentials(StreamBuffer *sb);
int64_t patch_actor_essentials(StreamBuffer *sb);
// Pass 2 of difference transmission: visible animations.
//