BGE Py Controllers were effectively doing this...
"a.b.c" --> "__import__('a').b.c()"
This was annoying because it meant module 'a' would need to import 'b' explicitly.
Now use import like this.
"a.b.c" --> "__import__("a.b").c()"
Note that this has the slight disadvantage that these need to be modules, where as before they could be collections of functions in a class instance for eg. So its possible this breaks existing files but dont think anyone used this since its a fairly obscure use case.
for some reason mbstowcs() was converting '/home/matrem/Téléchargements/' to '/home/matrem/T', where blenders utf8towchar() worked correctly, tried changing my locale but didnt help so using blenders utf8towchar() function.
Fixed brush icons loading slowly
* Changed brush icon property from an enum to a flag that toggles whether a custom file is used for the brush icon
* Changed get_brush_icon to only handle loading external icons, built-ins are handled through the regular icon system
* Modified preview icon drawing to allow built-in icons
* When not using a custom icon, a default icon is selected based on the current tool
TODO:
* Allowing preview to show built-in icons makes the brush texture selector look ugly when nothing is selected. As discussed on IRC though, the nothing-selected state needs to be clarified anyway; I'll address this in another commit
* Use image browser when selecting a custom icon
* Selecting the default icon is ugly (uses the active object's mode), this can be fixed by making brushes know which paint mode they are part of
More icon work
* Added icon defines for all the brushes
* Load all the brush icons after loading regular Blender icons
* Added the brush icons to their respective tool enums in RNA
* Fixed a couple unused-variable warnings
Minor sculpt cleanups
* Moved the (previously extern) declarations of the brush icon data to ED_datafiles.h
* Set sculpt tool RNA to alphabetical order, quite a long list now
Some cleanup on effects:
- converted interface to float cfra
- made effects return their own ImBufs, which has the following
advantages:
* code in sequencer.c is a lot more readable.
* multicam saves one memcpy of an image
* prepares things for GPU-rendering
Fix#21498: Edit curve Shape key /252_r 27318
Added full support of shape keys for curves and nurbs surfaces including
topology changing in edit mode, undo stuff, updating relative keys when
working under basis and so on.
hanging on screen, making you have to mouse over them to clear them.
I hope this was the only issue causing this, if anyone sees hanging tooltips
after this commit, please report it!
The problem was that the v3d could have a different camera to the scene even when locked.
VIEW3D_OT_viewnumpad was ignoring v3d->scenelock option and allowing an invalid state.
- pick the closest unit that matches the existing step size.
- set the distance subtype on some camera flags.
- commented mesh flag 'ME_ISDONE' its nolonger used.
nothing
This fixes Crop and Transform the same hacky way like Color Balance.
Will do a real fix, if I find a clever way. (Those structures must
provide a Sequence struct backpointer!!)
Cheers,
Peter
This patch cleans up the sequencer core by replacing the caching system
(TStripElems) with a hash based system, which is:
a) a lot faster
b) a lot more readable
c) a lot more memory conserving
The new caching system is also a good building ground for
a) sub frame precision rendering (even on scene strips)
b) multi core rendering (threaded rendering is still disabled, but can
be extended now to arbitrary core numbers)
I tested the code on an extensive editing session today and had no
crashes during 4 hours of editing. So I consider it very stable.
F8 key enabled again, useful for script UI development.
- keying set freeing wasnt freeing from all scenes and the builtin list.
- PointerProperty() cant refer to a removed python srna type (fixed in rigify and netrender).
- Added a check for freeing a type used by a PointerProperty but its very slow, makes reloading take ~10sec. Only enabled this in debug mode for now.
Netrender register() function isnt re-registering the property, probably because the module is cached by python and not re-run.
* Fix: unify strength and size did work consistently with other paint modes
* Fix: If [ and ] keys were used to resize a brush it was not possible to increase the size of the brush if it went under 10 pixels
* Fix: Made interpretation of brush size consistent across all modes, Texture/Image paint interpreted brush size as the diameter while all the other modes interpret it as radius
* Fix: The default spacing for vertex paint brushes was 3%, should be 10%
* Fix: due to fixes to unified strength, re-enabled 'Unify Size' by default
* Fix: Unified size and strength were stored in UserPrefs, moved this to ToolSettings
* Fix: The setting of pressure sensitivity was not unified when strength or size were unified. Now the appropriate pressure sensitivity setting is also unified across all brushes when corresponding unification option is selected
* Fix: When using [ and ] to resize the brush it didn't immediately redraw
* Fix: fkey resizing/"re-strength-ing" was not working consistently accross all paint modes due to only sculpt mode having full support for unified size and strength, now it works properly.
* Fix: other paint modes did expose the ability to have a custom brush colors, so I added the small bit of code to allow it. Note: I made all of the other paint mode brushes white. Note2: Actually, probably want to make the paint modes use the selected color for painting instead of a constant brush color.
* I had removed OPTYPE_REGISTER from some Sculpt/Paint operators but in this commit I add them back. I'm not completely sure what this option does so I don't want to disturb it for now.
In file included from /home/joilnen/blender/obj/linux-glibc2.9-i386/blender/makesrna/rna_userdef_gen.c:612:
./rna_userdef.c:54:35: error: MEM_CacheLimiterC-Api.h: No such file or directory
make[4]: *** [/home/joilnen/blender/obj/linux-glibc2.9-i386/blender/makesrna/rna_userdef_gen.o] Error 1
Now the bounding box for the light cache's voxel grid is calculated in
global space, rather than camera space as it was previously. This fixes
flickering lighting on static volumes with camera motion, caused by
the camera space bounding box changing from frame to frame.
[#22894] SEQUENCER; Drag & Drop into VSE as strip sends user to
file manager for import - MS Windows
The invoke function for both operator don't check the the filepath
property (this come from the drop event), so always open the
file browser.
Note that this problem is still there for Image, but there is something
else there, because the op SEQUENCER_OT_image_strip_add never got
this property (filepath). I check and the problem seems to be the
missing WM_FILESEL_FILEPATH when call WM_operator_properties_filesel.
The problem is that if I put this flag in the function, the image
strip stop working, so have to check a little more about this.
(Any idea why ?)
animation. Only allow this from main thread, opengl can't be called from
render threads. It was already disabled in background mode.
For now I'm going to consider this a limitation.
not working reliable and flickering on various configurations, will try to find
out what these are, but for now probably better to have correct than fast drawing.
Hopefully last fix for path issues for this release
* The config folder should also be searched for in the 'local' path for local installations
(This code was already there, but removed in revision 30440)
* Turned off 'Front-Face Only' for all brushes, it needs more testing
* Added brush icons for other paint modes
* Moved 'tool' panel to bottom of all paint modes
* Moved 'appearance' panel to be next to bottom
* Moved brush selector panel to top of all modes
* Closed all panels except the brush selector panel
* Turned off X symmetry
Note: I think this will enable paint/sculpt in all files, even when user has turned it off, unless subversionfile is bumped to 6 and the comparison is changed to subversionfile < 6.
I'll leave that to somebody else who knows better when to change the subversionfile.
fix [#22920] Clicking folder icons doesn't work in File browser and append
* issue was that on windows stat requires the trailing slash removed, even with mingw.
(since we are after ahoy, putting this into extra #define, code cleanup will follow after release)
[#22905] Adding objects with a grid size of <1m results in a 0 size object
The problem here is that the return value of the function
ED_object_new_primitive_matrix is a float, not an int.
This come from an old revision, before the two dia and depth
multiplication was using the function (two call to the same
function). This was change to only call the functio one time
and store the value in the "scale" variable, but the scale
was declare as int, not float.
The setting for this (IMO it should really be on by default, for reasons I've outlined recently) was not exposed at all.
The setting that was shown was a new(?) option in 2.5 which dealt with Ctrl-MMB drag zoom.
Cutting effect strips (esp multicam) didn't free endstill tstripdata.
Doesn't sound like much of a problem, but those can get big on large
timelines. So every cut eating 3 MB of memory doesn't leave much room
for editing decisions :)
I've made most operators which change the current frame are now undoable. This has the following benefits:
- it brings these into line with simply changing the frame number directly
- as in this bug report, using the operator tweaking/redo capabilities was causing problems, as the lack of an undo for the frame change mean that changing the operator properties (in this case to do numeric input for transforms, which is a bit of a creative if inefficient use of the available tools) would cause the current frame to reset to the previous frame, making it seem impossible to tweak the operator settings
Notes:
- screen.frame_offset() operator has been left alone, since I expect that undo pushes on this one would be truly annoying while on the others it's probably ok/wanted. This is because with this operator, animators usually end up stepping through their animations vs one-off jumps/scrubbing-sessions
* Default icons can be selected from a menu
* Option to make a custom icon from a file is present but the UI is disabled because of a mysterious crash
* New startup.blend that has the appropriate icons selected
This was simply caused by the lookup hash-table not being updated to be aware of the new name. Now the hashes are updated, so the name lookups (used for UI drawing among other things) works ok again after renaming bones.
This closes (open) reports: 22882, 21801
and the closed/duplicate reports: 22067, 22670, 22384, 22665
faces. Only happens with scons/msvc and SSE enabled for raytracing. Why this
happens exactly I don't know, I've tried to look for errors in the code but
couldn't find any, the perlin noise code somehow is generating NaN values,
but it is getting sane inputs. I suspect this is due to the render module
being compiled with /arch:SSE and other parts not. For now I've made only
the render_raytrace module compile with SSE, which seems to solve the problem,
but is mostly a workaround.
* This file has the default filenames for the sculpt icons
* Note: This does not contain code to make sure that icons get installed to 2.52/datafiles/brushicons so they can be loaded properly
* First, try to load the file from the given filename. This is either absolute or relative to the current .blend
* If file is found using the given filename directly then look for the file in the datafiles/brushicons directory (local, user, or system).
* Note: This commit does not update the .blend to reference the default icons
* Note: This commit does not make sure that the build system copies the default icons to the 2.52/datafiles/brushicons directory
[#22911] Node editors: pressing home doesn't zoom properly
Was using the incorrect value to calculate the new area
(also a typo in the ymax/xmax).
The bug can be found on the 2.4x version too, not really
sure how old is it.
Bugfix: free_imbuf_seq() was closing IMB anim handles on nearly every
change of RNA variables. This can be *very* slow, if you twiddle with
parameters during playback. Especially multicam editing...
Now: we close IMB anim handles only on refresh_all() and filepath
changes.
This is a fix for the following issues in ffmpeg movie reader:
* mpeg transport stream seeking (HDV) failed completely, since ffmpeg
doesn't want to seek by timestamp (those aren't guaranteed to be
strictly monotonic within those file formats)
We therefore seek by byte and use the bitrate in those cases.
This isn't a real fix,
I will add a seperate index building process, soon, so that we can
finally seek by timecode properly (optionally with "free run timecode"
on consumer video camcorders, stay tuned :) )
* Recent versions of ffmpeg do set the ALPHA channel to 0xff properly,
so we test the first pixel for proper ALPHA and then workaround
optionally.
the one saved when saving user preferences.
I've left out the brush icons. It's really not acceptable to have
these as image datablocks. Having these packed would also mean
increasing the size of every .blend file by 650 KB. They should be
loaded from the datafiles directory.
- Reverted own changes made to _stat function BLI_exists
- Use __MINGW32__ instead of FREE_WINDOWS in BLI_exists
- Removed recently added lib dependencies for mingw
- Use _stat64i32 instead of _stat in BLI_exist
Needed for correct compilation by mingw, no sense for msvc
(_stat is equivalent to _stat64i32 in Visual C++ 2005, and later i suppose)
- Added library msvcr90 for mingw to solve linking error to _stat64i32
Playback Jog Keys:
ALT+LEFTARROW: play backward (hit again for double speed)
ALT+RIGHTARROW: play fordward (hit again for double speed)
ALT+DOWNARROW: start/stop animation
- the length of a new text object wasnt set on creation.
- tex3d and controllers rna name was being set to its body (rather then ID name)
- remove reference to wave objects which are very old and not used anymore.
This commit and other commits attempting to fix it broke various things. The
main thing that changed was that instead of computing children/paths in
advance as part of particle_system_update, this was moved to do it just before
drawing or rendering. I've changed back that behavior and tried to keep the
other fixes in the commit.
When the new particle system was just committed, it also worked this way but
gave various problems, and I had to remove that behavior to get things working
stable. Basically it meant that you could get have a path cache that was
outdated in various situations, and it doesn't fit well with dependency graph
evaluation order.
This fixes:
#22823: Children Particle Rendering is broken
#22733: Particle objects not displayed
#22888: SigSegV when rending hair particles
#22820: Another SigSegV when undo adding hairs in particel edit mode
Some particle setups in dupligroups.
The three bugs that the original commit fixed are now also still working in
my tests:
#21316: Hair weight drawing is wrong
#21923: Consistent Crash When Rendering Particle Scene.
#21950: Path rendering option for particles causes crash