4
4
mirror of https://github.com/H-uru/korman.git synced 2025-07-14 02:27:36 -04:00
Commit Graph

822 Commits

Author SHA1 Message Date
6ed81d2794 Improve stenciling support. NOTE: BREAKING CHANGE
OK, this commit does a lot, and it was hard to separate the changes, so
mega-commit.
- We now export stencils in such a way that Plasma layers can be affected
  by multiple stencils, theoretically matching the Blender behavior
- We don't try to animate stencils or even offer animation options. This
  is nonsense.
- In our zealousness to skip over illegal texture slots, there was a bug
  introduced in which we queried texture fcurve paths illegally,
  potentially causing animations to be exported incorrectly. This has been
  fixed.
- There was a potential issue with the animation command node's material
  option in which the message could be sent to the wrong page. This has
  been corrected by making the Object field mandatory for all animation
  types.
2016-06-30 20:32:26 -04:00
e50098ab93 Merge pull request #42 from Hoikas/detail-fade
Implement detail fading for Plasma Layers
2016-06-30 20:11:19 -04:00
319b43814f Implement detail fading for Plasma Layers
Yes, this was shamelessly stolen from the max plugin. So shoot me. It's an
awesome feature.
2016-06-29 22:47:28 -04:00
ba93c77260 Export shadow masters
We can finally have avatar shadows in our ages!!! Yes, it really does
deserve all of those exclamation points.
2016-06-28 22:13:52 -04:00
6c9fb61715 Merge pull request #40 from Hoikas/animation
Moar Animations
2016-06-28 18:34:58 -04:00
5f8e57ef6b Implement Omni Light animations 2016-06-28 18:34:28 -04:00
66264331a6 Update Animation Group modifier
Fix an issue with ObData animations and update the UI to match other
list-based modifiers.
2016-06-28 18:34:27 -04:00
0d73893ac5 Limit CoordInterface creation for animated objects to xform animations
only.
2016-06-28 18:34:27 -04:00
33810c37d1 Implement spot cone animations 2016-06-28 18:20:34 -04:00
e8c71eb121 Port matrix44 controller generation to new fcurve merging method 2016-06-28 18:20:33 -04:00
3f98e6ea9d Add lamp color and energy animations
This makes things incredibly more complex because Blender stores those
animations on the ObData ID instead of the Object ID data block. Dang. So,
the animation modifier's detection code had to be pretty much scrapped.
The newer code is a little hacky in places. Hopefully we can address this
soon-ish.
2016-06-28 18:20:32 -04:00
6755453d3c Add fcurve/keyframe smashing, mashing, etc.
Don't even ask...
2016-06-27 18:44:34 -04:00
e2d18c898a Implement sound volume animations 2016-06-26 20:51:37 -04:00
74610a3eee Allow for animation value conversioner callables
This is useful in the case that we store data that does not quite match
what Plasma uses or expects
2016-06-26 20:50:47 -04:00
dbeed6f660 Refactor ATCAnim generation
Move all the logic into the AnimationConverter in preparation for
exporting animated sound volumes, spot cones, light color values, etc.
2016-06-25 20:28:17 -04:00
47bd42caa8 Relax restrictions on key names
These rules made sense in 0.01 when we promoted modifier names. However,
these have been disallowed for over a year now. These restrictions are
sneaky and serve no purpose now.
2016-06-25 20:12:03 -04:00
77ef3bb572 Fix traceback when viewing Lamp texture UI v0.04 2016-06-24 16:02:47 -04:00
9ab6b16ed2 Implement limited directional lights 2016-06-24 15:58:06 -04:00
9c8b286c07 Merge pull request #38 from Hoikas/rtproj
Projection Lights
2016-06-22 13:12:15 -04:00
12e5f8177a Implement projection lamps 2016-06-21 20:46:41 -04:00
c98ddd0ca9 Sort light code properly (alphabetical order, people) 2016-06-21 20:46:19 -04:00
638279c85e Fix some typos in old projection light code 2016-06-21 20:45:48 -04:00
8a6d6dbea5 Tweak the material converter to not require valid materials while
exporting texture slots
2016-06-21 20:45:09 -04:00
f54bba5a7c Only hide meshes (not lamps -- OOPS!) 2016-06-20 19:52:32 -04:00
7e387fda48 Don't bake shadows for objects with no drawables
I fail to understand why Blender thinks this is legit, but oh well...
Also, as a bonus, we no longer clobber values in the GoodNeighbor tracker.
I wonder how many bugs this will fix?
2016-06-20 18:54:04 -04:00
0b1c4a4f45 Add an operator to reset modifiers to default 2016-06-20 18:39:02 -04:00
dfa448adcb Ensure modifier dependency sanity post-deletion
This changeset ensures that if a dependant modifier's dependency is
deleted that the aforementioned modifier is deleted as well. Since this is
something of a large change, we ask for the user to confirm the operation
before actually doing so.
2016-06-20 18:08:37 -04:00
24f7442d88 Allow soft volumes to be added to Lamps 2016-06-20 14:22:56 -04:00
04d7af8827 Tighten up static light baking object select algo.
It tried to bake some stupid stuff before, eg objects with no materials.
The bug was related to items being removed from a list during a loop. This
has been corrected by looping backwards by index.
2016-06-19 22:14:55 -04:00
46a094057f Lightmap Mod: Don't expose tracebacks to the user
Rather, inform the user in a standardized way when nothing was baked.
Beats the heck out of seeing a random traceback!
2016-06-19 21:22:55 -04:00
f603295225 Shit. 2016-06-19 20:42:13 -04:00
e65f7a3965 Fix a wait bug in Responder Command reenabling
Responder commands now wait until the current command finishes, even if
the command is the last in the chain. Previously, the final command would
reenable the logic modifier when the penultimate command finished.
2016-06-19 19:49:55 -04:00
b1db07132a Merge pull request #35 from Hoikas/sounds
Sounds
2016-06-19 19:40:17 -04:00
fd3026021a Implement Sound logic nodes 2016-06-19 19:38:14 -04:00
8e262f815c Allow message nodes to export multiple messages
This shim is needed in some cases for plSoundMsg
2016-06-19 19:20:27 -04:00
36f0ac194d Implement SoundEmit modifier
This sound emitter modifier is almost as fully functional as PlasmaMAX's various sound emitter components. Additional functionality was added to C korlib so that artists can specify OGG Vorbis sound files. If korlib is not compiled, only WAVE sounds can be utilized in Korman. This fixes some of the more fiddly bugs related to exporting to CWE that were seen in PyPRP.

