Jump to content

XML:Expert tutorial: Difference between revisions

m
no edit summary
m (+cat)
mNo edit summary
Line 3: Line 3:
Expert-level modding, huh?
Expert-level modding, huh?


That's when you not just design XML data that depend on each other but when you also have to consider special behavior of how some files types/data get packed or processed.
That's when you not just design XML data that depend on each other but when you also have to consider special behavior of how files types/data get packed and processed.


===Patch mods===
===Patch mods===
Line 11: Line 11:
There was a compatibility problem between and "51000 Rifle Sprinting" and "54000 New Combat Moves for Konoko".
There was a compatibility problem between and "51000 Rifle Sprinting" and "54000 New Combat Moves for Konoko".


Both packages modify TRAC files whereby 54000 with its higher value has priority so 51000 is broken when both are installed at the same time.
Both packages modify TRAC files whereby 54000 has priority because it has a higher value and so 51000 was breaking when both were installed at the same time.


To avoid conflicts 51000 needs to be XML patch mod (*.oni-patch) - now the code from 51000 is injected into the files of 54000 (or any other package that comes with the same file (names)).
To avoid conflicts 51000 needed to become a XML patch mod (*.oni-patch). The code from 51000 needed to become injected into the files of 54000 (or any other package that comes with the same file (names)).


Note how Rifle Sprinting uses the '''oni''' folder for new content and the '''patches''' folder for code injections.
Note how Rifle Sprinting uses the '''oni''' folder for new content and the '''patches''' folder for code injections.
Line 45: Line 45:




The lines inside the TRAC file are now reduced to new animations instead of holding approximately 500 animations:
The lines inside the TRAC file were reduced to the new animations instead of holding all approximate 500 animations:


'''TRACkonokocore_animations.oni-patch'''
'''TRACkonokocore_animations.oni-patch'''
Line 83: Line 83:
'''The possibilities of XML patching'''
'''The possibilities of XML patching'''


script10k's XmlTools is very powerful. It can not only '''add''' but also '''remove''' and '''modify''' nodes based on XPath expressions - and it can even run custom JS code.
script10k's XmlTools is very powerful. It can not only '''add''' but also '''remove''' and '''modify''' nodes based on [https://www.w3schools.com/xml/xml_xpath.asp XPath] expressions - and it can even run custom JS code.


Learn more '''[[XmlTools|HERE]]'''.
Learn more '''[[XmlTools|HERE]]'''.


==Other candidates==
==Other candidates==
Actually all of them should be written down.
''ToDo: Finish both sections.''


===ONIE modifications===
===ONIE modifications===
ONIE is a good example why packages should be used. Plug-in modding is in one half "expert+" and in the other half simply a black box.


===Alarm consoles===
===Alarm consoles===
8,153

edits