|
|
|
|
#if (defined(_WIN64) || defined(_WIN32)) && defined(__GNUC__)
|
|
|
|
|
#define SDL_MAIN_HANDLED
|
|
|
|
|
#endif
|
|
|
|
|
#include <SDL.h>
|
|
|
|
|
#include <SDL_main.h>
|
|
|
|
|
|
|
|
|
|
#ifdef __SWITCH__
|
|
|
|
|
#include "platform/switch/network.h"
|
|
|
|
|
#include "platform/switch/random.hpp"
|
|
|
|
|
#include "platform/switch/romfs.hpp"
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef __3DS__
|
|
|
|
|
#include "platform/ctr/system.h"
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef __vita__
|
|
|
|
|
#include "platform/vita/network.h"
|
|
|
|
|
#include "platform/vita/random.hpp"
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef NXDK
|
|
|
|
|
#include <nxdk/mount.h>
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef GPERF_HEAP_MAIN
|
|
|
|
|
#include <gperftools/heap-profiler.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#include "diablo.h"
|
|
|
|
|
|
|
|
|
|
#if !defined(__APPLE__)
|
|
|
|
|
extern "C" const char *__asan_default_options() // NOLINT(bugprone-reserved-identifier, readability-identifier-naming)
|
|
|
|
|
{
|
|
|
|
|
return "halt_on_error=0";
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
extern "C" int main(int argc, char **argv)
|
|
|
|
|
{
|
|
|
|
|
#ifdef __SWITCH__
|
|
|
|
|
switch_romfs_init();
|
|
|
|
|
switch_enable_network();
|
|
|
|
|
randombytes_switchrandom_init();
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef __3DS__
|
|
|
|
|
ctr_sys_init();
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef __vita__
|
|
|
|
|
vita_enable_network();
|
|
|
|
|
randombytes_vitarandom_init();
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef NXDK
|
|
|
|
|
nxMountDrive('E', "\\Device\\Harddisk0\\Partition1\\");
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef GPERF_HEAP_MAIN
|
|
|
|
|
HeapProfilerStart("main");
|
|
|
|
|
#endif
|
|
|
|
|
const int result = devilution::DiabloMain(argc, argv);
|
|
|
|
|
#ifdef GPERF_HEAP_MAIN
|
|
|
|
|
HeapProfilerStop();
|
|
|
|
|
#endif
|
|
|
|
|
return result;
|
|
|
|
|
}
|