mirror of
https://github.com/Xpl0itU/WiiUDownloader.git
synced 2025-05-09 13:52:02 -04:00
136 lines
2.8 KiB
Go
136 lines
2.8 KiB
Go
package wiiudownloader
|
|
|
|
const (
|
|
MCP_REGION_JAPAN = 0x01
|
|
MCP_REGION_USA = 0x02
|
|
MCP_REGION_EUROPE = 0x04
|
|
MCP_REGION_CHINA = 0x10
|
|
MCP_REGION_KOREA = 0x20
|
|
MCP_REGION_TAIWAN = 0x40
|
|
)
|
|
|
|
const (
|
|
TITLE_KEY_mypass = iota
|
|
TITLE_KEY_nintendo
|
|
TITLE_KEY_test
|
|
TITLE_KEY_1234567890
|
|
TITLE_KEY_Lucy131211
|
|
TITLE_KEY_fbf10
|
|
TITLE_KEY_5678
|
|
TITLE_KEY_1234
|
|
TITLE_KEY_
|
|
TITLE_KEY_MAGIC
|
|
)
|
|
|
|
const (
|
|
TITLE_CATEGORY_GAME = iota
|
|
TITLE_CATEGORY_UPDATE
|
|
TITLE_CATEGORY_DLC
|
|
TITLE_CATEGORY_DEMO
|
|
TITLE_CATEGORY_ALL
|
|
TITLE_CATEGORY_DISC
|
|
)
|
|
|
|
const (
|
|
TID_HIGH_GAME = 0x00050000
|
|
TID_HIGH_DEMO = 0x00050002
|
|
TID_HIGH_SYSTEM_APP = 0x00050010
|
|
TID_HIGH_SYSTEM_DATA = 0x0005001B
|
|
TID_HIGH_SYSTEM_APPLET = 0x00050030
|
|
TID_HIGH_VWII_IOS = 0x00000007
|
|
TID_HIGH_VWII_SYSTEM_APP = 0x00070002
|
|
TID_HIGH_VWII_SYSTEM = 0x00070008
|
|
TID_HIGH_DLC = 0x0005000C
|
|
TID_HIGH_UPDATE = 0x0005000E
|
|
)
|
|
|
|
func GetTitleEntries(category uint8) []TitleEntry {
|
|
titleEntries := make([]TitleEntry, 0)
|
|
for _, entry := range titleEntry {
|
|
if category == TITLE_CATEGORY_ALL || category == entry.Category {
|
|
if entry.Category == TITLE_CATEGORY_DISC {
|
|
continue
|
|
}
|
|
titleEntries = append(titleEntries, entry)
|
|
}
|
|
}
|
|
return titleEntries
|
|
}
|
|
|
|
func GetFormattedRegion(region uint8) string {
|
|
if region&MCP_REGION_EUROPE != 0 {
|
|
if region&MCP_REGION_USA != 0 {
|
|
if region&MCP_REGION_JAPAN != 0 {
|
|
return "All"
|
|
}
|
|
return "USA/Europe"
|
|
}
|
|
if region&MCP_REGION_JAPAN != 0 {
|
|
return "Europe/Japan"
|
|
}
|
|
return "Europe"
|
|
}
|
|
if region&MCP_REGION_USA != 0 {
|
|
if region&MCP_REGION_JAPAN != 0 {
|
|
return "USA/Japan"
|
|
}
|
|
return "USA"
|
|
}
|
|
if region&MCP_REGION_JAPAN != 0 {
|
|
return "Japan"
|
|
}
|
|
return "Unknown"
|
|
}
|
|
|
|
func GetFormattedKind(titleID uint64) string {
|
|
switch titleID >> 32 {
|
|
case TID_HIGH_GAME:
|
|
return "Game"
|
|
case TID_HIGH_DEMO:
|
|
return "Demo"
|
|
case TID_HIGH_SYSTEM_APP:
|
|
return "System App"
|
|
case TID_HIGH_SYSTEM_DATA:
|
|
return "System Data"
|
|
case TID_HIGH_SYSTEM_APPLET:
|
|
return "System Applet"
|
|
case TID_HIGH_VWII_IOS:
|
|
return "vWii IOS"
|
|
case TID_HIGH_VWII_SYSTEM_APP:
|
|
return "vWii System App"
|
|
case TID_HIGH_VWII_SYSTEM:
|
|
return "vWii System"
|
|
case TID_HIGH_DLC:
|
|
return "DLC"
|
|
case TID_HIGH_UPDATE:
|
|
return "Update"
|
|
default:
|
|
return "Unknown"
|
|
}
|
|
}
|
|
|
|
func GetCategoryFromFormattedCategory(formattedCategory string) uint8 {
|
|
switch formattedCategory {
|
|
case "Game":
|
|
return TITLE_CATEGORY_GAME
|
|
case "Update":
|
|
return TITLE_CATEGORY_UPDATE
|
|
case "DLC":
|
|
return TITLE_CATEGORY_DLC
|
|
case "Demo":
|
|
return TITLE_CATEGORY_DEMO
|
|
case "All":
|
|
return TITLE_CATEGORY_ALL
|
|
default:
|
|
return TITLE_CATEGORY_ALL
|
|
}
|
|
}
|
|
|
|
func GetTitleEntryFromTid(tid uint64) TitleEntry {
|
|
for _, entry := range GetTitleEntries(TITLE_CATEGORY_ALL) {
|
|
if entry.TitleID == tid {
|
|
return entry
|
|
}
|
|
}
|
|
return TitleEntry{}
|
|
}
|