POF Constructor Suite 2

From FreeSpace Wiki
Revision as of 09:23, 11 April 2008 by Mawhrin (talk | contribs) (Stable)
Jump to: navigation, search

POF Constructor Suite 2 is a significant rewrite of POF Constructor Suite written cooperatively by Kazan and Bobboau. Kazan first started writing PCS2 when he recognized significant shortcomings in PCS1 - the fixed limit on polygon size, difficulty in adding support for new file types, the inferior CPU-hogging render window, user-friendliness issues and well as platform lock on windows. PCS2 in now stable.


Download Links

PCS2 installers can be downloaded from Sourceforge.

Other important links include:

Index to links Version 2.0 Final Feature Requests/Roadmap/Completion status Mantis, for bug reports

FAQ

PMF? What is PMF?

PCS 1.x used POF as it's internal format, which caused a lot of problems and limited the features. So PCS2.x uses it's own format called PMF (PCS2 Model Format) internally.

A POF load goes like this:
1) Open file
2) Read into instance of "POFHandler" PCS1/PCS2's POF editing library
3) Translate POF into PMF
4) Discard POFHandler instance
A save goes the opposite direction.

Purge the BSP Cache? What is the BSP Cache?

When PCS2 loads a model (.cob, .pof, etc) it has to translate that model into PMF - it's internal format. In POF the geometry is stored in a Binary Space Partition tree (aka BSP) - this must be translated into the PMF geometry format [which is very flexible unlike the very inflexible BSP].
When writing the POF it must translate the PMF geometry back into POF geometry - which compiles BSP compilation, which is the part of POF saving that takes a long time. Now when you simply open a model and edit a fire point and save it again there is no reason to do a recompile, it gets you nothing. However due to the PMF format being internal this would be required as it must translate back to POF.

The Solution to this is the BSP Cache. When it loads a model created by the latest version of PCS2 or by Volition's compiler BSPGEN it will save a copy of the POF BSP in memory while that file is loaded, so when saving it says "Do I have a cache for this submodel?" if so it skips compilation and uses the cached copy.
Sometimes when it's suspected that something is wrong with the geometry, bounding boxes, etc I'll ask you to do "Data->Purge BSP Cache" which will clear the cache making it recompile on save.
Caveat: PCS2 Versions prior to RC2d occasionally would cache when they shouldn't.

Troubleshooting

PCS2 Won't run, something about "incorrect configuration"

This is caused by some DLLs that are required for running most applications written with Microsoft Visual Studio 2005 not being present on your system. You can get the update from Microsoft here.

I found a bug

Report it in the PCS2 Mantis