Initial commit
This commit is contained in:
commit
ad59e94d89
26 changed files with 516 additions and 0 deletions
BIN
Release/CL.read.1.tlog
Normal file
BIN
Release/CL.read.1.tlog
Normal file
Binary file not shown.
BIN
Release/CL.write.1.tlog
Normal file
BIN
Release/CL.write.1.tlog
Normal file
Binary file not shown.
BIN
Release/buf.obj
Normal file
BIN
Release/buf.obj
Normal file
Binary file not shown.
BIN
Release/cl.command.1.tlog
Normal file
BIN
Release/cl.command.1.tlog
Normal file
Binary file not shown.
BIN
Release/link.command.1.tlog
Normal file
BIN
Release/link.command.1.tlog
Normal file
Binary file not shown.
BIN
Release/link.read.1.tlog
Normal file
BIN
Release/link.read.1.tlog
Normal file
Binary file not shown.
BIN
Release/link.write.1.tlog
Normal file
BIN
Release/link.write.1.tlog
Normal file
Binary file not shown.
BIN
Release/main.obj
Normal file
BIN
Release/main.obj
Normal file
Binary file not shown.
BIN
Release/mt.command.1.tlog
Normal file
BIN
Release/mt.command.1.tlog
Normal file
Binary file not shown.
BIN
Release/mt.read.1.tlog
Normal file
BIN
Release/mt.read.1.tlog
Normal file
Binary file not shown.
BIN
Release/mt.write.1.tlog
Normal file
BIN
Release/mt.write.1.tlog
Normal file
Binary file not shown.
BIN
Release/net.obj
Normal file
BIN
Release/net.obj
Normal file
Binary file not shown.
10
Release/rulez.exe.intermediate.manifest
Normal file
10
Release/rulez.exe.intermediate.manifest
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
2
Release/rulez.lastbuildstate
Normal file
2
Release/rulez.lastbuildstate
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#v4.0:v100:false
|
||||
Release|Win32|D:\WinAPI\|
|
||||
36
Release/rulez.log
Normal file
36
Release/rulez.log
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Build started 14.08.2018 0:47:12.
|
||||
1>Project "D:\WinAPI\rulez\rulez.vcxproj" on node 2 (build target(s)).
|
||||
1>InitializeBuildStatus:
|
||||
Creating "Release\rulez.unsuccessfulbuild" because "AlwaysCreate" was specified.
|
||||
ClCompile:
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /O2 /Oi /Oy- /GL /D _MBCS /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt buf.cpp main.cpp
|
||||
buf.cpp
|
||||
1>d:\winapi\rulez\buf.h(37): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(188): см. объявление "strncpy"
|
||||
main.cpp
|
||||
1>d:\winapi\rulez\buf.h(37): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\string.h(188): см. объявление "strncpy"
|
||||
1>main.cpp(15): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(234): см. объявление "fopen"
|
||||
1>main.cpp(93): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(363): см. объявление "_snprintf"
|
||||
1>main.cpp(94): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdio.h(234): см. объявление "fopen"
|
||||
Link:
|
||||
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"D:\WinAPI\Release\rulez.exe" /NOLOGO WS2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Release\rulez.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\WinAPI\Release\rulez.pdb" /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"D:\WinAPI\Release\rulez.lib" /MACHINE:X86 Release\buf.obj
|
||||
Release\main.obj
|
||||
Release\net.obj
|
||||
Создание кода
|
||||
1>d:\winapi\rulez\main.cpp(68): warning C4700: использована неинициализированная локальная переменная "sp"
|
||||
Создание кода завершено
|
||||
rulez.vcxproj -> D:\WinAPI\Release\rulez.exe
|
||||
Manifest:
|
||||
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"D:\WinAPI\Release\rulez.exe;#1" /manifest Release\rulez.exe.intermediate.manifest
|
||||
FinalizeBuildStatus:
|
||||
Deleting file "Release\rulez.unsuccessfulbuild".
|
||||
Touching "Release\rulez.lastbuildstate".
|
||||
1>Done Building Project "D:\WinAPI\rulez\rulez.vcxproj" (build target(s)).
|
||||
|
||||
Построение успешно завершено.
|
||||
|
||||
Time Elapsed 00:00:00.80
|
||||
BIN
Release/rulez.vcxprojResolveAssemblyReference.cache
Normal file
BIN
Release/rulez.vcxprojResolveAssemblyReference.cache
Normal file
Binary file not shown.
0
Release/rulez.write.1.tlog
Normal file
0
Release/rulez.write.1.tlog
Normal file
BIN
Release/vc100.pdb
Normal file
BIN
Release/vc100.pdb
Normal file
Binary file not shown.
35
buf.cpp
Normal file
35
buf.cpp
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#include "buf.h"
|
||||
|
||||
CBuf::CBuf(size_t uSize)
|
||||
{
|
||||
m_bAlloc = true;
|
||||
m_pBuf = (char*)calloc(uSize,1);
|
||||
m_pSp = m_pBuf;
|
||||
}
|
||||
|
||||
CBuf::CBuf(char* pBuf)
|
||||
{
|
||||
m_bAlloc = false;
|
||||
m_pBuf = pBuf;
|
||||
m_pSp = m_pBuf;
|
||||
}
|
||||
|
||||
CBuf::~CBuf()
|
||||
{
|
||||
if(m_bAlloc)
|
||||
free(m_pBuf);
|
||||
}
|
||||
|
||||
void CBuf::WriteBuf(const void* pBuf,size_t uSize)
|
||||
{
|
||||
if(pBuf)
|
||||
memcpy(m_pSp,pBuf,uSize);
|
||||
m_pSp += uSize;
|
||||
}
|
||||
|
||||
void CBuf::ReadBuf(void* pDst,size_t uSize)
|
||||
{
|
||||
if(pDst)
|
||||
memcpy(pDst,m_pSp,uSize);
|
||||
m_pSp += uSize;
|
||||
}
|
||||
61
buf.h
Normal file
61
buf.h
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
#ifndef __BUF_H
|
||||
#define __BUF_H
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
|
||||
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
|
||||
|
||||
typedef unsigned char u8;
|
||||
typedef unsigned short u16;
|
||||
typedef unsigned int u32;
|
||||
typedef unsigned long u64;
|
||||
|
||||
class CBuf
|
||||
{
|
||||
public:
|
||||
CBuf(size_t uSize);
|
||||
CBuf(char* pBuf);
|
||||
~CBuf();
|
||||
|
||||
void WriteBuf(const void* pSrc,size_t uSize);
|
||||
inline void WriteStr(const char* pStr){
|
||||
WriteBuf(pStr,strlen(pStr)+1);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void Write(T Obj){
|
||||
*(T*)m_pSp = Obj;
|
||||
m_pSp += sizeof(T);
|
||||
}
|
||||
|
||||
void ReadBuf(void* pDst,size_t uSize);
|
||||
inline size_t ReadString(char* pDst,size_t uMaxLen){
|
||||
size_t uLen = strlen(m_pSp)+1;
|
||||
if(pDst)
|
||||
strncpy(pDst,m_pSp,uMaxLen);
|
||||
m_pSp += uLen;
|
||||
return uLen;
|
||||
}
|
||||
template<typename T>
|
||||
T Read(){
|
||||
T Obj = *(T*)m_pSp;
|
||||
m_pSp += sizeof(T);
|
||||
return Obj;
|
||||
}
|
||||
|
||||
inline size_t GetSize(){
|
||||
return (size_t)(m_pSp-m_pBuf);
|
||||
}
|
||||
|
||||
inline void Reset(){
|
||||
m_pSp = m_pBuf;
|
||||
}
|
||||
|
||||
char* m_pBuf;
|
||||
char* m_pSp;
|
||||
bool m_bAlloc;
|
||||
};
|
||||
|
||||
#endif
|
||||
106
main.cpp
Normal file
106
main.cpp
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
#include "net.h"
|
||||
#include "buf.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef struct {
|
||||
u32 id;
|
||||
u8 total;
|
||||
u8 current;
|
||||
u16 size;
|
||||
} sp_t;
|
||||
|
||||
void writebuf(CBuf& bf,size_t sz,const char* pFile)
|
||||
{
|
||||
FILE* fout = fopen(pFile,"wb");
|
||||
fwrite(bf.m_pBuf,sz,1,fout);
|
||||
fclose(fout);
|
||||
}
|
||||
|
||||
void readsplit(CBuf& bf,sp_t& sp)
|
||||
{
|
||||
bf.Read<u32>();
|
||||
sp.id = bf.Read<u32>();
|
||||
sp.total = bf.Read<u8>();
|
||||
sp.current = bf.Read<u8>();
|
||||
sp.size = bf.Read<u16>();
|
||||
}
|
||||
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
CSocket sd;
|
||||
CBuf tt(1024*1024); //UP to 1 MB
|
||||
CBuf rd(4096);
|
||||
CBuf wd(4096);
|
||||
|
||||
struct sockaddr_in addr;
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_addr.s_addr = inet_addr(argv[1]);
|
||||
addr.sin_port = htons(atoi(argv[2]));
|
||||
sd = CSocket(addr);
|
||||
sd.InitSocket();
|
||||
|
||||
wd.Write<u32>(-1);
|
||||
wd.Write<u8>(0x56);
|
||||
wd.Write<u32>(-1);
|
||||
sd.Send(sd,wd.m_pBuf,wd.GetSize());
|
||||
wd.Reset();
|
||||
sd.Recv(sd,rd.m_pBuf,4096);
|
||||
|
||||
rd.Read<u32>();
|
||||
rd.Read<u8>();
|
||||
u32 token = rd.Read<u32>();
|
||||
rd.Reset();
|
||||
printf("Received A2S_RULES token %p\n",token);
|
||||
|
||||
wd.Write<u32>(-1);
|
||||
wd.Write<u8>(0x56);
|
||||
wd.Write<u32>(token);
|
||||
sd.Send(sd,wd.m_pBuf,wd.GetSize());
|
||||
wd.Reset();
|
||||
|
||||
int psize = sd.Recv(sd,rd.m_pBuf,4096);
|
||||
|
||||
sp_t sp;
|
||||
sp.total = 2;
|
||||
u16 num = 0;
|
||||
int totalsize = 0;
|
||||
while(sp.current+1 != sp.total)
|
||||
{
|
||||
int xsize = 12;
|
||||
psize -= 12;
|
||||
readsplit(rd,sp);
|
||||
if(!sp.current) //First packet
|
||||
{
|
||||
psize -= 7;
|
||||
xsize += 7;
|
||||
rd.Read<u32>();
|
||||
rd.Read<u8>();
|
||||
num = rd.Read<u16>();
|
||||
printf("%d cvars\n",num);
|
||||
}
|
||||
|
||||
tt.WriteBuf((char*)rd.m_pBuf+xsize,psize);
|
||||
totalsize += psize;
|
||||
rd.Reset();
|
||||
printf("%d/%d packet\n",sp.current+1,sp.total);
|
||||
if(sp.current+1 == sp.total)
|
||||
break;
|
||||
psize = sd.Recv(sd,rd.m_pBuf,4096);
|
||||
}
|
||||
|
||||
char szName[MAX_PATH];
|
||||
_snprintf(szName,MAX_PATH,"%s_%s.txt",argv[1],argv[2]);
|
||||
FILE* fdump = fopen(szName,"w");
|
||||
tt.Reset();
|
||||
for(int i = 0; i < num; i++)
|
||||
{
|
||||
char szVarName[MAX_PATH];
|
||||
char szVarValue[MAX_PATH];
|
||||
tt.ReadString(szVarName,MAX_PATH);
|
||||
tt.ReadString(szVarValue,MAX_PATH);
|
||||
fprintf(fdump,"%s = %s\n",szVarName,szVarValue);
|
||||
}
|
||||
fclose(fdump);
|
||||
return 0;
|
||||
}
|
||||
87
net.cpp
Normal file
87
net.cpp
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
#include "net.h"
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
struct sockaddr_in g_maddr;
|
||||
|
||||
class WSAInit
|
||||
{
|
||||
public:
|
||||
WSAInit(){
|
||||
WSAStartup(MAKEWORD(2,2),&m_WSA);
|
||||
srand((unsigned int)time(NULL));
|
||||
}
|
||||
|
||||
~WSAInit(){
|
||||
WSACleanup();
|
||||
}
|
||||
|
||||
WSADATA m_WSA;
|
||||
} g_WSA;
|
||||
|
||||
CSocket::CSocket()
|
||||
{
|
||||
s = INVALID_SOCKET;
|
||||
socklen = sizeof(struct sockaddr_in);
|
||||
}
|
||||
|
||||
CSocket::CSocket(struct sockaddr_in& addr)
|
||||
{
|
||||
s = INVALID_SOCKET;
|
||||
a = addr;
|
||||
socklen = sizeof(struct sockaddr_in);
|
||||
}
|
||||
|
||||
CSocket::~CSocket()
|
||||
{
|
||||
}
|
||||
|
||||
bool CSocket::InitSocket()
|
||||
{
|
||||
return ((s = socket(a.sin_family,SOCK_DGRAM,
|
||||
IPPROTO_UDP)) != INVALID_SOCKET);
|
||||
}
|
||||
|
||||
bool CSocket::Bind()
|
||||
{
|
||||
return (bind(s,(const sockaddr*)&a,
|
||||
socklen)!= SOCKET_ERROR);
|
||||
}
|
||||
|
||||
void CSocket::Close()
|
||||
{
|
||||
closesocket(s);
|
||||
}
|
||||
|
||||
int CSocket::Recv(CSocket& cl,void* pBuf,size_t uSize,
|
||||
DWORD dwTimeOut)
|
||||
{
|
||||
if(dwTimeOut)
|
||||
{
|
||||
setsockopt(cl.s,SOL_SOCKET,SO_RCVTIMEO,
|
||||
(const char*)&dwTimeOut,sizeof(DWORD));
|
||||
}
|
||||
|
||||
return recvfrom(s,(char*)pBuf,(int)uSize,0,
|
||||
(sockaddr*)&cl.a,&cl.socklen);
|
||||
}
|
||||
|
||||
int CSocket::Send(CSocket& cl,const void* pBuf,size_t uSize,
|
||||
DWORD dwTimeOut)
|
||||
{
|
||||
if(dwTimeOut)
|
||||
{
|
||||
setsockopt(cl.s,SOL_SOCKET,SO_SNDTIMEO,
|
||||
(const char*)&dwTimeOut,sizeof(DWORD));
|
||||
}
|
||||
|
||||
return sendto(s,(const char*)pBuf,(int)uSize,0,
|
||||
(const sockaddr*)&cl.a,cl.socklen);
|
||||
}
|
||||
|
||||
void CSocket::SetNonBlocking(bool bEnable)
|
||||
{
|
||||
u_long uBlock = (u_long)bEnable;
|
||||
ioctlsocket(s,FIONBIO,&uBlock);
|
||||
}
|
||||
61
net.h
Normal file
61
net.h
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
#ifndef __NET_H
|
||||
#define __NET_H
|
||||
|
||||
#include <WinSock2.h>
|
||||
|
||||
#define MASTER_DOMAIN "hl2master.steampowered.com"
|
||||
#define MASTER_PORT 27011
|
||||
#define MVHDR 0x31
|
||||
|
||||
typedef struct {
|
||||
SOCKET s;
|
||||
struct sockaddr_in a;
|
||||
int len;
|
||||
} socket_t;
|
||||
|
||||
class CSocket
|
||||
{
|
||||
public:
|
||||
CSocket();
|
||||
CSocket(struct sockaddr_in& addr);
|
||||
~CSocket();
|
||||
|
||||
bool InitSocket();
|
||||
bool Bind();
|
||||
void Close();
|
||||
|
||||
int Recv(CSocket& cl,void* pBuf,size_t uLen,
|
||||
DWORD dwTimeOut = 0);
|
||||
int Send(CSocket& cl,const void* pBuf,size_t uLen,
|
||||
DWORD dwTimeOut = 0);
|
||||
void SetNonBlocking(bool bEnabled);
|
||||
|
||||
bool operator==(const CSocket& Other){
|
||||
return (a.sin_addr.s_addr == Other.a.sin_addr.s_addr
|
||||
&& a.sin_port == Other.a.sin_port);
|
||||
}
|
||||
|
||||
SOCKET s;
|
||||
struct sockaddr_in a;
|
||||
int socklen;
|
||||
};
|
||||
|
||||
class CMutex
|
||||
{
|
||||
public:
|
||||
CMutex(){
|
||||
m_hMutex = CreateMutex(0,0,0);
|
||||
}
|
||||
~CMutex(){
|
||||
CloseHandle(m_hMutex);
|
||||
}
|
||||
|
||||
void Lock(){/*WaitForSingleObject(m_hMutex,INFINITE);*/}
|
||||
void Unlock(){/*ReleaseMutex(m_hMutex);*/}
|
||||
|
||||
HANDLE m_hMutex;
|
||||
};
|
||||
|
||||
extern struct sockaddr_in g_maddr;
|
||||
|
||||
#endif
|
||||
75
rulez.vcxproj
Normal file
75
rulez.vcxproj
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F7614CC9-D3FF-4D25-81C8-E260CC621512}</ProjectGuid>
|
||||
<RootNamespace>rulez</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="buf.cpp" />
|
||||
<ClCompile Include="main.cpp" />
|
||||
<ClCompile Include="net.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="buf.h" />
|
||||
<ClInclude Include="net.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
36
rulez.vcxproj.filters
Normal file
36
rulez.vcxproj.filters
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Файлы исходного кода">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Заголовочные файлы">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Файлы ресурсов">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="buf.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="net.cpp">
|
||||
<Filter>Файлы исходного кода</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="buf.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="net.h">
|
||||
<Filter>Заголовочные файлы</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
7
rulez.vcxproj.user
Normal file
7
rulez.vcxproj.user
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LocalDebuggerCommandArguments>46.174.49.136 27015</LocalDebuggerCommandArguments>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Loading…
Add table
Reference in a new issue