ViewGroupCtrl progress

This commit is contained in:
shibbo 2022-11-05 18:43:24 -04:00
parent dfdb464ff7
commit c05faf69e4
9 changed files with 77 additions and 15 deletions

View File

@ -761,11 +761,11 @@ __ct__13SpotMarkLightFP9LiveActorffPA4_f,SpotMarkLight.o,LiveActor.a,false
control__13SpotMarkLightFv,SpotMarkLight.o,LiveActor.a,false
calcAndSetBaseMtx__13SpotMarkLightFv,SpotMarkLight.o,LiveActor.a,false
__dt__13SpotMarkLightFv,SpotMarkLight.o,LiveActor.a,false
__ct__13ViewGroupCtrlFv,ViewGroupCtrl.o,LiveActor.a,false
initActorInfo__13ViewGroupCtrlFP17ClippingActorInfol,ViewGroupCtrl.o,LiveActor.a,false
initViewGroup__13ViewGroupCtrlFP21ClippingActorInfoList,ViewGroupCtrl.o,LiveActor.a,false
__ct__13ViewGroupCtrlFv,ViewGroupCtrl.o,LiveActor.a,true
initActorInfo__13ViewGroupCtrlFP17ClippingActorInfol,ViewGroupCtrl.o,LiveActor.a,true
initViewGroup__13ViewGroupCtrlFP21ClippingActorInfoList,ViewGroupCtrl.o,LiveActor.a,true
endInitViewGroupTable__13ViewGroupCtrlFv,ViewGroupCtrl.o,LiveActor.a,false
entryLodCtrl__13ViewGroupCtrlFP7LodCtrlRC12JMapInfoIter,ViewGroupCtrl.o,LiveActor.a,false
entryLodCtrl__13ViewGroupCtrlFP7LodCtrlRC12JMapInfoIter,ViewGroupCtrl.o,LiveActor.a,true
update__13ViewGroupCtrlFv,ViewGroupCtrl.o,LiveActor.a,false
startInitViewGroupTable__13ViewGroupCtrlFv,ViewGroupCtrl.o,LiveActor.a,false
__ct__19VolumeModelDrawInitFv,VolumeModelDrawer.o,LiveActor.a,true

1 Symbol Name Object File Library Archive Matching
761 control__13SpotMarkLightFv SpotMarkLight.o LiveActor.a false
762 calcAndSetBaseMtx__13SpotMarkLightFv SpotMarkLight.o LiveActor.a false
763 __dt__13SpotMarkLightFv SpotMarkLight.o LiveActor.a false
764 __ct__13ViewGroupCtrlFv ViewGroupCtrl.o LiveActor.a false true
765 initActorInfo__13ViewGroupCtrlFP17ClippingActorInfol ViewGroupCtrl.o LiveActor.a false true
766 initViewGroup__13ViewGroupCtrlFP21ClippingActorInfoList ViewGroupCtrl.o LiveActor.a false true
767 endInitViewGroupTable__13ViewGroupCtrlFv ViewGroupCtrl.o LiveActor.a false
768 entryLodCtrl__13ViewGroupCtrlFP7LodCtrlRC12JMapInfoIter ViewGroupCtrl.o LiveActor.a false true
769 update__13ViewGroupCtrlFv ViewGroupCtrl.o LiveActor.a false
770 startInitViewGroupTable__13ViewGroupCtrlFv ViewGroupCtrl.o LiveActor.a false
771 __ct__19VolumeModelDrawInitFv VolumeModelDrawer.o LiveActor.a true

View File

@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"label": "Game",
"message": "9.411778219588376%",
"message": "9.419818874672032%",
"color": "blue"
}

View File

