openiv-team / openiv-packageformat Goto Github PK
View Code? Open in Web Editor NEWOpenIV Package Format (OIV) - a package format for distributing mods using OpenIV.
Home Page: http://openiv.com/
OpenIV Package Format (OIV) - a package format for distributing mods using OpenIV.
Home Page: http://openiv.com/
The XML part of the spec could use a note that you cannot batch add Item nodes to the XML as intuitive as it feels to do so (why can't we?), each must be in its own <add>
tag
For example (from the spec, good):
<xml path="dlclist.xml">
<add append="First" xpath="/SMandatoryPacksData/Paths">
<Item>dlcpacks:\spFirstTestMod\</Item>
</add>
<add append="Last" xpath="/SMandatoryPacksData/Paths">
<Item>dlcpacks:\spLastTestMod\</Item>
</add>
<add append="Before" xpath="/SMandatoryPacksData/Paths/Item[.='dlcpacks:/mpheist/']">
<Item>dlcpacks:\spBeforeHeistTest\</Item>
</add>
<add append="After" xpath="/SMandatoryPacksData/Paths/Item[.='dlcpacks:/patchday21ng/']">
<Item>dlcpacks:\spAfter21ngTest\</Item>
</add>
</xml>
Bad:
<xml path="dlclist.xml">
<add append="Last" xpath="/SMandatoryPacksData/Paths">
<Item>dlcpacks:\spFirstTestMod\</Item>
<Item>dlcpacks:\spSecondTestMod\</Item>
<Item>dlcpacks:\spThirdTestMod\</Item>
<Item>dlcpacks:\spFourthTestMod\</Item>
</add>
</xml>
This was a disappointing discovery, it really inflates the line count of the assembly file.
Yesterday I put together an OIV installer (package format 2.2) for an addon car, for the life of me I could not figure out why it just didn't seem to appear in-game even with no warning that the install failed, I also seemingly could not get a mods folder install option, only a direct game files installation.
After taking another look at it today I just happened to notice I had two sets of content tags wrapping my content, OpenIV does not seem to error out or warn you if this is the case and just proceeds to install.. nothing.
xpath='/CHandlingDataMgr/HandlingData/Item[@type="CHandlingData"]/handlingName[.="BUFFALO"]/../fMass'>
It should be
xpath="/CHandlingDataMgr/HandlingData/Item[@type="CHandlingData"]/handlingName[.="BUFFALO"]/../fMass">
With Double quotation marks ""
, not Single ''
If you try to install a file that is not in the version of the game where we put it, then we will get an error.
You need to be able to skip such files.
We install the necessary files using the "OIV" file:
But if the path "mpheist4" and the file "dlc.rpf" do not exist, the installation will fail. I assume that this happens when trying to copy the archive "update\x64\dlcpacks\mpheist4\dlc.rpf" to the folder with mods.
I think the best solution is to add a parameter to the archive tag.
There are no such paths in my version of the game (v. 1.0.1868.0):
update\x64\dlcpacks\mpheist4\dlc.rpf
update\x64\dlcpacks\mpsecurity\dlc.rpf
update\x64\dlcpacks\mpsecurity\dlc1.rpf
But in the versions above, these paths will be present.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.