<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.vega-strike.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=HowTo%3AEdit_BFXM_files</id>
		<title>HowTo:Edit BFXM files - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.vega-strike.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=HowTo%3AEdit_BFXM_files"/>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Edit_BFXM_files&amp;action=history"/>
		<updated>2026-05-13T14:09:33Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Edit_BFXM_files&amp;diff=19840&amp;oldid=prev</id>
		<title>Gonzo: /* See also */ Fixed link!</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Edit_BFXM_files&amp;diff=19840&amp;oldid=prev"/>
				<updated>2015-06-11T04:20:05Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;See also: &lt;/span&gt; Fixed link!&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 04:20, 11 June 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l262&quot; &gt;Line 262:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 262:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=See also=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=See also=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;http&lt;/del&gt;://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;svn.&lt;/del&gt;sourceforge.net/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;viewcvs.cgi&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*checkout*&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vegastrike&lt;/del&gt;/branches/ogre_branch/vegastrike/objconv/mesher/BFXM%20specification.txt BFXM Specification in SVN]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;https&lt;/ins&gt;://sourceforge.net/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;p/vegastrike/code&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;HEAD&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;tree&lt;/ins&gt;/branches/ogre_branch/vegastrike/objconv/mesher/BFXM%20specification.txt BFXM Specification in SVN]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[[HowTo:Edit XMESH files|XMESH Specification]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*[[HowTo:Edit XMESH files|XMESH Specification]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gonzo</name></author>	</entry>

	<entry>
		<id>https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Edit_BFXM_files&amp;diff=10649&amp;oldid=prev</id>
		<title>Halleck: copying over BFXM spec from SVN, wikifying heavily.</title>
		<link rel="alternate" type="text/html" href="https://wiki.vega-strike.org/mediawiki/index.php?title=HowTo:Edit_BFXM_files&amp;diff=10649&amp;oldid=prev"/>
				<updated>2006-05-21T16:02:43Z</updated>
		
		<summary type="html">&lt;p&gt;copying over BFXM spec from SVN, wikifying heavily.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[HowTo:Edit XMESH files|Editing XMESH files]]&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
