feat(component): add GetSelectionFromContext

This commit is contained in:
fallenoak 2026-01-05 18:55:37 -06:00
parent 4755595eec
commit c6eef57289
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
3 changed files with 37 additions and 0 deletions

View File

@ -11,6 +11,14 @@ enum COMP_HAND_SLOT {
HAND_LEFT = 1, HAND_LEFT = 1,
}; };
enum COMPONENT_CONTEXT {
CONTEXT_CHAR_CREATE = 0,
CONTEXT_1 = 1,
CONTEXT_2 = 2,
CONTEXT_3 = 3,
NUM_COMPONENT_CONTEXT
};
enum COMPONENT_GEOSET { enum COMPONENT_GEOSET {
GEOSET_HEAD = 0, GEOSET_HEAD = 0,
GEOSET_BEARD = 1, GEOSET_BEARD = 1,
@ -48,6 +56,17 @@ enum COMPONENT_SECTIONS {
NUM_COMPONENT_SECTIONS NUM_COMPONENT_SECTIONS
}; };
enum COMPONENT_SELECTION {
SELECTION_0 = 0,
SELECTION_1 = 1,
SELECTION_2 = 2,
SELECTION_3 = 3,
SELECTION_4 = 4,
SELECTION_5 = 5,
SELECTION_6 = 6,
NUM_COMPONENT_SELECTION
};
enum COMPONENT_VARIATIONS { enum COMPONENT_VARIATIONS {
VARIATION_SKIN = 0, VARIATION_SKIN = 0,
VARIATION_FACE = 1, VARIATION_FACE = 1,

View File

@ -231,3 +231,19 @@ int32_t CountFacialFeatures(uint32_t varArrayLength, uint32_t** featuresListPtr)
return 1; return 1;
} }
COMPONENT_SELECTION GetSelectionFromContext(COMPONENT_CONTEXT context, int32_t classID) {
switch (context) {
case CONTEXT_1:
return classID == 6 ? SELECTION_3 : SELECTION_2;
case CONTEXT_2:
return SELECTION_4;
case CONTEXT_3:
return classID == 6 ? SELECTION_6 : SELECTION_5;
default:
return classID == 6 ? SELECTION_1 : SELECTION_0;
}
}

View File

@ -42,4 +42,6 @@ int32_t ComponentValidateBase(st_race* varArray, int32_t raceId, int32_t sexId,
int32_t CountFacialFeatures(uint32_t varArrayLength, uint32_t** featuresListPtr); int32_t CountFacialFeatures(uint32_t varArrayLength, uint32_t** featuresListPtr);
COMPONENT_SELECTION GetSelectionFromContext(COMPONENT_CONTEXT context, int32_t classID);
#endif #endif