d10990af79
Refactor: use new api for lib linking id properties
2020-06-26 16:04:09 +02:00
ea4fa8abb0
Refactor: use new api for lib linking gpencil, palette, key, simulation, ipo and library
2020-06-26 15:44:56 +02:00
14e313bbb2
Refactor: use new api for lib linking hair, pointclout, volume, material, texture and image
2020-06-26 15:39:04 +02:00
96d657cb84
Refactor: use new api for lib linking curve, mesh, cachefiles, armature and vfont
2020-06-26 15:30:43 +02:00
65f07a39b5
Refactor: use new api for lib linking sound, text, camera, light, latt and mball
2020-06-26 15:24:20 +02:00
9ec6b69ed1
Refactor: use new api for lib linking movieclip, world, lightprobe, speaker, paint curve and brush
2020-06-26 15:05:25 +02:00
1ce2457551
Refactor: use new api for lib linking linestyle, object, nodetree and action
2020-06-26 14:52:57 +02:00
ede6e739dd
Refactor: use new api for lib linking collection, scene and workspaces
2020-06-26 13:56:27 +02:00
f3a8192ef7
Refactor: use new api for lib linking mask, windowmanager and screen
...
This is part of T76372.
2020-06-23 17:55:23 +02:00
1e0426da7c
Refactor: move more modifier specific code out of readfile.c
2020-06-23 17:25:44 +02:00
9ef5cc44a6
Refactor: move blenloader code of bevel modifier
2020-06-23 17:08:39 +02:00
56f9529775
Refactor: move blenloader code of curve profile to blenkernel
2020-06-23 17:08:39 +02:00
adcb7a2ce7
Refactor: move blenloader code of surface deform modifier
2020-06-23 16:51:43 +02:00
8b59b97c10
Refactor: move more blenloader code into modifier files
2020-06-23 16:42:08 +02:00
716a8241d3
Cleanup: rename 'name' to 'filepath' for DNA types
...
Using 'name' for the full path of a file reads badly,
especially when id.name is used in related code.
2020-06-23 11:29:36 +10:00
a573d7e8a1
Cleanup: rename Library.filepath to filepath_abs
...
Make it clear that this is the absolute path,
allow the 'name' to be renamed to 'filepath'.
Rename is safe since this is only for run-time.
2020-06-23 11:22:30 +10:00
2e5ef864ab
Refactor: move .blend read/write of mesh deform modifier to MOD_meshdeform.c
2020-06-16 17:17:43 +02:00
25a1ed993a
Cleanup: remove unnecessary indirection for .blend read/write of curvemapping
2020-06-16 17:04:03 +02:00
d3de5d7ca5
Refactor: Move curvemapping .blend read/write to blenkernel
...
This is necessary so that it can be accessed from `blendWrite`
and `blendRead` callbacks from modifiers.
2020-06-16 16:59:52 +02:00
6a0ebb8088
Refactor: use new blenloader api for laplacian deform modifier
2020-06-15 18:37:30 +02:00
bf1e5a2133
Blenloader: call blendRead and blendWrite of modifiers when available
...
This is part of T76372.
2020-06-15 17:55:06 +02:00
89bde99674
Fix (unreported) critical mistake in Collection liblink code in readfile.c.
...
Prelimenary step to fix T77460.
Not sure how or when that thing was done, but since that call walks
around collections relationships, it's an utterly critical violation of
liblinking principles (code here should never, ever 'get outside' of its
own ID scope).
This was wroking so far only because code called through this function
(`BKE_collection_parent_relations_rebuild`) was only following parents
pointers (in `BKE_collection_find_cycle()`), which would be either valid
or non-existent.
But next commit is going to change that to also check collection's
objects instancing of other collections.
2020-06-15 17:25:51 +02:00
f79856f9fb
Cleanup: minor changes to deform functions
...
- Use 'float (*)[3]' to avoid casts.
- Remove unnecessary float[3] copy in gpencil_deform_verts.
- Use MEM_SAFE_FREE
- Use const arguments.
2020-06-12 14:39:49 +10:00
b37fca650e
Cleanup: Move pointcache dna to separate file
...
Reviewers: brecht
Differential Revision: https://developer.blender.org/D7965
2020-06-09 17:01:54 +02:00
6f96dfabe5
Simulations: initial simulation state and cache
...
The current particle state is stored in a `CustomData` instance and
the cache is stored in `PointCache`.
The current state exists on the copy-on-write copies of the simulation,
while the cache only exists in the original data block.
This patch implements a temporary trivial particle simulation that does not
use the node system yet. It is used for testing and will be replaced soon.
`PointCache` still has some limitations that need to be overcome using
separate refactorings. For example, we need to be able to store the number
of particles in the point cache. Also we need to change which attributes
are stored for a particle system more dynamically than is currently possible afaik.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D7836
2020-06-08 15:49:17 +02:00
3e07d958f1
Cleanup: remove unused functions
2020-06-07 12:14:17 +02:00
561a81eb24
Refactor: use new api in remaining direct linking code
2020-06-07 12:12:48 +02:00
f6524032ca
Refactor: use new api for direct linking pointcache and particle system
2020-06-07 12:05:30 +02:00
a7de01aaa9
Refactor: use new api for direct linking customdata
2020-06-07 11:58:58 +02:00
5f7007a962
Refactor: use new api for direct linking packedfile and dverts
2020-06-07 11:55:27 +02:00
1626c526f8
Refactor: use new api to check if endian switch is required
2020-06-07 11:51:07 +02:00
ab2b9821fc
Cleanup: remove unused test_pointer_array function
2020-06-07 11:48:18 +02:00
eb31037503
Refactor: use new api for direct linking movie clip data
2020-06-07 11:47:37 +02:00
01132d4a83
Refactor: use new api for direct linking id properties
2020-06-07 11:42:58 +02:00
5ff8a2ca0e
Refactor: use new api to simplify IDP_DirectLinkGroup_OrFree
2020-06-07 11:34:23 +02:00
b8afd4e8bb
Refactor: use new api for direct linking bones, view layer and userdef
2020-06-07 11:30:32 +02:00
f0f666541e
Refactor: use new api for direct_link_id_common
2020-06-07 11:16:14 +02:00
959267ffcc
Refactor: use new api for direct linking preview image
2020-06-07 11:08:38 +02:00
766b3037eb
Refactor: use new api for direct linking curvemapping and its callers
2020-06-07 11:07:08 +02:00
ee4732ca22
Refactor: use new api for direct linking gpencil modifiers and shaderfxs
2020-06-07 11:00:48 +02:00
ce9a64c454
Refactor: use new api for direct linking modifiers
2020-06-07 10:56:06 +02:00
a99a8061ae
Refactor: use new api for direct linking keying sets, node sockets and pose
2020-06-07 10:35:34 +02:00
6c6658ccc0
Refactor: use new api for direct linking animdata
2020-06-07 10:27:42 +02:00
aed11c673e
Fix T77456: Broken vertex paint undo on high-poly objects.
...
This is a critical fix that should also be backported to 2.83.1
Fairly stupid bug in fact, code detecting changes across undo steps was
assuming that each BHEAD (a block of data in blendfiles) would not be larger
than one memory chunk... Which is the case in alsmost every situation,
besides some super-heavy geometries, and other similar things (images
would also be affected e.g.).
2020-06-06 16:18:39 +02:00
6c114a139b
Refactor: use new api for direct linking paint curve, cachefile and workspace
2020-06-06 14:46:27 +02:00
033b6a7fb4
Refactor: use new api for direct linking particlesettings, movieclip, mask, linestyle and palette
2020-06-06 14:43:06 +02:00
9b3fda0357
Refactor: use new api for direct linking armature, action, nodetree and brush
2020-06-06 14:34:57 +02:00
a5e56efc98
Refactor: use new api for direct linking lattice, world, camera, speaker, sound, lightprobe and collection
2020-06-06 14:25:34 +02:00
18b57d3e2c
Refactor: use new api for direct linking light, vfong, text, ipo and key
2020-06-06 14:17:27 +02:00
9a3d54943a
Refactor: use new api for direct linking mball, material, texture and image
2020-06-06 14:10:43 +02:00