mirror of https://github.com/nmlgc/ReC98.git
46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
#include "pc98.h"
|
|
|
|
#define BB_SIZE 2048
|
|
|
|
// Bitmap format, storing 1-bit values for 8 tiles in one byte.
|
|
typedef uint8_t bb_tiles8_t;
|
|
|
|
// Blocky boss entrance animations
|
|
// -------------------------------
|
|
|
|
extern bb_tiles8_t __seg *bb_boss_seg;
|
|
|
|
// Loads the .BB file with the given name into memory, and sets [bb_boss_seg]
|
|
// to the newly allocated segment. Does not attempt to free [bb_boss_seg], and
|
|
// will leak memory if it is not a nullptr.
|
|
void pascal near bb_boss_load(const char far *fn);
|
|
|
|
// Frees any previously allocated [bb_boss_seg].
|
|
#if (GAME == 5)
|
|
void near bb_boss_free(void);
|
|
#else
|
|
void far bb_boss_free(void);
|
|
#endif
|
|
// -------------------------------
|
|
|
|
/// Text dissolve circles
|
|
/// ---------------------
|
|
|
|
#define BB_TXT_W 32
|
|
#define BB_TXT_H 32
|
|
#define BB_TXT_VRAM_W (BB_TXT_W / BYTE_DOTS)
|
|
|
|
#define BB_TXT_IN_SPRITE 16
|
|
#define BB_TXT_IN_CELS 8
|
|
#define BB_TXT_OUT_SPRITE 0
|
|
#define BB_TXT_OUT_CELS 16
|
|
|
|
// Puts the given TXT*.BB sprite at (⌊left/8⌋*8, top). Assumptions:
|
|
// • ES is already set to the beginning of a VRAM segment
|
|
// • The GRCG is active, and set to the intended color
|
|
#define bb_txt_put_8(left, top, sprite) \
|
|
_CX = sprite; \
|
|
bb_txt_put_8_raw(left, top);
|
|
void __fastcall near bb_txt_put_8_raw(uscreen_x_t left, uvram_y_t top);
|
|
/// ---------------------
|