Commit Graph

53000 Commits

Author SHA1 Message Date
Brecht Van Lommel
549b5e1222 Fix/change in normal computation, now the viewport uses the same angle
weighted normals as the render engine, and the render engine will copy
normals from the mesh rather than always recalculating them.

Subsurf/multires still use regular vertex normals, but they are expected
to be sufficiently high resolution to not need this.

This means that normal maps displayed in the viewport actually match the
render engine exactly and don't have artifacts due to this discrepancy.
It of course also avoids unexpected surprises where your render normals
look different than your viewport normals.

Subversion bumped to 4 for version patch to recalculate normals.

Patch by Morten Mikkelsen, with some small changes.
2011-03-20 13:35:35 +00:00
Andrea Weikert
85970c39bf == file browser == Code cleanup
* Remove deprecated variables from FileSelectParams
2011-03-20 11:40:29 +00:00
Andrea Weikert
6be2d3aff9 == filebrowser == Code cleanup
* remove commented out code
2011-03-20 11:27:28 +00:00
Andrea Weikert
e73a2020dd == filebrowser == Code cleanup
* Separate out selection flags from file type flags, was bothering me since forever ;)
* Also renamed ACTIVEFILE to SELECTED_FILE to better reflect actual usage in code.
* Fix crash introduced with last commit, better check for valid selection
2011-03-20 11:16:59 +00:00
Andrea Weikert
5325f3b2e9 == file browser ==
Patch from Alexander Kuznetsov: Toggle selection rather than just extending.

Implements behaviour that unintendedly was available with previously using macro operator for selection. This was removed and now the functionality is properly implemented.

Patch accepted with minor changes:
1. Used enum rather than #defines and added value for removing from selection (deselect)
2. Moved if (select) outside file_select_do and improved check for whether last file in selection is actually selected. (Necessary since toggle can deselect and toggle select should still make file active)
3. Additionally fixed check in file_select_invoke to be consistent with border select.
2011-03-20 10:22:51 +00:00
Campbell Barton
5442e725a5 print how many times the operator failed. 2011-03-20 09:38:25 +00:00
Campbell Barton
790e47768a fix for crash when running WM_OT_read_factory_settings() from a script and then importing. 2011-03-20 07:23:17 +00:00
Campbell Barton
35cee79a37 fix so the batch importer can run with addons passed as arguments. 2011-03-20 06:02:47 +00:00
Campbell Barton
283bac0073 fix for --addons startup argument, string length was too short. 2011-03-20 04:44:03 +00:00
Andrea Weikert
ef9356043e == file browser ==
Patch from Alexander Kuznetsov: Real-time File Selection, thanks for the contribution.

Still made a few minor changes from latest patch:
1. Rename SELECTEDFILE to HILITED_FILE, since we are not actually selecting the file, but previewing/highliting the possible selection.
2. Also made this clearer by not drawing the files as selected, but just highlight them.
3. Removed the Select/Deselect toggle when clicking on file, will be committed separately soon.
2011-03-20 00:34:08 +00:00
Mitchell Stokes
35dbf67c00 Fixing the other crash mentioned in bug #25083. m_current_scene isn't always pointing to valid memory by the time LinkBlendFile is called. So, use the supplied scene_merge scene instead. Scene LibLoad was already doing this, so I just made Mesh and Action follow suit. 2011-03-19 22:47:51 +00:00
Mitchell Stokes
815a795be9 Fixing 1/2 crashes mentioned in bug #25083. This crash happens when LibLoad tries to grab bad mesh data from a previous Load/Free via FindGameMesh(). FindGameMesh() makes use of m_map_mesh_to_gamemesh, so the mesh needs to be removed from this on free. 2011-03-19 22:37:27 +00:00
Joseph Eagar
7ccc17b98c =bmesh= fixed bunches of modifier stack bugs 2011-03-19 21:33:33 +00:00
Ton Roosendaal
647f4246da Todo item:
Improving UI visualization of using Material nodes:
- Property editor: the context top line now shows the linkage path
  (in material and texture view mode)
- Activating new material node refreshes preview in property editor
  when in texture mode.

