diff --git a/.gitignore b/.gitignore
index 819b2148f00..260032993e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -141,7 +141,7 @@ Thumbs.db
/vcproj/map-server
/vcproj/api-server
/vcproj/mapcache
-/vcproj/plugin-*
+/vcproj/plugin-*/
# ccache
/.ccache/
diff --git a/vcproj/plugin-HPMHooking_api.vcxproj b/vcproj/plugin-HPMHooking_api.vcxproj
new file mode 100644
index 00000000000..42fafd404c8
--- /dev/null
+++ b/vcproj/plugin-HPMHooking_api.vcxproj
@@ -0,0 +1,121 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {69D5A06C-67C9-4EB1-BA5A-A001AE69838B}
+ plugin-HPMHooking_api
+ Win32Proj
+ plugin-HPMHooking_api
+ 10.0
+
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ NativeRecommendedRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ HPMHooking_api
+ HPMHooking_api
+
+
+
+ /MP %(AdditionalOptions)
+ Disabled
+ ..\src;..\3rdparty;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_CHAR;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+ true
+
+
+ _DEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+ /MP %(AdditionalOptions)
+ MaxSpeed
+ ..\src;..\3rdparty;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_CHAR;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+
+
+ NDEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vcproj/plugin-HPMHooking_char.vcxproj b/vcproj/plugin-HPMHooking_char.vcxproj
new file mode 100644
index 00000000000..1f8da46ea0d
--- /dev/null
+++ b/vcproj/plugin-HPMHooking_char.vcxproj
@@ -0,0 +1,121 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {D495824D-24D3-4623-A28C-4CA506084A09}
+ plugin-HPMHooking_char
+ Win32Proj
+ plugin-HPMHooking_char
+ 10.0
+
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ NativeRecommendedRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ HPMHooking_char
+ HPMHooking_char
+
+
+
+ /MP %(AdditionalOptions)
+ Disabled
+ ..\src;..\3rdparty;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_CHAR;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+ true
+
+
+ _DEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+ /MP %(AdditionalOptions)
+ MaxSpeed
+ ..\src;..\3rdparty;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_CHAR;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+
+
+ NDEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vcproj/plugin-HPMHooking_login.vcxproj b/vcproj/plugin-HPMHooking_login.vcxproj
new file mode 100644
index 00000000000..d4418717ae6
--- /dev/null
+++ b/vcproj/plugin-HPMHooking_login.vcxproj
@@ -0,0 +1,121 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {544AD8E8-0309-49DE-9F8D-F9FEA24D92F1}
+ plugin-HPMHooking_login
+ Win32Proj
+ plugin-HPMHooking_login
+ 10.0
+
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ NativeRecommendedRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ HPMHooking_login
+ HPMHooking_login
+
+
+
+ /MP %(AdditionalOptions)
+ Disabled
+ ..\src;..\3rdparty;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_LOGIN;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+ true
+
+
+ _DEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+ /MP %(AdditionalOptions)
+ MaxSpeed
+ ..\src;..\3rdparty;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_LOGIN;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+
+
+ NDEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vcproj/plugin-HPMHooking_map.vcxproj b/vcproj/plugin-HPMHooking_map.vcxproj
new file mode 100644
index 00000000000..9b228ef6648
--- /dev/null
+++ b/vcproj/plugin-HPMHooking_map.vcxproj
@@ -0,0 +1,121 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {745D4A8C-6A68-4721-A43A-D81BF59860A1}
+ plugin-HPMHooking_map
+ Win32Proj
+ plugin-HPMHooking_map
+ 10.0
+
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ NativeRecommendedRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ HPMHooking_map
+ HPMHooking_map
+
+
+
+ /MP %(AdditionalOptions)
+ Disabled
+ ..\src;..\3rdparty;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_MAP;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+ true
+
+
+ _DEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+ /MP %(AdditionalOptions)
+ MaxSpeed
+ ..\src;..\3rdparty;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;_USRDLL;HPMHOOKING_MAP;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+
+
+ NDEBUG;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vcproj/plugin-sample.vcxproj b/vcproj/plugin-sample.vcxproj
new file mode 100644
index 00000000000..aa0926b1ee5
--- /dev/null
+++ b/vcproj/plugin-sample.vcxproj
@@ -0,0 +1,121 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {E64C56D3-CDFB-483B-900B-A62D216B6D2F}
+ plugin-sample
+ Win32Proj
+ plugin-sample
+ 10.0
+
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+ DynamicLibrary
+ MultiByte
+ v143
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.40219.1
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ ..\plugins\
+ $(ProjectName)\$(Configuration)\
+ false
+ NativeRecommendedRules.ruleset
+
+
+ AllRules.ruleset
+
+
+ sample
+ sample
+
+
+
+ /MP %(AdditionalOptions)
+ Disabled
+ ..\src;..\3rdparty;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ _DEBUG;WIN32;_WINDOWS;_USRDLL;USE_HTTP_PARSER;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+ true
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+ /MP %(AdditionalOptions)
+ MaxSpeed
+ ..\src;..\3rdparty;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)
+ NDEBUG;WIN32;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ MultiThreaded
+ Level3
+ ProgramDatabase
+ 4996;%(DisableSpecificWarnings)
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ 0x0417
+
+
+ $(OutDir)$(TargetName).dll
+
+
+ true
+ $(IntDir)$(TargetName).pdb
+ true
+ true
+ false
+ $(IntDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+
+
+
+
+
\ No newline at end of file