Commit Graph

2427 Commits

Author SHA1 Message Date
Bill Currie bd840726c2 Fix the mangled faces.
I /did/ see the warning about vertex index 0 in the obj importer script,
but I didn't take it seriously enough. This fixes both the twisted texture
on a couple of faces, and the truly mangled tris when exporting (using
invisibl.mdl for testing).
2011-09-24 09:00:14 +09:00
Bill Currie a1d9e752cd Fix the messed up UVs.
I had forgotten to invert the t axis.
2011-09-23 19:58:26 +09:00
Bill Currie a80eef8bc4 Get the exporter mostly working.
There seems to be some problems with the UVs, only one frame is exported,
and various model params don't get set (eye position, size, bounding
radius, synctype, flags), but the size and shape look right in qf :).
2011-09-23 19:01:31 +09:00
Bill Currie 8ccb07d959 Make the MDL classes a little more usable.
This really eased the writing of the exporter :)
2011-09-23 19:00:39 +09:00
Bill Currie 8bec9cb203 Clean up export_mdl() a little. 2011-09-23 13:00:46 +09:00
Bill Currie 4a3731652e Fix the exported skin conversion.
I must remember to test language features in python 3 :P
2011-09-22 14:08:10 +09:00
Bill Currie 40f46f2ea3 Complete mdl writing.
Except for the normal index in the frame bounds (and potentially frame
names with junk after the terminating nul), the output is identical to the
input for:
	mdl=MDL().read("invisibl.mdl")
	mdl.write("test.mdl")
