XML:Basic tutorial: Difference between revisions

→‎XML tutorial for Anniversary Edition: general touch-up, mentioning patch mods and removing AETools
m (trying out level 3 headers for FAQ, it worked well for my polylectiloquy; touching up code folding tips (I kind of like this part, honestly, let's keep it))
(→‎XML tutorial for Anniversary Edition: general touch-up, mentioning patch mods and removing AETools)
Line 1: Line 1:
{{update}}
{{update}}
==XML tutorial for Anniversary Edition==
==XML tutorial for Anniversary Edition==
This tutorial is written with the [[Anniversary Edition]] in mind, because it installs the modding tools you need, gives you the framework for making a mod package, and globalizes more data. Global data can be used in any level.
First off, we'll assume that you understand the material in the [[Modding Oni]] article. This tutorial is written with the [[Anniversary Edition]] in mind, because the AE installs the modding tools you need, gives you the framework for making a mod package, and globalizes more data. Global data can be used in any level.


===What is XML, first of all?===
===What is XML, first of all?===
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]], a fan and hacker, 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 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]].
: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.


===So I just export some data to XML and start editing?===
===So I just export some data to XML and start editing?===
:Not so fast! A lot of the data is not that self-explanatory even as XML; it simply can't be, when the game engine is so complex. That's what the XML namespace on this wiki is for: documenting the game data tag by tag according to what you'll be seeing in the XML files, but just as importantly, explaining ''what all that data does''. That's important, because the wiki's original game data documentation in the [[OBD]] namespace was written for hackers and is lacking in plain-English explanation.
:Not so fast! A lot of the data is not that self-explanatory even as XML; it simply can't be, when the game engine is so complex. That's what the XML namespace on this wiki is for: documenting the game data tag by tag according to what you'll be seeing in the XML files, but just as importantly, explaining ''what all that data does''. That's important, because the wiki's original game data documentation in the [[OBD]] namespace was written for hackers and is lacking in plain-English explanations.


===Okay, what do I need to get started?===
===Okay, what do I need to get started?===
: [[OniSplit]] will be your main tool. [[xmlTools]] is also needed for making XML patch mods. Installing the [[AE]] is the recommended way to get these tools and a helpful framework installed.
: [[OniSplit]] will be your main tool. [[XmlTools]] is also needed for making XML patch mods. Installing the [[AE]] is the recommended way to get these tools and a helpful framework installed.


===I've got the AE installed. What now?===
===I've got the AE installed. What now?===
: OniSplit cannot be opened by simply double-clicking it; it's a command-line tool. But you are lucky -- we now have a [[wikipedia:GUI|GUI]] for it.
: OniSplit cannot be opened by simply double-clicking it; it's a command-line tool. But you are lucky -- we now have a [[wikipedia:GUI|GUI]] for it: [[Vago (tool)|Vago]]. It's best to install Vago through the [[AEI#Tools|AEI]].
:: Mac user will want to get '''"[[AE:Anniversary_Edition_Tools|AETools]]"'''
::: Install instructions are on same page.
:: Windows user will want to get '''"[http://oni.bungie.org/community/forum/viewtopic.php?id=692 OniSplit GUI]"''' or '''[http://oni.bungie.org/community/forum/viewtopic.php?id=2385 Vago GUI]'''
::: Unpack and put the executables into your "GameDataFolder" inside "edition" folder.


===What kinds of mods can I make?===
===What kinds of mods can I make?===