##v##00.4.50
EditHelpFileTitle.Text=MilkShape Freelancer CMP Import Plugin
form2.STextForeHeadline.Color=10485760
form2.STextForeText.Color=0
form2.STextBackHeadline.Color=16777215
form2.STextBackText.Color=14876671
form2.STextHeadlineFont.Caption=Arial
form2.STextTextFont.Caption=Arial
form2.sTextFontSizeForHeadline.Caption=14
form2.sTextFontSizeForText.Caption=9
form2.CBoxBold.Checked=1
form2.CBoxNoForeColor.Checked=0
form2.CBoxLanguageID.ItemIndex=0
form2.CBoxCharSet.ItemIndex=0
form2.EditContents.Text=Introduction
form2.EditFrontpageName.Text=Introduction
form2.CBoxDontMakeFrontpage.Checked=1
form2.EditLogoPath.Text=
form2.EditFrontpageButtonCaption.Text=Introduction
form2.RGroupHorizontalAlignment.ItemIndex=0
form2.RGroupVerticalAlignment.ItemIndex=0
form2.CBoxBlankLineBeforeEachHeading.Checked=0
form2.CBoxMakeFrontPageButton.Checked=0
form2.SpinEditFrontpageIDnumber.Value=9999
form2.CBoxAddAboutMenu.Checked=0
form2.EditAboutMenuCaption.Text=&About this help file...
form2.CBoxPopupPagesForAboutMenu.Tag=-1
form2.EditConstantNameFilePrefix.Text=pageConstants_
form2.EditConstantNameFileExt.Text=txt
form5.sTextColor1=0
form5.sTextColor2=9743070
form5.sTextColor3=12386403
form5.sTextColor4=255
form5.sTextColor5=8421376
form5.sTextColor6=8650752
form5.sTextColor7=33280
form5.sTextColor8=32896
form5.sTextColor9=13026246
form5.sTextColor10=16711680
form5.sTextColor11=65280
form5.sTextColor12=8651007
form5.sTextColor13=16777215
form5.sTextColor14=16757429
form5.sTextColor15=9764863
form5.sTextColor16=8421504
form5.sTextComment1=
form5.sTextComment2=
form5.sTextComment3=
form5.sTextComment4=
form5.sTextComment5=
form5.sTextComment6=
form5.sTextComment7=
form5.sTextComment8=
form5.sTextComment9=
form5.sTextComment10=
form5.sTextComment11=
form5.sTextComment12=
form5.sTextComment13=
form5.sTextComment14=
form5.sTextComment15=
form5.sTextComment16=
NumOfPages=10
------------ end of project settings / page settings follow ------------
pageC.pages[0].ImageIndex=-1
pageTitle(0).Text=Introduction
getPageConstantLabel(0).Caption=
getPageContentHeaderLabel(0).Caption=
pageKeywords(0).Text=
pageC.pages[1].ImageIndex=-1
pageTitle(1).Text=Open CMP File
getPageConstantLabel(1).Caption=
getPageContentHeaderLabel(1).Caption=
pageKeywords(1).Text=
pageC.pages[2].ImageIndex=-1
pageTitle(2).Text=LOD Selection Panel
getPageConstantLabel(2).Caption=
getPageContentHeaderLabel(2).Caption=
pageKeywords(2).Text=
pageC.pages[3].ImageIndex=-1
pageTitle(3).Text=Scan Material Libraries
getPageConstantLabel(3).Caption=
getPageContentHeaderLabel(3).Caption=
pageKeywords(3).Text=
pageC.pages[4].ImageIndex=-1
pageTitle(4).Text=Options Panel
getPageConstantLabel(4).Caption=
getPageContentHeaderLabel(4).Caption=
pageKeywords(4).Text=
pageC.pages[5].ImageIndex=-1
pageTitle(5).Text=Importer Limitations
getPageConstantLabel(5).Caption=
getPageContentHeaderLabel(5).Caption=
pageKeywords(5).Text=
pageC.pages[6].ImageIndex=-1
pageTitle(6).Text=Version History
getPageConstantLabel(6).Caption=
getPageContentHeaderLabel(6).Caption=
pageKeywords(6).Text=
pageC.pages[7].ImageIndex=0
pageTitle(7).Text=LOD
getPageConstantLabel(7).Caption=
getPageContentHeaderLabel(7).Caption=
pageKeywords(7).Text=
pageC.pages[8].ImageIndex=0
pageTitle(8).Text=Material ID
getPageConstantLabel(8).Caption=
getPageContentHeaderLabel(8).Caption=
pageKeywords(8).Text=
pageC.pages[9].ImageIndex=0
pageTitle(9).Text=MIP Maps
getPageConstantLabel(9).Caption=
getPageContentHeaderLabel(9).Caption=
pageKeywords(9).Text=
pageC.pages[10].ImageIndex=-1
pageTitle(10).Text=Copyright & License
getPageConstantLabel(10).Caption=
getPageContentHeaderLabel(10).Caption=
pageKeywords(10).Text=Copyright;License
------------ end of page titles / full text of pages follow ------------
----- SHM ---- page 0 ---- 
Welcome to the MilkShape .CMP importer - the very first Freelancer model importer available for any modeller.

