Applying patches by Michi to Enigma
This commit is contained in:
@@ -305,11 +305,11 @@ namespace enigma { namespace lev {
|
||||
}
|
||||
|
||||
if (doc != NULL && !app.domParserErrorHandler->getSawErrors()) {
|
||||
infoElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
infoElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("info").x_str())->item(0));
|
||||
updateElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
updateElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("update").x_str())->item(0));
|
||||
levelsElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
levelsElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("levels").x_str())->item(0));
|
||||
}
|
||||
|
||||
@@ -396,7 +396,7 @@ namespace enigma { namespace lev {
|
||||
knownAttributes.insert("unit");
|
||||
knownAttributes.insert("target");
|
||||
for (int i = 0, l = levelList->getLength(); i < l; i++) {
|
||||
DOMElement *levelElem = dynamic_cast<DOMElement *>(levelList->item(i));
|
||||
DOMElement *levelElem = reinterpret_cast<DOMElement *>(levelList->item(i));
|
||||
std::string path = XMLtoUtf8(levelElem->getAttribute(
|
||||
Utf8ToXML("_xpath").x_str())).c_str();
|
||||
std::string id = XMLtoUtf8(levelElem->getAttribute(
|
||||
@@ -436,7 +436,7 @@ namespace enigma { namespace lev {
|
||||
Utf8ToXML("target").x_str())).c_str();
|
||||
DOMNamedNodeMap * attrMap = levelElem->getAttributes();
|
||||
for (int j = 0, k = attrMap->getLength(); j < k; j++) {
|
||||
DOMAttr * levelAttr = dynamic_cast<DOMAttr *>(attrMap->item(j));
|
||||
DOMAttr * levelAttr = reinterpret_cast<DOMAttr *>(attrMap->item(j));
|
||||
std::string attrName = XMLtoUtf8(levelAttr->getName()).c_str();
|
||||
if (knownAttributes.find(attrName) == knownAttributes.end()) {
|
||||
Log << "PersistentIndex Load unknown Attribut: " << attrName << "\n";
|
||||
@@ -660,9 +660,9 @@ namespace enigma { namespace lev {
|
||||
app.domParserSchemaResolver->addSchemaId("index.xsd","index.xsd");
|
||||
doc = app.domParser->parseURI(indexTemplatePath.c_str());
|
||||
if (doc != NULL && !app.domParserErrorHandler->getSawErrors()) {
|
||||
infoElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
infoElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("info").x_str())->item(0));
|
||||
levelsElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
levelsElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("levels").x_str())->item(0));
|
||||
}
|
||||
if(app.domParserErrorHandler->getSawErrors()) {
|
||||
@@ -777,7 +777,7 @@ namespace enigma { namespace lev {
|
||||
DOMNodeList *levList = levelsElem->getElementsByTagName(
|
||||
Utf8ToXML("level").x_str());
|
||||
for (int i = 0, l = levList-> getLength(); i < l; i++) {
|
||||
DOMElement *levElem = dynamic_cast<DOMElement *>(levList->item(i));
|
||||
DOMElement *levElem = reinterpret_cast<DOMElement *>(levList->item(i));
|
||||
levElem->setAttribute( Utf8ToXML("_seq").x_str(),
|
||||
Utf8ToXML(ecl::strf("%d",i+1)).x_str());
|
||||
}
|
||||
|
||||
@@ -564,7 +564,7 @@ namespace enigma { namespace lev {
|
||||
#endif
|
||||
}
|
||||
if (doc != NULL && !app.domParserErrorHandler->getSawErrors()) {
|
||||
infoElem = dynamic_cast<DOMElement *>(doc->getElementsByTagNameNS(
|
||||
infoElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("info").x_str())->item(0));
|
||||
stringList = doc->getElementsByTagNameNS(levelNS,
|
||||
Utf8ToXML("string").x_str());
|
||||
@@ -631,7 +631,7 @@ namespace enigma { namespace lev {
|
||||
DOMNodeList *depList = infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("dependency").x_str());
|
||||
for (int i = 0, l = depList->getLength(); i < l; i++) {
|
||||
DOMElement *depElem = dynamic_cast<DOMElement *>(depList->item(i));
|
||||
DOMElement *depElem = reinterpret_cast<DOMElement *>(depList->item(i));
|
||||
std::string depPath;
|
||||
std::string depId;
|
||||
int depRelease;
|
||||
@@ -763,7 +763,7 @@ namespace enigma { namespace lev {
|
||||
lua_State *L = lua::LevelState();
|
||||
DOMNodeList * luamainList = doc->getElementsByTagNameNS(levelNS, Utf8ToXML("luamain").x_str());
|
||||
if (luamainList->getLength() == 1) {
|
||||
DOMElement *luamain = dynamic_cast<DOMElement *>(luamainList->item(0));
|
||||
DOMElement *luamain = reinterpret_cast<DOMElement *>(luamainList->item(0));
|
||||
// add debugging info to lua code
|
||||
std::string luaCode = "--@" + absLevelPath + "\n" +
|
||||
XMLtoUtf8(luamain->getTextContent()).c_str();
|
||||
@@ -793,7 +793,7 @@ namespace enigma { namespace lev {
|
||||
if (key == "title" || key == "subtitle") {
|
||||
// get the english originals from the identity attributes
|
||||
DOMElement *identityElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("identity").x_str())->item(0));
|
||||
english = XMLtoUtf8(identityElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML(&key).x_str())).c_str();
|
||||
@@ -805,7 +805,7 @@ namespace enigma { namespace lev {
|
||||
bool keyFound = false;
|
||||
bool protectedString = true;
|
||||
for (int i = 0, l = stringList-> getLength(); i < l && !translFound; i++) {
|
||||
DOMElement *stringElem = dynamic_cast<DOMElement *>(stringList->item(i));
|
||||
DOMElement *stringElem = reinterpret_cast<DOMElement *>(stringList->item(i));
|
||||
if (key == XMLtoUtf8(stringElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("key").x_str())).c_str()) {
|
||||
keyFound = true;
|
||||
@@ -814,7 +814,7 @@ namespace enigma { namespace lev {
|
||||
if (protectedString) {
|
||||
// resolve english text from string->english subelement
|
||||
DOMElement *englishElem =
|
||||
dynamic_cast<DOMElement *>(stringElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(stringElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("english").x_str())->item(0));
|
||||
std::string tmp = XMLtoUtf8(englishElem->getTextContent()).c_str();
|
||||
if (!tmp.empty()) {
|
||||
@@ -832,7 +832,7 @@ namespace enigma { namespace lev {
|
||||
DOMNodeList *translList = stringElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("translation").x_str());
|
||||
for (int i = 0, l = translList-> getLength(); i < l && !translFound; i++) {
|
||||
DOMElement *translElem = dynamic_cast<DOMElement *>(translList->item(i));
|
||||
DOMElement *translElem = reinterpret_cast<DOMElement *>(translList->item(i));
|
||||
if (lang == XMLtoUtf8(translElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("lang").x_str())).c_str()) {
|
||||
translation = XMLtoUtf8(translElem->getTextContent()).c_str();
|
||||
@@ -873,7 +873,7 @@ namespace enigma { namespace lev {
|
||||
bool Proxy::updateId() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *identityElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("identity").x_str())->item(0));
|
||||
std::string docId = XMLtoUtf8(identityElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("id").x_str())).c_str();
|
||||
@@ -894,7 +894,7 @@ namespace enigma { namespace lev {
|
||||
int Proxy::getScoreVersion() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *versionElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("version").x_str())->item(0));
|
||||
scoreVersion = XMLString::parseInt(versionElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("score").x_str()));
|
||||
@@ -905,7 +905,7 @@ namespace enigma { namespace lev {
|
||||
bool Proxy::updateReleaseVersion() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *versionElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("version").x_str())->item(0));
|
||||
int docRelease = XMLString::parseInt(versionElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("release").x_str()));
|
||||
@@ -927,7 +927,7 @@ namespace enigma { namespace lev {
|
||||
int Proxy::getRevisionNumber() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *versionElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("version").x_str())->item(0));
|
||||
const XMLCh * revision = versionElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("revision").x_str());
|
||||
@@ -959,7 +959,7 @@ namespace enigma { namespace lev {
|
||||
levelStatusType Proxy::getLevelStatus() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *versionElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("version").x_str())->item(0));
|
||||
std::string status = XMLtoUtf8(versionElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("status").x_str())).c_str();
|
||||
@@ -978,7 +978,7 @@ namespace enigma { namespace lev {
|
||||
std::string Proxy::getAuthor() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *authorElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("author").x_str())->item(0));
|
||||
author = XMLtoUtf8(authorElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("name").x_str())).c_str();
|
||||
@@ -989,7 +989,7 @@ namespace enigma { namespace lev {
|
||||
std::string Proxy::getTitle() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *identityElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("identity").x_str())->item(0));
|
||||
title = XMLtoUtf8(identityElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("title").x_str())).c_str();
|
||||
@@ -1000,7 +1000,7 @@ namespace enigma { namespace lev {
|
||||
bool Proxy::hasEasymode() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *modesElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("modes").x_str())->item(0));
|
||||
hasEasymodeFlag = boolValue(modesElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("easy").x_str()));
|
||||
@@ -1012,7 +1012,7 @@ namespace enigma { namespace lev {
|
||||
std::string contact;
|
||||
if (doc != NULL) {
|
||||
DOMElement *authorElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("author").x_str())->item(0));
|
||||
contact = XMLtoUtf8(authorElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("email").x_str())).c_str();
|
||||
@@ -1024,7 +1024,7 @@ namespace enigma { namespace lev {
|
||||
std::string homepage;
|
||||
if (doc != NULL) {
|
||||
DOMElement *authorElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("author").x_str())->item(0));
|
||||
homepage = XMLtoUtf8(authorElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("homepage").x_str())).c_str();
|
||||
@@ -1036,7 +1036,7 @@ namespace enigma { namespace lev {
|
||||
double value = 0.92;
|
||||
if (doc != NULL) {
|
||||
DOMElement *compatibilityElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("compatibility").x_str())->item(0));
|
||||
XMLDouble * result = new XMLDouble(compatibilityElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("enigma").x_str()));
|
||||
@@ -1049,7 +1049,7 @@ namespace enigma { namespace lev {
|
||||
GameType Proxy::getEngineCompatibility() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *authorElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("compatibility").x_str())->item(0));
|
||||
engineCompatibility = GetGameType(XMLtoUtf8(authorElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("engine").x_str())).c_str());
|
||||
@@ -1062,7 +1062,7 @@ namespace enigma { namespace lev {
|
||||
controlType control = force;
|
||||
if (doc != NULL) {
|
||||
DOMElement *authorElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("modes").x_str())->item(0));
|
||||
std::string controlString = XMLtoUtf8(authorElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("control").x_str())).c_str();
|
||||
@@ -1079,7 +1079,7 @@ namespace enigma { namespace lev {
|
||||
scoreUnitType Proxy::getScoreUnit() {
|
||||
if (doc != NULL) {
|
||||
DOMElement *modesElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("modes").x_str())->item(0));
|
||||
std::string txt = XMLtoUtf8(modesElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("scoreunit").x_str())).c_str();
|
||||
@@ -1096,7 +1096,7 @@ namespace enigma { namespace lev {
|
||||
std::string title = "time";
|
||||
if (doc != NULL) {
|
||||
DOMElement *modesElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("modes").x_str())->item(0));
|
||||
title = XMLtoUtf8(modesElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("scoretarget").x_str())).c_str();
|
||||
@@ -1109,7 +1109,7 @@ namespace enigma { namespace lev {
|
||||
std::string attribute = infoUsage ? "showinfo" : "showstart";
|
||||
if (doc != NULL) {
|
||||
DOMElement *creditsElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("credits").x_str())->item(0));
|
||||
if (creditsElem != NULL) // element is optional
|
||||
if (boolValue(creditsElem->getAttributeNS(levelNS,
|
||||
@@ -1124,7 +1124,7 @@ namespace enigma { namespace lev {
|
||||
std::string attribute = infoUsage ? "showinfo" : "showstart";
|
||||
if (doc != NULL) {
|
||||
DOMElement *dedicationElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("dedication").x_str())->item(0));
|
||||
if (dedicationElem != NULL) // element is optional
|
||||
if (boolValue(dedicationElem->getAttributeNS(levelNS,
|
||||
@@ -1137,7 +1137,7 @@ namespace enigma { namespace lev {
|
||||
int score = -1;
|
||||
if (doc != NULL) {
|
||||
DOMElement *versionElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("score").x_str())->item(0));
|
||||
score = scoreText2Int(XMLtoUtf8(versionElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("easy").x_str())).c_str());
|
||||
@@ -1149,7 +1149,7 @@ namespace enigma { namespace lev {
|
||||
int score = -1;
|
||||
if (doc != NULL) {
|
||||
DOMElement *versionElem =
|
||||
dynamic_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
reinterpret_cast<DOMElement *>(infoElem->getElementsByTagNameNS(
|
||||
levelNS, Utf8ToXML("score").x_str())->item(0));
|
||||
score = scoreText2Int(XMLtoUtf8(versionElem->getAttributeNS(levelNS,
|
||||
Utf8ToXML("difficult").x_str())).c_str());
|
||||
|
||||
@@ -134,7 +134,7 @@ namespace enigma { namespace lev {
|
||||
DOMDocument *doc = app.domParser->parseURI(path.c_str());
|
||||
if (doc != NULL && !app.domParserErrorHandler->getSawErrors()) {
|
||||
DOMElement *updateElem =
|
||||
dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("update").x_str())->item(0));
|
||||
std::time_t newVersion = timeValue(updateElem->getAttribute(Utf8ToXML("date").x_str()));
|
||||
bool isUpdate = (std::difftime(newVersion, ratingVersion) > 0) ? true : false;
|
||||
@@ -148,7 +148,7 @@ namespace enigma { namespace lev {
|
||||
DOMNodeList *levelList = doc->getElementsByTagName(
|
||||
Utf8ToXML("level").x_str());
|
||||
for (int i = 0, l = levelList-> getLength(); i < l; i++) {
|
||||
DOMElement *levelElem = dynamic_cast<DOMElement *>(levelList->item(i));
|
||||
DOMElement *levelElem = reinterpret_cast<DOMElement *>(levelList->item(i));
|
||||
const XMLCh * attr = levelElem->getAttribute(Utf8ToXML("id").x_str());
|
||||
std::string id = XMLtoUtf8(attr).c_str();
|
||||
attr = levelElem->getAttribute(Utf8ToXML("sv").x_str());
|
||||
@@ -335,13 +335,13 @@ namespace enigma { namespace lev {
|
||||
app.domParserSchemaResolver->addSchemaId("ratings.xsd","ratings.xsd");
|
||||
saveDoc = app.domParser->parseURI(ratTemplatePath.c_str());
|
||||
if (saveDoc != NULL && !app.domParserErrorHandler->getSawErrors()) {
|
||||
DOMElement * updateElem = dynamic_cast<DOMElement *>(saveDoc->getElementsByTagName(
|
||||
DOMElement * updateElem = reinterpret_cast<DOMElement *>(saveDoc->getElementsByTagName(
|
||||
Utf8ToXML("update").x_str())->item(0));
|
||||
updateElem->setAttribute(Utf8ToXML("date").x_str(), Utf8ToXML(ratingVersionString.c_str()).x_str());
|
||||
updateElem->setAttribute(Utf8ToXML("urlFull").x_str(), Utf8ToXML(urlFullUpdate.c_str()).x_str());
|
||||
updateElem->setAttribute(Utf8ToXML("urlIncremental").x_str(), Utf8ToXML(urlIncrementalUpdate.c_str()).x_str());
|
||||
updateElem->setAttribute(Utf8ToXML("delay").x_str(), Utf8ToXML(ecl::strf("%d",updateMinDelay).c_str()).x_str());
|
||||
levelsElem = dynamic_cast<DOMElement *>(saveDoc->getElementsByTagName(
|
||||
levelsElem = reinterpret_cast<DOMElement *>(saveDoc->getElementsByTagName(
|
||||
Utf8ToXML("levels").x_str())->item(0));
|
||||
std::for_each(cache.begin(), cache.end(), saveLevelRating);
|
||||
std::string writePath = app.userPath + "/" + RATINGSFILENAME;
|
||||
|
||||
@@ -81,7 +81,7 @@ namespace {
|
||||
#endif
|
||||
if (node->getNodeType () == DOMNode::ELEMENT_NODE &&
|
||||
std::string(XMLtoUtf8(node->getNodeName()).c_str()) == "level") {
|
||||
const DOMElement *e = dynamic_cast<const DOMElement *>(node);
|
||||
const DOMElement *e = reinterpret_cast<const DOMElement *>(node);
|
||||
std::string id = XMLtoUtf8(e->getAttribute(Utf8ToXML("id").x_str())).c_str();
|
||||
if (id.find("Import ") == 0) {
|
||||
// reject scores for levels imported from dat files
|
||||
@@ -182,9 +182,9 @@ namespace enigma { namespace lev {
|
||||
|
||||
}
|
||||
if (doc != NULL && !app.domParserErrorHandler->getSawErrors()) {
|
||||
propertiesElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
propertiesElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("properties").x_str())->item(0));
|
||||
levelsElem = dynamic_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
levelsElem = reinterpret_cast<DOMElement *>(doc->getElementsByTagName(
|
||||
Utf8ToXML("levels").x_str())->item(0));
|
||||
levelList = levelsElem->getElementsByTagName(Utf8ToXML("level").x_str());
|
||||
|
||||
@@ -192,13 +192,13 @@ namespace enigma { namespace lev {
|
||||
if (hasValidStateUserId && userId == stateUserId) {
|
||||
hasValidUserId = true;
|
||||
for (int i = 0, l = levelList->getLength(); i < l; i++) {
|
||||
DOMElement * levelElem = dynamic_cast<DOMElement *>(levelList->item(i));
|
||||
DOMElement * levelElem = reinterpret_cast<DOMElement *>(levelList->item(i));
|
||||
std::string levelId = XMLtoUtf8(levelElem->getAttribute(Utf8ToXML("id").x_str())).c_str();
|
||||
std::string scoreVersion = XMLtoUtf8(levelElem->getAttribute(Utf8ToXML("version").x_str())).c_str();
|
||||
DOMNamedNodeMap * attrXMap = levelElem->getAttributes();
|
||||
std::map<std::string, std::string> attrMap;
|
||||
for (int j = 0, k = attrXMap->getLength(); j < k; j++) {
|
||||
DOMAttr * levelAttr = dynamic_cast<DOMAttr *>(attrXMap->item(j));
|
||||
DOMAttr * levelAttr = reinterpret_cast<DOMAttr *>(attrXMap->item(j));
|
||||
std::string attrName = XMLtoUtf8(levelAttr->getName()).c_str();
|
||||
if (attrName != "sec" && levelAttr->getSpecified())
|
||||
attrMap[attrName] = XMLtoUtf8(levelAttr->getValue()).c_str();
|
||||
@@ -383,11 +383,11 @@ namespace enigma { namespace lev {
|
||||
}
|
||||
|
||||
for (int i = 0, l = levelList->getLength(); i < l; i++) {
|
||||
DOMElement * levelElem = dynamic_cast<DOMElement *>(levelList->item(i));
|
||||
DOMElement * levelElem = reinterpret_cast<DOMElement *>(levelList->item(i));
|
||||
DOMNamedNodeMap * attrXMap = levelElem->getAttributes();
|
||||
std::map<std::string, std::string> attrMap;
|
||||
for (int j = 0, k = attrXMap->getLength(); j < k; j++) {
|
||||
DOMAttr * levelAttr = dynamic_cast<DOMAttr *>(attrXMap->item(j));
|
||||
DOMAttr * levelAttr = reinterpret_cast<DOMAttr *>(attrXMap->item(j));
|
||||
std::string attrName = XMLtoUtf8(levelAttr->getName()).c_str();
|
||||
if (attrName != "sec" && levelAttr->getSpecified())
|
||||
attrMap[attrName] = XMLtoUtf8(levelAttr->getValue()).c_str();
|
||||
@@ -1007,7 +1007,7 @@ namespace enigma { namespace lev {
|
||||
std::string ScoreManager::upgradeSum() {
|
||||
std::string scores;
|
||||
for (int i = 0, l = levelList->getLength(); i < l; i++) {
|
||||
DOMElement * level = dynamic_cast<DOMElement *>(levelList->item(i));
|
||||
DOMElement * level = reinterpret_cast<DOMElement *>(levelList->item(i));
|
||||
const XMLCh *attr = level->getAttribute(Utf8ToXML("diff1").x_str());
|
||||
int score = (XMLString::stringLen(attr) > 0) ? XMLString::parseInt(attr) : -1;
|
||||
if (score >= 0)
|
||||
|
||||
Reference in New Issue
Block a user