mirror of https://github.com/nmlgc/ReC98.git
[Maintenance] [th03] Define a player ID type
Luckily, C has nothing against `typedef`s being repeatedly defined to the same value. Part of P0261, funded by [Anonymous] and Yanga.
This commit is contained in:
parent
cf78098a79
commit
7e89d76751
|
@ -1,6 +1,9 @@
|
||||||
/* ReC98
|
/* ReC98
|
||||||
* -----
|
* -----
|
||||||
* Common, essential macros for TH03. No types here!
|
* Common, essential macros for TH03. No structures here!
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Player ID
|
||||||
|
typedef unsigned char pid_t;
|
||||||
|
|
||||||
#define PLAYER_COUNT 2
|
#define PLAYER_COUNT 2
|
||||||
|
|
|
@ -40,7 +40,7 @@ extern PlayfieldPoint collmap_topleft;
|
||||||
extern collmap_tile_amount_t collmap_stripe_tile_w;
|
extern collmap_tile_amount_t collmap_stripe_tile_w;
|
||||||
extern collmap_tile_amount_t collmap_tile_h;
|
extern collmap_tile_amount_t collmap_tile_h;
|
||||||
extern PlayfieldPoint collmap_bottomright;
|
extern PlayfieldPoint collmap_bottomright;
|
||||||
extern unsigned char collmap_pid;
|
extern pid_t collmap_pid;
|
||||||
|
|
||||||
// Stored as columns from left to right, not rows from top to bottom.
|
// Stored as columns from left to right, not rows from top to bottom.
|
||||||
extern uint8_t collmap[PLAYER_COUNT][COLLMAP_MEMORY_W][COLLMAP_H];
|
extern uint8_t collmap[PLAYER_COUNT][COLLMAP_MEMORY_W][COLLMAP_H];
|
||||||
|
|
|
@ -17,7 +17,7 @@ extern combo_t combos[PLAYER_COUNT];
|
||||||
// amount of [hits] is enough to continue the combo. Returns the new total
|
// amount of [hits] is enough to continue the combo. Returns the new total
|
||||||
// bonus value.
|
// bonus value.
|
||||||
unsigned int pascal combo_add(
|
unsigned int pascal combo_add(
|
||||||
unsigned char hits, unsigned char pid, unsigned int bonus
|
unsigned char hits, pid_t pid, unsigned int bonus
|
||||||
);
|
);
|
||||||
|
|
||||||
void combo_update_and_render(void);
|
void combo_update_and_render(void);
|
||||||
|
@ -39,6 +39,6 @@ extern unsigned char hitcombo_ring[PLAYER_COUNT][HITCOMBO_RING_SIZE];
|
||||||
// [slot], adding the given amount of bonus points. Returns the new total
|
// [slot], adding the given amount of bonus points. Returns the new total
|
||||||
// bonus value.
|
// bonus value.
|
||||||
unsigned int pascal hitcombo_commit(
|
unsigned int pascal hitcombo_commit(
|
||||||
unsigned char pid, unsigned char slot, unsigned int bonus_to_add
|
pid_t pid, unsigned char slot, unsigned int bonus_to_add
|
||||||
);
|
);
|
||||||
/// ----------------
|
/// ----------------
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
typedef uint16_t gauge_t;
|
typedef uint16_t gauge_t;
|
||||||
typedef uint8_t gauge_perbyte_t;
|
typedef uint8_t gauge_perbyte_t;
|
||||||
|
|
||||||
void pascal near gauge_avail_add(unsigned char pid, unsigned char charge);
|
void pascal near gauge_avail_add(pid_t pid, unsigned char charge);
|
||||||
// -----
|
// -----
|
||||||
|
|
||||||
// Charge Shots
|
// Charge Shots
|
||||||
|
@ -92,8 +92,8 @@ typedef struct {
|
||||||
uint8_t padding[6];
|
uint8_t padding[6];
|
||||||
} player_t;
|
} player_t;
|
||||||
|
|
||||||
extern unsigned char pid_current;
|
extern pid_t pid_current;
|
||||||
extern unsigned char pid_other;
|
extern pid_t pid_other;
|
||||||
|
|
||||||
// ZUN bloat: Doubly redundant: The player ID is already covered by
|
// ZUN bloat: Doubly redundant: The player ID is already covered by
|
||||||
// [pid_current], while [so_attack] can be easily calculated from that ID.
|
// [pid_current], while [so_attack] can be easily calculated from that ID.
|
||||||
|
|
|
@ -29,7 +29,7 @@ struct shotpair_t {
|
||||||
sprite16_offset_t so_pid;
|
sprite16_offset_t so_pid;
|
||||||
unsigned char so_anim;
|
unsigned char so_anim;
|
||||||
char unused_2; // ZUN bloat
|
char unused_2; // ZUN bloat
|
||||||
unsigned char pid;
|
pid_t pid;
|
||||||
char unused_3; // ZUN bloat
|
char unused_3; // ZUN bloat
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "pc98.h"
|
#include "pc98.h"
|
||||||
|
#include "th03/common.h"
|
||||||
#include "th03/sprite16.hpp"
|
#include "th03/sprite16.hpp"
|
||||||
#include "th03/main/playfld.hpp"
|
#include "th03/main/playfld.hpp"
|
||||||
#include "th03/main/player/shot.hpp"
|
#include "th03/main/player/shot.hpp"
|
||||||
|
|
|
@ -40,7 +40,7 @@ typedef struct {
|
||||||
int8_t unused_1;
|
int8_t unused_1;
|
||||||
unsigned char bgm_mode;
|
unsigned char bgm_mode;
|
||||||
unsigned char key_mode;
|
unsigned char key_mode;
|
||||||
unsigned char pid_winner;
|
pid_t pid_winner;
|
||||||
score_lebcd_t score_last[PLAYER_COUNT];
|
score_lebcd_t score_last[PLAYER_COUNT];
|
||||||
unsigned char game_mode;
|
unsigned char game_mode;
|
||||||
PlaycharPalettedOptional story_opponents[STAGE_COUNT];
|
PlaycharPalettedOptional story_opponents[STAGE_COUNT];
|
||||||
|
|
Loading…
Reference in New Issue