This help file is divided into the following sections:

<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0002><closed.bmp> Step 1: Select File to Import</jump>
<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0003><closed.bmp> Step 2: Select LOD to Import</jump>
<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0004><closed.bmp> Step 3: Scan Associated Material Libraries</jump>
<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0005><closed.bmp> Options Panel</jump>
<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0006><closed.bmp> Importer limitations</jump>
<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0007><closed.bmp> Version History</jump>
<nbsp><nbsp><nbsp><nbsp><nbsp><jump=SHM_contents0011><closed.bmp> Copyright and License</jump>

Special thanks go out to:
<i><b><bullet.bmp> The {\uldb Excelcia Role-Playing Freelancer Server}{\v !ExecFile(http://www.excelcia.org,,9,SHM_contents0008)} community for the inspiration and support.</b></i>
<bullet.bmp> Mario (HCl) Brito for documenting the UTF file format, and much of the CMP file format.  This would have taken a lot longer to write if not for his work.
<bullet.bmp> )v(aster on the Excelcia server for taking over most of my admin responsibilities there while I focussed on coding this up.
<bullet.bmp> The {\uldb DevIL project}{\v !ExecFile(http://openil.sourceforge.net/,,9,SHM_contents0008)} for making an easy-to-use image library (though one I had to add Borland C++ Builder support for).  Without this library, image format conversions for embedded textures would have been somewhat less elegant.
----- SHM ---- page 1 ---- 
<b>Step 1: Select File to Import</b>

The first step is, of course, choosing which model you wish to import.  The file selection panel will be highlighted when the importer first starts, and will look like this:

\par\qc\{bmc Step 1 - File Selection.bmp\}\par\ql

To select your model, you may either click the \{bmc File Select Button.bmp\} button which will open a file selection dialog, or you can use drag-and-drop to drag a file from Explorer onto the white edit box in this panel.  The importer does not support importing multiple files at once.  If you use drag-and-drop to drop more than one file, only one of them will be selected.

Currently the importer supports compound (.CMP) and simple (.3DB) models.

You can import models created with {\uldb HCl's Milkshape CMP Exporter}{\v !ExecFile(http://www.lancersreactor.com/t/editing/download/download.asp?id=203,,9,SHM_contents0008)}, however you there will only be a single LOD available in the <jump=SHM_contents0003>LOD selection panel</jump>, as that exporter only supports exporting a single <pop=SHM_contents0008>LOD</pop>.
----- SHM ---- page 2 ---- 
<b>Step 2: Select LOD to Import</b>

Freelancer model files are compound models - they can contain more than one model in a file.  Each model is a different <pop=SHM_contents0008>LOD</pop>.  After you have specified which CMP model file for the plugin to import, the dialog will highlight the panel marked "Select LOD to Import".  In this panel is a list box containing the name of each of the LODs stored in your model.<target>Lod Selection</target>

The panel may look something like this:

\par\qc\{bmc Step 2 - LOD Selection.bmp\}\par\ql

The top entry which will have "lod0" in the name is the highest level of detail, with the rest being being progressively less detailed.

----- SHM ---- page 3 ---- 
<b>Step 3: Scan Associated Material Libraries</b>

Most Freelancer models do not store the textures in the same file as the model.  They stores textures in files called "Material Libraries".  Unfortunately, not only does Freelancer not store textures in with the model, it also does not store the texture names with the model.  It only stores a <pop=SHM_contents0009>"Material ID" </pop>code.  This makes it impossible to determine the name of any of the textures used in a model by reading the model alone.  

For this reason, after you have selected the model and the LOD that you wish to import, you must also scan the Material Libraries (*.MAT files) that contain the textures for your model.

After you have selected the model and LOD, the material library scan panel will be highlighted and will look like this:

\par\qc\{bmc Step 3 - Material Scan.bmp\}\par\ql

The list box contains a list of all the materials in the selected model.  Because no material libraries have been scanned yet, the importer does not yet know the names of the textures.  They are displayed showing a hexadecimal representation of their Material ID.  They also each have a red \{bmct Red X.bmp\} beside them, indicating that a match has not yet been found for them.

To scan material libraries, you may either press the \{bmc File Select Button.bmp\} button to open a file selection dialog, or use Windows Explorer to drag and drop material library files onto the panel.  You may select more than one material library in the dialog, and drop multiple material libraries on the panel at once.  Once a match has been found for a texture, the actual name of the texture will replace the Material ID code in the list box, and a green \{bmct Green Check.bmp\} will appear beside it.

Usually, the material library associated with a model is located one directory above the directory containing the model.  In the case of Bounty Hunter ships, they re-use the Liberty material library.  Capital ships and smaller ships often have different material libraries.  You may need to do some searching to find the correct material library for every model.

Some .cmp files and most .3db files do include the textures within 
----- SHM ---- page 4 ---- 
The options panel allows you to select various import settings.  It looks like this:

\par\qc\{bmc Options.bmp\}\par\ql


\par\ql\{bml Extract Textures.bmp\}\par\ql
If you want a model to display properly in MilkShape, you need to extract the textures that go with it from the material libraries.  The importer can do this automagically if you check this box.  If you do, you will be given a directory selection dialog box where you select  which directory to place the extracted textures in.

\par\ql\{bml Extract Format.bmp\}\par\ql
Freelancer stores textures in .DDS (Direct Draw Surface) format.  Unfortunately, MilkShape does not yet support this format.  The importer will convert the .DDS format textures in a model to one of three formats that you can choose with these radio buttons.  If you plan on editing the textures, then you should select Targa (.TGA) format, as this format is a lossless graphics format that is well supported in MilkShape.  If you plan on only editing the model itself, and not modifying the textures, then you can select JPEG (.JPG) format to save space.  You can also select the .BMP format, however, MilkShape has problems with some .BMP files.

\par\ql\{bml Extract DDS.bmp\}\par\ql
The advantage of the DDS format for storing textures, is that multiple <pop=SHM_contents0010>MIP maps</pop> can be stored in one file.  If you are going to be doing serious modelling work and want professional looking textures, then you may wish to edit the DDS textures and use MIP mapping.  If you check this box, the importer will in addition to creating textures in the selected format, also extract the original textures and store them in the same directory.

\par\ql\{bml Scale Model.bmp\}\par\ql
The coordinate range for some Freelance models is, compared to the coordinate range often used in MilkShape, quite small.  If you wish to make editing easier, then you can have the importer scale the model for you.  The importer supports scaling from one percent to ten thousand percent (1/100 to 100 times).  Keep in mind that you could very well crash MiljkShape if you select excessively large scales.  Very small scales could render the import into a dot.


----- SHM ---- page 5 ---- 
The importer currently has the same limitations that exist in MilkShape, which are:

<bullet.bmp> 8192 Vertices
<bullet.bmp> 16384 Triangles
<bullet.bmp> 128 Meshes
<bullet.bmp> 128 Materials

If a .CMP model will exceed any of these limits, the status bar at the bottom of the import dialog will show a red pane:
\par\qc\{bmc Limit Exceeded.bmp\}\par\ql

You can still attempt to import the model, but it may (and probably will) have unpleasant effects on MilkShape.

Limitations actually inherent in this importer include:

<bullet.bmp> No animation support.  This is not likely to be implemented.
<bullet.bmp> Mesh group rotations are not yet implemented.  Usually, only mesh groups that are part of animations (cargo bay doors) are rotated, but this is not always the case (as in the Titan).
<bullet.bmp> No attempt is made to import hardpoints in a way that is compatible with {\uldb HCl's Milkshape CMP Exporter}{\v !ExecFile(http://www.lancersreactor.com/t/editing/download/download.asp?id=203,,9,SHM_contents0008)}.  This is likely not to happen.  More likely is building an entirely new exporter from scratch.  However, the idea of plugin-specific data needs to be addressed in MilkShape before this will happen.
<bullet.bmp> There is no proper support for modular models.  In a fit of programming genius, the writers of Freelancer made models, then compound models, then compound compound models.  These are models that require importing more than one LOD to get the whole model.  Since these are only done on capital ships where the vertex count would exceed MilkShape's limits, this isn't a real drawback in the importer.  However, this is planned to be fixed soonish simply for completeness.
<bullet.bmp> There is not yet support for reading material properties (diffuse, ambient, specular, transparency, etc).  Currently all materials are created with middle-of-the-road defaults.  As soon as I get time to investigate this more fully, I'll implement this.
----- SHM ---- page 6 ---- 
<boxl>Release 1.0.1 (Version 1.0.1 Build 52)

<bullet.bmp> Added some debugging code to allow a debug build to produce a log file.
<bullet.bmp> Added artificial internal function stack tracing for debugging.
<bullet.bmp> Fixed a bug in the LOD list box font width calculation function.  It seems that non Windows NT-based operating systems have some problems with CreateDC().  This was changed to GetDC() instead.</box>

<boxl>Release 1.0.0 (Version 1.0.0 Build 46)

<bullet.bmp> First public release</box>
----- SHM ---- page 7 ---- 
A LOD (or <color=4><b>L</b></color>evel <color=4><b>O</b></color>f <color=4><b>D</b></color>etail) is a model made in different levels of complexity.  When a model appears to be far away, there is no need to burden the game with calculating many faces that add detail that can't be seen at that distance.  So, to save the game processing time, a model is made in several different levels of detail, ranging from the most detailed to quite little detail.  In Freelancer, the built-in game models usually have three LODs.
----- SHM ---- page 8 ---- 
A Freelancer Material ID is a specially calculated 32 bit (between 0 and 4294967295) number.  This number is calculated from the name of the material using a technique called "CRC" (Cyclic Redundancy Check).  This technique makes the Material ID dependant on the name.  It is relatively easy, given the name, to calculate the Material ID that corresponds to it.  However, it's not possible to take the number and determine the name from it.
----- SHM ---- page 9 ---- 
MIP Mapping is a technique whereby different textures are used depending on the viewers distance from the texture.  All 3D cards are capable of scaling a texture, but they don't always do it properly.  MIP Mapping allows you to manually customize how a texture will look at different distances.
----- SHM ---- page 10 ---- 
The MilkShape CMP Importer Plugin (including the DLL, help file, and all other files in the authorized distribution) is Copyright ©2003, Kurt Fitzner.

The MilkShape CMP Importer Plugin (referenced as "the plugin" henceforth)  is licensed for use by anyone holding a valid license for any version of MilkShape capable of using the plugin.  The plugin may be used on any machine where MilkShape is licensed for use as long as the plugin is being used through the MilkShape user-interface and is used in a non-automated manner.

Use of the plugin in any system intended to automate the conversion of Freelancer models into another format is not allowed by this license.  For example, creating an automated system to convert a Freelancer model into another format for use by another modeling program.

Modification, decompiling, or reverse engineering of the plugin is not allowed by this license.

In simple words, if you are legally licensed to use MilkShape, and are manually selecting "File->Import->Freelancer .CMP Importer..." from within MilkShape to access the plugin, then you are using the plugin according to this license.  No other use of the plugin is allowed by this license.

Distribution of the plugin is allowed only by the Excelcia Freelancer Role-Playing community web site ({\uldb http://www.excelcia.org}{\v !ExecFile(http://www.excelcia.org,,9,SHM_contents0008)}) and The Lancer's Reactor web site ({\uldb http://www.lancersreactor.com}{\v !ExecFile(http://www.lancersreactor.com,,9,SHM_contents0008)}).  No other distribution is allowed without written authorization from the author ({\uldb kfitzner@excelcia.org}{\v !ExecFile(mailto:kfitzner@excelcia.org,,9,SHM_contents0008)})

Laws in your jurisdiction may grant you additional rights not granted by this license.  For example, some countries' copyright laws allow decompiling and reverse engineering of software.

All rights not explicitely granted by this license or by your local laws are reserved.


