Commit Graph

8487 Commits

Author SHA1 Message Date
Bill Currie ca978315fb Change the default vid plugin from sw32 to glsl. 2012-04-22 10:11:56 +09:00
Bill Currie 07c618492f Break out the default plugin code into its own macro. 2012-04-22 10:03:52 +09:00
Bill Currie 1fd84477a2 Rename char to dchar in the text vertex shader.
Thanks to Spirit :)

Turns out certain drivers (nvidia?) reserve "char" even though opengl does
not. This should fix his missing console text.
2012-04-21 20:59:04 +09:00
Bill Currie 7317aaf109 Fix an out-by-one error when expanding intervals. 2012-04-21 20:16:28 +09:00
Bill Currie 965680f5dd Fix the bogus rotation flag when exporting the torch. 2012-04-21 11:42:38 +09:00
Bill Currie 4e435654c0 Implement multiple skin and frame exporting. 2012-04-21 11:31:33 +09:00
Bill Currie 1242247ac2 Write the number of subskins in a skin group. 2012-04-21 11:30:43 +09:00
Bill Currie 3b07928373 Fix an inconsistent numeric constant.
While checking the shaders to see if there might be anything obvious to
work around the current nouveau shader issues, I found a 1 that should have
been a 1.0. I'm surprised it ever compiled.
2012-04-20 16:30:25 +09:00
Bill Currie cdc57a0473 Set the skin images' fakeuser flag.
Until I figure out how to do animated skins in blender...
2012-04-19 22:16:30 +09:00
Bill Currie 6bae99d66c Create an animation script for imported models.
The animation script is just a plist of relevant frame and skin
information. Documentation is included in the generated script.
2012-04-19 22:06:43 +09:00
Bill Currie ff05074e70 Set the fcurve interpolation to linear.
Since qf does linear interpolation of verts, this seems to be reasonable.
Certaintly better than the rose-thorns I got because I haven't figured out
how to kick the auto-clamp.
2012-04-19 18:49:53 +09:00
Bill Currie 274848b720 Use exceptions for error reporting.
Much cleaner, should have done it this way in the first place.
2012-04-19 14:30:40 +09:00
Bill Currie d500940983 Add support for writing plists.
For now, only dictionariess, lists/tuples, bytes and strings are
supported.
2012-04-17 22:05:50 +09:00
Bill Currie 68bf0108fb Create a python version of qfplist.
I've decided to use property lists to define mdl control scripts. Some
names will probably get changed, and I still need to write code for writing
a plist, but the hard part is pretty much done :)
2012-04-17 21:29:27 +09:00
Bill Currie 561484842c Fix some snafus in PL_ParseData
Found them by inspection while writing a python version of qfplist.
2012-04-17 21:26:33 +09:00
Bill Currie 196f2da585 Remove the fallback for missing image pack support.
It's been in blender since 2.59 or so.
2012-04-17 13:10:21 +09:00
Bill Currie e25024c131 Build a single NLA track with strips for all actions.
This removes the need for fakeuser :).

