Contents:
1. Instructions
2. Troubleshooting
3. Development History
4. Acknowledgements


========================================================================================================================
1. Instructions:
========================================================================================================================
Just place "pofexp.dle" on your MAX plugin folders and restart MAX. It should create a new file option on the scene 
export screen for POF files. This version supports auto-generation for the following POF-specific data:

- Detail Levels
- Debris
- Gun/Missile Turrets
- Gun/Missile Banks
- Shields
- Insignia
- Paths
- Docking Points
- Engines
- Subsystems
- Glow Points

To have them generated directly from your MAX scene, follow these guidelines for your mesh(es):

Textures:
The texture name will be determined from the first bitmap type texture attached to the material of a face, preferrably 
on the diffuse submap. Not having a bitmap material may cause export errors. Having bitmap materials on other submaps, 
but not on the diffuse, should (well, could is a better term) work, but this wasn't tested up to now.

Object Hierarchy:
The converter will keep the MAX hierarchy, which is defined through the "Link" tool. When you link an object to another, 
the original object becomes a child of the object to which it was linked. So, any object, with any name, linked to the 
main detail level will be directly linked to the main detail level on the POF file. Object properties will be copied 
directly from the "User Properties" field from the object's the Properties screen.

Detail Levels:
Should be named "detail-0" to "detail-N", where N is the number of the lowest detail level. Don't skip levels.

Debris:
Should be named "debris-0" to "debris-N", where N is the number of the last debris object. Don't skip levels.

Paths:
Any "line" primitive will be a path. It should be linked to the object to which it should be associated on the POF 
file - so if it's an AI path for a turret, link it to the turret.

Docking Points:
Line primitives with "dock" in their name will generate docking points. The path will be the line itself, while
the docking points will be any point helpers linked to the line. The normals of the points will be defined by the 
direction from the point to the first vertex of the path. Docking point properties will be copied directly from 
the "User Properties" field from the line's the Properties screen.

Insignia:
Objects with "insignia" in their names will be transformed into insignia data. They should be lined to the detail 
level where they should be displayed.

Shields:
There should be only one shield object, which can be any object called "shield". Do not assign a material to the
shield mesh.

Gun/Missile Turrets:
Turrets are defined by any object called "gunturret-0" to "gunturret-N", where N is the number of gun turrets, or 
"missileturret-0" to "missileturret-N", where N is the number of missile turrets. The object itself will be the base 
of the turret. The first child of the object (that is, the first object linked to the base) will be the turret's barrel. 
Any point helper linked to the base of the turret will be a firing point. The normal of the turret will be defined by 
the direction from the center of the base to the first firing point.

Gun/Missile Banks
Weapon banks are defined by Dummy helpers called "gunbank-0" to "gunbank-N", where N is the number of gun banks, or 
"missilebank-0" to "missilebank-N", where N is the number of missile banks. The position of the dummy object doesn't 
matter.Any point helper linked to the dummy object will be a firing point on that bank. The normal of a firing point 
will always be (0,0,1).

Engines:
Similar to gun banks, engines are defined by Dummy helpers with names starting with "$engine". Anything can follow 
after that, but the initial string must be that one. Any point helper linked to the dummy object will be a thruster 
glow point. Normals are always (0,0,-1).

Subsystems:
Any Dummy Helper with a name starting with "$" will be a subsystem. If you don't set any User Properties on the helper,
it'll have the default "$special=subsystem" properties string. For anything different, just put the string you want on 
the User Properties box for your object inside MAX.

Glow Points:
Similar to engines, glow points are defined by Dummy helpers with names ranging from "glow-0" to "glow-N", where N is 
the number of glow point groups. Each of these dummies will generate a glow point group, using the dummy's User 
Properties to define the glow point group properties. Each helper attached to the dummy will create a specific glow 
point.


========================================================================================================================
2. Troubleshooting
========================================================================================================================
Please report any bugs to the address rodrigobarni@yahoo.com, attaching the log files ("pofexp.log","pofexp_debug.log" and 
"pofexp_mesh.log"). You can also report bugs through the POF Exporter thread on the Freespace Modding forum at Hard Light 
Productions (http://dynamic4.gamespy.com/~freespace/forums/forumdisplay.php?s=&forumid=8).


========================================================================================================================
3. Development History:
========================================================================================================================
17/08/2004 - Version 0.1b released for public beta testing.
18/08/2004 - Fixed a problem on the vertex normal indexing.
19/08/2004 - Version 0.2b released, with added subsystem generation support.
20/08/2004 - Added glow point generation support.


========================================================================================================================
4. Acknowledgements:
========================================================================================================================
Thanks to Derek "Kazan" Meek for the POF Construction Suite code - even though I ended up not using the PCS plugin SDK, 
it was of great help on the BSP data read/write code. Check the PCS/Ferrium website at http://alliance.sourceforge.net

Thanks to all the guys from the Descent Network for releasing the source for the Modelview and COB2FS tools, they also 
helped a lot. Rest assured that I didn't rip off any code, though (same goes for PCS). =D You can visit the Descent 
Network Freespace website at http://www.descent-freespace.com

The Freespace 2 Source Code Project guys, for the awesome improvements to the Freespace 2 engine which are bound to keep 
the community alive for years to come - making me think it was worthwile to build a new converter for the game format 
even five years after the original game was released. Visit the SCP site at http://www.3dap.com/hlp/hosted/scp

Everyone at Hard Light Productions for motivating me to do this plugin with their incredible mods - I hope this little 
tool can help them get everything they want done faster. Go visit HLP (and check the forums), at http://www.3dap.com/hlp/

