Skip to content

Commit b26fb7c

Browse files
committed
feat: change stl::enumeration to REX::EnumSet
1 parent e85df4a commit b26fb7c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1521
-1521
lines changed

CommonLibF4/include/RE/Bethesda/ActiveEffect.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -62,23 +62,23 @@ namespace RE
6262
}
6363

6464
// members
65-
ActiveEffectReferenceEffectController hitEffectController; // 0C
66-
BSSoundHandle persistentSound; // 30
67-
ActorHandle caster; // 38
68-
NiPointer<NiNode> sourceNode; // 40
69-
MagicItem* spell; // 48
70-
EffectItem* effect; // 50
71-
MagicTarget* target; // 58
72-
TESBoundObject* source; // 60
73-
BSSimpleList<ReferenceEffect*>* hitEffects; // 68
74-
MagicItem* displacementSpell; // 70
75-
float elapsedSeconds; // 74
76-
float duration; // 78
77-
float magnitude; // 7C
78-
stl::enumeration<Flags, std::uint32_t> flags; // 80
79-
stl::enumeration<ConditionStatus, std::uint32_t> conditionStatus; // 84
80-
std::uint16_t uniqueID; // 8C
81-
stl::enumeration<MagicSystem::CastingSource, std::uint32_t> castingSource; // 90
65+
ActiveEffectReferenceEffectController hitEffectController; // 0C
66+
BSSoundHandle persistentSound; // 30
67+
ActorHandle caster; // 38
68+
NiPointer<NiNode> sourceNode; // 40
69+
MagicItem* spell; // 48
70+
EffectItem* effect; // 50
71+
MagicTarget* target; // 58
72+
TESBoundObject* source; // 60
73+
BSSimpleList<ReferenceEffect*>* hitEffects; // 68
74+
MagicItem* displacementSpell; // 70
75+
float elapsedSeconds; // 74
76+
float duration; // 78
77+
float magnitude; // 7C
78+
REX::EnumSet<Flags, std::uint32_t> flags; // 80
79+
REX::EnumSet<ConditionStatus, std::uint32_t> conditionStatus; // 84
80+
std::uint16_t uniqueID; // 8C
81+
REX::EnumSet<MagicSystem::CastingSource, std::uint32_t> castingSource; // 90
8282
};
8383
static_assert(sizeof(ActiveEffect) == 0x98);
8484
}

CommonLibF4/include/RE/Bethesda/Actor.h

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ namespace RE
326326
NiPoint3 furniturePathPoint; // 0DC
327327
NiPoint3 lastSeenPosition; // 0E8
328328
ActorHandle bleedoutAttacker; // 0F4
329-
stl::enumeration<MagicSystem::WardState, std::int32_t> wardState; // 0F8
329+
REX::EnumSet<MagicSystem::WardState, std::int32_t> wardState; // 0F8
330330
BSTSmartPointer<BSResponse<BSFixedString, Actor, BSFixedString, DoNothingUnhandledPolicy>> animResponse; // 100
331331
BSTArray<CommandedActorData> commandedActors; // 108
332332
NiNode* damageRootNode[26]; // 120
@@ -398,7 +398,7 @@ namespace RE
398398
std::uint64_t nextExtraArrow3DUpdate; // 480
399399
std::uint32_t deferredKill; // 488
400400
std::uint32_t flareFlags; // 48C
401-
stl::enumeration<PACKAGE_OBJECT_TYPE, std::int32_t> useItem; // 490
401+
REX::EnumSet<PACKAGE_OBJECT_TYPE, std::int32_t> useItem; // 490
402402
std::int16_t animActionSuccess; // 494
403403
std::uint16_t update3DModel; // 496
404404
std::int8_t weaponCullCounter; // 498
@@ -1227,59 +1227,59 @@ namespace RE
12271227
}
12281228