@ -10,7 +10,7 @@
| [Enemy](https://github.com/shibbo/Petari/blob/master/docs/lib/Enemy.md) | 0.14100655894145378% |
| [GameAudio](https://github.com/shibbo/Petari/blob/master/docs/lib/GameAudio.md) | 0.0% |
| [Gravity](https://github.com/shibbo/Petari/blob/master/docs/lib/Gravity.md) | 56.816792337477075% |
| [LiveActor](https://github.com/shibbo/Petari/blob/master/docs/lib/LiveActor.md) | 38.87044721069618% |
| [LiveActor](https://github.com/shibbo/Petari/blob/master/docs/lib/LiveActor.md) | 39.2577224527432% |
| [Map](https://github.com/shibbo/Petari/blob/master/docs/lib/Map.md) | 13.156184427979872% |
| [MapObj](https://github.com/shibbo/Petari/blob/master/docs/lib/MapObj.md) | 21.96642710792624% |
| [NameObj](https://github.com/shibbo/Petari/blob/master/docs/lib/NameObj.md) | 27.009618687736175% |

View File

@ -67,7 +67,7 @@
| SimpleJ3DModelDrawer.o | 0.0% | 0 / 5 | 0.0% | :x:
| Spine.o | 100.0% | 6 / 6 | 100.0% | :white_check_mark:
| SpotMarkLight.o | 0.0% | 0 / 4 | 0.0% | :x:
| ViewGroupCtrl.o | 0.0% | 0 / 7 | 0.0% | :x:
| ViewGroupCtrl.o | 35.294117647058826% | 4 / 7 | 57.14285714285714% | :eight_pointed_black_star:
| VolumeModelDrawer.o | 100.0% | 6 / 6 | 100.0% | :white_check_mark:
@ -1131,11 +1131,11 @@
# ViewGroupCtrl.o
| Symbol | Decompiled? |
| ------------- | ------------- |
| __ct__13ViewGroupCtrlFv | :x: |
| initActorInfo__13ViewGroupCtrlFP17ClippingActorInfol | :x: |
| initViewGroup__13ViewGroupCtrlFP21ClippingActorInfoList | :x: |
| __ct__13ViewGroupCtrlFv | :white_check_mark: |
| initActorInfo__13ViewGroupCtrlFP17ClippingActorInfol | :white_check_mark: |
| initViewGroup__13ViewGroupCtrlFP21ClippingActorInfoList | :white_check_mark: |
| endInitViewGroupTable__13ViewGroupCtrlFv | :x: |
| entryLodCtrl__13ViewGroupCtrlFP7LodCtrlRC12JMapInfoIter | :x: |
| entryLodCtrl__13ViewGroupCtrlFP7LodCtrlRC12JMapInfoIter | :white_check_mark: |
| update__13ViewGroupCtrlFv | :x: |
| startInitViewGroupTable__13ViewGroupCtrlFv | :x: |

View File

@ -3,6 +3,7 @@
#include "Game/Util.h"
#include "JSystem/JGeometry/TVec.h"
class ViewGroupCtrlDataEntry;
class LiveActor;
class ClippingActorInfo {
@ -21,7 +22,7 @@ public:
JMapIdInfo* mInfo; // _C
s16 mFarClipLevel; // _10
s16 _12;
u8* _14;
ViewGroupCtrlDataEntry* _14;
};
class ClippingActorInfoList {

View File

@ -51,7 +51,7 @@ public:
const bool* _20;
const bool* _24;
const bool* _28;
s16 _2C;
s16 mViewGroupID; // _2C
ActorLightCtrl* mActorLightCtrl; // _30
};

View File

@ -1,6 +1,15 @@
#pragma once
#include "Game/LiveActor/ClippingActorInfo.h"
#include "Game/LiveActor/LodCtrl.h"
struct ViewGroupCtrlDataEntry {
bool _0;
bool _1;
bool _2;
bool _3;
bool _4;
};
class ViewGroupCtrl {
public:
@ -13,5 +22,9 @@ public:
void update();
void startInitViewGroupTable();
u8 _0[0x14];
AreaObjMgr* mViewCubeMgr; // _0
s32 mMaxViewGroupId; // _4
ViewGroupCtrlDataEntry* mViewGroupData; // _8
u32 mViewCtrlCount; // _C
LodCtrl** mLodCtrls; // _10
};

View File

@ -43,7 +43,7 @@ LodCtrl::LodCtrl(LiveActor *pActor, const JMapInfoIter &rIter) {
_19 = 0;
_1A = 1;
_1B = 0;
_2C = -1;
mViewGroupID = -1;
mActorLightCtrl = NULL;
_1C = &def;
_20 = &def;

View File

@ -0,0 +1,48 @@
#include "Game/LiveActor/ViewGroupCtrl.h"
#include "Game/Util/Array.h"
ViewGroupCtrl::ViewGroupCtrl() {
mViewCubeMgr = NULL;
mMaxViewGroupId = 0;
mViewGroupData = NULL;
mViewCtrlCount = 0;
mLodCtrls = NULL;
mLodCtrls = new LodCtrl*[0x100];
for (u32 i = 0; i < 0x100; i++) {
mLodCtrls[i] = NULL;
}
}
void ViewGroupCtrl::initActorInfo(ClippingActorInfo *pInfo, s32 groupID) {
pInfo->_12 = groupID;
if (groupID >= mMaxViewGroupId) {
mMaxViewGroupId = groupID + 1;
}
}
void ViewGroupCtrl::initViewGroup(ClippingActorInfoList *pList) {
for (s32 i = 0; i < pList->_4; i++) {
s32 id = pList->mClippingActorList[i]->_12;
if (id < 0) {
id = mMaxViewGroupId;
}
pList->mClippingActorList[i]->_14 = &mViewGroupData[id];
}
}
void ViewGroupCtrl::endInitViewGroupTable() {
}
void ViewGroupCtrl::entryLodCtrl(LodCtrl *pCtrl, const JMapInfoIter &rIter) {
s32 groupID = -1;
if (MR::getJMapInfoViewGroupID(rIter, &groupID)) {
pCtrl->mViewGroupID = groupID;
mLodCtrls[mViewCtrlCount] = pCtrl;
mViewCtrlCount++;
}
}