mirror of
https://github.com/HackerN64/HackerOoT.git
synced 2026-01-21 10:37:37 -08:00
45 lines
938 B
C
45 lines
938 B
C
#ifndef RAINBOW_H
|
|
#define RAINBOW_H
|
|
|
|
#include "ultra64/ultratypes.h"
|
|
#include "libc/stdbool.h"
|
|
#include "libc/stddef.h"
|
|
#include "color.h"
|
|
|
|
typedef enum ColorState {
|
|
STATE_RED_TO_YELLOW,
|
|
STATE_YELLOW_TO_GREEN,
|
|
STATE_GREEN_TO_LIGHTBLUE,
|
|
STATE_LIGHTBLUE_TO_BLUE,
|
|
STATE_BLUE_TO_PINK,
|
|
STATE_PINK_TO_RED,
|
|
STATE_MAX
|
|
} ColorState;
|
|
|
|
typedef struct RainbowTarget {
|
|
u8 state;
|
|
Color_RGB8 color;
|
|
} RainbowTarget;
|
|
|
|
typedef struct Rainbow {
|
|
Color_RGB8 color;
|
|
u8 state;
|
|
u8 speed;
|
|
u8 bAllowDebug;
|
|
u8 bPause;
|
|
} Rainbow;
|
|
|
|
void Rainbow_Debug(Rainbow* this);
|
|
void Rainbow_InitColor(Rainbow* this);
|
|
void Rainbow_Init(Rainbow* this);
|
|
u8 Rainbow_CheckColor(Rainbow* this, Color_RGB8 rgb);
|
|
void Rainbow_UpdateColor(Rainbow* this);
|
|
void Rainbow_UpdateState(Rainbow* this, RainbowTarget target);
|
|
void Rainbow_Update(Rainbow* this);
|
|
|
|
void osSyncPrintf(const char* fmt, ...);
|
|
|
|
extern Rainbow gRainbow;
|
|
|
|
#endif
|