559 lines
28 KiB
Python
Executable File
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()
|
|
|
|
|