Files
2025-09-29 00:52:08 +02:00

559 lines
28 KiB
Python
Executable File

import sys
from xml.dom.minidom import *
def ParserEnumXml(pXml, pGloDec, pEnumList, pProcList):
IntArray = []
FloatArray = []
BoolArray = []
StringArray = []
VectorArray = []
DateArray = []
dom1 = parse(pXml)
GlobalsDeclaration = ""
EnumList = ""
ProcedureList = ""
TotalNumberOfStats = len(dom1.getElementsByTagName('stat'))
NumberOfIntStats = 0
NumberOfFloatStats = 0
NumberOfBoolStats = 0
NumberOfStringStats = 0
NumberOfVectorStats = 0
NumberOfDateStats = 0
i = 0
GlobalsDeclaration = GlobalsDeclaration + "USING \"Commands_Misc.sch\"\n"
GlobalsDeclaration = GlobalsDeclaration + "USING \"Commands_stats.sch\"\n\n\n"
ProcedureList = ProcedureList + "USING \"Commands_Misc.sch\"\n"
ProcedureList = ProcedureList + "USING \"Globals.sch\"\n"
ProcedureList = ProcedureList + "USING \"ScriptSavesEnumList.sch\"\n\n\n"
for scriptStat in dom1.childNodes:
for stats in scriptStat.childNodes:
for node in stats.childNodes:
if node.nodeName == "stat":
if node.attributes["Type"].value.upper() == "INT":
NumberOfIntStats = NumberOfIntStats + 1
IntArray.append(node)
elif node.attributes["Type"].value.upper() == "FLOAT":
NumberOfFloatStats = NumberOfFloatStats + 1
FloatArray.append(node)
elif node.attributes["Type"].value.upper() == "BOOL":
NumberOfBoolStats = NumberOfBoolStats + 1
BoolArray.append(node)
elif node.attributes["Type"].value.upper() == "STRING":
NumberOfStringStats = NumberOfStringStats + 1
StringArray.append(node)
elif node.attributes["Type"].value.upper() == "VECTOR":
NumberOfVectorStats = NumberOfVectorStats + 1
VectorArray.append(node)
elif node.attributes["Type"].value.upper() == "DATE":
NumberOfDateStats = NumberOfDateStats + 1
DateArray.append(node)
GlobalsDeclaration = GlobalsDeclaration + "CONST_INT MAX_NUM_INT_SCRIPTSAVE " + str(NumberOfIntStats) + "\n"
GlobalsDeclaration = GlobalsDeclaration + "CONST_INT MAX_NUM_FLOAT_SCRIPTSAVE " + str(NumberOfFloatStats) + "\n"
GlobalsDeclaration = GlobalsDeclaration + "CONST_INT MAX_NUM_BOOL_SCRIPTSAVE " + str(NumberOfBoolStats) + "\n"
GlobalsDeclaration = GlobalsDeclaration + "CONST_INT MAX_NUM_STRING_SCRIPTSAVE " + str(NumberOfStringStats) + "\n"
GlobalsDeclaration = GlobalsDeclaration + "CONST_INT MAX_NUM_VECTOR_SCRIPTSAVE " + str(NumberOfVectorStats) + "\n"
GlobalsDeclaration = GlobalsDeclaration + "CONST_INT MAX_NUM_DATE_SCRIPTSAVE " + str(NumberOfDateStats) + "\n"
GlobalsDeclaration = GlobalsDeclaration + "\n"
GlobalsDeclaration = GlobalsDeclaration + "\n"
GlobalsDeclaration = GlobalsDeclaration + "STRUCT MP_SAVE_DATA_STRUCT\n"
GlobalsDeclaration = GlobalsDeclaration + "\tINT g_SaveData_INT_ScriptSaves[MAX_NUM_INT_SCRIPTSAVE] \n"
GlobalsDeclaration = GlobalsDeclaration + "\tFLOAT g_SaveData_FLOAT_ScriptSaves[MAX_NUM_FLOAT_SCRIPTSAVE] \n"
GlobalsDeclaration = GlobalsDeclaration + "\tBOOL g_SaveData_BOOL_ScriptSaves[MAX_NUM_BOOL_SCRIPTSAVE] \n"
GlobalsDeclaration = GlobalsDeclaration + "\tTEXT_LABEL_31 g_SaveData_STRING_ScriptSaves[MAX_NUM_STRING_SCRIPTSAVE] \n"
GlobalsDeclaration = GlobalsDeclaration + "\tVECTOR g_SaveData_VECTOR_ScriptSaves[MAX_NUM_VECTOR_SCRIPTSAVE] \n"
GlobalsDeclaration = GlobalsDeclaration + "\tSTRUCT_STAT_DATE g_SaveData_DATE_ScriptSaves[MAX_NUM_DATE_SCRIPTSAVE] \n"
GlobalsDeclaration = GlobalsDeclaration + "ENDSTRUCT"
GlobalsDeclaration = GlobalsDeclaration + "\n"
for ITEM in IntArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
EnumList = EnumList + "\n"
EnumList = EnumList + "ENUM SCRIPTSAVE_" + ITEM.attributes["Type"].value.upper() + "\n"
ProcedureList = ProcedureList + '\tSTART_SAVE_ARRAY_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves, SIZE_OF("
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves), "
ProcedureList = ProcedureList + "\"g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves\")\n"
ProcedureList = ProcedureList + '\t\tREGISTER_' + ITEM.attributes["Type"].value.upper() + '_TO_SAVE('
ProcedureList = ProcedureList + 'g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]"
ProcedureList = ProcedureList + ', "' + ITEM.attributes["Name"].value.upper() + '")\n'
try:
ProcedureList = ProcedureList + "// " + node.attributes["Comment"].value
except:
None
EnumList = EnumList + "\t" + ITEM.attributes["Name"].value.upper() + ",\n"
if i == NumberOfIntStats - 1:
ProcedureList = ProcedureList + '\tSTOP_SAVE_ARRAY()\n'
ProcedureList = ProcedureList + "ENDPROC\n"
EnumList = EnumList + "\n\n\t" + "MAX_LIMIT_" + ITEM.attributes["Type"].value.upper()
EnumList = EnumList + "\n" + "ENDENUM\n"
#else:
#EnumList = EnumList + ",\n"
i = i + 1
i = 0
for ITEM in IntArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]" + " = " + ITEM.attributes["Default"].value + "\n"
if i == NumberOfIntStats - 1:
ProcedureList = ProcedureList + "ENDPROC\n"
i = i + 1
i = 0
for ITEM in FloatArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
EnumList = EnumList + "\n"
EnumList = EnumList + "ENUM SCRIPTSAVE_" + ITEM.attributes["Type"].value.upper() + "\n"
ProcedureList = ProcedureList + '\tSTART_SAVE_ARRAY_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves, SIZE_OF("
ProcedureList = ProcedureList + 'g_savedMPGlobals.mpSaveData.' + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves), "
ProcedureList = ProcedureList + "\"g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves\")\n"
ProcedureList = ProcedureList + '\t\tREGISTER_' + ITEM.attributes["Type"].value.upper() + '_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]"
ProcedureList = ProcedureList + ', "' + ITEM.attributes["Name"].value.upper() + '")\n'
try:
ProcedureList = ProcedureList + "// " + node.attributes["Comment"].value
except:
None
EnumList = EnumList + "\t" + ITEM.attributes["Name"].value.upper() + ",\n"
if i == NumberOfFloatStats - 1:
ProcedureList = ProcedureList + '\tSTOP_SAVE_ARRAY()\n'
ProcedureList = ProcedureList + "ENDPROC\n"
EnumList = EnumList + "\n\n\t" + "MAX_LIMIT_" + ITEM.attributes["Type"].value.upper()
EnumList = EnumList + "\n" + "ENDENUM\n"
#else:
# EnumList = EnumList + ",\n"
i = i + 1
i = 0
for ITEM in FloatArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
ProcedureList = ProcedureList + "\t"
ProcedureList = ProcedureList + 'g_savedMPGlobals.mpSaveData.g_SaveData_' + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]" + " = " + ITEM.attributes["Default"].value + "\n"
if i == NumberOfFloatStats - 1:
ProcedureList = ProcedureList + "ENDPROC\n"
i = i + 1
i = 0
for ITEM in BoolArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
EnumList = EnumList + "\n"
EnumList = EnumList + "ENUM SCRIPTSAVE_" + ITEM.attributes["Type"].value.upper() + "\n"
ProcedureList = ProcedureList + '\tSTART_SAVE_ARRAY_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves, SIZE_OF("
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves), "
ProcedureList = ProcedureList + "\"g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves\")\n"
ProcedureList = ProcedureList + '\t\tREGISTER_' + ITEM.attributes["Type"].value.upper() + '_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]"
ProcedureList = ProcedureList + ', "' + ITEM.attributes["Name"].value.upper() + '")\n'
try:
ProcedureList = ProcedureList + "// " + node.attributes["Comment"].value
except:
None
EnumList = EnumList + "\t" + ITEM.attributes["Name"].value.upper() + ",\n"
if i == NumberOfBoolStats - 1:
ProcedureList = ProcedureList + '\tSTOP_SAVE_ARRAY()\n'
ProcedureList = ProcedureList + "ENDPROC\n"
EnumList = EnumList + "\n\n\t" + "MAX_LIMIT_" + ITEM.attributes["Type"].value.upper()
EnumList = EnumList + "\n" + "ENDENUM\n"
#else:
# EnumList = EnumList + ",\n"
i = i + 1
i = 0
for ITEM in BoolArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
ProcedureList = ProcedureList + "\t"
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]"
ProcedureList = ProcedureList + " = "
if ITEM.attributes["Default"].value == "0":
ProcedureList = ProcedureList + "FALSE\n"
elif ITEM.attributes["Default"].value == "1":
ProcedureList = ProcedureList + "TRUE\n"
else:
ProcedureList = ProcedureList + ITEM.attributes["Default"].value + "\n"
if i == NumberOfBoolStats - 1:
ProcedureList = ProcedureList + "ENDPROC\n"
i = i + 1
i = 0
for ITEM in StringArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
EnumList = EnumList + "\n"
EnumList = EnumList + "ENUM SCRIPTSAVE_" + ITEM.attributes["Type"].value.upper() + "\n"
ProcedureList = ProcedureList + '\tSTART_SAVE_ARRAY_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves, SIZE_OF("
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves), "
ProcedureList = ProcedureList + "\"g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves\")\n"
ProcedureList = ProcedureList + '\t\tREGISTER_TEXT_LABEL_31_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT(" + ITEM.attributes["Name"].value.upper() + ")]"
ProcedureList = ProcedureList + ', "' + ITEM.attributes["Name"].value.upper() + '")\n'
try:
ProcedureList = ProcedureList + "// " + node.attributes["Comment"].value
except:
None
EnumList = EnumList + "\t" + ITEM.attributes["Name"].value.upper() + ",\n"
if i == NumberOfStringStats - 1:
ProcedureList = ProcedureList + '\tSTOP_SAVE_ARRAY()\n'
ProcedureList = ProcedureList + "ENDPROC\n"
EnumList = EnumList + "\n\n\t" + "MAX_LIMIT_" + ITEM.attributes["Type"].value.upper()
EnumList = EnumList + "\n" + "ENDENUM\n"
#else:
# EnumList = EnumList + ",\n"
i = i + 1
i = 0
for ITEM in StringArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
ProcedureList = ProcedureList + "\t"
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")]" + " = " + "\"" + ITEM.attributes["Default"].value + "\"" + "\n"
if i == NumberOfStringStats - 1:
ProcedureList = ProcedureList + "ENDPROC\n"
i = i + 1
i = 0
for ITEM in VectorArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
EnumList = EnumList + "\n"
EnumList = EnumList + "ENUM SCRIPTSAVE_" + ITEM.attributes["Type"].value.upper() + "\n"
ProcedureList = ProcedureList + '\tSTART_SAVE_ARRAY_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves, SIZE_OF(g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves), "
ProcedureList = ProcedureList + "\"g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves\")\n"
ProcedureList = ProcedureList + '\t\tSTART_SAVE_STRUCT_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")] , "
ProcedureList = ProcedureList + "SIZE_OF("
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")]) , "
ProcedureList = ProcedureList + "\""
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_FLOAT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].x , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".x" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_FLOAT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].y , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".y" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_FLOAT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].z , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".z" + "\"" + ")"
ProcedureList = ProcedureList + '\n\t\tSTOP_SAVE_STRUCT()'
try:
ProcedureList = ProcedureList + "// " + node.attributes["Comment"].value
except:
None
EnumList = EnumList + "\t" + ITEM.attributes["Name"].value.upper() + ",\n"
if i == NumberOfVectorStats - 1:
ProcedureList = ProcedureList + '\n\tSTOP_SAVE_ARRAY()\n'
ProcedureList = ProcedureList + "ENDPROC\n"
EnumList = EnumList + "\n\n\t" + "MAX_LIMIT_" + ITEM.attributes["Type"].value.upper()
EnumList = EnumList + "\n" + "ENDENUM\n"
#else:
# EnumList = EnumList + ",\n"
i = i + 1
i = 0
for ITEM in VectorArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[" + "ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")]" + " = " + "<<" + ITEM.attributes["Default"].value + ">>" + "\n"
if i == NumberOfVectorStats - 1:
ProcedureList = ProcedureList + "ENDPROC\n"
i = i + 1
i = 0
for ITEM in DateArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
EnumList = EnumList + "\n"
EnumList = EnumList + "ENUM SCRIPTSAVE_" + ITEM.attributes["Type"].value.upper() + "\n"
ProcedureList = ProcedureList + '\tSTART_SAVE_ARRAY_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData."
ProcedureList = ProcedureList + "g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves, SIZE_OF(g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves), "
ProcedureList = ProcedureList + "\"g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves\")\n"
ProcedureList = ProcedureList + '\t\tSTART_SAVE_STRUCT_WITH_SIZE('
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")] , "
ProcedureList = ProcedureList + "SIZE_OF("
ProcedureList = ProcedureList + "g_savedMPGlobals.mpSaveData.g_SaveData_" + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")]) , "
ProcedureList = ProcedureList + "\""
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].year , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".year" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].month , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".month" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].day , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".day" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].hour , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".hour" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].minute , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".minute" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].seconds , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".seconds" + "\"" + ")"
ProcedureList = ProcedureList + "\n" + '\t\t\tREGISTER_INT_TO_SAVE(g_savedMPGlobals.mpSaveData.g_SaveData_'
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].Milliseconds , "
ProcedureList = ProcedureList + "\"" + ITEM.attributes["Name"].value.upper() + ".Milliseconds" + "\"" + ")"
ProcedureList = ProcedureList + '\n\t\tSTOP_SAVE_STRUCT()'
try:
ProcedureList = ProcedureList + "// " + node.attributes["Comment"].value
except:
None
EnumList = EnumList + "\t" + ITEM.attributes["Name"].value.upper() + ",\n"
if i == NumberOfDateStats - 1:
ProcedureList = ProcedureList + '\n\tSTOP_SAVE_ARRAY()\n'
ProcedureList = ProcedureList + "ENDPROC\n"
EnumList = EnumList + "\n\n\t" + "MAX_LIMIT_" + ITEM.attributes["Type"].value.upper()
EnumList = EnumList + "\n" + "ENDENUM\n"
#else:
# EnumList = EnumList + ",\n"
i = i + 1
i = 0
for ITEM in DateArray:
if i == 0:
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_MP_SCRIPT_SAVES_" + ITEM.attributes["Type"].value.upper() + "()\n"
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].year = 0 \n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].month = 0 \n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].day = 0 \n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].hour = 0 \n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].minute = 0 \n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].seconds = 0 \n"
ProcedureList = ProcedureList + "\tg_savedMPGlobals.mpSaveData.g_SaveData_"
ProcedureList = ProcedureList + ITEM.attributes["Type"].value.upper() + "_ScriptSaves[ENUM_TO_INT("
ProcedureList = ProcedureList + ITEM.attributes["Name"].value.upper() + ")].Milliseconds = 0 \n"
if i == NumberOfDateStats - 1:
ProcedureList = ProcedureList + "\nENDPROC\n"
i = i + 1
i = 0
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC INIT_ALL_MP_SCRIPT_SAVES()" + "\n"
ProcedureList = ProcedureList + "\tINIT_MP_SCRIPT_SAVES_INT()\n"
ProcedureList = ProcedureList + "\tINIT_MP_SCRIPT_SAVES_FLOAT()\n"
ProcedureList = ProcedureList + "\tINIT_MP_SCRIPT_SAVES_BOOL()\n"
ProcedureList = ProcedureList + "\tINIT_MP_SCRIPT_SAVES_STRING()\n"
ProcedureList = ProcedureList + "\tINIT_MP_SCRIPT_SAVES_VECTOR()\n"
ProcedureList = ProcedureList + "\tINIT_MP_SCRIPT_SAVES_DATE()\n"
ProcedureList = ProcedureList + "ENDPROC\n"
ProcedureList = ProcedureList + "\n"
ProcedureList = ProcedureList + "PROC RESET_ALL_MP_SCRIPT_SAVES()" + "\n"
ProcedureList = ProcedureList + "\tRESET_MP_SCRIPT_SAVES_INT()\n"
ProcedureList = ProcedureList + "\tRESET_MP_SCRIPT_SAVES_FLOAT()\n"
ProcedureList = ProcedureList + "\tRESET_MP_SCRIPT_SAVES_BOOL()\n"
ProcedureList = ProcedureList + "\tRESET_MP_SCRIPT_SAVES_STRING()\n"
ProcedureList = ProcedureList + "\tRESET_MP_SCRIPT_SAVES_VECTOR()\n"
ProcedureList = ProcedureList + "\tRESET_MP_SCRIPT_SAVES_DATE()\n"
ProcedureList = ProcedureList + "ENDPROC\n"
GlodDeclarationFile = open(pGloDec, "w")
GlodDeclarationFile.write(GlobalsDeclaration)
GlodDeclarationFile.close()
EnumListFile = open(pEnumList, "w")
EnumListFile.write(EnumList)
EnumListFile.close()
ProcedureListFile = open(pProcList, "w")
ProcedureListFile.write(ProcedureList)
ProcedureListFile.close()
def XmlToEnum():
print len(sys.argv)
ParserEnumXml(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
XmlToEnum()