- values were added to both the classes __dict__ as well as the internal StructRNA.
- made properties available from the type since this is where the python api assigns them:
>>> bpy.types.Scene.frame_start
<bpy_struct, IntProperty("frame_start")>
- rename RNA_struct_type_properties() -> RNA_struct_type_properties(), added RNA_struct_type_find_property()
Added OPTYPE_GRAB_POINTER flag to scrolling operator, changed a bit logic of
delta calculation and removed unused members from TextScroll structure.
Got issue with very-fast mouse moving (when mouse pointer could go out of window,
but it's general issue for all grab operator).
Was unable to check MOUSEPAN event (two-finger scroll). Please poke me if
there are any issues with this event.
Text space's scroll bar now uses quite the same strategy of handling
drag and click events as view2d.
I tried to share some code between this two spaces. but there was no big
luck with it: text sace uses it's own constants (like scroll bas size and offsets),
so the simpliest way was to define zone stuff for text space without sharing it
with view2d.
----------------------------------
While we are more and more moving towards enabling features in the Python API, it's also important to have Logic Bricks working with no scripts.
This option allows you to start the game with the mouse cursor on (it's on Render Buttons). The defalt is still off (no do_version needed here).
Support for physics is done by skiping the modifiers that
don't support mapping to original mesh. This mapping is
required to report the hit polygon to the application
by the rayCast() function.
Support for graphics is done by using the same render
function that blender uses for the 3D view. This guantees
equal result.
Limitation: there is still a known bug if all these conditions are met:
- Display list enabled
- Old tex face with a several textures mapped to the same material
- no armature or shape keys
- active modifiers
In this case, only a part of the mesh will be rendered
with the wrong texture. To avoid this bug, use the GLSL
materials or make sure to have 1 material=1 texture in
your old tex face objects.
* Before the different simulations all had a panel with an "add this" button making the whole tab look really messy. It also rarely makes sense to have more than one or two physics things enabled for a single object, so having all the panels in the tab just added a great deal of visual clutter.
* Now there is a single "enable physics for" panel at the top that allows for enable/disable of any simulation. All actual physics panels are hidden until a simulation is enabled.
* There was no "add" button for force fields before, but I added a toggle between "none" and "force" to unify the ui even further.
- move test -> tests, this name is used elsewhere in lib/tests.
- change interface code not to loop on a float value (clang warning), harmless, but with extreme cases an eternal loop would still be possible though unlikely.
- multiplying a 2D vector by a 3x3 or 4x4 matrix would use un-initialized memory, now throw an exception.
- use more variable length array BLI_math functions.
ParentActuator: sub options only available when mode==setParent + deactive ghost option when compound is true (isntead of saying that in the tooltip)
PropertyActuator: I never knew that you could pass a property name to the Add and Assign options of the Property Actuator. Where it's by design or a side effect is cool. And a tooltip explaining that does help.
* Argh, particles tab was showing the whole "non applicable settings for fluid particles"-galore as the particle type "fluid" can't be checked from rna using the settings type value. Now the ui is a lot cleaner and only settings that actually effect the fluid particles are shown.
"Modal cursors" now remain visible, until reset. These cursors
were reset already on edges. Example: 3d view toolbar, grease
pencil. Do note, only use WM_cursor_modal() on real modal tools,
and restore it at end.
* Unpack menu option "Remove Pack" didn't get a pointer to the image to be unpacked. This worked from image view by using the active image, but not from texture panel.
* The whole case of lib linking and pointcaches is not very well defined currently, but this fix sets the behavior of sb to the same as other physics currently.
* A proper fix will be easy to implement after a good physics baking ui is added.
* fix for armature sensor (Status Changed doesn't use any value to evaluate itself) + renamed "Test Type" to "Test"
* visibility tooltip was wrong - now we can change visibility from the physic buttons instead of the outliner
* bonus * when you change the visibility from the physics panel the icon in the outliner wasn't changing
vgroup functions were mixing up active group and one passed as an argument.
also made other changes.
- removed superfluous call to defvert_find_index() in vgroup_delete_object_mode(), was also doing unnecessary NULL check on each loop.
- remove paranoid NULL check from ED_vgroup_vert_remove, callers all check for valid 'ob'
The plane which defined the shear had the factor applied to each axis equally.
This meant that the shear for any 3x3 or 4x4 matrix would be diagonal on the positive values of each axis.
Only being able to create diagonal shear matrices seems stupid, now take a pair of floats for the shear factor corresponding to the plane axis values, so its possible to shear on only one axis of the plane.
It seems that rna_def_effect() is missing a rna_def_input(), resulting
in:
rna_uiItemR: property not found:
EffectSequence.animation_offset_start
rna_uiItemR: property not found: EffectSequence.animation_offset_end
in the console. I'm not sure whether these settings are used for
"effect" strips or not, but I'll leave that to sequencer guys to
figure out if/when they get a report about this.
Fixed one of oldest annoyances in Blender: the text input button!
It always behaved stupid when you had clipped text in a button.
Now while using arrows the cursor will move as expected, and only
internally shift contents when cursor reaches edge of button.
- Swap strips operator crashed when it encountered an empty track
- Duplicating NLA strips was renaming the wrong strips - the old ones
would always get renamed, which was annoying