feat(profile): CCharacterComponent struct

This commit is contained in:
gromchek 2025-10-26 20:13:15 +03:00
parent 5aa505bd8e
commit 2aaf543e61
5 changed files with 275 additions and 6 deletions

View file

@ -0,0 +1,81 @@
#ifndef CCHARACTERCOMPONENT_H
#define CCHARACTERCOMPONENT_H
DECLARE_STRUCT(CCharacterComponent);
DECLARE_STRUCT(ComponentData);
DECLARE_STRUCT(ItemDisplay);
#include "system/types.h"
#include "texture/texture.h"
#include "tempest/vector.h"
#include "m2/model.h"
struct ComponentData
{
int32_t raceID;
int32_t sexID;
int32_t classID;
int32_t hairColorID;
int32_t skinID;
int32_t faceID;
int32_t facialHairStyleID;
int32_t hairStyleID;
CM2Model* m2Model;
uint32_t flags;
char npcBackedTexturePath[260];
uint32_t geosets[19];
CTexture* characterBaseSkin;
};
struct ItemDisplay
{
void* texture[7];
uint32_t displayID[7];
uint32_t displayFlag;
};
struct CCharacterComponent
{
int32_t unk_000;
int32_t unk_004;
int32_t flags;
int32_t sections;
uint32_t objectIndex;
EGxTexFormat texFormat;
ComponentData componentData;
// 0 - use in CreateRequest AL/AU/FO/HA/HL/HU/LL/LU/TL funcs ; use display info index 0, 1, 2, 3, 4, 5, 6, 7
// 3 - use in CreateRequestHL func
// 4 - use in CreateRequestHU func
// 6 - use in CreateRequestHL func
// 7 - use in CreateRequestHU func
// 10 - use in CreateRequestHL func
// 11 - use in CreateRequestHU func
// 12 - use in CreateRequestLU func
// 13 - use in CreateRequestTU func
void* m_textureVariation[15];
// 0 - shirt/chest display
// 1 - chest/wrist/arms display
// 2 - arms display
// 3 - shirt/chest/tabard display
// 4 - shirt/chest/tabard display
// 5 - legs/belt display
// 6 - legs/feet display
// 7 - feet display
ItemDisplay itemDisplayInfo[10];
uint32_t itemModels[11];
int32_t unk_454;
int32_t unk_458;
int32_t unk_45C;
int32_t unk_460;
uint32_t unkArray[50];
int32_t unk_52C;
};
#endif

View file

@ -92,6 +92,8 @@
#include "map/CMapEntity.h"
#include "map/CMapBaseObjLink.h"
#include "character/CCharacterComponent.h"
#include "net/message.h"
#include "nvapi/nvapi.h"

View file

@ -40,7 +40,7 @@ struct CMapDoodadDef
void* unk_m2Model_034; //0x34
C3Vector vec1;
float unk_044; //0x44
CAaBox bbox;
CAaBox bboxStaticEntity;
C3Vector vec2;
C3Vector position;
float scale; //0x78
@ -64,7 +64,7 @@ struct CMapDoodadDef
int32_t unk_0B4; //0xB4
int32_t unk_0B8; //0xB8
int32_t unk_0BC; //0xBC
CAaBox bbox;
CAaBox bboxDoodadDef;
C44Matrix mat;
C44Matrix identity;
int32_t unk_158; //0x158 sound

View file

@ -42,7 +42,7 @@ struct CMapEntity
void* unk_m2Model_034; //0x34
C3Vector vec1;
float unk_044; //0x44
CAaBox bbox;
CAaBox bboxStaticEntity;
C3Vector vec2;
C3Vector position;
float scale; //0x78