Redesign of animation queue for unreal, add get_tangibles_near to drivenengine

This commit is contained in:
2023-07-24 17:19:25 -04:00
parent 4da86e6f89
commit 87aa47b96d
19 changed files with 1406 additions and 980 deletions

View File

@@ -125,16 +125,24 @@ public:
// The unsorted version returns the tangibles in an unpredictable order. If sorted
// is false, return them in an unpredictable order.
//
IdVector get_near(int64_t player_id, float radius, bool exclude_nowhere, bool omit_player, bool sorted) const;
void get_near(int64_t player_id, float radius, bool exclude_nowhere, bool omit_player, bool sorted, IdVector *into) const;
// get_near
//
// Get a list of tangibles in any arbitrary region. This differs from
// PlaneMap::scan in that if the scan specifies a 'near', then the plane
// and center of the scan are updated from the near tangible.
//
void get_near(PlaneScan &sc, IdVector *into) const;
// Make a tangible.
//
// You must provide a valid previously-unused ID. Otherwise, leaves the lua
// stack untouched. Returns a pointer to the C++ part of the tangible, and
// optionally stores the Lua part in a stack slot.
//
Tangible *tangible_make(const LuaCoreStack &LS0, LuaSlot tan, int64_t id, const eng::string &plane);
Tangible *tangible_make(int64_t id, const eng::string &plane);
Tangible *tangible_make(const LuaCoreStack &LS0, LuaSlot tan, int64_t id);
Tangible *tangible_make(int64_t id);
// Get a pointer to the specified tangible.
//
@@ -362,9 +370,17 @@ public:
//
////////////////////////////////////////////////////////////////////////////
// Clear the animation queue and remove all persistent state.
//
void tangible_clear_anim_queue_to_empty(int64_t id);
// Clear the animation queue to a reasonable starting position.
//
void tangible_clear_plane_and_xyz(int64_t id, const eng::string &plane, const util::DXYZ &xyz);
// Add a 'walkto' animation to the specified tangible.
//
void tangible_walkto(int64_t id, int64_t animid, float x, float y);
void tangible_walkto(int64_t id, float x, float y);
// Get the tangible's animation queue as a debug string.
//