-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathForms.h
More file actions
71 lines (52 loc) · 2.01 KB
/
Forms.h
File metadata and controls
71 lines (52 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#pragma once
#include <sstream>
#include "skse64/PluginAPI.h"
#include "skse64/GameTypes.h"
#include "skse64/GameData.h"
namespace Forms {
// Forms IDs
//inline UInt32 GetBaseID(UInt32 formID) { return formID != 0 ? (formID & 0x00FFFFFF) : 0; }
//inline UInt32 GetBaseID(TESForm* obj) { return obj ? (obj->formID & 0x00FFFFFF) : 0; }
//inline UInt32 GetModIndex(UInt32 formID) { return ((int)formID) >> 24; }
//inline UInt32 GetModIndex(TESForm* obj) { return ((int)obj->formID) >> 24; }
//inline UInt32 GetModIndex(const char* name);
UInt32 GetBaseID(UInt32 formID);
UInt32 GetBaseID(TESForm* obj);
UInt32 GetModIndex(UInt32 formID);
UInt32 GetModIndex(TESForm* obj);
UInt32 GetModIndex(const char* name);
// Load Order
void ClearModList();
void SavePluginsList(SKSESerializationInterface * intfc);
void LoadPluginList(SKSESerializationInterface * intfc);
// Old
void LoadModList(SKSESerializationInterface * intfc);
//void SaveModList(SKSESerializationInterface * intfc);
//void LoadLightModList(SKSESerializationInterface * intfc);
//void SaveLightModList(SKSESerializationInterface * intfc);
//void LoadPreviousMods(std::stringstream &ss);
//UInt8 ResolveModIndex(UInt8 modIndex);
//UInt32 ResolveModIndex(UInt32 modIndex);
//UInt16 ResolveLightModIndex(UInt16 modIndex);
UInt32 ResolveFormID(UInt32 formID);
TESForm* ResolveFormKey(UInt64 key);
// Form Keys
UInt64 GetNewKey(UInt64 key);
UInt64 GetNewKey(UInt64 key, std::string modName);
UInt64 GetFormKey(TESForm* form);
TESForm* GetFormKey(UInt64 key);
inline UInt32 GetKeyType(UInt64 key) { return (UInt32)(key >> 32); }
inline UInt32 GetKeyID(UInt64 key) { return (UInt32)(key); }
// Form Strings
bool IsFormString(const std::string &str);
const std::string GetFormString(TESForm* obj);
TESForm* ParseFormString(const std::string &objString);
//TESForm* ParseForm(UInt32 &obj, const char* mod);
// Misc
int GameGetForm(int formId);
bool IsValidObject(TESForm* obj, UInt64 formId);
/*class FormStore {
public:
FormStore(TESForm*);
};*/
}