mirror of https://github.com/nmlgc/ReC98.git
40 lines
1.3 KiB
C++
40 lines
1.3 KiB
C++
#include "pc98.h"
|
|
|
|
enum item_type_t {
|
|
IT_POWER = 0,
|
|
IT_POINT = 1,
|
|
IT_BOMB = 2,
|
|
IT_BIGPOWER = 3,
|
|
IT_1UP = 4,
|
|
IT_COUNT,
|
|
|
|
_item_type_t_FORCE_UINT8 = 0xFF
|
|
};
|
|
|
|
#define ITEM_COUNT 20
|
|
|
|
// Turns the next N power or point items spawned via items_add() into big power
|
|
// items. Used for recharging power after using a continue after a Game Over.
|
|
extern unsigned int item_bigpower_override;
|
|
|
|
// Spawns the Game Over item set on the next call to items_miss_add().
|
|
// ZUN bloat: Both turning this into a parameter or hardcoding the condition
|
|
// (as TH04 and TH05 do it) would have been better than this.
|
|
extern bool items_miss_add_gameover;
|
|
|
|
// Also picks a new starting point inside the hardcoded randomized item cycle
|
|
// used by items_add_semirandom().
|
|
void near items_init_and_reset(void);
|
|
|
|
// Unconditionally spawns a big power item if [item_bigpower_override] is > 0.
|
|
// Otherwise, spawns a bomb item with a 1-in-512 chance, or the next item along
|
|
// a hardcoded ring of power and point items.
|
|
void pascal items_add_semirandom(screen_x_t left, screen_y_t top);
|
|
|
|
void pascal items_add(int type, screen_x_t left, screen_y_t top);
|
|
|
|
// Spawns each of the items dropped when losing a life at the given position.
|
|
void pascal near items_miss_add(screen_x_t left, screen_y_t top);
|
|
|
|
void near items_update_and_render(void);
|