Refactor: use new api for lib linking gpencil, palette, key, simulation, ipo and library

This commit is contained in:
Jacques Lucke 2020-06-26 15:44:56 +02:00
parent 14e313bbb2
commit ea4fa8abb0
1 changed files with 17 additions and 19 deletions

View File

@ -2988,7 +2988,7 @@ static void direct_link_brush(BlendDataReader *reader, Brush *brush)
/** \name Read ID: Palette
* \{ */
static void lib_link_palette(FileData *UNUSED(fd), Main *UNUSED(bmain), Palette *UNUSED(palette))
static void lib_link_palette(BlendLibReader *UNUSED(reader), Palette *UNUSED(palette))
{
}
@ -3038,11 +3038,11 @@ static PackedFile *direct_link_packedfile(BlendDataReader *reader, PackedFile *o
* \{ */
// XXX deprecated - old animation system
static void lib_link_ipo(FileData *fd, Main *UNUSED(bmain), Ipo *ipo)
static void lib_link_ipo(BlendLibReader *reader, Ipo *ipo)
{
LISTBASE_FOREACH (IpoCurve *, icu, &ipo->curve) {
if (icu->driver) {
icu->driver->ob = newlibadr(fd, ipo->id.lib, icu->driver->ob);
BLO_read_id_address(reader, ipo->id.lib, &icu->driver->ob);
}
}
}
@ -4090,12 +4090,12 @@ void blo_do_versions_key_uidgen(Key *key)
}
}
static void lib_link_key(FileData *fd, Main *UNUSED(bmain), Key *key)
static void lib_link_key(BlendLibReader *reader, Key *key)
{
BLI_assert((key->id.tag & LIB_TAG_EXTERN) == 0);
key->ipo = newlibadr(fd, key->id.lib, key->ipo); // XXX deprecated - old animation system
key->from = newlibadr(fd, key->id.lib, key->from);
BLO_read_id_address(reader, key->id.lib, &key->ipo); // XXX deprecated - old animation system
BLO_read_id_address(reader, key->id.lib, &key->from);
}
static void switch_endian_keyblock(Key *key, KeyBlock *kb)
@ -6912,18 +6912,18 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce)
* \{ */
/* relink's grease pencil data's refs */
static void lib_link_gpencil(FileData *fd, Main *UNUSED(bmain), bGPdata *gpd)
static void lib_link_gpencil(BlendLibReader *reader, bGPdata *gpd)
{
/* Relink all data-lock linked by GP data-lock */
/* Layers */
LISTBASE_FOREACH (bGPDlayer *, gpl, &gpd->layers) {
/* Layer -> Parent References */
gpl->parent = newlibadr(fd, gpd->id.lib, gpl->parent);
BLO_read_id_address(reader, gpd->id.lib, &gpl->parent);
}
/* materials */
for (int a = 0; a < gpd->totcol; a++) {
gpd->mat[a] = newlibadr(fd, gpd->id.lib, gpd->mat[a]);
BLO_read_id_address(reader, gpd->id.lib, &gpd->mat[a]);
}
}
@ -8255,7 +8255,7 @@ static void direct_link_library(FileData *fd, Library *lib, Main *main)
id_us_ensure_real(&lib->id);
}
static void lib_link_library(FileData *UNUSED(fd), Main *UNUSED(bmain), Library *UNUSED(lib))
static void lib_link_library(BlendLibReader *UNUSED(reader), Library *UNUSED(lib))
{
}
@ -8916,9 +8916,7 @@ static void direct_link_volume(BlendDataReader *reader, Volume *volume)
/** \name Read ID: Simulation
* \{ */
static void lib_link_simulation(FileData *UNUSED(fd),
Main *UNUSED(main),
Simulation *UNUSED(simulation))
static void lib_link_simulation(BlendLibReader *UNUSED(reader), Simulation *UNUSED(simulation))
{
}
@ -9899,26 +9897,26 @@ static void lib_link_all(FileData *fd, Main *bmain)
lib_link_nodetree(&reader, (bNodeTree *)id);
break;
case ID_GD:
lib_link_gpencil(fd, bmain, (bGPdata *)id);
lib_link_gpencil(&reader, (bGPdata *)id);
break;
case ID_PAL:
lib_link_palette(fd, bmain, (Palette *)id);
lib_link_palette(&reader, (Palette *)id);
break;
case ID_KE:
lib_link_key(fd, bmain, (Key *)id);
lib_link_key(&reader, (Key *)id);
break;
case ID_AC:
lib_link_action(&reader, (bAction *)id);
break;
case ID_SIM:
lib_link_simulation(fd, bmain, (Simulation *)id);
lib_link_simulation(&reader, (Simulation *)id);
break;
case ID_IP:
/* XXX deprecated... still needs to be maintained for version patches still. */
lib_link_ipo(fd, bmain, (Ipo *)id);
lib_link_ipo(&reader, (Ipo *)id);
break;
case ID_LI:
lib_link_library(fd, bmain, (Library *)id); /* Only init users. */
lib_link_library(&reader, (Library *)id); /* Only init users. */
break;
}