1
0
mirror of https://github.com/solemnwarning/directplay-lite synced 2024-12-30 16:45:37 +01:00

Build with Visual Studio toolchain rather than GCC.

I want C++17 features :(
This commit is contained in:
Daniel Collins 2018-09-13 01:42:31 +01:00
parent 1dd9e45145
commit 26c038a24d
6 changed files with 78 additions and 5 deletions

73
build.bat Normal file
View File

@ -0,0 +1,73 @@
@ECHO OFF
setlocal EnableDelayedExpansion
REM .obj files to be compiled from .cc source files
SET CC_OBJS=^
googletest/src/gtest-all.obj^
googletest/src/gtest_main.obj
REM .obj files to be compiled from .cpp source files
SET CPP_OBJS=^
src/AsyncHandleAllocator.obj^
src/COMAPIException.obj^
src/DirectPlay8Address.obj^
src/DirectPlay8Peer.obj^
src/HostEnumerator.obj^
src/network.obj^
src/packet.obj^
src/SendQueue.obj^
tests/DirectPlay8Address.obj^
tests/DirectPlay8Peer.obj^
tests/PacketDeserialiser.obj^
tests/PacketSerialiser.obj
REM .obj files which will be linked into all-tests.exe
SET TEST_OBJS=^
googletest/src/gtest-all.obj^
googletest/src/gtest_main.obj^
src/AsyncHandleAllocator.obj^
src/COMAPIException.obj^
src/DirectPlay8Address.obj^
src/DirectPlay8Peer.obj^
src/HostEnumerator.obj^
src/network.obj^
src/packet.obj^
src/SendQueue.obj^
tests/DirectPlay8Address.obj^
tests/DirectPlay8Peer.obj^
tests/PacketDeserialiser.obj^
tests/PacketSerialiser.obj
SET TEST_LIBS=ws2_32.lib dxguid.lib ole32.lib
SET CFLAGS=^
/Zi^
/EHsc^
/DNOMINMAX^
/I"C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (October 2004)\Include"^
/I"googletest/include"^
/I"googletest"
FOR %%o IN (%CC_OBJS%) DO (
set obj=%%o
echo ==
echo == cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cc
echo ==
cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cc || exit /b
echo:
)
FOR %%o IN (%CPP_OBJS%) DO (
set obj=%%o
echo ==
echo == cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cpp
echo ==
cl /c %CFLAGS% /Fo%%o !obj:~0,-4!.cpp || exit /b
echo:
)
echo ==
echo == link /debug /out:tests/all-tests.exe %TEST_OBJS% %TEST_LIBS%
echo ==
link /debug /out:tests/all-tests.exe %TEST_OBJS% %TEST_LIBS% || exit /b

View File

@ -340,7 +340,7 @@ HRESULT DirectPlay8Address::SetDevice(CONST GUID* CONST devGuid)
return AddComponent(DPNA_KEY_DEVICE, devGuid, sizeof(*devGuid), DPNA_DATATYPE_GUID);
}
HRESULT DirectPlay8Address::BuildFromDirectPlay4Address(LPVOID pvAddress, DWORD dwDataSize)
HRESULT DirectPlay8Address::BuildFromDPADDRESS(LPVOID pvAddress, DWORD dwDataSize)
{
UNIMPLEMENTED("DirectPlay8Address::BuildFromDirectPlay4Address");
}

View File

@ -103,7 +103,7 @@ class DirectPlay8Address: public IDirectPlay8Address
virtual HRESULT STDMETHODCALLTYPE AddComponent(CONST WCHAR* CONST pwszName, CONST void* CONST lpvData, CONST DWORD dwDataSize, CONST DWORD dwDataType) override;
virtual HRESULT STDMETHODCALLTYPE GetDevice(GUID* pDevGuid) override;
virtual HRESULT STDMETHODCALLTYPE SetDevice(CONST GUID* CONST devGuid) override;
virtual HRESULT STDMETHODCALLTYPE BuildFromDirectPlay4Address(LPVOID pvAddress, DWORD dwDataSize) override;
virtual HRESULT STDMETHODCALLTYPE BuildFromDPADDRESS(LPVOID pvAddress, DWORD dwDataSize) override;
};
#endif /* DPLITE_DIRECTPLAY8ADDRESS_HPP */

View File

@ -74,5 +74,5 @@ std::pair<const void*, size_t> SendQueue::Buffer::get_data()
std::pair<const struct sockaddr*, int> SendQueue::Buffer::get_dest_addr()
{
return std::make_pair<const struct sockaddr*, int>((struct sockaddr*)(&dest_addr), (int)(dest_addr_len));
return std::make_pair((struct sockaddr*)(&dest_addr), (int)(dest_addr_len));
}

View File

@ -170,7 +170,7 @@ std::pair<const void*,size_t> PacketDeserialiser::get_data(size_t index) const
throw Error::TypeMismatch();
}
return std::make_pair<const void*, size_t>((const void*)(fields[index]->value), (size_t)(fields[index]->value_length));
return std::make_pair((const void*)(fields[index]->value), (size_t)(fields[index]->value_length));
}
std::wstring PacketDeserialiser::get_wstring(size_t index) const

View File

@ -685,7 +685,7 @@ class DirectPlay8AddressSetUserData: public DirectPlay8AddressInitial
{
protected:
const unsigned char REFDATA[22] = { 0x00, 0x01, 0x02, 0x03, '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 0xFF, 0xFE };
const DWORD REFSIZE = 22;
static const DWORD REFSIZE = 22;
virtual void SetUp() override
{