#include "PHL.h" #include "game.h" #include #include #include #ifdef ODROID #define _XTYPEDEF_MASK #include #endif void createSaveLocations() { //Force create save data folders #ifdef _3DS //3DS builds mkdir("sdmc:/3ds", 0777); mkdir("sdmc:/3ds/appdata", 0777); mkdir("sdmc:/3ds/appdata/HydraCastleLabyrinth", 0777); mkdir("sdmc:/3ds/appdata/HydraCastleLabyrinth/data", 0777); mkdir("sdmc:/3ds/appdata/HydraCastleLabyrinth/map", 0777); #elif defined(_SDL) char buff[4096]; strcpy(buff, getenv("HOME")); strcat(buff, "/.hydracastlelabyrinth"); // if exist first? struct stat sb; if(!(stat(buff, &sb)==0 && S_ISDIR(sb.st_mode))) mkdir(buff, 0777); #else //psp, wii mkdir("/data", 0777); mkdir("/map", 0777); #endif } int main(int argc, char **argv) { //Setup #ifdef _3DS sdmcInit(); osSetSpeedupEnable(false); #endif #ifdef _SDL if ( SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK ) < 0) { fprintf(stderr, "Error"); SDL_Delay(5000); exit(EXIT_FAILURE); } #if defined(PANDORA) || defined(PYRA) || defined(CHIP) || defined(ODROID) wantFullscreen = 1; #else wantFullscreen = 0; #endif #ifdef CHIP screenScale = 1; #elif defined(PYRA) //screenScale = 3; desktopFS = 1; #elif defined(ODROID) desktopFS = 1; #else screenScale = 1; #endif useJoystick = 1; // get command line arguments for (int i=1; icurrent_h; screenW = infos->current_w; if(screenW/320 < screenH/240) screenScale = screenW/320; else screenScale = screenH/240; // automatic guess the scale deltaX = (screenW-320*screenScale)/2; deltaY = (screenH-240*screenScale)/2; } else { screenW = 320 * screenScale; screenH = 240 * screenScale; } printf("Hydra Caslte Labyrinth, %s %dx%d scale=x%d, using Joystick=%d\n", (wantFullscreen || desktopFS)?"Fullscreen":"Windowed", screenW, screenH, screenScale, useJoystick); #endif srand(time(NULL)); createSaveLocations(); game(); //System specific cleanup #ifdef _PSP sceKernelExitGame(); #endif #ifdef _3DS sdmcExit(); #endif return 0; }