Fixed file loading for multires (broken during merge), also corrected
linker flags so I can link with the gold linker.
This commit is contained in:
@@ -184,7 +184,7 @@ IF(UNIX)
|
|||||||
|
|
||||||
SET(ZLIB_LIB z)
|
SET(ZLIB_LIB z)
|
||||||
|
|
||||||
SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++")
|
SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl")
|
||||||
|
|
||||||
IF(WITH_OPENMP)
|
IF(WITH_OPENMP)
|
||||||
SET(LLIBS "${LLIBS} -lgomp")
|
SET(LLIBS "${LLIBS} -lgomp")
|
||||||
|
@@ -2786,6 +2786,19 @@ static void direct_link_dverts(FileData *fd, int count, MDeformVert *mdverts)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void direct_link_mdisps(FileData *fd, int count, MDisps *mdisps)
|
||||||
|
{
|
||||||
|
if(mdisps) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i = 0; i < count; ++i) {
|
||||||
|
mdisps[i].disps = newdataadr(fd, mdisps[i].disps);
|
||||||
|
if(!mdisps[i].disps)
|
||||||
|
mdisps[i].totdisp = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void direct_link_customdata(FileData *fd, CustomData *data, int count)
|
static void direct_link_customdata(FileData *fd, CustomData *data, int count)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@@ -2797,6 +2810,8 @@ static void direct_link_customdata(FileData *fd, CustomData *data, int count)
|
|||||||
|
|
||||||
if (CustomData_verify_versions(data, i)) {
|
if (CustomData_verify_versions(data, i)) {
|
||||||
layer->data = newdataadr(fd, layer->data);
|
layer->data = newdataadr(fd, layer->data);
|
||||||
|
if(layer->type == CD_MDISPS)
|
||||||
|
direct_link_mdisps(fd, count, layer->data);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3244,6 +3259,12 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
|
|||||||
SWITCH_INT(mmd->dynverts[a])
|
SWITCH_INT(mmd->dynverts[a])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (md->type==eModifierType_Multires) {
|
||||||
|
MultiresModifierData *mmd = (MultiresModifierData*) md;
|
||||||
|
|
||||||
|
mmd->undo_verts = newdataadr(fd, mmd->undo_verts);
|
||||||
|
mmd->undo_signal = !!mmd->undo_verts;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user