-
Notifications
You must be signed in to change notification settings - Fork 8
/
MiscWindowOverrides.h
147 lines (117 loc) · 6.38 KB
/
MiscWindowOverrides.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#pragma once
namespace cse
{
namespace uiManager
{
class FaceGenWindowData : public bgsee::WindowExtraData
{
public:
bool TunnelingTabSelectMessage;
bool AllowPreviewUpdates;
std::string VoicePlaybackFilePath;
FaceGenWindowData();
virtual ~FaceGenWindowData();
enum { kTypeID = 'XFGD' };
};
struct FaceGenVoicePreviewData
{
char VoicePath[MAX_PATH];
char LipPath[MAX_PATH];
UInt32 DelayTime;
};
class LoadPluginsWindowData : public bgsee::WindowExtraData
{
public:
enum { kTypeID = 'XLPG' };
struct PluginFlagCache
{
TESFile* Plugin;
bool Loaded;
bool Active;
PluginFlagCache(TESFile* Plugin)
{
this->Plugin = Plugin;
this->Loaded = Plugin->IsLoaded();
this->Active = Plugin->IsActive();
}
};
std::vector<PluginFlagCache> PluginFlagsInitialState;
LoadPluginsWindowData() : bgsee::WindowExtraData(kTypeID) {}
virtual ~LoadPluginsWindowData() = default;
void BuildPluginFlagCache();
void UpdatePluginFlagsFromCache();
};
std::string AiPackagesWindowFormListGetColumnText(HWND FormList, TESForm* Form, UInt32 ColumnIndex);
LRESULT CALLBACK FindTextDlgSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK DataDlgSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK ResponseEditorDlgSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK LandscapeTextureUseDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK FilteredDialogQuestDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK AboutDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK RaceDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK CommonDialogExtraFittingsSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK SelectTopicsQuestsSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK LandscapeEditDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK AIPackagesDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK AIFormDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK FaceGenDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK MagicItemFormDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK LeveledItemFormDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK TESObjectCELLDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
class DialogExtraFittingsData : public bgsee::WindowExtraData
{
public:
POINT LastCursorPos;
HWND LastCursorPosWindow;
bool QuickViewTriggered;
HWND AssetControlToolTip;
TOOLINFO AssetControlToolData;
HWND LastTrackedTool;
bool TrackingToolTip;
DialogExtraFittingsData();
virtual ~DialogExtraFittingsData();
enum { kTypeID = 'XDEF' };
};
class TESFormEditData : public bgsee::WindowExtraData
{
public:
TESForm* Buffer; // stores a temp copy of the form being edited
TESFormEditData();
virtual ~TESFormEditData();
enum { kTypeID = 'XFED' };
void FillBuffer(TESForm* Parent);
bool HasChanges(TESForm* Parent);
};
class TESFormIDListViewData : public bgsee::WindowExtraData
{
public:
bool DisableDragHandling;
TESFormIDListViewData();
virtual ~TESFormIDListViewData();
enum { kTypeID = 'XFLV' };
};
LRESULT CALLBACK CommonDialogExtraFittingsSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK TESFormIDListViewDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK TESFormEditDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
LRESULT CALLBACK WindowPosDlgSubClassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bgsee::WindowSubclassProcCollection::SubclassProcExtraParams* SubclassParams);
void InitializeMiscWindowOverrides();
}
}
// custom window messages
// wParam = CSEFaceGenVoicePreviewData*
#define WM_FACEGENPREVIEW_PLAYVOICE (WM_USER + 2020)
// custom control IDs, as baked into the dialog templates
#define IDC_CSE_DATA_SETSTARTUPPLUGIN 9906
#define IDC_CSE_DATA_LOADSTARTUPPLUGIN 9907
#define IDC_CSE_DATA_SELECTLOADORDER 9908
#define IDC_CSE_DATA_SELECTNONE 9909
#define IDC_CSE_DATA_FILTEREDIT 9910
#define IDC_CSE_DATA_FILTERNAME 9911
#define IDC_CSE_DATA_FILTERAUTHOR 9912
#define IDC_CSE_DATA_FILTERSUMMARY 9913
#define IDC_CSE_RACE_COPYHAIR 9915
#define IDC_CSE_RACE_COPYEYES 9916
#define IDC_CSE_QUEST_EDITRESULTSCRIPT 9928
#define IDC_CSE_RESPONSEWINDOW_FACEGENPREVIEW 9934
// also used in the NPC edit dialog
#define IDC_CSE_RESPONSEWINDOW_VOICEDELAY 9935