PDA

View Full Version : sqm and pbo command line tools



sbsmac
Jul 20 2010, 15:01
A couple of tools I wrote recently.

Sqm is a command-line tool to allow batch-processing of mission.sqm files. It can also process mission.sqm files that are packed inside pbo files.


Search for and list classes within an sqm that contain a particular property
Extract an sqm from a pbo
Search for and remove classes that contain a particular property
Replace all instances of a property by another value
Merge items or classes from another sqm or text file


More info on sqm (http://sites.google.com/site/macsarmatools/sqm)


Pbo is a command-line tool to manipulate pbo files.


Search for and list files within a pbo
Add or remove files from a pbo
Extract individual files or the entire contents of a pbo
Create a new pbo from a folder
Unrap config.bin files inside a pbo to config.cpp before extraction
Extract all pbos within a folder
Unrap all config.bin files within all pbos in a folder


More info on pbo (http://sites.google.com/site/macsarmatools/pbo)

Both tools are lightly tested - please report problems or post questions here. I'm happy to add features if anybody has any requests.

Manzilla
Jul 20 2010, 15:38
It sounds interesting and very useful for us mission makers. I'll have a look.

Thank you!

Foxhound
Jul 20 2010, 22:09
Nice new tools, thanks for providing so many tools for the community and thanks for taking the time to inform us every time :cool:


Releases frontpaged on the Armaholic homepage (http://www.armaholic.com/page.php?id=11361).


http://www.armaholic.com/datas/users/news_download_a2_4.png (http://www.armaholic.com/page.php?id=11359)
Mac's ArmA tools : Sqm (http://www.armaholic.com/page.php?id=11359)

http://www.armaholic.com/datas/users/news_download_a2_4.png (http://www.armaholic.com/page.php?id=11360)
Mac's ArmA tools : Pbo (http://www.armaholic.com/page.php?id=11360)

sbsmac
Aug 24 2010, 11:42
sqm now allows you to ensure that all units in a mission are playable (useful to work around BIS edtor 'feature' where copying and pasting units loses their playable status).

You'll need the latest version, recipe for making this work is at the bottom of the homepage

ViperMaul
Aug 24 2010, 15:09
OUTSTANDING!!
This new feature can save some of us SO MUCH TIME.

Lets say you want to take a mission's unit structure from one island to another to make a similar or new PvP mission, you would Copy & Paste the units into the new island to save time using the BI Editor right?

But if you ever done this before then you know that the Editor strips the Playable setting of all units. And if it was your desire, and it is most of the time, you have to spend tedious amounts of time resetting each unit back to Playable one by one.

Some of us advanced users have had to spend time creating an advanced search & replace of the SQM file. If you did that some of you know the pitfalls of and hazards of getting this wrong. CTD when the mission tries to load if you get one character wrong.

As you wrote on your site: https://sites.google.com/site/macsarmatools/sqm


Useful recipes

Ensure that all units in a mission are playable

sqm mission.sqm -lc "Mission>>Groups" | sqm - -aps vehicle * player "PLAY CDG" > u
sqm mission.sqm -ec "Mission>>Groups" | sqm - -mg u -o mission.sqm

I cannot wait to try this. It will save some of us mission makers SO MUCH TIME!
For Coop missions I hope that you can some how differentiate between the Sides or Factions if the mission makers want to only make some of the units Playable. But either way I sure this feature Add is a WINNER!!

Thanks again SBSMac! Your tools really speaks to our hearts!

sbsmac
Aug 24 2010, 15:46
My pleasure :)

To answer your question about the sides for co-op missions, the recipe is very easily modified. for example


sqm mission.sqm -lc "Mission>>Groups" | sqm - -aps side west player "PLAY CDG" > u
sqm mission.sqm -ec "Mission>>Groups" | sqm - -mg u -o mission.sqm

All that's happening here is that we're only adding a 'player="PLAY CDG" property to classes which have a side of 'west'. By the way, if you wanted to work directly on a pbo you need to take a slightly longer route....


sqm example.utes.pbo -lc "Mission>>Groups" | sqm - -rc sqm - -aps vehicle * player "PLAY CDG" > u
sqm example.utes.pbo -ec "Mission>>Groups" -wb
sqm example.utes.pbo -mg u -o mission.sqm -wb