mirror of https://github.com/nmlgc/ReC98.git
[Maintenance] master.hpp transition: Palette declarations
Since we can't even change whitespace inside a preprocessor macro without getting a `redefinition is not identical` warning, these have to be wrapped in `#if !defined(__MASTER_H)` blocks for now. Part of P0124, funded by [Anonymous] and Blue Bolt.
This commit is contained in:
parent
7306a4b185
commit
02cd7f4acc
45
master.hpp
45
master.hpp
|
@ -1,6 +1,8 @@
|
||||||
/* ReC98
|
/* ReC98
|
||||||
* -----
|
* -----
|
||||||
* C++ redeclarations and ReC98-specific extensions for master.lib.
|
* C++ redeclarations and ReC98-specific extensions for master.lib.
|
||||||
|
* Definitions that require types from `pc98.h` are guarded via `#ifdef`,
|
||||||
|
* allowing this header to be used on its own if those aren't required.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/// Types
|
/// Types
|
||||||
|
@ -65,6 +67,49 @@ struct point_t {
|
||||||
|
|
||||||
/// Original functions (only contains those actually called from ZUN code)
|
/// Original functions (only contains those actually called from ZUN code)
|
||||||
/// ----------------------------------------------------------------------
|
/// ----------------------------------------------------------------------
|
||||||
|
/// TODO: Remove the `!defined(__MASTER_H)` branches once we've gotten rid of
|
||||||
|
/// of master.h.
|
||||||
|
|
||||||
|
// Palette
|
||||||
|
// -------
|
||||||
|
|
||||||
|
void MASTER_RET palette_show(void);
|
||||||
|
|
||||||
|
#if !defined(__MASTER_H)
|
||||||
|
#define palette_settone(tone) \
|
||||||
|
(PaletteTone = (tone), palette_show())
|
||||||
|
|
||||||
|
#define palette_100() \
|
||||||
|
palette_settone(100)
|
||||||
|
|
||||||
|
#define palette_black() \
|
||||||
|
palette_settone(0)
|
||||||
|
|
||||||
|
#define palette_white() \
|
||||||
|
palette_settone(200)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(__MASTER_H) && defined(PC98_H) && defined(__cplusplus)
|
||||||
|
#define palette_set(col, r, g, b) (\
|
||||||
|
Palettes[col].v[0] = (uint8_t)(r), \
|
||||||
|
Palettes[col].v[1] = (uint8_t)(g), \
|
||||||
|
Palettes[col].v[2] = (uint8_t)(b) \
|
||||||
|
)
|
||||||
|
|
||||||
|
#define palette_set_all(m) \
|
||||||
|
memcpy(Palettes, (m), sizeof(Palette8))
|
||||||
|
|
||||||
|
extern Palette8 Palettes;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern unsigned int PaletteTone;
|
||||||
|
|
||||||
|
int MASTER_RET palette_entry_rgb(const char MASTER_PTR *);
|
||||||
|
void MASTER_RET palette_black_in(unsigned speed);
|
||||||
|
void MASTER_RET palette_black_out(unsigned speed);
|
||||||
|
void MASTER_RET palette_white_in(unsigned speed);
|
||||||
|
void MASTER_RET palette_white_out(unsigned speed);
|
||||||
|
// -------
|
||||||
|
|
||||||
// VSync
|
// VSync
|
||||||
// -----
|
// -----
|
||||||
|
|
Loading…
Reference in New Issue