forked from Mirror/GodMode9
32 lines
926 B
C
32 lines
926 B
C
#pragma once
|
|
|
|
#include "common.h"
|
|
#include "tmd.h"
|
|
#include "ncch.h"
|
|
#include "nds.h"
|
|
|
|
// There's probably a better place to put this
|
|
#define SD_TITLEDB_PATH(emu) ((emu) ? "B:/dbs/title.db" : "A:/dbs/title.db")
|
|
|
|
|
|
// see: https://www.3dbrew.org/wiki/Title_Database
|
|
typedef struct {
|
|
u64 title_size;
|
|
u32 title_type; // usually == 0x40
|
|
u32 title_version;
|
|
u8 flags_0[4];
|
|
u32 tmd_content_id;
|
|
u32 cmd_content_id;
|
|
u8 flags_1[4];
|
|
u32 extdata_id_low; // 0 if the title doesn't use extdata
|
|
u8 reserved1[4];
|
|
u8 flags_2[8];
|
|
char product_code[16];
|
|
u8 reserved2[16];
|
|
u8 unknown[4]; // appears to not matter what's here
|
|
u8 reserved3[44];
|
|
} __attribute__((packed)) TitleInfoEntry;
|
|
|
|
u32 BuildTitleInfoEntryTwl(TitleInfoEntry* tie, TitleMetaData* tmd, TwlHeader* twl);
|
|
u32 BuildTitleInfoEntryNcch(TitleInfoEntry* tie, TitleMetaData* tmd, NcchHeader* ncch, NcchExtHeader* exthdr, bool sd);
|