4#if defined(__GNUC__) || defined(__clang__)
5#define LOG_PRINTF_FMT(fmt_idx, arg_idx) __attribute__((format(printf, fmt_idx, arg_idx)))
7#define LOG_PRINTF_FMT(fmt_idx, arg_idx)
27void wrap_text(
const char *input,
char *output,
size_t max_width);
39 char *label_chars, uint8_t font_index,
40 uint16_t x_pos, uint16_t y_pos,
41 uint16_t width, uint16_t height);
48 uint16_t x_pos, uint16_t y_pos,
49 uint16_t width, uint16_t height);
52 char *button_mesh_default,
53 char *button_mesh_pressed,
54 char *button_initial_load_mesh,
55 char *button_mesh_disabled,
char *label_char,
56 uint8_t font_index, uint16_t x_pos,
57 uint16_t y_pos, uint16_t width,
58 uint16_t height,
int button_index,
59 uint32_t callback_func_ptr);
66 const char *background_msb,
67 const char *border_msb,
CMnuLabel *__thiscall attachMeshedLabel(CMnuLabel *new_label, CMnuContainer *parent, char *mesh_char, char *label_char, uint8_t font_index, uint16_t x_pos, uint16_t y_pos, uint16_t width, uint16_t height)
void reset_mod_list_screen()
Forgets the cached mod list screen so the next open rebuilds it.
void __thiscall updateLabelText(CMnuLabel *label, const char *text)
void __thiscall show_mod_list(CMnuSmpButton *button)
void wrap_text(const char *input, char *output, size_t max_width)
Wraps text to a character width, inserting newlines.
void apply_label_colour(CMnuLabel *label, float red, float green, float blue)
Sets a label's normal and highlight colours in one call.
void set_centred_label_text(CMnuLabel *label, const char *text, int panel_width, int y, int height)
Repositions a label so its widest line sits centred in panel_width, then sets its text....
SF_String *__thiscall SFStringConstructor_char(SF_String *_this, const char *char_string)
Constructs an SF_String from a null-terminated char string. Moved here from sf_vanilla_fix_hook....
CMnuContainer *__thiscall createContainer(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const char *background_msb, const char *border_msb, float alpha)
CMnuLabel *__thiscall attachLabel(CMnuLabel *label_ptr, CMnuContainer *parent, char *label_chars, uint8_t font_index, uint16_t x_pos, uint16_t y_pos, uint16_t width, uint16_t height)
CMnuSmpButton *__thiscall attachNewButton(CMnuContainer *parent, char *button_mesh_default, char *button_mesh_pressed, char *button_initial_load_mesh, char *button_mesh_disabled, char *label_char, uint8_t font_index, uint16_t x_pos, uint16_t y_pos, uint16_t width, uint16_t height, int button_index, uint32_t callback_func_ptr)
void __thiscall SFStringConstructor(SF_String *_this)
Zero-initializes an SF_String (no allocation). Moved here from sf_vanilla_fix_hook....