Sound nodes to be implemented...
2016-06-19 19:19:12 -04:00
b29f4ebf75 Implement Plasma Sound loading
This allows us to use Blender's Sound datablocks, despite it actively
opposing our attempts to do so. Meaning the artist can pack their sounds.
:)
2016-05-30 21:01:59 -04:00
cb6541675a Change to Blender 2.77 style bpy.types.Image.bindcode.
This idiotic change was introduced in stealth mode from 2.76 to 2.77. It has something to do with 3d textures, supposedly. I think the person who made this change is simply an asshat...
2016-05-21 20:13:59 -04:00
8c43462ae0 Merge pull request #28 from Jrius/master
Animated physicals + no clamped stencils
2016-02-21 15:56:41 -05:00
5289bf0735 Fix NULL LayerAnimation base layer crash
Ok, so, the exporter incorrectly assumed it created all plLayerAnimations.
In reality, nodes could create the plLayerAnimation first. If the material
exporter recreates the object, bad things happen, and an invalid
plLayerAnimation is added to the hsGMaterial. UruExplorer then goes
KABLOOEY!!!
2016-02-19 18:26:17 -05:00
jb
36a3750372 Only one underscode in make_physical_movable (ack !) 2016-02-19 22:34:36 +01:00
jb
ce2d393099 Move make_physical_movable and make it private 2016-02-18 22:03:26 +01:00
e1251dd545 Merge branch 'rt-lights' 2016-02-15 21:55:30 -05:00
1553985392 Some style nitpicks 2016-02-15 21:55:12 -05:00
f869bbf640 Match lamp export settings to PlasmaMax's settings. 2016-02-15 21:49:17 -05:00
ffd0e6ed8a Be more careful about toggling renderability 2016-02-15 18:53:26 -05:00
1dfaace9b1 Don't arseplode if lightmaps are not baked 2016-02-15 18:44:05 -05:00
8970758f8e bpy.types.Mesh.materials is an ebil liar! 2016-02-15 18:39:09 -05:00
1ad2b73a74 Don't wreck the layer selection in LM previews 2016-02-15 18:25:56 -05:00
a11b1a92b2 __enter__ must return a value 2016-02-15 18:18:42 -05:00