Anyway, with this, the model's animations can be viewed all in sequence
just by hitting alt-a.
2012-04-16 15:42:49 +09:00
Bill Currie 4b29510bfd Set the name of the shape-key datablock to the model name.
Note that this is the data block that holds the list of actual shape-keys,
rather than the shape-keys themselves. I'm not sure what it's correct name
is (it's just "Key" in RNA).

I really dislike this method of setting the name, but the use of "Key" as
the datablock name is actually hard-coded into blender's C code :/
2012-04-16 13:33:45 +09:00
Bill Currie 0952e918dd Set fakeuser on actions.
Without fakeuser set, blender will toss out the actions on save and reload.
Converting to an nla strip might take care of that, but I haven't figured
out how to do that yet, so avoid any nasty surprised for the user.
2012-04-16 13:30:58 +09:00
Bill Currie 70f500a087 Use custom properties for model flags etc.
Eye position, auto rotation, sync type and particle effects can now all be
edited in blender: both import and export do the right thing. The settings
can be found in the "QF MDL" panel of the "Object" tab of the properties
view.
2012-04-15 21:55:23 +09:00
Bill Currie 878764f79d Fix some segfaults in nq-server. 2012-04-15 15:11:16 +09:00
Bill Currie 7fc700b802 Allow alias textures up to 1024x1024.
Blender's default texture size is 1024x1024, and there doesn't seem to be
any reason not to support it.
2012-04-15 14:13:05 +09:00
Bill Currie 6f026e9116 Fix some segfaults in server model loading.
I'd forgotten to test the servers when I did the vid_plugin changes.
2012-04-15 14:12:00 +09:00
Bill Currie 92c08fb957 Update required blender version. 2012-04-15 13:47:59 +09:00
Bill Currie fd9b8f7b4a Fix import and export for blender 2.63
Blender 2.63 should be out in a few days. Nice to get this ready ahead of
time.
2012-04-15 09:34:53 +09:00
Bill Currie d3af0b2357 Correct the MD16 writing code.
Forgot to test it :P
2012-04-15 09:34:16 +09:00
Bill Currie ab4aec47a7 Correct vertex scaling for blender 2.62+
This also abandons support for older versions of blender.
2012-04-14 18:10:25 +09:00
Bill Currie bbd277cb72 Fix building libQFrenderer as a helper library. 2012-04-12 17:16:40 +09:00
Bill Currie 61ae793367 Fix two broken symbols for sw32.
Now all 4 render plugins load as standard plugins (though there's still a
problem with libQFrenderer.so)
2012-04-12 17:12:24 +09:00
Bill Currie 633f70b2f1 Remove a functionally dead symbol.
The only purpose clearnotify seemed to be serving was to stop the console
plugin from loading :P
2012-04-12 17:05:42 +09:00
Bill Currie 7fc99f9c60 Fix gl and glsl support in sdl. 2012-04-12 16:47:37 +09:00
Bill Currie ab486dcdf6 Unregister the quit command before registering it.
This fixes the quit menu not working.
2012-04-12 15:07:28 +09:00
Bill Currie e784754a11 Disable the gl_triplebuffer check in glsl.
It doesn't seem to have any useful effect in QF (even before the plugin
project) other than setting the number of frames to update. I'm not sure if
it's a useless variable or one where the user is supposed to match it to
the system configuration. Anyway, with this, the glsl plugin now works.
2012-04-12 14:40:02 +09:00
Bill Currie 8401704c4e Connect up palette setting for gl and glsl.
The GL plugin now seems to work. GLSL still segs :(
2012-04-12 13:57:05 +09:00
Bill Currie 525dbcc13e Ensure code paths stay within the one renderer.
The gl renderer calling sw functions is bad news. Still all black, but I
think that's because palette setting is disabled.
2012-04-11 22:45:23 +09:00
Bill Currie 898bfa5e5f Split up the vid plugin init sequence.
This gets gl so it no longer segs. However, the screen remains black
(expect for cshifts).
2012-04-11 16:44:38 +09:00
Bill Currie 6ff658afe4 Use r_funcs in the client console plugin.
Getting the sw renderer's functions when running gl was nasty.
2012-04-11 16:38:15 +09:00
Bill Currie d62772e9cc Separate render module loading from initialization.
This allows the vid module to load the render module and access render
specific functions before the renderer initializes, which happens to need
an initialized vid module...
2012-04-11 14:58:56 +09:00
Bill Currie a16ff08240 Make nq-x11 work for sw.
Same state as qw-client-x11.
2012-04-11 14:58:56 +09:00
Bill Currie 97968422f8 Fix an uninitialized variable found by valgrind. 2012-04-11 14:58:56 +09:00
Bill Currie 799a0ae018 Fix a bogus cshift calculation in sw32.
Found via valgrind and gammatable having become malloced instead of static.
2012-04-11 14:58:55 +09:00
Bill Currie 07ab5600c9 Recache viddef in *D_InitCaches.
sw32 now at least doesn't seg, but doesn't draw any 3d. sw renderer seems
to work.
2012-04-11 14:58:55 +09:00
Bill Currie 42868d308e Initialize the skins and particles subsystems. 2012-04-11 14:58:55 +09:00
Bill Currie a0e143e601 Check for fog functions before calling them.
Not all renderers support fog.
2012-04-11 14:58:55 +09:00
Bill Currie 6ea4e6617a Connect up viddef properly.
Or mostly so, anyway. sw32 is actually putting stuff on the screen.
2012-04-11 14:58:55 +09:00
Bill Currie 4d9c3408a1 Start putting the pieces back together.
The renderer now gets initialized and things sort of work (qw-client will
idle, though nothing is displayed). However, as the viddef stuff is broken,
it segs on trying to run the overkill demo.
2012-04-11 14:58:55 +09:00
Bill Currie 1d864521e9 Fix the sprite model loader for plugins. 2012-04-11 14:58:55 +09:00
Bill Currie cbdbfdd12f Fix the alias model loader for plugins. 2012-04-11 14:58:55 +09:00
Bill Currie 52e518bb1b Fix skin functions for plugins. 2012-04-11 14:58:55 +09:00
Bill Currie f5d6959f4b Copy out the model functions pointer. 2012-04-11 14:58:55 +09:00