2011-09-22 11:44:08 +09:00
Bill Currie e35dd29a2d Don't use Vector in mdl.py
This will make testing of the MDL class a little easier (independent of
Blender).
2011-09-22 11:43:57 +09:00
Bill Currie a58f9582b0 Try to write out the skin.
Something's not working as all I get is a black texture, but the basics
(MDL writing) seem to be ok.
2011-09-22 00:58:57 +09:00
Bill Currie ba4ccaf816 Check that all faces are triangles. 2011-09-21 22:34:23 +09:00
Bill Currie 57aa19bd44 Rename qfmdl to io_mesh_qfmdl.
This fits in better with the blender addon naming scheme.
2011-09-21 20:18:23 +09:00
Bill Currie c3b358f470 Clean up the intra-package import lines. 2011-09-21 19:17:16 +09:00
Bill Currie 84f65a0171 Get the "front end" working nicely.
Proper enable/disable of export, file filtering and no exceptions :)
2011-09-21 19:17:16 +09:00
Bill Currie 2ca39e7f75 Start working on the exporter. 2011-09-21 17:37:32 +09:00
Bill Currie 4b9a421928 Split out the MDL class.
I will need it for the exporter.
2011-09-21 12:34:09 +09:00
Bill Currie af4a91accf Do a tiny bit of cleanup. 2011-09-20 19:32:49 +09:00
Bill Currie b00e865d4c Make the importer work in both 2.58 and svn blender. 2011-09-20 18:58:45 +09:00
Bill Currie 67ba9129ed Report bad mdl files. 2011-09-20 13:34:12 +09:00
Bill Currie 9a4e5aef53 Read strings as strings rather than bytes. 2011-09-20 13:33:41 +09:00
Bill Currie a32e45d2d5 Refactor the import code.
This should make things a little more maintainable.
2011-09-20 12:44:37 +09:00
Bill Currie d90fd4cee9 Fix a mistake found by a debug build of blender. 2011-09-18 18:49:16 +09:00
Bill Currie c65522b5cf Add key frames for all shape keys. 2011-09-18 15:37:17 +09:00
Bill Currie 94ac2fa675 Remove a debug print 2011-09-18 10:37:28 +09:00
Bill Currie b57e098e93 Rewrite the frame group to action conversion.
Now it works :) Mostly :/ Need to figure out how to "finalize" the action.
Also, blender occasionally loses my skin texture :(
2011-09-18 09:58:59 +09:00
Bill Currie dbb1df70b5 Fix frame merging for mdlv3 files.
v3 files have no name fields in the frames, so we need to store the
generated name.
2011-09-18 09:18:49 +09:00
Bill Currie ad8afec84c Merge multiple frames into a single frame group.
But only if they seem to be related (ie, the frame name is the same up to
the number). This will later become optional, but it allows me to test
some of the frame group code.
2011-09-17 23:41:35 +09:00
Bill Currie dc76ad6556 Create actions for frames and frame groups.
Simple frames get a one key action, groups get an action with a key per
subframe.
2011-09-17 23:13:21 +09:00
Bill Currie 644f4db9d1 Add support for v3 (qtest) mdl files.
Finally, I can see the dragon in all its... glory?
2011-09-17 09:05:07 +09:00
Bill Currie f7de55ed5e Create a shape key for every frame and subframe.
Shammy has no frame groups :(. Need to find a model with groups.
2011-09-16 20:59:39 +09:00
Bill Currie b0af18478b Be a little more direct in object linking and materal adding. 2011-09-16 19:14:31 +09:00
Bill Currie de24fa99a8 Break out the skin/material setup code. 2011-09-16 17:57:07 +09:00
Bill Currie 41213f2c30 Make the skin show in blender's 3d view.
Much thanks to ideasman_42 for showing me which code I needed to grok to
get it working.
2011-09-15 22:45:23 +09:00
Bill Currie 320f613263 Give the uvlayer texture a name. 2011-09-15 20:39:26 +09:00
Bill Currie 257fefca38 Link the first skin to the imported object.
The texture doesn't display properly in 3d space in texture mode yet.
2011-09-15 19:52:18 +09:00
Bill Currie 7489d5646b Convert all skins.
Skin groups are now partially supported.
2011-09-15 19:51:52 +09:00
Bill Currie f8e1e3d4ec Fix incorrect bracket/parens 2011-09-15 19:18:31 +09:00
Bill Currie 11f37298be Reveres the face windings.
Blender's vertex order and quake's vertex order seem to be opposed.
2011-09-15 17:23:40 +09:00
Bill Currie 0569e0ebd3 Build the uv layout. 2011-09-15 13:21:08 +09:00
Bill Currie 99ff91e341 Load the skins into blender images.
Skin groups are not yet supported (skipped).
2011-09-15 11:29:54 +09:00
Bill Currie 9d025e0058 Begin working on an mdl import/export plugin for blender.
This is only preliminary at this stage:
  o No export yet.
  o Only the first frame is converte4d.
  o Skins are not yet converted
2011-09-14 19:33:51 +09:00
Bill Currie 3de5575def Move the menu files into the QF directory for win32. 2011-09-11 17:13:20 +09:00
Bill Currie a71acc9ae5 Move the essential init code into Sys_Init(). 2011-09-11 14:56:47 +09:00
Bill Currie b9401fe7c6 Fix incomplete removal of old files. 2011-09-10 18:10:51 +09:00
Bill Currie 505660dffe Nuke another buffer.
Though snprintf was used, not having a buffer just makes things cleaner.
2011-09-07 09:41:06 +09:00
Bill Currie f75b0a611b Some compile fixes for OpenBSD 2011-08-25 22:35:20 +09:00
Bill Currie 70d42cc838 Allow light entities to specify a named light property. 2011-08-21 14:40:18 +09:00
Bill Currie 73a280f86a Handle all light types in the switch.
Even though nothing is down for those types.
2011-08-21 14:40:18 +09:00
Bill Currie 2d8b011bc8 Support negative lights. 2011-08-21 14:40:18 +09:00
Bill Currie efce040d48 Document the fields qflight uses to control lighting. 2011-08-21 14:40:18 +09:00
Bill Currie e42c5a4272 More tests and fix vector/quaternion global dumps. 2011-08-11 14:58:13 +09:00