Files
ac-decomp/include/m_design_ovl.h
T
2025-05-12 10:48:30 -04:00

112 lines
1.8 KiB
C

#ifndef M_DESIGN_OVL_H
#define M_DESIGN_OVL_H
#include "types.h"
#include "m_mask_cat.h"
#include "m_submenu_ovl.h"
#include "m_design_ovl_h.h"
#ifdef __cplusplus
extern "C" {
#endif
enum {
mDE_MODE_MAIN,
mDE_MODE_PALLET,
mDE_MODE_GRID,
mDE_MODE_TOOL,
mDE_MODE_NUM
};
enum {
mDE_MAIN_MODE_PEN,
mDE_MAIN_MODE_NURI,
mDE_MAIN_MODE_WAKU,
mDE_MAIN_MODE_MARK,
mDE_MAIN_MODE_UNDO,
mDE_MAIN_MODE_NUM
};
typedef void (*mDE_OVL_PROC)(mDE_Ovl_c* design_ovl);
struct design_ovl_s {
u16* palette_p;
// u8 pad[32-4]; // 32-byte align pad
mNW_original_tex_c texture;
mNW_original_tex_c work_texture;
mNW_original_tex_c undo_texture;
rgb8_t rgb8_pal[mNW_PALETTE_COUNT];
int _650;
int _654;
int _658;
int _65C;
f32 _660;
f32 _664;
int cursor_x;
int cursor_y;
int _670;
int _674;
int _678;
int _67C;
int _680;
int _684;
int _688;
int _68C;
int _690;
int _694;
u8 _698;
u8 _699;
u8 _69A;
u8 palette_no;
u8 image_no;
u8 _69D;
u8 _69E;
u8 _69F;
u8 _6A0;
u8 _6A1;
u8 _6A2;
u8 _6A3;
u8 _6A4;
u8 _6A5;
u8 _6A6;
u8 mode;
u8 main_mode_act;
// u8 pad[3];
mDE_OVL_PROC act_proc;
mDE_OVL_PROC main_mode_proc;
u8 _6B4;
u8 _6B5;
u8 _6B6;
u8 _6B7;
u32 _6B8;
u32 _6BC;
u32 _6C0;
u32 _6C4;
f32 move_pR;
u8 _6CC;
u8 _6CD;
u8 _6CE;
u8 _6CF;
u32 _6D0;
u32 _6D4;
u8 _6D8;
u8 _6D9;
u8 _6DA;
u8 _6DB;
u8 _6DC;
};
extern void mDE_maskcat_init(MaskCat_c* mask_cat);
extern void mDE_design_ovl_construct(Submenu* submenu);
extern void mDE_design_ovl_destruct(Submenu* submenu);
extern void mDE_design_ovl_set_proc(Submenu* submenu);
#ifdef __cplusplus
}
#endif
#endif