Commit Graph

7990 Commits

Author SHA1 Message Date
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 5029fde3e1 Fix the bogus frags on death.
I'd missed some casts in the MSG_ReadShort change.
2011-09-11 17:49:24 +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 e7f845ece1 Fix the accidentally broken model precaching.
This fixes the explodebox bug reported by scar3crow (thanks!), caused by a
subtle difference between nq and qw precaching (nasty).
2011-09-11 17:07:41 +09:00
Bill Currie cb9a30e949 Fix registered game detection.
registered detection needs qfs to be initted, but qfs needs game to be
inited... so move the qfs init into game init before the registered check.
2011-09-11 15:40:36 +09:00
Bill Currie d9ab3a1f54 Move the config file/command line parsing into qargs.c
I don't like the COM prefix, but it will do for now.
2011-09-11 14:57:05 +09:00
Bill Currie a71acc9ae5 Move the essential init code into Sys_Init(). 2011-09-11 14:56:47 +09:00
Bill Currie f921005a5d Nuke com.c.
It's contents have been moved into game.c and massaged appropriately.
2011-09-11 14:55:13 +09:00
Bill Currie 6fb73b5ae8 Nuke some mystery code.
I have no idea why I did that, but it crept in with the var substitution
fix, so I guess it might have been an attempt to fix a bug, but it looks
like it was broken anyway.
2011-09-11 13:10:14 +09:00
Bill Currie e5add8b4f5 Use dstring_freeze() to cleanup some code. 2011-09-11 13:09:24 +09:00
Bill Currie 8bab548d16 Make the hud type configurable via dirconf.
Currently only "id", "hipnotic" and "rogue" are supported (anything else is
treated as "id"). Has no effect in quakeworld (good thing too: changing
gamedirs is a little broken).
2011-09-11 08:13:26 +09:00
Bill Currie b9401fe7c6 Fix incomplete removal of old files. 2011-09-10 18:10:51 +09:00
Bill Currie 8e30d3098e Fix asm ilnking in mingw.
It seems that recent binutils/libtool doesn't like exporting symbols that
don't begin with a _.
2011-09-10 17:49:14 +09:00