Теперь можно загружать вот такие DLL-ки через командную строку (компилится в 2.5 КБ с /NODEFAULTLIB) ☺️
#include "config.h"
#include "api_impl.h"
extern "C" BOOL APIENTRY _DllMainCRTStartup(HMODULE hModule, DWORD fdwReason, LPVOID lpvReserved)
{
return TRUE;
}
/*
DLLEXPORT BOOL __stdcall ParallelixCheck(ServiceData* service_data)
{
return TRUE;
}
*/
void __stdcall draw_pixel(uint32_t thread_index, uint32_t y, uint32_t x, uint32_t group_size, PixelPointer pixel_addr, uint32_t spec_value, ServiceData* service_data)
{
*pixel_addr.pixel8bpp = static_cast(((x ^ y) + spec_value) >> 4);
}
DLLEXPORT void __stdcall ParallelixStart(ServiceData* service_data)
{
using namespace api;
exported::InitVideo({ InitVideoOptions::ColorMode::palette_8bpp, VideoMode::default_full, 0,
InitVideoOptions::use_video_mode, InitVideoOptions::LineAlignment::align_default });
for (int i = 0; ; ++i) {
// 0 = group by 1 pixel (1
#include "config.h"
#include "api_impl.h"
extern "C" BOOL APIENTRY _DllMainCRTStartup(HMODULE hModule, DWORD fdwReason, LPVOID lpvReserved)
{
return TRUE;
}
/*
DLLEXPORT BOOL __stdcall ParallelixCheck(ServiceData* service_data)
{
return TRUE;
}
*/
void __stdcall draw_pixel(uint32_t thread_index, uint32_t y, uint32_t x, uint32_t group_size, PixelPointer pixel_addr, uint32_t spec_value, ServiceData* service_data)
{
*pixel_addr.pixel8bpp = static_cast(((x ^ y) + spec_value) >> 4);
}
DLLEXPORT void __stdcall ParallelixStart(ServiceData* service_data)
{
using namespace api;
exported::InitVideo({ InitVideoOptions::ColorMode::palette_8bpp, VideoMode::default_full, 0,
InitVideoOptions::use_video_mode, InitVideoOptions::LineAlignment::align_default });
for (int i = 0; ; ++i) {
// 0 = group by 1 pixel (1