feat(profile): add model related info

This commit is contained in:
phaneron 2024-11-01 03:54:09 -04:00
parent 156b0e0a0b
commit 2b598e6dd1
62 changed files with 25665 additions and 8034 deletions

View file

@ -0,0 +1,30 @@
#ifndef UI_FRAME_STRATA_H
#define UI_FRAME_STRATA_H
DECLARE_STRUCT(CFrameStrataNode);
DECLARE_STRUCT(CFrameStrata);
#include "storm/array.h"
#include "storm/list.h"
#include "ui/simpleframe.h"
// class CFrameStrataNode
struct CFrameStrataNode {
TSExplicitList_CSimpleFrame pendingFrames;
TSExplicitList_CSimpleFrame frames;
CSimpleFrame* pendingFrame;
CRenderBatch batches[5];
int32_t batchDirty;
TSExplicitList_CRenderBatch renderList;
};
STORM_TS_FIXED_ARRAY_POINTER_TO(CFrameStrataNode);
struct CFrameStrata {
int32_t batchDirty;
int32_t levelsDirty;
uint32_t topLevel;
TSFixedArray_pointer_to_CFrameStrataNode levels;
};
#endif

View file

@ -78,6 +78,7 @@ struct CSimpleFrame {
uint32_t m_destroyedLink[2];
uint32_t m_strataLink[2];
};
STORM_TS_LIST(CSimpleFrame);
// struct SIMPLEFRAMENODE : TSLinkedNode<SIMPLEFRAMENODE>
struct SIMPLEFRAMENODE {

View file

@ -0,0 +1,34 @@
#ifndef UI_SIMPLE_MODEL_H
#define UI_SIMPLE_MODEL_H
#include "tempest/box.h"
#include "tempest/vector.h"
#include "framescript/object.h"
#include "m2/scene.h"
#include "m2/model.h"
#include "ui/simpleframe.h"
DECLARE_STRUCT(CSimpleModel);
// class CSimpleModel : CSimpleFrame
struct CSimpleModel {
CSimpleFrame b_base;
CM2Scene* m_scene;
CM2Model* m_model;
CCamera* m_camera;
uint32_t m_pendingCameraIndex;
uint32_t m_pendingCameraId;
CM2Light m_light;
C3Vector m_position;
float m_facing;
float m_scale;
uint32_t m_flags;
CImVector m_fogColor;
float m_fogNear;
float m_fogFar;
CAaBox m_bounds;
FrameScript_Object__ScriptIx m_onUpdateModel;
FrameScript_Object__ScriptIx m_onAnimFinished;
};
#endif