Skip to content

Commit

Permalink
Properly initializing data in ModelInfo/LandTableInfo.
Browse files Browse the repository at this point in the history
  • Loading branch information
MainMemory committed Apr 10, 2015
1 parent bc5af3b commit 9458e3b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/libmodutils/LandTableInfo.cpp
Expand Up @@ -130,7 +130,10 @@ void LandTableInfo::fixmodelpointers(NJS_MODEL_SADX *model, intptr_t base)
NJS_MESHSET_SADX *tmp = new NJS_MESHSET_SADX[model->nbMeshset];
reallocateddata[model->meshsets] = tmp;
for (int i = 0; i < model->nbMeshset; i++)
{
memcpy(&tmp[i], &((NJS_MESHSET *)model->meshsets)[i], sizeof(NJS_MESHSET));
tmp[i].null = 0;
}
model->meshsets = tmp;
allocatedmem.push_back(shared_ptr<NJS_MESHSET_SADX>(model->meshsets, default_delete<NJS_MESHSET_SADX[]>()));
for (int i = 0; i < model->nbMeshset; i++)
Expand Down Expand Up @@ -158,6 +161,7 @@ void LandTableInfo::fixobjectpointers(NJS_OBJECT *object, intptr_t base)
NJS_MODEL_SADX *tmp = new NJS_MODEL_SADX;
reallocateddata[object->model] = tmp;
memcpy(tmp, object->model, sizeof(NJS_MODEL));
tmp->null = 0;
object->basicdxmodel = tmp;
allocatedmem.push_back(shared_ptr<NJS_MODEL_SADX>(object->basicdxmodel, default_delete<NJS_MODEL_SADX>()));
fixmodelpointers(object->basicdxmodel, base);
Expand Down
4 changes: 4 additions & 0 deletions src/libmodutils/ModelInfo.cpp
Expand Up @@ -133,7 +133,10 @@ void ModelInfo::fixbasicmodelpointers(NJS_MODEL_SADX *model, intptr_t base)
NJS_MESHSET_SADX *tmp = new NJS_MESHSET_SADX[model->nbMeshset];
reallocateddata[model->meshsets] = tmp;
for (int i = 0; i < model->nbMeshset; i++)
{
memcpy(&tmp[i], &((NJS_MESHSET *)model->meshsets)[i], sizeof(NJS_MESHSET));
tmp[i].null = 0;
}
model->meshsets = tmp;
allocatedmem.push_back(shared_ptr<NJS_MESHSET_SADX>(model->meshsets, default_delete<NJS_MESHSET_SADX[]>()));
for (int i = 0; i < model->nbMeshset; i++)
Expand Down Expand Up @@ -169,6 +172,7 @@ void ModelInfo::fixobjectpointers(NJS_OBJECT *object, intptr_t base)
NJS_MODEL_SADX *tmp = new NJS_MODEL_SADX;
reallocateddata[object->model] = tmp;
memcpy(tmp, object->model, sizeof(NJS_MODEL));
tmp->null = 0;
object->basicdxmodel = tmp;
allocatedmem.push_back(shared_ptr<NJS_MODEL_SADX>(object->basicdxmodel, default_delete<NJS_MODEL_SADX>()));
fixbasicmodelpointers(object->basicdxmodel, base);
Expand Down

0 comments on commit 9458e3b

Please sign in to comment.