This should make editing textures with node materials a bit more clear.
2011-03-19 18:23:21 +00:00
Ton Roosendaal
5179a0c477 Code comments only
Tried to resolve todo item "Layer change in 3d view header doesn't update
dependencies on changed previously visible objects". Code is too much spread
around now though, and the 3d view header shares RNA code for changing layers.

I'll let this be a "glitch" for now.
2011-03-19 16:30:52 +00:00
Janne Karhu
e134e0139f ugh, left in a debug print in the previous commit 2011-03-19 13:36:43 +00:00
Ton Roosendaal
074f584cd2 Bugfix #26547
Missing DAG_id_tag_update() on tool "Align Camera to View".
2011-03-19 13:36:36 +00:00
Janne Karhu
f15c12a0d2 Fix for [#26546] Particles leak through deforming quad mesh
* Slightly too strong optimization in the new collisions code, the "edges" in the middle of quads weren't checked at all.
2011-03-19 13:33:03 +00:00
Campbell Barton
cadc1218c8 C, style changes (mostly white space edits), no functional change. 2011-03-19 11:12:48 +00:00
Brecht Van Lommel
ff1656175a Fix #26543: lamp sky settings were missing soft/linear light blend types,
made enum items shared with material ramp and mix node.
2011-03-19 10:26:15 +00:00
Campbell Barton
e9005b985e remove some redundant vars, assignments & checks. 2011-03-19 05:06:06 +00:00
Tamito Kajiyama
003ab20292 Merged changes in the trunk up to revision 35618.
Conflicts resolved:
source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/rna_main_api.c
2011-03-19 00:05:30 +00:00
Campbell Barton
3b8d4aa25f 2 tests for ctest.
- script_load_addons: loads and onloads all addons, error if any cant be enabled or disabled.
- script_load_modules: loads all blenders modules, error if any modules raise an exception or if any modules in the scripts dir are not tested (except for presets and templates).

These are useful because lazy module loading means a module can have an error which isnt raised until the tools used. This gives a way to detect basic errors that used to happen on startup or when enabling the addon.
2011-03-18 23:58:13 +00:00
Joshua Leung
5f8e8f2251 Safety checks for macro defines 2011-03-18 23:14:24 +00:00
Campbell Barton
e44da6b695 hide addon_utils in bpy.utils & tag/remove unused vars in recent commits. 2011-03-18 20:57:32 +00:00
Janne Karhu
b66f7a471c Fix for [#25878] UV Scale/Rotate/Grab break with non grid snapping.
* The selected uv-vertices (the ones being transformed) weren't being disregarded as snapping targets, so moving two verts that were in the same location together was impossible.
2011-03-18 16:35:42 +00:00
Ton Roosendaal
eeb94697d5 Bugfix #26462
Using "search menu" for browsing ID data (material, texture, brush)
wasn't sending an undo-push after use. This messed up undo or redo.
2011-03-18 16:09:29 +00:00
Janne Karhu
60ce95f562 New particle collisions code:
* The old collisions code detected particle collisions by calculating the
  collision times analytically from the collision mesh faces. This was
  pretty accurate, but didn't support rotating/deforming faces at all, as
  the equations for these quickly become quite nasty.
* The new code uses a simple "distance to plane/edge/vert" function and
  iterates this with the Newton-Rhapson method to find the closest particle
  distance during a simulation step.
* The advantage in this is that the collision object can now move, rotate,
  scale or even deform freely and collisions are still detected reliably.
* For some extreme movements the calculation errors could stack up so much
  that the detection fails, but this can be easily fixed by increasing the
  particle size or simulation substeps.
* As a side note the algorithm doesn't really do point particles anymore,
  but uses a very small radius as the particle size when "size deflect" isn't
  selected.
* I've also updated the collision response code a bit, so now the particles
  shouldn't leak even from tight corners.

All in all the collisions code is now much cleaner and more robust than before!
2011-03-18 15:31:32 +00:00
Nathan Letwory
7e53769d09 COLLADA conformance: don't write empty libraries for effect, image and animation 2011-03-18 14:06:13 +00:00
Campbell Barton
0a52b86d50 fix for [#26533] didnt take scene strips into account, tested copy/pasting scene strips now works with audio. 2011-03-18 10:35:17 +00:00
Campbell Barton
ac1fa5bb42 fixed [#26533] Audio strip mute after copy/paste 2011-03-18 08:40:19 +00:00
Campbell Barton
2c13a6fab8 while looking into a problem in interface.c, noticed ui_get_but_val() is called frequently when the return value isn't used (no functional change). 2011-03-18 05:42:16 +00:00
Campbell Barton
a0c8727b34 fix for using freed memory with modal grease pencil draw. 2011-03-18 02:44:40 +00:00
Campbell Barton
faafd4634a fix for error in r35590, ARRAY_LAST_ITEM was returning one item over the end of the array. 2011-03-18 02:09:59 +00:00
Campbell Barton
25d4515181 fix [#26532] Does not save in specified format
old bug from r6568 (or before) in BKE_write_ibuf(), when passed TAGA format it would use whatever format the image buffer already had.
expect this is exposed by updated image saving code in 2.5x.
2011-03-18 00:12:51 +00:00
Joseph Eagar
18494f8d33 scons fix 2011-03-17 23:39:26 +00:00
Joseph Eagar
3cb70bd2c5 scons fix 2011-03-17 23:35:51 +00:00
Joseph Eagar
bbbbea6024 scons fix 2011-03-17 23:30:29 +00:00
Joseph Eagar
80e52ce929 committed before removing debug limits, I had it so you could bevel in a negative percentage 2011-03-17 23:06:12 +00:00
Joseph Eagar
1216fe7f21 =bmesh=
Bevel! Implemented bevel (from scratch).  Man is
this tool way cooler then I thought it was.  Note that
uv/vcol interpolation is working (loop level data) but 
vert/edge data (like vgroups) likely still needs
work.
2011-03-17 22:59:54 +00:00
Nathan Letwory
a84e43c48b COLLADA: Don't write empty libraries for geometry, lights, cameras, controllers 2011-03-17 16:40:53 +00:00
Ton Roosendaal
27abad190a Bugfix #26483
Two small draw fixes to make the giant preview-image search-menu draw
correctly. (previews were drawing over a button)
2011-03-17 14:52:01 +00:00
Campbell Barton
e0871e07df bugfix [#26502] segmentationfault on pressing button to browse existing images for UV window
really old one!, since initial commit blender would crash scaling down large sizes eg: 60962 -> 128 (width or height).

the problem is scaledownx/y doesn't check buffer endpoints, with really large images theres a loop on a float value which can fail with large image sizes.

previous commit added asserts if the buffer runs over (assuming it doesnt crash),
This commit changes an epsilon value, tested this with random small images as well as images over 200,000 px, and it works fine, this is still flakey though and for really really big images it probably still fails.
2011-03-17 11:08:25 +00:00
Campbell Barton
172f3337ce BLI_assert's for when scaledownx / scaledowny don't use the buffer correctly (theres a buffer overrun here [#26502]). 2011-03-17 10:37:48 +00:00
Lukas Toenne
4c3dea8a2e Small tooltip change to better indicate the purpose of the node name string and moved the node label button to the top, since this is usually what user will want to edit instead of the identifier name. 2011-03-17 10:31:20 +00:00
Lukas Toenne
afd8865181 Added an optional label string to nodes. As pointed out by Sebastian Koenig, some nodes (in particular render layer nodes) need custom labels, but it is not possible to make any useful generic abbreviation. The label string can be used as a custom user-defined label in this case, without the ugly .xxx extensions needed for unique node names. When the label string is empty, the default type label will be used. 2011-03-17 10:11:12 +00:00
Joshua Leung
e3842d1ca4 Bugfix [#26505] zoom in selected keys on graph editor
Not really a "bug", but it was on my todo anyways. Based on patch
[#26508] by Campbell, with a few modifications including extending
this to the Action/DopeSheet editor too.
2011-03-17 10:02:37 +00:00
Campbell Barton
58c8dca7a6 missed removing WITH_INSTALL reference. 2011-03-17 09:09:48 +00:00
Campbell Barton
33047585ea add cancel() method for python defined operators. 2011-03-17 07:02:02 +00:00
Campbell Barton
0277073579 error with TIMEIT util define. 2011-03-17 06:57:12 +00:00