Mai jos veti invata cum sa faceti Update de la granny v2.4 la v2.9.
V 2.4 este foarte vechi, din 2002.
Mai jos vom da upgrade la versiunea 2.9.
*Poze / Video:
*Link download / Code:
Prima data, descarcati arhiva asta:
Copiati fisierul "granny.h" din arhiva cu tutorialul in sursa voastra binary -> in folderul Include
Mergem dupa in folderul "lib" din arhiva si copiem toate lib-urile in cfolderul lib din clientul vostru.
Acum copiem "granny2.dll" dom arhiva in clientul nostru (inlocuim)
Dupa care faceti ce e mai jos:
Deschidem sursa binary si mergem -> EterGrnLib.
Deschidem Mesh.cpp si cautam:
Code:
int * boneIndices = GrannyGetMeshBindingToBoneIndices(pgrnMeshBinding);
Code:
int * boneIndices = (int*)GrannyGetMeshBindingToBoneIndices(pgrnMeshBinding);
Code:
return GrannyGetMeshBindingToBoneIndices(m_pgrnMeshBindingTemp);
Code:
return (int*)GrannyGetMeshBindingToBoneIndices(m_pgrnMeshBindingTemp);
Code:
m_pgrnMeshDeformer = GrannyNewMeshDeformer(pgrnInputType, pgrnOutputType, GrannyDeformPositionNormal);
Code:
m_pgrnMeshDeformer = GrannyNewMeshDeformer(pgrnInputType, pgrnOutputType, GrannyDeformPositionNormal, GrannyAllowUncopiedTail);
Deschidem ModelInstanceUpdate.cpp si cautam:
Code:
GrannyUpdateModelMatrix(m_pgrnModelInstance, fSecondsElapsed, (const float *) pMatrix, (float *) pMatrix);
Code:
GrannyUpdateModelMatrix(m_pgrnModelInstance, fSecondsElapsed, (const float *) pMatrix, (float *) pMatrix, false);
Deschidem Material.cpp si cautam:
Code:
granny_variant twoSideResult = GrannyFindMatchingMember(pgrnMaterial->ExtendedData.Type, pgrnMaterial->ExtendedData.Object, "Two-sided");
if (NULL != twoSideResult.Type)
GrannyConvertSingleObject(twoSideResult.Type, twoSideResult.Object, TwoSidedFieldType, &twoSided);
Code:
granny_variant twoSideResult;
if (GrannyFindMatchingMember(pgrnMaterial->ExtendedData.Type, pgrnMaterial->ExtendedData.Object, "Two-sided", &twoSideResult)
&& NULL != twoSideResult.Type)
GrannyConvertSingleObject(twoSideResult.Type, twoSideResult.Object, TwoSidedFieldType, &twoSided, NULL);
Deschidem ModelInstanceModel.cpp si cautam:
Code:
return GrannyGetMeshBindingToBoneIndices(m_vct_pgrnMeshBinding[iMeshBinding]);
Code:
return (int*)GrannyGetMeshBindingToBoneIndices(m_vct_pgrnMeshBinding[iMeshBinding]);
Acum mergem in -> UserInterface:
Deschidem UserInterface.cpp si cautam (e in josul fisieruli)
Code:
static void GrannyError(granny_log_message_type Type,
granny_log_message_origin Origin,
char const *Error,
void *UserData)
{
TraceError("GRANNY: %s", Error);
}
Code:
static void GrannyError(granny_log_message_type Type,
granny_log_message_origin Origin,
char const* File,
granny_int32x Line,
char const *Error,
void *UserData)
{
TraceError("GRANNY: %s", Error);
}