mirror of
https://github.com/astromaddie/HaloCE-VR.git
synced 2026-10-19 10:00:13 +02:00
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
110 lines
2.4 KiB
C
110 lines
2.4 KiB
C
/*
|
|
EFFECTS.H
|
|
|
|
header included in hcex build.
|
|
*/
|
|
|
|
#ifndef __EFFECTS_H
|
|
#define __EFFECTS_H
|
|
#pragma once
|
|
|
|
/* ---------- headers */
|
|
|
|
#include "cseries/cseries.h"
|
|
#include "math/real_math.h"
|
|
|
|
/* ---------- constants */
|
|
|
|
/* ---------- macros */
|
|
|
|
/* ---------- structures */
|
|
|
|
struct effect_vector_field;
|
|
struct effects_information
|
|
{
|
|
short effect_count;
|
|
short location_count;
|
|
short active_effect_count;
|
|
};
|
|
|
|
/* ---------- prototypes/EFFECTS.C */
|
|
|
|
void effects_initialize(
|
|
void);
|
|
void effects_initialize_for_new_map(
|
|
void);
|
|
void effects_dispose_from_old_map(
|
|
void);
|
|
void effects_dispose(
|
|
void);
|
|
void effect_delete(
|
|
long effect_index);
|
|
void effects_stop_on_first_person_weapon(
|
|
short local_player_index);
|
|
void effects_information_get(
|
|
struct effects_information *information);
|
|
void effects_disconnect_from_structure_bsp(
|
|
void);
|
|
void effects_reconnect_to_structure_bsp(
|
|
void);
|
|
void effect_stop(
|
|
long effect_index,
|
|
boolean and_delete);
|
|
boolean dangerous_effects_near_player(
|
|
void);
|
|
long effect_new_looping(
|
|
long definition_index,
|
|
long object_index,
|
|
short scale_a_function_index,
|
|
short scale_b_function_index,
|
|
short change_color_index);
|
|
long effect_new_from_object(
|
|
long definition_index,
|
|
long owner_object_index,
|
|
long object_index,
|
|
short force_local_player_index,
|
|
real scale_a,
|
|
real scale_b,
|
|
real_rgb_color const *color,
|
|
struct effect_vector_field const *impulse_field);
|
|
long effect_new_attached_from_markers(
|
|
long definition_index,
|
|
long owner_object_index,
|
|
long object_index,
|
|
short node_index,
|
|
short marker_count,
|
|
char const **marker_names,
|
|
real_point3d const *marker_points,
|
|
real_vector3d const *marker_forwards,
|
|
real scale_a,
|
|
real scale_b,
|
|
real_rgb_color const *color,
|
|
struct effect_vector_field const *impulse_field);
|
|
long effect_new_unattached_from_markers(
|
|
long definition_index,
|
|
long owner_object_index,
|
|
real_vector3d const *translational_velocity,
|
|
short marker_count,
|
|
char const **marker_names,
|
|
real_point3d const *marker_points,
|
|
real_vector3d const *marker_forwards,
|
|
real scale_a,
|
|
real scale_b,
|
|
real_rgb_color const *color,
|
|
struct effect_vector_field const *impulse_field,
|
|
boolean can_be_deterministic);
|
|
void effects_update(
|
|
real dt);
|
|
void effects_start_on_first_person_weapon(
|
|
short local_player_index,
|
|
long object_index);
|
|
|
|
/* ---------- globals */
|
|
|
|
extern boolean effects_corpse_nonviolent;
|
|
extern boolean debug_effects_nonviolent;
|
|
|
|
/* ---------- public code */
|
|
|
|
#endif // __EFFECTS_H
|