Files
astromaddie--HaloCE-VR/source/hs/object_lists.h
T
Jonas Volman f3aadeab98 Reconcile five Halo functions and approved declaration batches
Integrate coherent B3, P2/K17 prerequisites, completed K1-K16 + S, and the independent profile/effects rulings. Five gains and two explicitly approved B3 debits: net +3 strict functions, +2770 meaningful/+2800 padded bytes (+2774 progress credit). No additional losses; Halo objects 394 to 396 and data unchanged.

Clean rebuild, identical 8252-row stable sweep, 68 valid parks, admission/provider checks, 467-unit warning comparison, unchanged fake scan, and 1318 tests passed. Preserve canonical helper recoveries and unrelated work. Full evidence and disclosures in docs/object_matching_logs/astra_five_function_reconciliation_20260928.md.
2026-09-28 23:17:10 -07:00

61 lines
1.4 KiB
C

/*
OBJECT_LISTS.H
*/
#ifndef __OBJECT_LISTS_H
#define __OBJECT_LISTS_H
#pragma once
/* ---------- constants */
/* ---------- macros */
#define object_list_header_get(index) ((struct object_list_header_datum*)(datum_get(object_list_header_data, (index))))
#define object_list_get(index) ((struct data_reference*)(datum_get(object_list_data, (index))))
/* ---------- structures */
struct object_list_header_datum
{
short identifier;
word pad;
short reference_count;
short count;
long first_reference_index;
};
/* ---------- prototypes/OBJECT_LISTS.C */
void object_lists_initialize(void);
void object_lists_dispose(void);
void object_lists_initialize_for_new_map(void);
void object_lists_dispose_from_old_map(void);
long object_list_new(void);
void object_list_delete(long list_index);
void object_list_add(long object_list_index, long object_index);
long object_list_get_first(
long object_list_index,
long *reference_index);
long object_list_get_next(
long object_list_index,
long *reference_index);
void object_list_add_reference(
long object_list_index);
void object_list_remove_reference(
long object_list_index);
void object_list_gc(
void);
short object_list_count(
long object_list_index);
/* ---------- globals */
extern struct data_array *object_list_header_data;
extern struct data_array *object_list_data;
/* ---------- public code */
#endif // __OBJECT_LISTS_H