mirror of https://github.com/nmlgc/ReC98.git
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
struct area_t {
|
|
int left, right, top, bottom;
|
|
};
|
|
|
|
// An individual entity rendered with sprites from a .BOS file. May or may not
|
|
// be animated, and may or may not have a hitbox for collision with the Orb.
|
|
class CBossEntity {
|
|
public:
|
|
int cur_left;
|
|
int cur_top;
|
|
int prev_left;
|
|
int prev_top;
|
|
int vram_w;
|
|
int h;
|
|
area_t move_clamp; // Relative to VRAM
|
|
area_t hitbox_orb; // Relative to [cur_left] and [cur_top]
|
|
|
|
// Never actually read outside of the functions that set them...
|
|
int prev_delta_y;
|
|
int prev_delta_x;
|
|
|
|
int bos_image_count;
|
|
int zero_1;
|
|
int bos_image;
|
|
int unknown;
|
|
bool16 hitbox_orb_inactive;
|
|
bool16 loading;
|
|
int move_lock_frame;
|
|
int zero_2;
|
|
char zero_3;
|
|
unsigned char bos_slot;
|
|
|
|
// Loads all images from the .BOS file with the given [fn] inside the
|
|
// currently active packfile into the given .BOS [slot], and keeps the
|
|
// .BOS metadata in this class. Always returns 0.
|
|
int bos_load(const char fn[PF_FN_LEN], int slot);
|
|
|
|
// Copies the .BOS header data of this instance to the given variables. In
|
|
// practice, only used to copy these values from one CBossEntity to
|
|
// another.
|
|
void bos_metadata_get(
|
|
int &image_count, unsigned char &slot, int &vram_w, int &h
|
|
) const;
|
|
};
|