mirror of
https://github.com/SMGCommunity/Petari.git
synced 2024-11-27 23:40:39 +00:00
ViewGroupCtrl progress
This commit is contained in:
parent
dfdb464ff7
commit
c05faf69e4
@ -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,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"label": "Game",
|
||||
"message": "9.411778219588376%",
|
||||
"message": "9.419818874672032%",
|
||||
"color": "blue"
|
||||
}
|
@ -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% |
|
||||
|
@ -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: |
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
const bool* _20;
|
||||
const bool* _24;
|
||||
const bool* _28;
|
||||
s16 _2C;
|
||||
s16 mViewGroupID; // _2C
|
||||
ActorLightCtrl* mActorLightCtrl; // _30
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
@ -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;
|
||||
|
48
source/Game/LiveActor/ViewGroupCtrl.cpp
Normal file
48
source/Game/LiveActor/ViewGroupCtrl.cpp
Normal 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++;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user