AppleWin/source/linux/windows/winbase.cpp
Andrea Odetti a310d50da4 applen: partially better way to locate resources if application is launched from different folder.
When loading snapshot, chdir so relative paths can be found.
Ensure endwin() is called.
Use an "int" to exit the process rather than a exit().

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-12 10:24:27 +01:00

96 lines
1.8 KiB
C++

#include "linux/windows/winbase.h"
#include <errno.h>
#include <iostream>
#include <chrono>
#include <thread>
DWORD WINAPI GetLastError(void)
{
return errno;
}
void DeleteCriticalSection(CRITICAL_SECTION * criticalSection)
{
}
void InitializeCriticalSection(CRITICAL_SECTION * criticalSection)
{
}
void EnterCriticalSection(CRITICAL_SECTION * criticalSection)
{
}
void LeaveCriticalSection(CRITICAL_SECTION * criticalSection)
{
}
void OutputDebugString(const char * str)
{
std::cerr << str;
}
void ExitProcess(int status)
{
throw status;
}
DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD)
{
return WAIT_FAILED;
}
DWORD WINAPI WaitForSingleObject(const HANDLE,DWORD)
{
return WAIT_FAILED;
}
BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD code)
{
*code = 0;
return TRUE;
}
BOOL WINAPI SetEvent(HANDLE)
{
return TRUE;
}
VOID WINAPI Sleep(DWORD ms)
{
std::this_thread::sleep_for (std::chrono::milliseconds(ms));
}
BOOL WINAPI SetThreadPriority(HANDLE,INT)
{
return TRUE;
}
HANDLE WINAPI CreateEvent(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR)
{
return INVALID_HANDLE_VALUE;
}
HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD)
{
return INVALID_HANDLE_VALUE;
}
BOOL WINAPI QueryPerformanceCounter(LARGE_INTEGER*counter)
{
const auto now = std::chrono::steady_clock::now();
const auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch());
counter->QuadPart = ms.count();
return TRUE;
}
HANDLE CreateSemaphore(
LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
LONG lInitialCount,
LONG lMaximumCount,
LPCSTR lpName
)
{
return INVALID_HANDLE_VALUE;
}