XML:Basic tutorial: Difference between revisions

m
tweaks
m (tweaks)
Line 7: Line 7:


===Okay, so what is XML modding?===
===Okay, so what is XML modding?===
:In the old days, most of Oni's resources had to be edited by [[wikipedia:Hex editor|hex editor]]. Then [[User:Neo|Neo]], writer of OniSplit, introduced XML exporting. This turns "binary data" -- raw Oni resource data -- into human-readable XML which allows much easier modding. You can then import your edited XML file back into Oni's resource format with a simple command. The list of file types with XML support can be seen [[XML:File_types|HERE]]. The instructions for doing this manually on the command line are found [[OniSplit#XML|HERE]], but there's a nice illustrated guide to doing this without the use of the command line below. Note: "XML modding" is not "XML patch modding". Once you understand everything on this page, read [[Making a patch mod|THIS]] page to learn how (and why) you can make a patch mod.
:In the old days, most of Oni's resources had to be edited by [[wikipedia:Hex editor|hex editor]]. Then [[User:Neo|Neo]], writer of OniSplit, introduced XML exporting. This turns "binary data" -- raw Oni resource data -- into human-readable XML which allows much easier modding. You can then import your edited XML file back into Oni's resource format with a simple command. The list of file types with XML support can be seen [[XML:File_types|HERE]]. The instructions for doing this manually on the command line are found at the bottom of the page, but before that, see the illustrated guide below to see how to do this more easily with a GUI. Note: "XML modding" is not "XML patch modding". Once you understand everything on this page, read [[Making a patch mod|THIS]] page to learn how (and why) you can make a patch mod.


===So I just export some data to XML and start editing?===
===So I just export some data to XML and start editing?===
Line 125: Line 125:


==Important tips for working with XML files==
==Important tips for working with XML files==
* '''Capitalization matters''' -- OniSplit is case-sensitive when it processes the XML.
* '''Capitalization matters''': OniSplit is case-sensitive when it processes the XML.
* '''Text indentation''' -- most tags have some indentation (tabs). It is not needed by OniSplit but it helps one get an understanding of the hierarchy. Example:
* '''Text indentation''': most tags have some indentation (tabs). It is not needed by OniSplit but it helps one get an understanding of the hierarchy. Example:
good:
good:
     <Instance id="4" type="IGSA">
     <Instance id="4" type="IGSA">
Line 147: Line 147:
|}
|}


==way without Mac GUI: the terminal==
==Extracting XMLs from the Mac command line (the Terminal)==
Put the '''[[OniSplit|newest OniSplit.exe]]''' into the "Oni/GameDataFolder" folder.
Put the '''[[OniSplit|newest OniSplit.exe]]''' into the "Oni/GameDataFolder" folder.