'''NOTE:''' It is generally recommended that you use mesher to convert from BFXM to XMESH and back again for the purposes of editing. However, here is the specification for BFXM files.&lt;br /&gt;
&lt;br /&gt;
=Format for version 0.2=&lt;br /&gt;
&lt;br /&gt;
All data stored in little endian order except for strings.&lt;br /&gt;
&lt;br /&gt;
'''Visual layout:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;SuperHeader&lt;br /&gt;
:&amp;lt;Record header&lt;br /&gt;
::&amp;lt;Mesh header,attributes,geometry&amp;gt;&lt;br /&gt;
::&amp;lt;Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
::...&lt;br /&gt;
::&amp;lt;Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
:&amp;gt;&lt;br /&gt;
:&amp;lt;Record header&lt;br /&gt;
::&amp;lt;Mesh header,attributes,geometry&amp;gt;&lt;br /&gt;
::&amp;lt;Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
::...&lt;br /&gt;
::&amp;lt;Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
:&amp;gt;&lt;br /&gt;
:...&lt;br /&gt;
:&amp;lt;Record header&lt;br /&gt;
::&amp;lt;Mesh header,attributes,geometry&amp;gt;&lt;br /&gt;
::&amp;lt;Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
::...&lt;br /&gt;
::&amp;lt;Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
:&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Per record visual layout:'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Record header&lt;br /&gt;
:&amp;lt;Top Mesh header,attributes,geometry&amp;gt;&lt;br /&gt;
:&amp;lt;First LOD Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
:...&lt;br /&gt;
:&amp;lt;Last LOD Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
:&amp;lt;First Anim Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
:...&lt;br /&gt;
:&amp;lt;Last Anim Mesh header, attributes,geometry&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SuperHeader==&lt;br /&gt;
Type String:'BFXM'&lt;br /&gt;
&lt;br /&gt;
Version number*100:Integer&lt;br /&gt;
&lt;br /&gt;
File length in bytes: Integer&lt;br /&gt;
&lt;br /&gt;
Superheader Length in bytes: Integer&lt;br /&gt;
&lt;br /&gt;
Number of fields per vertex:integer (8)&lt;br /&gt;
&lt;br /&gt;
Number of fields per polygon structure: integer (1)&lt;br /&gt;
&lt;br /&gt;
Number of fields per referenced vertex: integer (3)&lt;br /&gt;
&lt;br /&gt;
Number of fields per referenced animation: integer (1)&lt;br /&gt;
&lt;br /&gt;
Number of records: integer&lt;br /&gt;
&lt;br /&gt;
Number of fields per animation definition: integer (1)&lt;br /&gt;
&lt;br /&gt;
'''End SuperHeader'''&lt;br /&gt;
&lt;br /&gt;
==Record Header==&lt;br /&gt;
''for each record:''&lt;br /&gt;
&lt;br /&gt;
:Size of record header in bytes: integer&lt;br /&gt;
&lt;br /&gt;
:Size of record in bytes: integer &lt;br /&gt;
&lt;br /&gt;
:number of meshes:integer&lt;br /&gt;
&lt;br /&gt;
'''End Record Header'''&lt;br /&gt;
&lt;br /&gt;
==For each mesh:==&lt;br /&gt;
&lt;br /&gt;
===Header===&lt;br /&gt;
Size of Header in bytes: integer&lt;br /&gt;
&lt;br /&gt;
Size of mesh in bytes: integer&lt;br /&gt;
&lt;br /&gt;
Scale: float&lt;br /&gt;
&lt;br /&gt;
Reverse: integer&lt;br /&gt;
&lt;br /&gt;
Forcetexture: integer&lt;br /&gt;
&lt;br /&gt;
Sharevert: integer&lt;br /&gt;
&lt;br /&gt;
Polygonoffset:float&lt;br /&gt;
&lt;br /&gt;
Blendmode:&amp;lt;bsrc:integer,bdest:integer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Material&amp;lt;Power:float,Ambient.RGBA:4 floats,Diffuse.RGBA:4 floats,Emissive.RGBA:4 floats,Specular.RGBA:4 &lt;br /&gt;
&lt;br /&gt;
floats,Cullface:integer,lighting:integer,reflect:integer,usenormals:integer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''End Header'''&lt;br /&gt;
===Arbitrary length attributes===&lt;br /&gt;
Size of Arbitrary length attributes in bytes: integer&lt;br /&gt;
&lt;br /&gt;
Detail Texture: &lt;br /&gt;
&lt;br /&gt;
:Name Length: integer&lt;br /&gt;
&lt;br /&gt;
:Name: char string&lt;br /&gt;
&lt;br /&gt;
:Word alignment padding: string of bytes (all 0)&lt;br /&gt;
&lt;br /&gt;
Number of Detail Planes: integer&lt;br /&gt;
&lt;br /&gt;
:''for each plane:''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;x:float,y:float,z:float&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Textures: integer&lt;br /&gt;
&lt;br /&gt;
:''for each texture:''&lt;br /&gt;
&lt;br /&gt;
:type: integer&lt;br /&gt;
&lt;br /&gt;
:index: integer&lt;br /&gt;
&lt;br /&gt;
:namelength: integer&lt;br /&gt;
&lt;br /&gt;
:Name: char string&lt;br /&gt;
&lt;br /&gt;
:Word alignment padding: string of bytes (all 0)&lt;br /&gt;
&lt;br /&gt;
Number of Logos: Integer&lt;br /&gt;
&lt;br /&gt;
:''for each logo:''&lt;br /&gt;
&lt;br /&gt;
:size:float&lt;br /&gt;
&lt;br /&gt;
:offset: float&lt;br /&gt;
&lt;br /&gt;
:rotation: float&lt;br /&gt;
&lt;br /&gt;
:type: integer&lt;br /&gt;
&lt;br /&gt;
:numrefs:integer&lt;br /&gt;
&lt;br /&gt;
:''for each ref:''&lt;br /&gt;
&lt;br /&gt;
::refnum: integer&lt;br /&gt;
&lt;br /&gt;
::weight: float&lt;br /&gt;
&lt;br /&gt;
Number of LODs: integer (Must be 0 for LOD or animation meshes)&lt;br /&gt;
&lt;br /&gt;
:''for each LOD:''&lt;br /&gt;
&lt;br /&gt;
:Size: float&lt;br /&gt;
&lt;br /&gt;
:Mesh offset number: integer&lt;br /&gt;
&lt;br /&gt;
Number of animations: integer (Must be 0 for animation mesh)&lt;br /&gt;
&lt;br /&gt;
''for each animation:''&lt;br /&gt;
&lt;br /&gt;
:length of name: integer&lt;br /&gt;
&lt;br /&gt;
:name: string&lt;br /&gt;
&lt;br /&gt;
:Word alignment padding: string of bytes (all 0)&lt;br /&gt;
&lt;br /&gt;
:FPS: float&lt;br /&gt;
&lt;br /&gt;
:number of frames:integer&lt;br /&gt;
&lt;br /&gt;
:''for each frame:''&lt;br /&gt;
&lt;br /&gt;
::Mesh offset number: integer	&lt;br /&gt;
&lt;br /&gt;
'''End Arbitrary length attributes'''&lt;br /&gt;
&lt;br /&gt;
===Geometry===&lt;br /&gt;
Number of vertices: integer&lt;br /&gt;
&lt;br /&gt;
:''for each vertex:''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;x:float,y:float,z:float,i:float,j:float,k:float,s:float,t:float&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Lines: integer&lt;br /&gt;
&lt;br /&gt;
:''for each line:''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;flatshade:integer,2 &amp;lt;index:integer,s:float,t:float&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Triangles: integer&lt;br /&gt;
&lt;br /&gt;
:''for each triangle:''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;flatshade:integer,3 &amp;lt;index:integer,s:float,t:float&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Quads: integer&lt;br /&gt;
&lt;br /&gt;
:''for each Quad:''&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;flatshade:integer,4 &amp;lt;index:integer,s:float,t:float&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Linestrips:&lt;br /&gt;
&lt;br /&gt;
:''for each Linestrip:''&lt;br /&gt;
&lt;br /&gt;
:Number of elements in current Linestrip: Integer&lt;br /&gt;
&lt;br /&gt;
:Flatshade: integer (always 0 actually... could optimize out)&lt;br /&gt;
&lt;br /&gt;
::''for each element:''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;index:integer,s:float,t:float&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Tristrips:&lt;br /&gt;
&lt;br /&gt;
:''for each Tristrip:''&lt;br /&gt;
&lt;br /&gt;
:Number of elements in current Tristrip: Integer&lt;br /&gt;
&lt;br /&gt;
:Flatshade: integer (always 0 actually... could optimize out)&lt;br /&gt;
&lt;br /&gt;
::''for each element:''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;index:integer,s:float,t:float&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Trifans:&lt;br /&gt;
&lt;br /&gt;
:''for each Trifan:''&lt;br /&gt;
&lt;br /&gt;
:Number of elements in current Trifan: Integer&lt;br /&gt;
&lt;br /&gt;
:Flatshade: integer (always 0 actually... could optimize out)&lt;br /&gt;
&lt;br /&gt;
::''for each element:''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;index:integer,s:float,t:float&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Number of Quadstrips:&lt;br /&gt;
&lt;br /&gt;
:''for each:''&lt;br /&gt;
&lt;br /&gt;
:Number of elements in current Quadstrip: Integer&lt;br /&gt;
&lt;br /&gt;
:Flatshade: integer (always 0 actually... could optimize out)&lt;br /&gt;
&lt;br /&gt;
::''for each element:''&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;index:integer,s:float,t:float&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''End Geometry'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
*[http://svn.sourceforge.net/viewcvs.cgi/*checkout*/vegastrike/branches/ogre_branch/vegastrike/objconv/mesher/BFXM%20specification.txt BFXM Specification in SVN]&lt;br /&gt;
*[[HowTo:Edit XMESH files|XMESH Specification]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{NAV_Manual |&lt;br /&gt;
| previous=[[HowTo:Make Animated Textures|Using animated textures on a model]]&lt;br /&gt;
| up=[[HowTos]]&lt;br /&gt;
| next=[[HowTo:Edit XMESH files|Editing XMESH files]]&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Halleck</name></author>	</entry>

	</feed>