Files
Cesarus85--ringfall-mjolnir-vr/source/objects/widgets/lightning.h
T
2026-08-13 05:40:42 -07:00

77 lines
1.4 KiB
C

/*
LIGHTNING.H
header included in hcex build.
*/
#ifndef __LIGHTNING_H
#define __LIGHTNING_H
#pragma once
/* ---------- headers */
#include "cseries/cseries.h"
#include "memory/data.h"
#include "objects/widgets/widget_types.h"
/* ---------- constants */
/* ---------- macros */
#define lightning_get(lightning_index) \
((struct lightning_datum *)datum_get(lightning_globals.lightning_data, (lightning_index)))
/* ---------- structures */
struct lightning_globals
{
struct data_array *lightning_data;
};
struct lightning_datum
{
struct datum_header header;
short __unknown2;
long definition_index;
};
typedef char lightning_globals_size_assert[
sizeof(struct lightning_globals) == 0x4 ? 1 : -1];
typedef char lightning_datum_size_assert[
sizeof(struct lightning_datum) == 0x8 ? 1 : -1];
/* ---------- prototypes/LIGHTNING.C */
void lightnings_initialize(
void);
void lightnings_dispose(
void);
void lightnings_initialize_for_new_map(
void);
void lightnings_dispose_from_old_map(
void);
long lightning_new(
long definition_index);
void lightning_delete(
long lightning_index);
void lightning_submit(
long object_index,
long lightning_index,
struct render_lighting const *lighting,
struct render_animation const *animation);
void lightning_render(
void);
/* ---------- globals */
extern struct lightning_globals lightning_globals;
/* ---------- public code */
#endif // __LIGHTNING_H