12291229
// members
1230-
NiTFlags<std::uint32_t, Actor> niFlags; // 2D0
1231-
float updateTargetTimer; // 2D4
1232-
NiPoint3 editorLocCoord; // 2D8
1233-
NiPoint3 editorLocRot; // 2E4
1234-
TESForm* editorLocForm; // 2F0
1235-
BGSLocation* editorLocation; // 2F8
1236-
AIProcess* currentProcess; // 300
1237-
ActorMover* actorMover; // 308
1238-
BGSKeyword* speakingAnimArchType; // 310
1239-
BSTSmartPointer<MovementControllerNPC> movementController; // 318
1240-
TESPackage* initialPackage; // 320
1241-
CombatController* combatController; // 328
1242-
TESFaction* vendorFaction; // 330
1243-
ActorValueStorage avStorage; // 338
1244-
BGSDialogueBranch* exclusiveBranch; // 370
1245-
stl::enumeration<ACTOR_CRITICAL_STAGE, std::int32_t> criticalStage; // 378
1246-
ObjectRefHandle dialogueItemTarget; // 37C
1247-
ActorHandle currentCombatTarget; // 380
1248-
ActorHandle myKiller; // 384
1249-
float checkMyDeadBodyTimer; // 388
1250-
float voiceTimer; // 38C
1251-
float voiceLengthTotal; // 390
1252-
float underWaterTimer; // 394
1253-
std::int32_t thiefCrimeStamp; // 398
1254-
std::int32_t actionValue; // 39C
1255-
float timeronAction; // 3A0
1256-
AITimeStamp calculateVendorFactionTimer; // 3A4
1257-
std::uint32_t intimidateBribeDayStamp; // 3A8
1258-
float equippedWeight; // 3AC
1259-
BSTSmallArray<SpellItem*> addedSpells; // 3B0
1260-
ActorMagicCaster* magicCasters[4]; // 3C8
1261-
MagicItem* selectedSpell[4]; // 3E8
1262-
CastPowerItem* castPowerItems; // 408
1263-
TESForm* selectedPower; // 410
1264-
TESRace* race; // 418
1265-
Perks* perks; // 420
1266-
BSTSmartPointer<BipedAnim> biped; // 428
1267-
BSNonReentrantSpinLock addingToOrRemovingFromScene; // 430
1268-
BSReadWriteLock perkArrayLock; // 434
1269-
stl::enumeration<BOOL_FLAGS, std::uint32_t> boolFlags; // 43C
1270-
std::uint32_t moreFlags; // 440
1271-
Modifiers healthModifiers; // 444
1272-
Modifiers actionPointsModifiers; // 450
1273-
Modifiers staminaModifiers; // 45C
1274-
Modifiers radsModifiers; // 468
1275-
float lastUpdate; // 474
1276-
std::uint32_t lastSeenTime; // 478
1277-
float armorRating; // 47C
1278-
float armorBaseFactorSum; // 480
1279-
std::uint32_t visFlags: 4; // 484:00
1280-
std::int8_t raceSwitchPending: 1; // 488:0
1281-
std::int8_t soundCallBackSet; // 489
1282-
bool trespassing; // 48A
1230+
NiTFlags<std::uint32_t, Actor> niFlags; // 2D0
1231+
float updateTargetTimer; // 2D4
1232+
NiPoint3 editorLocCoord; // 2D8
1233+
NiPoint3 editorLocRot; // 2E4
1234+
TESForm* editorLocForm; // 2F0
1235+
BGSLocation* editorLocation; // 2F8
1236+
AIProcess* currentProcess; // 300
1237+
ActorMover* actorMover; // 308
1238+
BGSKeyword* speakingAnimArchType; // 310
1239+
BSTSmartPointer<MovementControllerNPC> movementController; // 318
1240+
TESPackage* initialPackage; // 320
1241+
CombatController* combatController; // 328
1242+
TESFaction* vendorFaction; // 330
1243+
ActorValueStorage avStorage; // 338
1244+
BGSDialogueBranch* exclusiveBranch; // 370
1245+
REX::EnumSet<ACTOR_CRITICAL_STAGE, std::int32_t> criticalStage; // 378
1246+
ObjectRefHandle dialogueItemTarget; // 37C
1247+
ActorHandle currentCombatTarget; // 380
1248+
ActorHandle myKiller; // 384
1249+
float checkMyDeadBodyTimer; // 388
1250+
float voiceTimer; // 38C
1251+
float voiceLengthTotal; // 390
1252+
float underWaterTimer; // 394
1253+
std::int32_t thiefCrimeStamp; // 398
1254+
std::int32_t actionValue; // 39C
1255+
float timeronAction; // 3A0
1256+
AITimeStamp calculateVendorFactionTimer; // 3A4
1257+
std::uint32_t intimidateBribeDayStamp; // 3A8
1258+
float equippedWeight; // 3AC
1259+
BSTSmallArray<SpellItem*> addedSpells; // 3B0
1260+
ActorMagicCaster* magicCasters[4]; // 3C8
1261+
MagicItem* selectedSpell[4]; // 3E8
1262+
CastPowerItem* castPowerItems; // 408
1263+
TESForm* selectedPower; // 410
1264+
TESRace* race; // 418
1265+
Perks* perks; // 420
1266+
BSTSmartPointer<BipedAnim> biped; // 428
1267+
BSNonReentrantSpinLock addingToOrRemovingFromScene; // 430
1268+
BSReadWriteLock perkArrayLock; // 434
1269+
REX::EnumSet<BOOL_FLAGS, std::uint32_t> boolFlags; // 43C
1270+
std::uint32_t moreFlags; // 440
1271+
Modifiers healthModifiers; // 444
1272+
Modifiers actionPointsModifiers; // 450
1273+
Modifiers staminaModifiers; // 45C
1274+
Modifiers radsModifiers; // 468
1275+
float lastUpdate; // 474
1276+
std::uint32_t lastSeenTime; // 478
1277+
float armorRating; // 47C
1278+
float armorBaseFactorSum; // 480
1279+
std::uint32_t visFlags: 4; // 484:00
1280+
std::int8_t raceSwitchPending: 1; // 488:0
1281+
std::int8_t soundCallBackSet; // 489
1282+
bool trespassing; // 48A
12831283
};
12841284
static_assert(sizeof(Actor) == 0x490);
12851285

