feat(component): show default geosets in CCharacterComponent::GeosRenderPrep

This commit is contained in:
fallenoak 2025-10-14 23:11:36 -05:00
parent 84c351c621
commit 2e7cf50534
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 57 additions and 0 deletions

View File

@ -16,6 +16,13 @@ void CCharacterComponent::GeosRenderPrep() {
// Show base "skin" section (0) // Show base "skin" section (0)
this->m_data.model->SetGeometryVisible(0, 0, 1); this->m_data.model->SetGeometryVisible(0, 0, 1);
// Show default geosets
for (int32_t i = 0; i < NUM_GEOSET; i++) {
// TODO handle 1703
this->m_data.model->SetGeometryVisible(this->m_data.defaultGeosets[i], this->m_data.defaultGeosets[i], 1);
}
// TODO // TODO
this->m_flags &= ~0x4; this->m_flags &= ~0x4;

View File

@ -1,6 +1,7 @@
#ifndef COMPONENT_C_CHARACTER_COMPONENT_HPP #ifndef COMPONENT_C_CHARACTER_COMPONENT_HPP
#define COMPONENT_C_CHARACTER_COMPONENT_HPP #define COMPONENT_C_CHARACTER_COMPONENT_HPP
#include "component/Types.hpp"
#include <cstdint> #include <cstdint>
class CM2Model; class CM2Model;
@ -17,6 +18,28 @@ struct ComponentData {
CM2Model* model = nullptr; CM2Model* model = nullptr;
uint32_t flags = 0x0; uint32_t flags = 0x0;
uint8_t byte28 = 0; uint8_t byte28 = 0;
uint32_t defaultGeosets[NUM_GEOSET] = {
001,
101,
201,
301,
401,
501,
601,
702,
801,
901,
1001,
1101,
1201,
1301,
1401,
1501,
1601,
1701,
1801,
};
}; };
class CCharacterComponent { class CCharacterComponent {

27
src/component/Types.hpp Normal file
View File

@ -0,0 +1,27 @@
#ifndef COMPONENT_TYPES_HPP
#define COMPONENT_TYPES_HPP
enum COMPONENT_GEOSET {
GEOSET_HEAD = 0,
GEOSET_BEARD = 1,
GEOSET_SIDEBURNS = 2,
GEOSET_MOUSTACHE = 3,
GEOSET_GLOVES = 4,
GEOSET_BOOTS = 5,
GEOSET_SHIRT = 6,
GEOSET_EARS = 7,
GEOSET_SLEEVES = 8,
GEOSET_LEGS = 9,
GEOSET_SHIRT_DOUBLET = 10,
GEOSET_PANT_DOUBLET = 11,
GEOSET_TABARD = 12,
GEOSET_ROBE = 13,
GEOSET_LOINCLOTH = 14,
GEOSET_CAPE = 15,
GEOSET_FACIAL_JEWELRY = 16,
GEOSET_EYE_EFFECTS = 17,
GEOSET_BELT = 18,
NUM_GEOSET
};
#endif