-- Quake 1 BSP Importer for Blender --
by Andrew Palmer 2013.06 (Quake was released in 1996.06, so I'm a bit late)
email andyp.123 -at- gmail.com for help or whatever.

Usage -------------------------------------------------------------------------
1. Extract to blender scripts/addons/
2. In user settings go to addons and enable 'Import-Export: Import Quake BSP format'
3. from the File menu, select import>Quake BSP (.bsp)
4. Choose a valid Quake 1 .bsp file
5. Assuming everything worked, your scene should contain all the models in the bsp,
   though you may need to move/rotate the camera to see them.

Tips --------------------------------------------------------------------------
You might not be able to see textures, even if the viewport is in textured mode.
To fix this, press 'n' with the cursor in the viewport to open an options panel
on the right. In here, expand the display options and set shading to 'GLSL'.

It's easier to view the level with backface culling enabled. To do this, open
the display options (see above description) and check 'Backface Culling'.

Everything might be black if there is no Lamp object in the scene. To fix this,
either set the existing lamp to Hemi, or add a new hemisphere lamp (Add>Lamp>Hemi).

The textures will probably look like hell since they are very small by modern
standards and filtering destroys them. To see the map with nearest (non-filtered)
texturing, open the 'System' tab in Blender User Preferences (ctrl+alt+u) and
uncheck 'Mipmaps'. 

History -----------------------------------------------------------------------
0.0.3
+ added scale option (scale geometry on import)
+ added create materials option (use textures from the bsp to create and assign materials)
+ added worldspawn only option (import just the main map geometry, not doors, triggers etc.)
0.0.2
+ now imports textures from the bsp as materials
+ uvs and materials are applied to faces
0.0.1
+ import bsp imports all models in a bsp file as objects in a blender scene

Known bugs --------------------------------------------------------------------
Due to my own lack of knowledge of Python and the Blender scene hierarchy, this script
is very slow. On large maps expect it to take a few minutes. This is something I may
improve in a future release.
- texture name lookup for each face is stupid
- there is probably a more efficient way to extract the mesh to memory
- too much fudging the vert and uv lists to get them to look right

I also heard that it doesn't work properly with Blender for Mac. I have no idea
why. If someone sends me a free Macbook, I can probably fix it ;)

Thanks ------------------------------------------------------------------------
+ John 'Metlslime' Fitzgibbons for the uv conversion code
+ People in #blendercoders and on blender.stackexchange.com for help
+ The people who wrote http://wiki.xentax.com/index.php?title=Blender_Import_Guide


Legal crap --------------------------------------------------------------------
NOTE: This addon contains palette.lmp, which is the palette file for the game
Quake, by id software. This file is in the public domain.

#  ***** GPL LICENSE BLOCK *****
#
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#  All rights reserved.
#  ***** GPL LICENSE BLOCK *****