Files
2023-05-28 22:58:23 -04:00

52 lines
1.3 KiB
C

#ifndef M_FBDEMO_WIPE_H
#define M_FBDEMO_WIPE_H
#include "types.h"
#include "m_fbdemo.h"
#include "m_fbdemo_wipe1.h"
#include "m_fbdemo_fade.h"
#include "m_fbdemo_triforce.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef union fbdemo_wipe_union {
fbdemo_wipe1 fbdemo_wipe1;
fbdemo_triforce fbdemo_triforce;
fbdemo_fade fbdemo_fade;
} fbdemo_wipe_u;
typedef fbdemo_wipe_u* (*FBDEMO_INIT_PROC)(fbdemo_wipe_u*);
typedef void (*FBDEMO_CLEANUP_PROC)(fbdemo_wipe_u*);
typedef void (*FBDEMO_MOVE_PROC)(fbdemo_wipe_u*, int);
typedef void (*FBDEMO_DRAW_PROC)(fbdemo_wipe_u*, Gfx**);
typedef void (*FBDEMO_STARTUP_PROC)(fbdemo_wipe_u*);
typedef void (*FBDEMO_SETTYPE_PROC)(fbdemo_wipe_u*, int);
typedef void (*FBDEMO_SETCOLOR_PROC)(fbdemo_wipe_u*, u32);
typedef int (*FBDEMO_ISFINISHED_PROC)(fbdemo_wipe_u*);
typedef struct {
FBDEMO_INIT_PROC init_proc;
FBDEMO_CLEANUP_PROC cleanup_proc;
FBDEMO_MOVE_PROC move_proc;
FBDEMO_DRAW_PROC draw_proc;
FBDEMO_STARTUP_PROC startup_proc;
FBDEMO_SETTYPE_PROC settype_proc;
FBDEMO_SETCOLOR_PROC setcolor_proc;
void* unused_proc; // unknown
FBDEMO_ISFINISHED_PROC isfinished_proc;
} fbdemo_wipe_proc_c;
typedef struct {
fbdemo_wipe_u wipe_data;
int wipe_type;
fbdemo_wipe_proc_c wipe_procs;
} fbdemo_wipe;
#ifdef __cplusplus
}
#endif
#endif