This change makes it easier to both maintain the ocde as well as make
any changes across both platforms. Source parity is getting to be a
bigger issue as we go forward with this project.
Larger files (e.g. CSDB and EAB) can overload the server because of how
much data it has to hold and process. Reading the files line by line
makes that drop to more than half of what it was.
Import now converts any non-XML DATs to XML before parsing it. This
makes the code to parse much cleaner (actally even cleaner than the
desktop version because of how XMLReader works). This also ended up
making the rv2xml function come into maturity.
It turns out that I needed to understand why my regex was failing in
order to figure out why the XML wasn't writing out. The XML writer was
being initialized improperly, wasn't having some settings set, some of
the regex was wrong, lines needed to be trimmed, and logic needed to be
backported for rom/disk handling.
ParseNoIntro is now a very specialized page. Instead of trying to get
ALL information from a page, it just captures the scene release info
instead. To make it even more efficient, it uses an XML reader to strip
out a lot of the junk, along with a couple levels of stripping
unnecessary whitespace.
The result is a very robust page that can traverse and get information
for Nintendo DS ONLY. Further tests will be done for 3DS in the future.
For now, it will remain limited until this information can be written to
file, which I hope will come in an update soon.