CommonLibF4/include/RE/Bethesda/ActorValueInfo.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -215,21 +215,21 @@ namespace RE
215215
using DerivationFunction_t = float(const ActorValueOwner* a_actor, const ActorValueInfo& a_info);
216216

217217
// members
218-
std::function<ModifiedCallback_t> modifiedCallback; // 048
219-
BSStringT<char> formEditorID; // 088
220-
ActorValueInfo* dependentActorValues[15]; // 098
221-
std::function<DerivationFunction_t> derivationFunction; // 110
222-
const char* enumNames[10]; // 150
223-
BGSLocalizedString abbreviation; // 1A0
224-
std::int32_t oldActorValue; // 1A8
225-
stl::enumeration<ActorValue::Flags, std::int32_t> flags; // 1AC
226-
stl::enumeration<ActorValue::AVType, std::int32_t> avType; // 1B0
227-
std::uint32_t numDependentActorValues; // 1B4
228-
std::uint32_t enumCount; // 1B8
229-
std::int32_t fullCacheIndex; // 1BC
230-
std::int32_t permanentCacheIndex; // 1C0
231-
float defaultValue; // 1C4
232-
std::uint32_t sortIndex; // 1C8
218+
std::function<ModifiedCallback_t> modifiedCallback; // 048
219+
BSStringT<char> formEditorID; // 088
220+
ActorValueInfo* dependentActorValues[15]; // 098
221+
std::function<DerivationFunction_t> derivationFunction; // 110
222+
const char* enumNames[10]; // 150
223+
BGSLocalizedString abbreviation; // 1A0
224+
std::int32_t oldActorValue; // 1A8
225+
REX::EnumSet<ActorValue::Flags, std::int32_t> flags; // 1AC
226+
REX::EnumSet<ActorValue::AVType, std::int32_t> avType; // 1B0
227+
std::uint32_t numDependentActorValues; // 1B4
228+
std::uint32_t enumCount; // 1B8
229+
std::int32_t fullCacheIndex; // 1BC
230+
std::int32_t permanentCacheIndex; // 1C0
231+
float defaultValue; // 1C4
232+
std::uint32_t sortIndex; // 1C8
233233
};
234234
static_assert(sizeof(ActorValueInfo) == 0x1D0);
235235
}

CommonLibF4/include/RE/Bethesda/BGSBaseAliases.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ namespace RE
5555
[[nodiscard]] bool IsQuestObject() const noexcept { return flags.all(FLAGS::kQuestObject); }
5656

5757
// mmebers
58-
BSFixedString aliasName; // 08
59-
TESQuest* owningQuest; // 10
60-
std::uint32_t aliasID; // 18
61-
stl::enumeration<FLAGS, std::uint32_t> flags; // 1C
62-
std::uint16_t fillType; // 20
58+
BSFixedString aliasName; // 08
59+
TESQuest* owningQuest; // 10
60+
std::uint32_t aliasID; // 18
61+
REX::EnumSet<FLAGS, std::uint32_t> flags; // 1C
62+
std::uint16_t fillType; // 20
6363
};
6464
static_assert(sizeof(BGSBaseAlias) == 0x28);
6565

CommonLibF4/include/RE/Bethesda/BGSCharacterTint.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ namespace RE
8484
virtual void LoadImpl(TESFile* a_file) = 0; // 04
8585

