-
Notifications
You must be signed in to change notification settings - Fork 5
/
object_leveledLists.h
60 lines (50 loc) · 1.54 KB
/
object_leveledLists.h
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
#ifndef LEVELED_LIST_H
#define LEVELED_LIST_H
using namespace std;
#include "PCH.h"
#include "dirent.h"
#include "gameforms.h"
#include "utility.h"
#include <unordered_set>
#include <fstream>
#include <iostream>
#include <regex>
#include <string>
#include <vector>
namespace LEVELEDLISTS
{
struct struct_ll
{
uint32_t size;
RE::LEVELED_OBJECT ll[];
};
struct line_content
{
std::string object;
std::string level;
std::string reference;
std::string count;
std::string chance;
std::string clear;
std::string calcForLevel;
std::string calcEachItem;
std::string calcForLevelAndEachItem;
std::string calcUseAll;
std::vector<std::string> objects;
std::vector<std::string> containerObjects;
std::vector<std::vector<std::string>> addedObjects;
std::vector<std::vector<std::string>> addedContainerObjects;
std::vector<std::string> removedContainerObjects;
std::vector<std::vector<std::string>> removedObjects;
std::vector<std::vector<std::string>> templateKeyword;
std::vector<std::string> removeItemsByKeyword;
std::string noFilterLL;
};
struct line_content create_patch_instruction(const std::string& line);
void process_patch_instructions(const std::list<line_content>& tokens);
void* readConfig(const std::string& folder);
void process_patch_instructions(const std::list<line_content>& tokens);
void patch(LEVELEDLISTS::line_content line, RE::TESLevItem* curobj);
void patchContainer(LEVELEDLISTS::line_content line, RE::TESObjectCONT* curobj);
}
#endif