mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-08-21 22:34:10 -05:00
Lots of moving stuff around to fix wrong structs
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
.public MapPropOneShotAnimationManager_GetAnimation
|
||||
.public MapPropOneShotAnimation_Init
|
||||
.public MapPropOneShotAnimation_SetAnimation
|
||||
.public MapPropOneShotAnimation_SwitchAnimation
|
||||
.public ov01_021E8DB4
|
||||
.public ov01_021E8DD4
|
||||
.public ov01_021E8DE8
|
||||
@@ -46,7 +47,7 @@
|
||||
.public ov01_02204834
|
||||
.public BicycleSlopeAnimation_Load
|
||||
.public ov01_021E87A8
|
||||
.public MapPropAnimation_GetAnimationObj
|
||||
.public MapPropAnimationData_GetAnimation
|
||||
.public MapPropAnimation_CheckDeferredLoadingFlag
|
||||
.public MapPropAnimation_CheckDeferredAddToRenderObjFlag
|
||||
.public MapPropAnimationManager_LoadPropAnimationForOneShot
|
||||
|
||||
@@ -14,50 +14,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov01_021E8CBC
|
||||
ov01_021E8CBC: ; 0x021E8CBC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #0x10]
|
||||
add r4, r1, #0
|
||||
cmp r4, r0
|
||||
blt _021E8CCE
|
||||
bl GF_AssertFail
|
||||
_021E8CCE:
|
||||
lsl r0, r4, #2
|
||||
ldr r0, [r5, r0]
|
||||
str r0, [sp, #4]
|
||||
bl MapPropAnimation_GetAnimationObj
|
||||
str r0, [sp]
|
||||
ldr r0, [r5, #0x2c]
|
||||
bl MapPropAnimation_GetAnimationObj
|
||||
add r7, r0, #0
|
||||
mov r4, #0
|
||||
_021E8CE4:
|
||||
lsl r0, r4, #2
|
||||
add r6, r5, r0
|
||||
ldr r0, [r6, #0x14]
|
||||
cmp r0, #0
|
||||
beq _021E8CFC
|
||||
add r1, r7, #0
|
||||
bl ov01_02204518
|
||||
ldr r0, [r6, #0x14]
|
||||
ldr r1, [sp]
|
||||
bl ov01_0220450C
|
||||
_021E8CFC:
|
||||
add r0, r4, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
cmp r4, #6
|
||||
blo _021E8CE4
|
||||
ldr r0, [sp, #4]
|
||||
str r0, [r5, #0x2c]
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end ov01_021E8CBC
|
||||
|
||||
thumb_func_start ov01_021E8D10
|
||||
ov01_021E8D10: ; 0x021E8D10
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
@@ -114,7 +70,7 @@ ov01_021E8D6C: ; 0x021E8D6C
|
||||
add r6, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r0, [r6, #0x2c]
|
||||
bl MapPropAnimation_GetAnimationObj
|
||||
bl MapPropAnimationData_GetAnimation
|
||||
add r7, r0, #0
|
||||
mov r4, #0
|
||||
add r5, r6, #0
|
||||
@@ -268,7 +224,7 @@ _021E8E80:
|
||||
add r1, r4, #0
|
||||
bl MapPropOneShotAnimationManager_GetAnimation
|
||||
add r1, r6, #0
|
||||
bl ov01_021E8CBC
|
||||
bl MapPropOneShotAnimation_SwitchAnimation
|
||||
mov r1, #0
|
||||
bl MapPropAnimationData_SetAnimationPaused
|
||||
pop {r4, r5, r6, pc}
|
||||
@@ -290,7 +246,7 @@ _021E8EAA:
|
||||
add r1, r5, #0
|
||||
bl MapPropOneShotAnimationManager_GetAnimation
|
||||
add r1, r7, #0
|
||||
bl ov01_021E8CBC
|
||||
bl MapPropOneShotAnimation_SwitchAnimation
|
||||
add r5, r0, #0
|
||||
cmp r4, #0
|
||||
beq _021E8EC6
|
||||
|
||||
@@ -49,14 +49,14 @@ typedef struct MapPropAnimationManager {
|
||||
} MapPropAnimationManager; // Size: 0x13C
|
||||
|
||||
typedef struct MapPropOneShotAnimationList {
|
||||
MapPropAnimation *list[MAP_PROP_ONE_SHOT_ANIMATION_MAX_ANIMATIONS];
|
||||
MapPropAnimationData *list[MAP_PROP_ONE_SHOT_ANIMATION_MAX_ANIMATIONS];
|
||||
int count;
|
||||
} MapPropOneShotAnimationList;
|
||||
|
||||
typedef struct MapPropOneShotAnimation {
|
||||
MapPropOneShotAnimationList animations;
|
||||
NNSG3dRenderObj *mapPropRenderObjs[MAP_PROP_ONE_SHOT_ANIMATION_MAX_RENDER_OBJS];
|
||||
MapPropAnimation *currentAnimation;
|
||||
NNSG3dRenderObj *mapPropRenderObjs[MAP_PROP_ONE_SHOT_ANIMATION_MAX_RENDER_OBJS]; // SubC?
|
||||
MapPropAnimationData *currentAnimation;
|
||||
int mapPropModelID;
|
||||
u8 tag;
|
||||
u8 unk35;
|
||||
@@ -68,9 +68,9 @@ typedef struct MapPropOneShotAnimationManager {
|
||||
} MapPropOneShotAnimationManager; // Size: 0x380
|
||||
|
||||
MapPropAnimationManager *MapPropAnimationManager_Init(NARC *narc, FieldSystemUnkSubC8 *unkSubC8);
|
||||
BOOL MapPropAnimationManager_AddAnimationToRenderObj(const int mapPropModelID, const int mapPropAnimID, const BOOL isDeferred, UnkStruct_FieldSysC0_SubC *renderObj, MapPropAnimationManager *manager);
|
||||
BOOL MapPropAnimationManager_AddAnimationToRenderObj(const int mapPropModelID, const int mapPropAnimID, const BOOL isDeferred, NNSG3dRenderObj *renderObj, MapPropAnimationManager *manager);
|
||||
void MapPropAnimationManager_UnloadAllAnimations(MapPropAnimationManager *manager);
|
||||
void MapPropAnimationManager_RemoveAnimationFromRenderObj(MapPropAnimationManager *mapPropAnimationManager, UnkStruct_FieldSysC0_SubC *unkC0_SubC, const int mapPropModelID, const int mapPropAnimIndex);
|
||||
void MapPropAnimationManager_RemoveAnimationFromRenderObj(MapPropAnimationManager *mapPropAnimationManager, NNSG3dRenderObj *renderObj, const int mapPropModelID, const int mapPropAnimIndex);
|
||||
void MapPropAnimationManager_Free(MapPropAnimationManager *manager);
|
||||
MapPropAnimationData *MapPropAnimationManager_GetAnimationData(const int mapPropModelID, const int mapPropAnimIndex, MapPropAnimationManager *mapPropAnimationManager);
|
||||
void MapPropAnimationData_SetAnimationPaused(MapPropAnimationData *animation, const BOOL paused);
|
||||
|
||||
@@ -97,8 +97,8 @@ void ov01_02204470(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, MapPropAnimation *anima
|
||||
void ov01_022044C8(MapPropAnimation *animation, int loopCount, BOOL paused, BOOL reversed);
|
||||
void MapPropAnimation_GoToFirstFrame(MapPropAnimation *animation);
|
||||
void ov01_02204500(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, MapPropAnimation *animation);
|
||||
void ov01_0220450C(UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimation *animation);
|
||||
BOOL ov01_02204518(UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimation *animation);
|
||||
void ov01_0220450C(NNSG3dRenderObj *renderObj, MapPropAnimation *animation);
|
||||
BOOL ov01_02204518(NNSG3dRenderObj *renderObj, MapPropAnimation *animation);
|
||||
u16 MapPropAnimation_GetLoopCount(MapPropAnimation *animation);
|
||||
void MapPropAnimation_SetPaused(MapPropAnimation *animation, BOOL paused);
|
||||
BOOL MapPropAnimation_IsLoopFinished(MapPropAnimation *animation);
|
||||
@@ -107,8 +107,8 @@ void MapPropAnimation_SetLoopCount(MapPropAnimation *animation, const int loopCo
|
||||
FieldSystemUnkSubCC *ov01_0220460C(FieldSystemUnkSubC8 *unkSubC8); // UnkCC_Init
|
||||
void ov01_02204634(FieldSystemUnkSubCC *unkCC); // UnkCC_Free
|
||||
void ov01_0220463C(FieldSystemUnkSubCC *unkCC, int fileID); // UnkCC_Load
|
||||
void ov01_02204678(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC);
|
||||
void ov01_02204688(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC);
|
||||
void ov01_02204678(FieldSystemUnkSubCC *unkCC, NNSG3dRenderObj *renderObj);
|
||||
void ov01_02204688(FieldSystemUnkSubCC *unkCC, NNSG3dRenderObj *renderObj);
|
||||
void ov01_02204698(FieldSystemUnkSubCC *unkCC);
|
||||
FieldSystemUnkSub104 *ov01_02204744(enum HeapID heapID);
|
||||
void ov01_02204764(FieldSystemUnkSub104 *unk104);
|
||||
|
||||
@@ -551,16 +551,16 @@ static BOOL Task_LugiaEyeGlimmer(TaskManager *taskman) {
|
||||
static BOOL ov02_02251320(TaskManager *taskman) {
|
||||
FieldSystem *fieldSystem = TaskManager_GetFieldSystem(taskman);
|
||||
u32 *pState = TaskManager_GetStatePtr(taskman);
|
||||
UnkStruct_FieldSysC0_SubC *renderObj;
|
||||
UnkStruct_FieldSysC0_SubC *unkC0_SubC;
|
||||
u8 i;
|
||||
ClearBellCutsceneCamera *cam = fieldSystem->unk4->legendCutsceneCamera;
|
||||
ClearBellCutscene3dObjectTaskData *taskData = Field3dObjectTask_GetData(cam->draw3dTask);
|
||||
|
||||
switch (*pState) {
|
||||
case UNUSED_HO_OH_ANIM_TASK_STATE_0:
|
||||
renderObj = Field3dObjectList_GetRenderObjectByID(fieldSystem->unkC0, taskData->birdModelNum);
|
||||
unkC0_SubC = Field3dObjectList_GetRenderObjectByID(fieldSystem->unkC0, taskData->birdModelNum);
|
||||
for (i = 0; i < 2; ++i) {
|
||||
MapPropAnimationManager_AddAnimationToRenderObj(taskData->birdModelNum, i, 1, renderObj, fieldSystem->mapPropAnimationManager);
|
||||
MapPropAnimationManager_AddAnimationToRenderObj(taskData->birdModelNum, i, 1, &unkC0_SubC->renderObj, fieldSystem->mapPropAnimationManager);
|
||||
}
|
||||
for (i = 0; i < 2; ++i) {
|
||||
MapPropAnimationData *animData = MapPropAnimationManager_GetAnimationData(taskData->birdModelNum, i, fieldSystem->mapPropAnimationManager);
|
||||
@@ -570,13 +570,13 @@ static BOOL ov02_02251320(TaskManager *taskman) {
|
||||
*pState = UNUSED_HO_OH_ANIM_TASK_STATE_1;
|
||||
break;
|
||||
case UNUSED_HO_OH_ANIM_TASK_STATE_1:
|
||||
renderObj = Field3dObjectList_GetRenderObjectByID(fieldSystem->unkC0, taskData->birdModelNum);
|
||||
unkC0_SubC = Field3dObjectList_GetRenderObjectByID(fieldSystem->unkC0, taskData->birdModelNum);
|
||||
if (MapPropAnimationData_IsAnimationLoopFinished(MapPropAnimationManager_GetAnimationData(taskData->birdModelNum, 0, fieldSystem->mapPropAnimationManager))) {
|
||||
for (i = 0; i < 2; ++i) {
|
||||
MapPropAnimationManager_RemoveAnimationFromRenderObj(fieldSystem->mapPropAnimationManager, renderObj, taskData->birdModelNum, i);
|
||||
MapPropAnimationManager_RemoveAnimationFromRenderObj(fieldSystem->mapPropAnimationManager, &unkC0_SubC->renderObj, taskData->birdModelNum, i);
|
||||
}
|
||||
for (i = 0; i < 2; ++i) {
|
||||
MapPropAnimationManager_AddAnimationToRenderObj(taskData->birdModelNum, i + 2, 1, renderObj, fieldSystem->mapPropAnimationManager);
|
||||
MapPropAnimationManager_AddAnimationToRenderObj(taskData->birdModelNum, i + 2, 1, &unkC0_SubC->renderObj, fieldSystem->mapPropAnimationManager);
|
||||
}
|
||||
*pState = UNUSED_HO_OH_ANIM_TASK_STATE_2;
|
||||
}
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
// Make static
|
||||
void ov01_021E87A8(NARC *narc, FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, MapPropAnimation *animation, int fileID, NNSG3dResMdl *resMdl, NNSG3dResTex *resTex);
|
||||
|
||||
BOOL BicycleSlopeAnimation_Load(BicycleSlopeAnimation *bicycleSlopeAnims, UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimation *animation, const u8 animID);
|
||||
BOOL BicycleSlopeAnimation_Load(BicycleSlopeAnimation *bicycleSlopeAnims, NNSG3dRenderObj *renderObj, MapPropAnimation *animation, const u8 animID);
|
||||
|
||||
BOOL BicycleSlopeAnimation_Load(BicycleSlopeAnimation *bicycleSlopeAnims, UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimation *animation, const u8 animID) {
|
||||
BOOL BicycleSlopeAnimation_Load(BicycleSlopeAnimation *bicycleSlopeAnims, NNSG3dRenderObj *renderObj, MapPropAnimation *animation, const u8 animID) {
|
||||
int i;
|
||||
|
||||
GF_ASSERT(MapPropAnimation_GetLoopCount(animation) != -1);
|
||||
|
||||
for (i = 0; i < MAP_PROP_ANIMATION_MANAGER_MAX_BICYCLE_SLOPE_ANIMATIONS; i++) {
|
||||
if (bicycleSlopeAnims[i].loaded && animID == bicycleSlopeAnims[i].animID && bicycleSlopeAnims[i].renderObj == &unkC0_SubC->renderObj) {
|
||||
if (bicycleSlopeAnims[i].loaded && animID == bicycleSlopeAnims[i].animID && bicycleSlopeAnims[i].renderObj == renderObj) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,7 @@ BOOL BicycleSlopeAnimation_Load(BicycleSlopeAnimation *bicycleSlopeAnims, UnkStr
|
||||
bicycleSlopeAnims[i].loaded = TRUE;
|
||||
bicycleSlopeAnims[i].animID = animID;
|
||||
bicycleSlopeAnims[i].animation = animation;
|
||||
bicycleSlopeAnims[i].renderObj = &unkC0_SubC->renderObj;
|
||||
bicycleSlopeAnims[i].renderObj = renderObj;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -66,14 +66,14 @@ MapPropAnimationManager *MapPropAnimationManager_Init(NARC *narc, FieldSystemUnk
|
||||
}
|
||||
|
||||
// Make static
|
||||
NNSG3dAnmObj *MapPropAnimation_GetAnimationObj(MapPropAnimation *animation);
|
||||
MapPropAnimation *MapPropAnimationData_GetAnimation(MapPropAnimationData *animData);
|
||||
|
||||
NNSG3dAnmObj *MapPropAnimation_GetAnimationObj(MapPropAnimation *animation) {
|
||||
if (animation == NULL) {
|
||||
MapPropAnimation *MapPropAnimationData_GetAnimation(MapPropAnimationData *animData) {
|
||||
if (animData == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return animation->animObj;
|
||||
return animData->animation;
|
||||
}
|
||||
|
||||
// Make static
|
||||
@@ -140,7 +140,7 @@ MapPropAnimationData *MapPropAnimationManager_LoadPropAnimationForOneShot(const
|
||||
return NULL;
|
||||
}
|
||||
|
||||
BOOL MapPropAnimationManager_AddAnimationToRenderObj(const int mapPropModelID, const int mapPropAnimID, const BOOL isDeferred, UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimationManager *manager) {
|
||||
BOOL MapPropAnimationManager_AddAnimationToRenderObj(const int mapPropModelID, const int mapPropAnimID, const BOOL isDeferred, NNSG3dRenderObj *renderObj, MapPropAnimationManager *manager) {
|
||||
if (manager == NULL) {
|
||||
GF_ASSERT(FALSE);
|
||||
return FALSE;
|
||||
@@ -162,9 +162,9 @@ BOOL MapPropAnimationManager_AddAnimationToRenderObj(const int mapPropModelID, c
|
||||
|
||||
for (int i = 0; i < MAP_PROP_ANIMATION_MANAGER_MAX_ANIMATIONS; i++) {
|
||||
if (animArchiveID == manager->animations[i].animArchiveID) {
|
||||
BOOL addAnimationObj = animListFile.isBicycleSlope ? BicycleSlopeAnimation_Load(manager->bicycleSlopeAnimations, unkC0_SubC, manager->animations[i].animation, animArchiveID) : TRUE;
|
||||
BOOL addAnimationObj = animListFile.isBicycleSlope ? BicycleSlopeAnimation_Load(manager->bicycleSlopeAnimations, renderObj, manager->animations[i].animation, animArchiveID) : TRUE;
|
||||
if (addAnimationObj) {
|
||||
ov01_0220450C(unkC0_SubC, manager->animations[i].animation);
|
||||
ov01_0220450C(renderObj, manager->animations[i].animation);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@@ -208,7 +208,7 @@ void MapPropAnimationManager_UnloadAnimation(MapPropAnimationData *animationData
|
||||
}
|
||||
}
|
||||
|
||||
void MapPropAnimationManager_RemoveAnimationFromRenderObj(MapPropAnimationManager *mapPropAnimationManager, UnkStruct_FieldSysC0_SubC *unkC0_SubC, const int mapPropModelID, const int mapPropAnimIndex) {
|
||||
void MapPropAnimationManager_RemoveAnimationFromRenderObj(MapPropAnimationManager *mapPropAnimationManager, NNSG3dRenderObj *renderObj, const int mapPropModelID, const int mapPropAnimIndex) {
|
||||
MapPropAnimListFile animListFile;
|
||||
NARC_ReadWholeMember(mapPropAnimationManager->unk134, mapPropModelID, &animListFile);
|
||||
|
||||
@@ -218,7 +218,7 @@ void MapPropAnimationManager_RemoveAnimationFromRenderObj(MapPropAnimationManage
|
||||
|
||||
for (u8 i = 0; i < MAP_PROP_ANIMATION_MANAGER_MAX_ANIMATIONS; i++) {
|
||||
if (mapPropAnimationManager->animations[i].loaded == TRUE && animArchiveID == mapPropAnimationManager->animations[i].animArchiveID) {
|
||||
ov01_02204518(unkC0_SubC, mapPropAnimationManager->animations[i].animation);
|
||||
ov01_02204518(renderObj, mapPropAnimationManager->animations[i].animation);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -363,9 +363,30 @@ void MapPropOneShotAnimation_Init(NNSG3dRenderObj *mapPropRenderObj, const int a
|
||||
}
|
||||
|
||||
// Make static
|
||||
void MapPropOneShotAnimation_SetAnimation(MapPropOneShotAnimation *oneShotAnimation, const int mapPropAnimIndex, MapPropAnimation *animation);
|
||||
void MapPropOneShotAnimation_SetAnimation(MapPropOneShotAnimation *oneShotAnimation, const int mapPropAnimIndex, MapPropAnimationData *animation);
|
||||
|
||||
void MapPropOneShotAnimation_SetAnimation(MapPropOneShotAnimation *oneShotAnimation, const int mapPropAnimIndex, MapPropAnimation *animation) {
|
||||
void MapPropOneShotAnimation_SetAnimation(MapPropOneShotAnimation *oneShotAnimation, const int mapPropAnimIndex, MapPropAnimationData *animation) {
|
||||
GF_ASSERT(mapPropAnimIndex < oneShotAnimation->animations.count);
|
||||
oneShotAnimation->animations.list[mapPropAnimIndex] = animation;
|
||||
}
|
||||
}
|
||||
|
||||
// Make static
|
||||
MapPropAnimationData *MapPropOneShotAnimation_SwitchAnimation(MapPropOneShotAnimation *oneShotAnimation, const int mapPropAnimIndex);
|
||||
|
||||
MapPropAnimationData *MapPropOneShotAnimation_SwitchAnimation(MapPropOneShotAnimation *oneShotAnimation, const int mapPropAnimIndex) {
|
||||
GF_ASSERT(mapPropAnimIndex < oneShotAnimation->animations.count);
|
||||
|
||||
MapPropAnimationData *newAnimData = oneShotAnimation->animations.list[mapPropAnimIndex];
|
||||
MapPropAnimation *newAnimation = MapPropAnimationData_GetAnimation(newAnimData);
|
||||
MapPropAnimation *currentAnimation = MapPropAnimationData_GetAnimation(oneShotAnimation->currentAnimation);
|
||||
|
||||
for (u8 i = 0; i < MAP_PROP_ONE_SHOT_ANIMATION_MAX_RENDER_OBJS; i++) {
|
||||
if (oneShotAnimation->mapPropRenderObjs[i] != NULL) {
|
||||
ov01_02204518(oneShotAnimation->mapPropRenderObjs[i], currentAnimation);
|
||||
ov01_0220450C(oneShotAnimation->mapPropRenderObjs[i], newAnimation);
|
||||
}
|
||||
}
|
||||
|
||||
oneShotAnimation->currentAnimation = newAnimData;
|
||||
return newAnimData;
|
||||
}
|
||||
|
||||
@@ -294,21 +294,21 @@ void MapPropAnimation_GoToFirstFrame(MapPropAnimation *animation) {
|
||||
}
|
||||
}
|
||||
|
||||
void ov01_02204500(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, MapPropAnimation *animation) { // UnkCC_Sub0_FreeMapPropAnimObjFromRenderObj
|
||||
void ov01_02204500(FieldSystemUnkSubCC_Sub0 *unkCC_Sub0, MapPropAnimation *animation) { // FreeMapPropAnimObj
|
||||
NNS_G3dFreeAnmObj(&unkCC_Sub0->unk0, animation->animObj);
|
||||
}
|
||||
|
||||
void ov01_0220450C(UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimation *animation) { // UnkC0_SubC_AddMapPropAnimObjToRenderObj
|
||||
NNS_G3dRenderObjAddAnmObj(&unkC0_SubC->renderObj, animation->animObj);
|
||||
void ov01_0220450C(NNSG3dRenderObj *renderObj, MapPropAnimation *animation) { // AddMapPropAnimObjToRenderObj
|
||||
NNS_G3dRenderObjAddAnmObj(renderObj, animation->animObj);
|
||||
}
|
||||
|
||||
BOOL ov01_02204518(UnkStruct_FieldSysC0_SubC *unkC0_SubC, MapPropAnimation *animation) {
|
||||
BOOL ov01_02204518(NNSG3dRenderObj *renderObj, MapPropAnimation *animation) {
|
||||
if (animation == NULL) return FALSE;
|
||||
if (animation->animObj == NULL) return FALSE;
|
||||
if (unkC0_SubC == NULL) return FALSE;
|
||||
if (unkC0_SubC->renderObj.anmMat == NULL && unkC0_SubC->renderObj.anmJnt == NULL && unkC0_SubC->renderObj.anmVis == NULL) return FALSE;
|
||||
if (renderObj == NULL) return FALSE;
|
||||
if (renderObj->anmMat == NULL && renderObj->anmJnt == NULL && renderObj->anmVis == NULL) return FALSE;
|
||||
|
||||
NNS_G3dRenderObjRemoveAnmObj(&unkC0_SubC->renderObj, animation->animObj);
|
||||
NNS_G3dRenderObjRemoveAnmObj(renderObj, animation->animObj);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -380,12 +380,12 @@ void ov01_0220463C(FieldSystemUnkSubCC *unkCC, int fileID) {
|
||||
unkCC->unk4 = animation;
|
||||
}
|
||||
|
||||
void ov01_02204678(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC) {
|
||||
ov01_0220450C(unkC0_SubC, unkCC->unk4);
|
||||
void ov01_02204678(FieldSystemUnkSubCC *unkCC, NNSG3dRenderObj *renderObj) {
|
||||
ov01_0220450C(renderObj, unkCC->unk4);
|
||||
}
|
||||
|
||||
void ov01_02204688(FieldSystemUnkSubCC *unkCC, UnkStruct_FieldSysC0_SubC *unkC0_SubC) {
|
||||
ov01_02204518(unkC0_SubC, unkCC->unk4);
|
||||
void ov01_02204688(FieldSystemUnkSubCC *unkCC, NNSG3dRenderObj *renderObj) {
|
||||
ov01_02204518(renderObj, unkCC->unk4);
|
||||
}
|
||||
|
||||
void ov01_02204698(FieldSystemUnkSubCC *unkCC) {
|
||||
@@ -477,9 +477,9 @@ void ov01_022047DC(FieldSystemUnkSub104 *unk104) {
|
||||
unk104->timeOfDay = (TIMEOFDAY)currentTimeOfDay;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (unk104->unkSub[i].unk0 != 0) {
|
||||
FieldSystemUnkSub104_Sub8* sub = &unk104->unkSub[i];
|
||||
ov01_02204518(sub->unk18, sub->animations[ov01_022095EC[previousTimeOfDay]]);
|
||||
ov01_0220450C(sub->unk18, sub->animations[ov01_022095EC[currentTimeOfDay]]);
|
||||
FieldSystemUnkSub104_Sub8 *sub = &unk104->unkSub[i];
|
||||
ov01_02204518(&sub->unk18->renderObj, sub->animations[ov01_022095EC[previousTimeOfDay]]);
|
||||
ov01_0220450C(&sub->unk18->renderObj, sub->animations[ov01_022095EC[currentTimeOfDay]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,11 +153,11 @@ BOOL ScrCmd_710(ScriptContext *ctx) {
|
||||
|
||||
static void ov03_02256BA8(FieldSystem *fieldSystem, u8 index) {
|
||||
u16 modelID = ov03_0225945C[index];
|
||||
UnkStruct_FieldSysC0_SubC *renderObject = Field3dObjectList_GetRenderObjectByID(fieldSystem->unkC0, modelID);
|
||||
if (renderObject == NULL) {
|
||||
UnkStruct_FieldSysC0_SubC *unkC0_SubC = Field3dObjectList_GetRenderObjectByID(fieldSystem->unkC0, modelID);
|
||||
if (unkC0_SubC == NULL) {
|
||||
GF_AssertFail();
|
||||
} else {
|
||||
MapPropAnimationManager_AddAnimationToRenderObj(modelID, sub_020669B4(Save_VarsFlags_Get(fieldSystem->saveData), index), 1, renderObject, fieldSystem->mapPropAnimationManager);
|
||||
MapPropAnimationManager_AddAnimationToRenderObj(modelID, sub_020669B4(Save_VarsFlags_Get(fieldSystem->saveData), index), 1, &unkC0_SubC->renderObj, fieldSystem->mapPropAnimationManager);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user