Well, Colobot uses not implemented features.
I managed to install all necessary dependencies except po4a (it took me about 3 hours and I encountered some problems, but I think I can make a proper package) and CMake successfully generated VS2013 project files. I opened a solution and tried to build it. Even music is converted without problems, but some parts of code give errors.
In app.h:
unistd.h and getopt.h are for UNIX-based systems. However, I have found these files in the Internet (their Win32 versions) and put them along the dependencies and this error no longer occured. But it's the last error that can be fixed without changing the code.
In the same file:
usleep function doesn't exist on Windows. There is an ugly workaround:
I'm leaving here rest of the errors. I'm too tired to try to fix them and not sure if you would even let me to push these changes to the repository.
In CBOT there are some of these errors:
Also, there are a lot of warnings. I'm not sure if they should be there.
Full logs are in attachments. I included only logs from building main Colobot source code and CBOT.
I managed to install all necessary dependencies except po4a (it took me about 3 hours and I encountered some problems, but I think I can make a proper package) and CMake successfully generated VS2013 project files. I opened a solution and tried to build it. Even music is converted without problems, but some parts of code give errors.
In app.h:
Code:
#include <unistd.h>
#include <getopt.h>
In the same file:
Code:
usleep(20000); // should still give plenty of fps
usleep function doesn't exist on Windows. There is an ugly workaround:
Code:
// Ugly fix for MSVC
#include <windows.h>
void usleep(__int64 usec)
{
HANDLE timer;
LARGE_INTEGER ft;
ft.QuadPart = -(10 * usec); // Convert to 100 nanosecond interval, negative value indicates relative time
timer = CreateWaitableTimer(NULL, TRUE, NULL);
SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0);
WaitForSingleObject(timer, INFINITE);
CloseHandle(timer);
}
I'm leaving here rest of the errors. I'm too tired to try to fix them and not sure if you would even let me to push these changes to the repository.
Code:
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(35): error C3646: 'noexcept' : unknown override specifier
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(36): error C3646: 'noexcept' : unknown override specifier
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(37): error C3646: 'noexcept' : unknown override specifier
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(46): error C3646: 'noexcept' : unknown override specifier
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(47): error C3646: 'noexcept' : unknown override specifier
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(53): error C3646: 'noexcept' : unknown override specifier
1>D:\Projects\colobot\gold\repo\src\object/level/parserexceptions.h(54): error C3646: 'noexcept' : unknown override specifier
...
1>D:\Projects\colobot\gold\repo\src\common\resources\sndfile.cpp(31): error C2797: 'CSNDFile::m_snd_callbacks': list initialization inside member initializer list or non-static data member initializer is not implemented
...
1>D:\Projects\colobot\gold\repo\src\object\auto\autoflag.cpp(33): fatal error C1017: invalid integer constant expression
In CBOT there are some of these errors:
Code:
1>d:\projects\colobot\gold\repo\src\cbot\CBot.h(75): fatal error C1017: invalid integer constant expression
Also, there are a lot of warnings. I'm not sure if they should be there.
Full logs are in attachments. I included only logs from building main Colobot source code and CBOT.