8686
// members
87-
BGSLocalizedString name; // 08
88-
TESCondition chargenConditions; // 10
89-
stl::enumeration<BGSCharacterTint::EntrySlot, std::int32_t> slot; // 18
90-
const std::uint16_t uniqueID{ 0 }; // 1C
91-
std::int8_t flags; // 1E
87+
BGSLocalizedString name; // 08
88+
TESCondition chargenConditions; // 10
89+
REX::EnumSet<BGSCharacterTint::EntrySlot, std::int32_t> slot; // 18
90+
const std::uint16_t uniqueID{ 0 }; // 1C
91+
std::int8_t flags; // 1E
9292
};
9393
static_assert(sizeof(Entry) == 0x20);
9494

CommonLibF4/include/RE/Bethesda/BGSDefaultObjectManager.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -420,11 +420,11 @@ namespace RE
420420
{
421421
public:
422422
// members
423-
const char* name; // 00
424-
stl::enumeration<ENUM_FORM_ID, std::uint8_t> type; // 08
425-
std::uint32_t uniqueID; // 0C
426-
stl::enumeration<DEFAULT_OBJECT_TYPE, std::int32_t> doType; // 10
427-
const char* newObjectName; // 18
423+
const char* name; // 00
424+
REX::EnumSet<ENUM_FORM_ID, std::uint8_t> type; // 08
425+
std::uint32_t uniqueID; // 0C
426+
REX::EnumSet<DEFAULT_OBJECT_TYPE, std::int32_t> doType; // 10
427+
const char* newObjectName; // 18
428428
};
429429
static_assert(sizeof(DEFAULT_OBJECT_DATA) == 0x20);
430430

@@ -500,9 +500,9 @@ namespace RE
500500
}
501501

502502
// members
503-
TESForm* form; // 20
504-
stl::enumeration<ENUM_FORM_ID, std::uint8_t> type; // 28
505-
BSFixedString formEditorID; // 30
503+
TESForm* form; // 20
504+
REX::EnumSet<ENUM_FORM_ID, std::uint8_t> type; // 28
505+
BSFixedString formEditorID; // 30
506506

507507
private:
508508
BGSDefaultObject* ctor(const char* a_name, ENUM_FORM_ID a_formType, const char* a_description)

CommonLibF4/include/RE/Bethesda/BGSHeadPart.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,16 @@ namespace RE
4545
[[nodiscard]] bool IsExtraPart() const noexcept { return flags.all(Flag::kExtraPart); }
4646

4747
// members
48-
stl::enumeration<Flag, std::uint8_t> flags; // 070
49-
stl::enumeration<HeadPartType, std::int32_t> type; // 074
50-
BSTArray<BGSHeadPart*> extraParts; // 078
51-
BGSTextureSet* textureSet; // 090
52-
TESModel ChargenModel; // 098
53-
TESModelTri morphs[3]; // 0C8
54-
BGSColorForm* colorForm; // 158
55-
BGSListForm* validRaces; // 160
56-
TESCondition chargenConditions; // 168
57-
BSFixedString formEditorID; // 170
48+
REX::EnumSet<Flag, std::uint8_t> flags; // 070
49+
REX::EnumSet<HeadPartType, std::int32_t> type; // 074
50+
BSTArray<BGSHeadPart*> extraParts; // 078
51+
BGSTextureSet* textureSet; // 090
52+
TESModel ChargenModel; // 098
53+
TESModelTri morphs[3]; // 0C8
54+
BGSColorForm* colorForm; // 158
55+
BGSListForm* validRaces; // 160
56+
TESCondition chargenConditions; // 168
57+
BSFixedString formEditorID; // 170
5858
};
5959
static_assert(sizeof(BGSHeadPart) == 0x178);
6060
}

CommonLibF4/include/RE/Bethesda/BGSInventoryItem.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ namespace RE
4242
[[nodiscard]] bool IsEquipped() const noexcept { return flags.any(Flag::kSlotMask); }
4343

4444
// members
45-
BSTSmartPointer<Stack> nextStack; // 10
46-
BSTSmartPointer<ExtraDataList> extra; // 18
47-
std::uint32_t count; // 20
48-
stl::enumeration<Flag, std::uint16_t> flags; // 24
45+
BSTSmartPointer<Stack> nextStack; // 10
46+
BSTSmartPointer<ExtraDataList> extra; // 18
47+
std::uint32_t count; // 20
48+
REX::EnumSet<Flag, std::uint16_t> flags; // 24
4949
};
5050
static_assert(sizeof(Stack) == 0x28);
5151

0 commit comments

Comments
 (0)