Compare commits
4 Commits
97b97bedc1
...
d2e95f3a0d
Author | SHA1 | Date |
---|---|---|
thepikachugamer | d2e95f3a0d | |
thepikachugamer | 608d954afe | |
MikeIsAStar | 13dd003f3d | |
Naim2000 | 0cf8c31447 |
|
@ -4,38 +4,36 @@
|
||||||
|
|
||||||
#include "appmetadata.h"
|
#include "appmetadata.h"
|
||||||
|
|
||||||
static char* GetStringValue(mxml_node_t* node, const char* element)
|
static const char* GetStringValue(mxml_node_t* node, const char* element)
|
||||||
{
|
{
|
||||||
mxml_node_t* elementNode = mxmlFindElement(node, node, element, NULL, NULL, MXML_DESCEND_FIRST);
|
mxml_node_t* elementNode = mxmlFindElement(node, node, element, NULL, NULL, MXML_DESCEND_FIRST);
|
||||||
|
if (!elementNode) return NULL;
|
||||||
if (elementNode)
|
|
||||||
{
|
|
||||||
mxml_node_t* current = elementNode->child;
|
|
||||||
|
|
||||||
while (current && current->type != MXML_OPAQUE)
|
mxml_node_t* current = mxmlGetFirstChild(elementNode);
|
||||||
current = mxmlWalkNext(current, elementNode, MXML_NO_DESCEND);
|
|
||||||
|
while (current && mxmlGetType(current) != MXML_OPAQUE)
|
||||||
|
current = mxmlWalkNext(current, elementNode, MXML_NO_DESCEND);
|
||||||
|
|
||||||
|
if (current)
|
||||||
|
return mxmlGetOpaque(current);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
|
||||||
if (current->type == MXML_OPAQUE)
|
|
||||||
return current->value.opaque;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static char* GetArgumentValue(mxml_node_t* node)
|
static const char* GetArgumentValue(mxml_node_t* node)
|
||||||
{
|
{
|
||||||
if (node)
|
if (!node) return NULL;
|
||||||
{
|
|
||||||
mxml_node_t* current = node->child;
|
|
||||||
|
|
||||||
while (current && current->type != MXML_OPAQUE)
|
mxml_node_t* current = mxmlGetFirstChild(node);
|
||||||
current = mxmlWalkNext(current, node, MXML_NO_DESCEND);
|
|
||||||
|
|
||||||
if (current->type == MXML_OPAQUE)
|
while (current && mxmlGetType(current) != MXML_OPAQUE)
|
||||||
return current->value.opaque;
|
current = mxmlWalkNext(current, node, MXML_NO_DESCEND);
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
if (current)
|
||||||
|
return mxmlGetOpaque(current);
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct MetaData* LoadMetaData(const char* path)
|
struct MetaData* LoadMetaData(const char* path)
|
||||||
|
@ -142,7 +140,7 @@ char* LoadArguments(const char* path, u16* length)
|
||||||
|
|
||||||
for (arg = mxmlFindElement(arguments, arguments, "arg", NULL, NULL, MXML_DESCEND_FIRST); arg != NULL; arg = mxmlFindElement(arg, arguments, "arg", NULL, NULL, MXML_NO_DESCEND))
|
for (arg = mxmlFindElement(arguments, arguments, "arg", NULL, NULL, MXML_DESCEND_FIRST); arg != NULL; arg = mxmlFindElement(arg, arguments, "arg", NULL, NULL, MXML_NO_DESCEND))
|
||||||
{
|
{
|
||||||
char* current = GetArgumentValue(arg);
|
const char* current = GetArgumentValue(arg);
|
||||||
|
|
||||||
if (current)
|
if (current)
|
||||||
{
|
{
|
||||||
|
@ -165,7 +163,7 @@ char* LoadArguments(const char* path, u16* length)
|
||||||
|
|
||||||
for (arg = mxmlFindElement(arguments, arguments, "arg", NULL, NULL, MXML_DESCEND_FIRST); arg != NULL; arg = mxmlFindElement(arg, arguments, "arg", NULL, NULL, MXML_NO_DESCEND))
|
for (arg = mxmlFindElement(arguments, arguments, "arg", NULL, NULL, MXML_DESCEND_FIRST); arg != NULL; arg = mxmlFindElement(arg, arguments, "arg", NULL, NULL, MXML_NO_DESCEND))
|
||||||
{
|
{
|
||||||
char* current = GetArgumentValue(arg);
|
const char* current = GetArgumentValue(arg);
|
||||||
|
|
||||||
if (current)
|
if (current)
|
||||||
{
|
{
|
||||||
|
@ -186,4 +184,4 @@ char* LoadArguments(const char* path, u16* length)
|
||||||
*length = size;
|
*length = size;
|
||||||
|
|
||||||
return argStr;
|
return argStr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ s32 Title_FakesignTMD(signed_blob *p_tmd)
|
||||||
sha1 hash;
|
sha1 hash;
|
||||||
|
|
||||||
/* Modify TMD fill field */
|
/* Modify TMD fill field */
|
||||||
tmd_data->fill2 = fill;
|
tmd_data->fill3 = fill;
|
||||||
|
|
||||||
/* Calculate hash */
|
/* Calculate hash */
|
||||||
SHA1((u8 *)tmd_data, TMD_SIZE(tmd_data), hash);
|
SHA1((u8 *)tmd_data, TMD_SIZE(tmd_data), hash);
|
||||||
|
|
11
source/wad.c
11
source/wad.c
|
@ -185,16 +185,17 @@ static bool GetRegionFromTXT(char* region)
|
||||||
{
|
{
|
||||||
start++;
|
start++;
|
||||||
|
|
||||||
if (!strncmp(start, "JPN", 3))
|
if (!strncmp(start, "JPN", 3) || !strncmp(start, "TWN", 3) || !strncmp(start, "ROC", 3))
|
||||||
*region = 'J';
|
*region = 'J';
|
||||||
else if (!strncmp(start, "TWN", 3))
|
else if (!strncmp(start, "USA", 3) || !strncmp(start, "BRA", 3) || !strncmp(start, "HKG", 3) ||
|
||||||
*region = 'J';
|
!strncmp(start, "ASI", 3) || !strncmp(start, "LTN", 3) || !strncmp(start, "SAF", 3))
|
||||||
else if (!strncmp(start, "USA", 3))
|
|
||||||
*region = 'U';
|
*region = 'U';
|
||||||
else if (!strncmp(start, "EUR", 3))
|
else if (!strncmp(start, "EUR", 3) || !strncmp(start, "AUS", 3))
|
||||||
*region = 'E';
|
*region = 'E';
|
||||||
else if (!strncmp(start, "KOR", 3))
|
else if (!strncmp(start, "KOR", 3))
|
||||||
*region = 'K';
|
*region = 'K';
|
||||||
|
else if (!strncmp(start, "CHN", 3))
|
||||||
|
printf("Error! GetRegionFromTXT: Unhandled product area \"CHN\"!\n");
|
||||||
|
|
||||||
if (*region != 0)
|
if (*region != 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue