diff --git a/src/common/make-te-xp.vcxproj b/src/common/make-te-xp.vcxproj
new file mode 100644
index 00000000..0b9fe354
--- /dev/null
+++ b/src/common/make-te-xp.vcxproj
@@ -0,0 +1,104 @@
+
+
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}
+ Win32Proj
+ makete
+ make-te
+
+
+
+ Application
+ false
+ true
+ MultiByte
+ WDK7
+
+
+ Application
+ false
+ true
+ MultiByte
+ WDK7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ $(HexChatBin)
+ $(HexChatObj)$(ProjectName)\
+
+
+ false
+ $(HexChatBin)
+ $(HexChatObj)$(ProjectName)\
+
+
+
+ Level1
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+ "$(HexChatBin)make-te.exe" < "$(ProjectDir)textevents.in" > "$(ProjectDir)textevents.h" 2> "$(ProjectDir)textenums.h"
+
+
+
+
+ Level1
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+ "$(HexChatBin)make-te.exe" < "$(ProjectDir)textevents.in" > "$(ProjectDir)textevents.h" 2> "$(ProjectDir)textenums.h"
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/common/make-te-xp.vcxproj.filters b/src/common/make-te-xp.vcxproj.filters
new file mode 100644
index 00000000..ac9f0939
--- /dev/null
+++ b/src/common/make-te-xp.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/common/make-te.vcxproj b/src/common/make-te.vcxproj
new file mode 100644
index 00000000..61a24107
--- /dev/null
+++ b/src/common/make-te.vcxproj
@@ -0,0 +1,101 @@
+
+
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}
+ Win32Proj
+ makete
+
+
+
+ Application
+ false
+ true
+ MultiByte
+
+
+ Application
+ false
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ $(HexChatBin)
+ $(HexChatObj)$(ProjectName)\
+
+
+ false
+ $(HexChatBin)
+ $(HexChatObj)$(ProjectName)\
+
+
+
+ Level1
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+ "$(HexChatBin)make-te.exe" < "$(ProjectDir)textevents.in" > "$(ProjectDir)textevents.h" 2> "$(ProjectDir)textenums.h"
+
+
+
+
+ Level1
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+
+
+ Console
+ true
+ true
+ true
+
+
+ "$(HexChatBin)make-te.exe" < "$(ProjectDir)textevents.in" > "$(ProjectDir)textevents.h" 2> "$(ProjectDir)textenums.h"
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/common/make-te.vcxproj.filters b/src/common/make-te.vcxproj.filters
new file mode 100644
index 00000000..ac9f0939
--- /dev/null
+++ b/src/common/make-te.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/win32/hexchat-xp.sln b/win32/hexchat-xp.sln
index aa12cbcf..383f917f 100644
--- a/win32/hexchat-xp.sln
+++ b/win32/hexchat-xp.sln
@@ -121,6 +121,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\inst
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "htm", "..\src\htm\htm-xp.csproj", "{DE87FFCA-9606-4116-B747-062D88A56A28}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make-te", "..\src\common\make-te-xp.vcxproj", "{A7D7CE59-2A31-48AE-BED2-A9828E241832}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|Win32 = Release|Win32
@@ -238,6 +240,9 @@ Global
{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|Win32.ActiveCfg = Release|x86
{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.ActiveCfg = Release|x64
{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.Build.0 = Release|x64
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|Win32.ActiveCfg = Release|Win32
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|Win32.Build.0 = Release|Win32
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -248,6 +253,7 @@ Global
{E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
{87554B59-006C-4D94-9714-897B27067BA3} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
{DE87FFCA-9606-4116-B747-062D88A56A28} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
{6CD3647E-4541-4849-9DD7-C8816665AE42} = {BB051F0F-A841-4A9A-BAF6-51DD9866D65A}
{98B56DF9-E4F1-4696-A565-5F7823CF214D} = {BB051F0F-A841-4A9A-BAF6-51DD9866D65A}
{4980AF24-9D42-427D-A8E6-0DF3B97C455D} = {561126F4-FA18-45FC-A2BF-8F858F161D6D}
diff --git a/win32/hexchat.sln b/win32/hexchat.sln
index cb869353..7efa14bc 100644
--- a/win32/hexchat.sln
+++ b/win32/hexchat.sln
@@ -121,6 +121,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\inst
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "htm", "..\src\htm\htm.csproj", "{DE87FFCA-9606-4116-B747-062D88A56A28}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make-te", "..\src\common\make-te.vcxproj", "{A7D7CE59-2A31-48AE-BED2-A9828E241832}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|Win32 = Release|Win32
@@ -238,6 +240,9 @@ Global
{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|Win32.ActiveCfg = Release|x86
{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.ActiveCfg = Release|x64
{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.Build.0 = Release|x64
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|Win32.ActiveCfg = Release|Win32
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|Win32.Build.0 = Release|Win32
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -248,6 +253,7 @@ Global
{E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
{87554B59-006C-4D94-9714-897B27067BA3} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
{DE87FFCA-9606-4116-B747-062D88A56A28} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
+ {A7D7CE59-2A31-48AE-BED2-A9828E241832} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
{6CD3647E-4541-4849-9DD7-C8816665AE42} = {BB051F0F-A841-4A9A-BAF6-51DD9866D65A}
{98B56DF9-E4F1-4696-A565-5F7823CF214D} = {BB051F0F-A841-4A9A-BAF6-51DD9866D65A}
{4980AF24-9D42-427D-A8E6-0DF3B97C455D} = {561126F4-FA18-45FC-A2BF-8F858F161D6D}