Files
Paulo Matos 2b4ec88dae Whole-tree reformat
This follows discussions from #3413.
Followup commits add clang-format file, script and blame ignore lists.
2024-04-12 16:26:02 +02:00

100 lines
2.1 KiB
C++

/*
$info$
tags: thunklibs|SDL2
desc: Handles sdlglproc, dload, stubs a few log fns
$end_info$
*/
#include <SDL2/SDL.h>
#include <SDL2/SDL_syswm.h>
#include <GL/glx.h>
#include <dlfcn.h>
#include <stdio.h>
#include <cstring>
#include <map>
#include <string>
#include <stdarg.h>
#include "common/Guest.h"
#include "thunkgen_guest_libSDL2.inl"
LOAD_LIB(libSDL2)
#include <vector>
struct __va_list_tag;
int SDL_snprintf(char*, size_t, const char*, ...) {
return printf("SDL2: SDL_snprintf\n");
}
int SDL_sscanf(const char*, const char*, ...) {
return printf("SDL2: SDL_sscanf\n");
}
void SDL_Log(const char*, ...) {
printf("SDL2: SDL_Log\n");
}
void SDL_LogCritical(int, const char*, ...) {
printf("SDL2: SDL_LogCritical\n");
}
void SDL_LogDebug(int, const char*, ...) {
printf("SDL2: SDL_LogDebug\n");
}
void SDL_LogError(int, const char*, ...) {
printf("SDL2: SDL_LogError\n");
}
void SDL_LogInfo(int, const char*, ...) {
printf("SDL2: SDL_LogInfo\n");
}
void SDL_LogMessage(int, SDL_LogPriority, const char*, ...) {
printf("SDL2: SDL_LogMessage\n");
}
void SDL_LogVerbose(int, const char*, ...) {
printf("SDL2: SDL_LogVerbose\n");
}
void SDL_LogWarn(int, const char*, ...) {
printf("SDL2: SDL_LogWarn\n");
}
int SDL_SetError(const char*, ...) {
return printf("SDL2: SDL_SetError\n");
}
void SDL_LogMessageV(int, SDL_LogPriority, const char*, __va_list_tag*) {
printf("SDL2: SDL_LogMessageV\n");
}
int SDL_vsnprintf(char*, size_t, const char*, __va_list_tag*) {
return printf("SDL2: SDL_vsnprintf\n");
}
int SDL_vsscanf(const char*, const char*, __va_list_tag*) {
return printf("SDL2: SDL_vsscanf\n");
}
extern "C" {
void* SDL_GL_GetProcAddress(const char* name) {
// TODO: Fix this HACK
return (void*)glXGetProcAddress((const GLubyte*)name);
}
// TODO: These are not 100% conforming to SDL either
void* SDL_LoadObject(const char* sofile) {
auto lib = dlopen(sofile, RTLD_NOW | RTLD_LOCAL);
if (!lib) {
printf("SDL_LoadObject: Failed to load %s\n", sofile);
}
return lib;
}
void* SDL_LoadFunction(void* lib, const char* name) {
return dlsym(lib, name);
}
void SDL_UnloadObject(void* lib) {
if (lib) {
dlclose(lib);
}
}
}