Use array for regional ratings.
This commit is contained in:
parent
df96656ff5
commit
e60b6b8f23
3 changed files with 24 additions and 31 deletions
|
@ -24,25 +24,18 @@ typedef struct {
|
||||||
u16 publisher[0x40] = {0};
|
u16 publisher[0x40] = {0};
|
||||||
} SMDHTitle;
|
} SMDHTitle;
|
||||||
|
|
||||||
typedef struct {
|
// TODO: Provide values to set ratings to.
|
||||||
// TODO: values...
|
typedef enum {
|
||||||
u8 cero = 0;
|
CERO = 0,
|
||||||
u8 esrb = 0;
|
ESRB = 1,
|
||||||
u8 reserved0 = 0;
|
USK = 3,
|
||||||
u8 usk = 0;
|
PEGI_GEN = 4,
|
||||||
u8 pegiGen = 0;
|
PEGI_PTR = 6,
|
||||||
u8 reserved1 = 0;
|
PEGI_BBFC = 7,
|
||||||
u8 pegiPrt = 0;
|
COB = 8,
|
||||||
u8 pegiBbfc = 0;
|
GRB = 9,
|
||||||
u8 cob = 0;
|
CGSRR = 10
|
||||||
u8 grb = 0;
|
} SMDHGameRating;
|
||||||
u8 cgsrr = 0;
|
|
||||||
u8 reserved2 = 0;
|
|
||||||
u8 reserved3 = 0;
|
|
||||||
u8 reserved4 = 0;
|
|
||||||
u8 reserved5 = 0;
|
|
||||||
u8 reserved6 = 0;
|
|
||||||
} SMDHGameRatings;
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
JAPAN = 0x01,
|
JAPAN = 0x01,
|
||||||
|
@ -71,7 +64,7 @@ typedef enum {
|
||||||
} SMDHFlag;
|
} SMDHFlag;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
SMDHGameRatings gameRatings;
|
u8 gameRatings[0x10] = {0};
|
||||||
u32 regionLock = REGION_FREE;
|
u32 regionLock = REGION_FREE;
|
||||||
u8 matchMakerId[0xC] = {0};
|
u8 matchMakerId[0xC] = {0};
|
||||||
u32 flags = VISIBLE | ALLOW_3D | RECORD_USAGE;
|
u32 flags = VISIBLE | ALLOW_3D | RECORD_USAGE;
|
||||||
|
|
|
@ -7,6 +7,16 @@ u8 TILE_ORDER[64] = { 0, 1, 8, 9, 2, 3, 10, 11, 16, 17, 24, 25, 18, 19, 26
|
||||||
32, 33, 40, 41, 34, 35, 42, 43, 48, 49, 56, 57, 50, 51, 58, 59,
|
32, 33, 40, 41, 34, 35, 42, 43, 48, 49, 56, 57, 50, 51, 58, 59,
|
||||||
36, 37, 44, 45, 38, 39, 46, 47, 52, 53, 60, 61, 54, 55, 62, 63 };
|
36, 37, 44, 45, 38, 39, 46, 47, 52, 53, 60, 61, 54, 55, 62, 63 };
|
||||||
|
|
||||||
|
void utf8_to_utf16(u16* dst, const char* src, size_t max_len) {
|
||||||
|
size_t n = 0;
|
||||||
|
while(src[n]) {
|
||||||
|
dst[n] = (u16) src[n];
|
||||||
|
if(n++ >= max_len) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
u16 pack_color(u8 r, u8 g, u8 b, u8 a, PixelFormat format) {
|
u16 pack_color(u8 r, u8 g, u8 b, u8 a, PixelFormat format) {
|
||||||
if(format == RGB565) {
|
if(format == RGB565) {
|
||||||
float alpha = a / 255.0f;
|
float alpha = a / 255.0f;
|
||||||
|
@ -64,13 +74,3 @@ u16* image_to_tiles(const char* image, u32 width, u32 height, PixelFormat format
|
||||||
|
|
||||||
return converted;
|
return converted;
|
||||||
}
|
}
|
||||||
|
|
||||||
void utf8_to_utf16(u16* dst, const char* src, size_t max_len) {
|
|
||||||
size_t n = 0;
|
|
||||||
while(src[n]) {
|
|
||||||
dst[n] = (u16) src[n];
|
|
||||||
if(n++ >= max_len) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -8,8 +8,8 @@ typedef enum {
|
||||||
RGBA4444
|
RGBA4444
|
||||||
} PixelFormat;
|
} PixelFormat;
|
||||||
|
|
||||||
|
void utf8_to_utf16(u16* dst, const char* src, size_t max_len);
|
||||||
u16 pack_color(u8 r, u8 g, u8 b, u8 a, PixelFormat format);
|
u16 pack_color(u8 r, u8 g, u8 b, u8 a, PixelFormat format);
|
||||||
u16* image_to_tiles(const char* image, u32 width, u32 height, PixelFormat format, u32* size);
|
u16* image_to_tiles(const char* image, u32 width, u32 height, PixelFormat format, u32* size);
|
||||||
void utf8_to_utf16(u16* dst, const char* src, size_t max_len);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
Loading…
Reference in a new issue