Files

71 lines
1.5 KiB
C

/*
SCENERY.H
header included in hcex build.
*/
#ifndef __SCENERY_H
#define __SCENERY_H
#pragma once
#include "objects/object_types.h"
#include "objects/objects.h"
#include "scenario/scenario_definitions.h"
/* ---------- constants */
/* ---------- macros */
#define scenery_get(index) ((struct scenery_datum *)object_get_and_verify_type((index), _object_mask_scenery))
#define scenery_try_and_get(index) ((struct scenery_datum *)object_try_and_get_and_verify_type((index), _object_mask_scenery))
/* ---------- structures */
struct scenery_datum
{
struct object_datum object;
unsigned long flags;
};
struct scenario_scenery_datum;
typedef char verify_scenery_extension_offset[
sizeof(struct object_datum) == 0x1A4 ? 1 : -1];
/* ---------- prototypes/SCENERY.C */
void scenery_initialize(
void);
void scenery_initialize_for_new_map(
void);
void scenery_dispose_from_old_map(
void);
void scenery_dispose(
void);
void scenery_place(
long object_index,
struct scenario_scenery_datum *scenario_scenery);
boolean scenery_new(
long object_index);
void scenery_delete(
long object_index);
boolean scenery_update(
long object_index);
short scenery_get_animation_time(
long object_index);
void scenery_animation_start(
long object_index,
long animation_graph_index,
char const *animation_name);
void scenery_animation_start_at_frame(
long object_index,
long animation_graph_index,
char const *animation_name,
short frame_index);
/* ---------- globals */
/* ---------- public code */
#endif // __SCENERY_H