Commit Graph

8071 Commits

Author SHA1 Message Date
Bill Currie 9d63298032 Tweak a fixme comment.
The code is potentially slow, especially on big maps, but I haven't noticed
any issues yet.
2011-11-28 20:54:33 +09:00
Bill Currie 03abb3b27d Add support for ellipsoids.
Not that boxes work yet, but the fix is the same.
2011-11-28 20:54:33 +09:00
Bill Currie b4da9241f6 Make a fresh start on box clipping.
I even have a failing test to fix :)
2011-11-28 20:54:33 +09:00
Bill Currie 268e732b90 Add a Quat_t union.
It isn't used yet, but it might make messing with quaternions a little
easier.
2011-11-28 09:36:09 +09:00
Bill Currie 7f551026f5 Merge remote-tracking branch 'kurogane/master' 2011-11-15 18:06:44 +09:00
Bill Currie ea02f3cd44 Fix a missed byteswap when loading qfo files. 2011-11-15 17:36:55 +09:00
Bill Currie 6d2b92125a Make nva a little more memory efficient. 2011-11-15 13:47:05 +09:00
Bill Currie 2457837b37 Make some improvements to the winding docs. 2011-11-12 12:17:45 +09:00
Bill Currie 6b62b850a7 Add an option to omit the mipmap from extracted textures.
This is at the request of Spirit (quaddicted). Great idea.
2011-10-05 20:43:40 +09:00
Bill Currie 940476dce1 Do some renaming to make things a little clearer. 2011-10-02 15:07:36 +09:00
Bill Currie 3b8ab404a0 Add the ability to save the extra model parameters.
The params are eye position, flags and synctype. Provision is made for
reading them from a text block on export, but nothing is done other than
retrieving the text block.
2011-09-28 07:41:20 +09:00
Bill Currie a356ce6572 Assume the trace will be allsolid.
Rather than setting allsolid when the trace fails to leave solid space,
clear it when the trace enters non-solid space. This is necessary because
the trace might visit only one node and thus the failure to leave solid
space will not be detected. This fixes the problem with hipnotic's bobbing
water.
2011-09-27 17:14:42 +09:00
Bill Currie 9c6693d567 Correct hull3 and its tests.
I'd gotten the solid/empty parts backwards.
2011-09-27 17:11:57 +09:00
Bill Currie 3e74aa5303 Add trace-qf-bad.c to Makefile.am and testclip.c. 2011-09-27 17:09:04 +09:00
Bill Currie e23ee07b6f Ensure id's trace is properly initialized. 2011-09-27 15:38:28 +09:00
Bill Currie 32ff639bf3 Add an old qf version of trace.c
This version is broken (it's the one "fixed" by commit 981622f9), but it
does behave correctly for hipnotic's bobbing water. The question is, why?
2011-09-27 13:00:19 +09:00
Bill Currie 9daa0b7bde Rename the empty and solid flags, and use them correctly.
seen_empty and seen_solid much better reflect their meanings, and also use
them correctly (eg, visiting an empty node does not clear seen_solid).
Hipnotic's bobbing water is still broken, though.
2011-09-27 12:33:50 +09:00
Bill Currie a7482570b6 Document the geometry in the tests. 2011-09-27 12:30:21 +09:00
Bill Currie aa6b7ef7e8 Add some water based tests.
Unfortunatly, they haven't uncovered the bug.
2011-09-26 21:02:54 +09:00
Bill Currie 800e8cb3da Make the id trace code more readily usable in the engine. 2011-09-26 19:56:00 +09:00
Bill Currie ae0dc6f06b Disable the "shouldn't happen" code.
It causes the tests to fail, and doesn't affect the problem I'm currently
facing.
2011-09-26 19:56:00 +09:00
Bill Currie baf9b7c181 Make the test nodes a little easier to read. 2011-09-26 19:56:00 +09:00
Bill Currie 683adf1850 Print the name and texture number for model skins.
Use SYS_GLT (1024) for gl texture debugging.
2011-09-26 13:03:53 +09:00
Bill Currie 521f482806 Fix an off-by-one error that caused uvs to wrap. 2011-09-25 20:52:28 +09:00
Bill Currie 1277c17cd9 Give the 24-8 bit converter a massive speedup.
The biggest part of the speedup is reading from blender's image only once
(it seems that every read does so from GL rather than memory: ouch). Also,
cache the results for each color.
2011-09-25 20:50:32 +09:00
Bill Currie 2e2484250c Add some notes about modelgen's commands. 2011-09-24 21:31:02 +09:00
Bill Currie 50795b8239 Calculate the model "size".
The size is actually the average area in quake units of the mesh's
triangles. Again, my results are slightly smaller (0.025).

With this, all calculable fields are set. Only eye position, flags and
synctype remain.
2011-09-24 13:18:23 +09:00
Bill Currie 07b5db64c6 Calculate the bounding radius.
The calculated radius is a smidge (0.05) smaller than the original
(invisibl.mdl), but I think that's due to the difference in source data: id
used the original models, I'm using their output.
2011-09-24 13:03:18 +09:00
Bill Currie 3b33d8dade Make the basis shape key active on import.
Blender must have an active shape key before shape key animation will work.
This fixes the models being locked to the first frame until a shape key is
selected via the UI.
2011-09-24 11:43:06 +09:00
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