load and use the internal LOGO before swapping theme (avoid flickering at startup)
[open-ps2-loader.git] / include / iosupport.h
blobb5ecbc64a580ec53196a335c4035bd509a42883e
1 #ifndef __IOSUPPORT_H
2 #define __IOSUPPORT_H
4 #include "include/config.h"
6 #define USB_MODE 0
7 #define ETH_MODE 1
8 #define HDD_MODE 2
9 #define APP_MODE 3
11 #define NO_EXCEPTION 0x00
12 #define UNMOUNT_EXCEPTION 0x01
14 #define NO_COMPAT 0x00 // no compat support
15 #define COMPAT 0x01 // default compatibility flags
16 #define COMPAT_FULL 0x02 // default + DMA compat flags
18 #define COMPAT_MODE_1 0x01
19 #define COMPAT_MODE_2 0x02
20 #define COMPAT_MODE_3 0x04
21 #define COMPAT_MODE_4 0x08
22 #define COMPAT_MODE_5 0x10
23 #define COMPAT_MODE_6 0x20
24 #define COMPAT_MODE_7 0x40
25 #define COMPAT_MODE_8 0x80
27 // minimal inactive frames for cover display, can be pretty low since it means no button is pressed :)
28 #define MENU_MIN_INACTIVE_FRAMES 8
30 typedef struct
32 int mode;
34 int enabled;
36 int haveCompatibilityMode;
38 /// update in progress indicator
39 int uip;
41 /// max inactive frame delay
42 int delay;
44 /// item description
45 char* text;
47 /// item description in localised form (used if value is not negative)
48 int textId;
50 void (*itemInit)(void);
52 /** @return 1 if update is needed, 0 otherwise */
53 int (*itemNeedsUpdate)(void);
55 /** @return game count (0 on error) */
56 int (*itemUpdate)(void);
58 int (*itemGetCount)(void);
60 void* (*itemGet)(int id);
62 char* (*itemGetName)(int id);
64 int (*itemGetNameLength)(int id);
66 char* (*itemGetStartup)(int id);
68 void (*itemDelete)(int id);
70 void (*itemRename)(int id, char* newName);
72 void (*itemLaunch)(int id, config_set_t* configSet);
74 config_set_t* (*itemGetConfig)(int id);
76 int (*itemGetImage)(char* folder, int isRelative, char* value, char* suffix, GSTEXTURE* resultTex, short psm);
78 void (*itemCleanUp)(int exception);
80 #ifdef VMC
81 int (*itemCheckVMC)(char* name, int createSize);
82 #endif
84 int iconId;
85 } item_list_t;
87 #endif