Files
astromaddie--HaloCE-VR/source/devices/device_light_fixtures.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

83 lines
1.8 KiB
C

/*
DEVICE_LIGHT_FIXTURES.H
header included in hcex build.
*/
#ifndef __DEVICE_LIGHT_FIXTURES_H
#define __DEVICE_LIGHT_FIXTURES_H
#pragma once
/* ---------- headers */
#include "devices/devices.h"
#include "objects/object_types.h"
#include "scenario/scenario_definitions.h"
#include "tag_files/tag_groups.h"
/* ---------- constants */
enum
{
LIGHT_FIXTURE_DEFINITION_TAG = 'lifi',
};
/* ---------- macros */
#define light_fixture_definition_get(index) ((struct light_fixture_definition *)tag_get(LIGHT_FIXTURE_DEFINITION_TAG, (index)))
#define light_fixture_get(index) ((struct light_fixture_datum *)object_get_and_verify_type((index), _object_mask_light_fixture))
#define light_fixture_try_and_get(index) ((struct light_fixture_datum *)object_try_and_get_and_verify_type((index), _object_mask_light_fixture))
/* ---------- structures */
struct light_fixture_definition;
struct scenario_light_fixture_datum
{
struct scenario_object_datum object;
struct scenario_device_datum device;
real_rgb_color color;
real intensity;
real falloff_angle;
real cutoff_angle;
};
struct _light_fixture_datum
{
real_rgb_color color;
real intensity;
real falloff_angle;
real cutoff_angle;
};
struct light_fixture_datum
{
long definition_index;
struct _object_datum object;
struct _device_datum device;
struct _light_fixture_datum light_fixture;
};
/* ---------- prototypes/DEVICE_LIGHT_FIXTURES.C */
void light_fixtures_initialize(
void);
void light_fixtures_dispose(
void);
void light_fixtures_initialize_for_new_map(
void);
void light_fixtures_dispose_from_old_map(
void);
boolean light_fixture_new(
long object_index);
void light_fixture_delete(
long object_index);
boolean light_fixture_update(
long object_index);
/* ---------- globals */
/* ---------- public code */
#endif // __DEVICE_LIGHT_FIXTURES_H