Match particle system orphaning

This commit is contained in:
Jonas Volman committed 2026-07-15 07:59:01 -07:00
1 parent ac1f467a68
commit 60735e58d3
2 files changed
+35 -1

No files matched your search

+11
View File
@@ -121,6 +121,17 @@ void particle_systems_initialize_for_new_map(
return;
}
void particle_system_orphan(
long system_index)
{
struct particle_system_datum *system = particle_system_get(system_index);
SET_FLAG(system->flags, _particle_system_attached_bit, FALSE);
system->object_index = NONE;
return;
}
void particle_systems_dispose_from_old_map(
void)
{
+24 -1
View File
@@ -13,10 +13,32 @@ header included in hcex build.
/* ---------- constants */
enum
{
_particle_system_attached_bit,
};
/* ---------- macros */
#define particle_system_get(system_index) ((struct particle_system_datum *)datum_get(particle_systems, (system_index)))
/* ---------- structures */
struct particle_system_datum
{
struct datum_header header;
short pad;
unsigned long flags;
long definition_index;
long object_index;
short attachment_index;
short type_state_index;
byte opaque[0x144];
};
typedef char particle_system_datum_size_assert[
sizeof(struct particle_system_datum) == 0x158 ? 1 : -1];
/* ---------- prototypes/PARTICLE_SYSTEMS.C */
void particle_systems_initialize(
@@ -31,7 +53,8 @@ void particle_systems_disconnect_from_structure_bsp(
void);
long particle_system_new_attached(long definition_index, long object_index, short attachment_index);
void particle_system_orphan(long system_index);
void particle_system_orphan(
long system_index);
/* ---------- globals */