hsfload fixes
This commit is contained in:
parent
316d80a0ae
commit
7628f37163
12 changed files with 187 additions and 52 deletions
|
|
@ -3347,14 +3347,13 @@ void PGObjReplica(ModelData *arg0, HsfObject *arg1)
|
|||
}
|
||||
}
|
||||
|
||||
HsfObject *Hu3DObjDuplicate(HsfData *arg0, u32 arg1)
|
||||
HsfObject *Hu3DObjDuplicate(HsfData *arg0, uintptr_t arg1)
|
||||
{
|
||||
HsfObject *temp_r27;
|
||||
HsfObject *var_r30;
|
||||
HsfObject *var_r31;
|
||||
s16 i;
|
||||
s16 j;
|
||||
|
||||
var_r31 = HuMemDirectMallocNum(HEAP_DATA, arg0->objectCnt * sizeof(HsfObject), arg1);
|
||||
temp_r27 = var_r31;
|
||||
var_r30 = arg0->object;
|
||||
|
|
@ -3362,7 +3361,7 @@ HsfObject *Hu3DObjDuplicate(HsfData *arg0, u32 arg1)
|
|||
for (i = 0; i < arg0->objectCnt; i++, var_r31++, var_r30++) {
|
||||
if (var_r31->type != 8 && var_r31->type != 7) {
|
||||
if (var_r31->data.parent) {
|
||||
var_r31->data.parent = (HsfObject *)((u8 *)temp_r27 + ((u32)var_r30->data.parent - (u32)arg0->object));
|
||||
var_r31->data.parent = (HsfObject *)((u8 *)temp_r27 + ((uintptr_t)var_r30->data.parent - (uintptr_t)arg0->object));
|
||||
}
|
||||
var_r31->data.children = HuMemDirectMallocNum(HEAP_DATA, var_r30->data.childrenCount * 4, arg1);
|
||||
if (var_r30->constData) {
|
||||
|
|
@ -3370,7 +3369,7 @@ HsfObject *Hu3DObjDuplicate(HsfData *arg0, u32 arg1)
|
|||
memcpy(var_r31->constData, var_r30->constData, sizeof(HsfConstData));
|
||||
}
|
||||
for (j = 0; j < var_r30->data.childrenCount; j++) {
|
||||
var_r31->data.children[j] = (HsfObject *)((u8 *)temp_r27 + ((u32)var_r30->data.children[j] - (u32)arg0->object));
|
||||
var_r31->data.children[j] = (HsfObject *)((u8 *)temp_r27 + ((uintptr_t)var_r30->data.children[j] - (uintptr_t)arg0->object));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue