You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -367,15 +368,15 @@ class TESForm : public BaseFormComponent
367
368
virtualvoidUnk_17(void);
368
369
virtualvoidUnk_18(void);
369
370
virtualvoidUnk_19(void);
370
-
virtualvoidUnk_1A(void);
371
+
virtualboolSeekRecordType(void* file); //Saw SeekWorldInFileFast (formerly FindCellInFileFast) in TESWorldSpace (only if master). MAybe SeekRecordType (todo check if only for master and for records that have offsets)
371
372
virtualvoidDoPostFixup(void); // initialize form after other forms loaded
@@ -392,7 +393,7 @@ class TESForm : public BaseFormComponent
392
393
virtualvoidCreateGroupRecord(void); // 30
393
394
virtualvoidUnk_31(void);
394
395
virtualvoidUnk_32(void);
395
-
virtualboolUnk_33(TESObjectREFR* refr0, TESObjectREFR* refr1, UInt32 unk2); // related to activate, refr1 is activating refr, refr0 is a reference to this TESForm being activated, seen unk2 == 0
396
+
virtualboolActivateActionForReference(TESObjectREFR* refr0, TESObjectREFR* refr1, UInt32 unk2); // related to activate, refr1 is activating refr, refr0 is a reference to this TESForm being activated, seen unk2 == 0. In TESFurniture case, the function seems to check Player and the TESfurnitre This object isn't used at all.
396
397
virtualconstchar * GetName(void); // not sure which objects this works on, doesn't seem to work on player or random objects
397
398
virtualconstchar * GetEditorName(void); // returns nothing at run-time
398
399
virtualvoidSetName(constchar * name);
@@ -2119,6 +2120,22 @@ class SpellItem : public MagicItemForm
2119
2120
SpellItem();
2120
2121
~SpellItem();
2121
2122
2123
+
2124
+
//TODO OBME have a different enum here
2125
+
/*
2126
+
* enum MagicItemType // This does NOT match the OBSE standard enum, which appears
2127
+
* { // to have been invented entirely by them for internal purposes
2128
+
* kMagItm_Spell = 0,
2129
+
* kMagItm_Disease,
2130
+
* kMagItm_Power,
2131
+
* kMagItm_LesserPower,
2132
+
* kMagItm_Ability,
2133
+
* kMagItm_Poison, // Generally not used, actual poisons are alchemy items w/ all hostile effects
2134
+
* kMagItm_Enchantment = 6,
2135
+
* kMagItm_AlchemyItem,
2136
+
* kMagItm_Ingredient,
2137
+
};
2138
+
*/
2122
2139
enum {
2123
2140
kType_Spell = 0,
2124
2141
kType_Disease,
@@ -2832,6 +2849,7 @@ class TESLevCreature : public TESBoundObject
2832
2849
TESActorBase* templateForm; //044
2833
2850
};
2834
2851
2852
+
//74
2835
2853
classTESSoulGem : publicTESBoundObject
2836
2854
{
2837
2855
public:
@@ -2845,8 +2863,8 @@ class TESSoulGem : public TESBoundObject
2845
2863
TESModel model; // 030
2846
2864
TESIcon icon; // 048
2847
2865
TESScriptableForm scriptable; // 054
2848
-
TESValueForm value; //064
2849
-
TESWeightForm weight; //072
2866
+
TESValueForm value; //060
2867
+
TESWeightForm weight; //068
2850
2868
2851
2869
enum {
2852
2870
kSoul_None = 0,
@@ -2857,11 +2875,13 @@ class TESSoulGem : public TESBoundObject
2857
2875
kSoul_Grand,
2858
2876
};
2859
2877
2860
-
UInt8 soul;
2861
-
UInt8 capacity;
2878
+
UInt8 soul;// 070
2879
+
UInt8 capacity;// 071
2862
2880
UInt8 padding[2];
2863
2881
};
2864
-
2882
+
#if OBLIVION
2883
+
STATIC_ASSERT(sizeof(TESSoulGem) == 0x74);
2884
+
#endif
2865
2885
// 70
2866
2886
classTESKey : publicTESObjectMISC
2867
2887
{
@@ -3251,6 +3271,7 @@ class TESObjectCELL : public TESForm
3251
3271
UInt32 rotZ;
3252
3272
float directionalFade;
3253
3273
float fogClipDistance;
3274
+
void* unk028; //Offset
3254
3275
};
3255
3276
3256
3277
// members
@@ -3415,7 +3436,12 @@ class TESWorldSpace : public TESForm
3415
3436
Character * character; // 074
3416
3437
void * ptr078; // 078
3417
3438
TESWorldSpace * parentWorldspace; // 07C
3418
-
UInt32 unk080[(0xC0 - 0x80) >> 2]; // 080
3439
+
TESWaterForm *WaterForm;
3440
+
UInt32 unk084[5];
3441
+
float unk9C[4];
3442
+
UInt32 *cellOffsetsArray; //Repurposed inside OffsetGenerator with different type, DO NOT Access without care
3443
+
float unk0AC[4];
3444
+
UInt32 recordOffsetFromFileBeginning; //Repurposed inside OffsetGenerator with different type, DO NOT Access without care
@@ -658,7 +658,7 @@ class MobileObject : public TESObjectREFR
658
658
virtualvoidMove(float arg0, float* pos, UInt32 arg2) = 0; //TODO check. This function is a mess
659
659
// virtual void Jump(void) = 0; // jump?
660
660
virtualvoidFallImpact(float a2, float a3, Actor* a4, int a5) = 0; //At least seems relevant to fall and/or pain sounds
661
-
virtualvoidUnk_6F(void) = 0;
661
+
virtualvoidUnk_6F(void) = 0;//SOmething for bhkCharacterProxy
662
662
virtualvoidUnk_70(void) = 0; // 70
663
663
virtualvoidUnk_71(void) = 0;
664
664
virtualvoidUnk_72(void) = 0;
@@ -692,7 +692,7 @@ class Actor : public MobileObject
692
692
693
693
virtual SInt32 GetFame(void) = 0; // 81
694
694
virtual SInt32 GetInfamy(void) = 0; // 82
695
-
virtualvoidResurrect(UInt8 unk1, UInt8 unk2, UInt8 unk3) = 0; //If unk3 is 1, it try to use the bhkProxyController. MAybe relative to animations? unk3 == 0, recreate the processes
695
+
virtualvoidResurrect(UInt32 unk1, UInt8 unk2, bool unk3) = 0; //If unk3 is 1, it try to use the bhkProxyController. MAybe relative to animations? unk3 == 0, recreate the processes
696
696
virtualvoidUnk_84(void) = 0;
697
697
virtualvoidUnk_85(void) = 0;
698
698
virtualvoidUnk_86(void) = 0;
@@ -869,6 +869,7 @@ class Actor : public MobileObject
0 commit comments