2008-09-16 07:42:21 +02:00
|
|
|
/****************************************************************************
|
2008-09-17 04:27:55 +02:00
|
|
|
* Visual Boy Advance GX
|
2008-09-16 07:42:21 +02:00
|
|
|
*
|
2021-01-06 21:13:12 +01:00
|
|
|
* Tantric 2008-2021
|
2008-09-16 07:42:21 +02:00
|
|
|
*
|
2010-03-31 04:45:09 +02:00
|
|
|
* vbagx.h
|
2008-09-16 07:42:21 +02:00
|
|
|
*
|
|
|
|
* This file controls overall program flow. Most things start and end here!
|
|
|
|
***************************************************************************/
|
2008-12-18 19:58:30 +01:00
|
|
|
#ifndef _VBAGX_H_
|
|
|
|
#define _VBAGX_H_
|
2008-09-16 07:42:21 +02:00
|
|
|
|
2009-07-08 09:21:01 +02:00
|
|
|
#include <unistd.h>
|
2018-07-28 23:26:19 +02:00
|
|
|
#include <sys/param.h>
|
2009-07-08 09:21:01 +02:00
|
|
|
|
2009-04-08 09:08:12 +02:00
|
|
|
#include "filelist.h"
|
2010-03-22 00:49:59 +01:00
|
|
|
#include "utils/FreeTypeGX.h"
|
2009-04-08 09:08:12 +02:00
|
|
|
|
2008-12-24 08:52:35 +01:00
|
|
|
#define APPNAME "Visual Boy Advance GX"
|
2021-01-19 03:09:07 +01:00
|
|
|
#define APPVERSION "2.4.2"
|
2009-10-02 00:42:02 +02:00
|
|
|
#define APPFOLDER "vbagx"
|
2008-11-17 09:02:22 +01:00
|
|
|
#define PREF_FILE_NAME "settings.xml"
|
2009-06-01 09:20:23 +02:00
|
|
|
#define PAL_FILE_NAME "palettes.xml"
|
2008-09-16 07:42:21 +02:00
|
|
|
|
|
|
|
#define NOTSILENT 0
|
|
|
|
#define SILENT 1
|
|
|
|
|
2009-10-02 00:42:02 +02:00
|
|
|
const char pathPrefix[9][8] =
|
2020-03-13 20:51:16 +01:00
|
|
|
{ "", "sd:/", "usb:/", "dvd:/", "smb:/", "carda:/", "cardb:/", "port2:/" };
|
2009-10-02 00:42:02 +02:00
|
|
|
|
2016-12-10 21:47:27 +01:00
|
|
|
enum
|
|
|
|
{
|
2009-10-02 00:42:02 +02:00
|
|
|
DEVICE_AUTO,
|
|
|
|
DEVICE_SD,
|
|
|
|
DEVICE_USB,
|
|
|
|
DEVICE_DVD,
|
|
|
|
DEVICE_SMB,
|
|
|
|
DEVICE_SD_SLOTA,
|
2020-03-13 20:51:16 +01:00
|
|
|
DEVICE_SD_SLOTB,
|
|
|
|
DEVICE_SD_PORT2
|
2008-09-16 07:42:21 +02:00
|
|
|
};
|
|
|
|
|
2016-12-10 21:47:27 +01:00
|
|
|
enum
|
|
|
|
{
|
2008-11-12 08:53:25 +01:00
|
|
|
FILE_SRAM,
|
|
|
|
FILE_SNAPSHOT,
|
2016-06-05 00:59:43 +02:00
|
|
|
FILE_ROM,
|
|
|
|
FILE_BORDER_PNG
|
2008-11-12 08:53:25 +01:00
|
|
|
};
|
|
|
|
|
2016-12-10 21:47:27 +01:00
|
|
|
enum
|
|
|
|
{
|
2010-01-25 09:25:28 +01:00
|
|
|
LANG_JAPANESE = 0,
|
|
|
|
LANG_ENGLISH,
|
|
|
|
LANG_GERMAN,
|
|
|
|
LANG_FRENCH,
|
|
|
|
LANG_SPANISH,
|
|
|
|
LANG_ITALIAN,
|
|
|
|
LANG_DUTCH,
|
|
|
|
LANG_SIMP_CHINESE,
|
|
|
|
LANG_TRAD_CHINESE,
|
2010-08-21 22:05:51 +02:00
|
|
|
LANG_KOREAN,
|
2010-08-29 23:43:05 +02:00
|
|
|
LANG_PORTUGUESE,
|
|
|
|
LANG_BRAZILIAN_PORTUGUESE,
|
2010-11-27 03:46:41 +01:00
|
|
|
LANG_CATALAN,
|
2011-03-30 05:39:23 +02:00
|
|
|
LANG_TURKISH,
|
2010-08-29 23:43:05 +02:00
|
|
|
LANG_LENGTH
|
2010-01-25 09:25:28 +01:00
|
|
|
};
|
|
|
|
|
2016-12-10 21:47:27 +01:00
|
|
|
struct SGCSettings
|
|
|
|
{
|
2010-01-25 08:36:48 +01:00
|
|
|
float gbaZoomHor; // GBA horizontal zoom amount
|
2016-12-11 05:20:35 +01:00
|
|
|
float gbaZoomVert; // GBA vertical zoom amount
|
|
|
|
float gbZoomHor; // GB horizontal zoom amount
|
|
|
|
float gbZoomVert; // GB vertical zoom amount
|
|
|
|
int gbFixed;
|
|
|
|
int gbaFixed;
|
2010-01-25 08:36:48 +01:00
|
|
|
int AutoLoad;
|
2016-12-11 05:20:35 +01:00
|
|
|
int AutoSave;
|
|
|
|
int LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB)
|
2010-01-25 08:36:48 +01:00
|
|
|
int SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, USB, SMB
|
2016-12-11 05:20:35 +01:00
|
|
|
int AppendAuto; // 0 - no, 1 - yes
|
|
|
|
int videomode; // 0 - automatic, 1 - NTSC (480i), 2 - Progressive (480p), 3 - PAL (50Hz), 4 - PAL (60Hz)
|
|
|
|
int scaling; // 0 - default, 1 - partial stretch, 2 - stretch to fit, 3 - widescreen correction
|
2010-01-25 08:36:48 +01:00
|
|
|
int render; // 0 - original, 1 - filtered, 2 - unfiltered
|
|
|
|
int xshift; // video output shift
|
2009-01-26 08:11:02 +01:00
|
|
|
int yshift;
|
2016-12-11 05:20:35 +01:00
|
|
|
int colorize; // colorize Mono Gameboy games
|
|
|
|
int gbaFrameskip; // turn on auto-frameskip for GBA games
|
2010-01-25 08:36:48 +01:00
|
|
|
int WiiControls; // Match Wii Game
|
2009-03-04 08:01:04 +01:00
|
|
|
int WiimoteOrientation;
|
2009-04-08 09:08:12 +02:00
|
|
|
int ExitAction;
|
|
|
|
int MusicVolume;
|
|
|
|
int SFXVolume;
|
2009-05-20 07:23:49 +02:00
|
|
|
int Rumble;
|
2010-01-25 09:25:28 +01:00
|
|
|
int language;
|
2016-12-10 21:47:27 +01:00
|
|
|
int PreviewImage;
|
2018-08-30 18:11:11 +02:00
|
|
|
int AutoloadGame;
|
2016-12-10 21:47:27 +01:00
|
|
|
|
2016-06-05 00:59:43 +02:00
|
|
|
int OffsetMinutesUTC; // Used for clock on MBC3 and TAMA5
|
|
|
|
int GBHardware; // Mapped to gbEmulatorType in VBA
|
|
|
|
int SGBBorder;
|
2016-12-10 21:47:27 +01:00
|
|
|
int BasicPalette; // 0 - Green 1 - Monochrome
|
|
|
|
|
2010-01-25 08:36:48 +01:00
|
|
|
char LoadFolder[MAXPATHLEN]; // Path to game files
|
2016-06-05 00:59:43 +02:00
|
|
|
char LastFileLoaded[MAXPATHLEN]; //Last file loaded filename
|
2010-01-25 08:36:48 +01:00
|
|
|
char SaveFolder[MAXPATHLEN]; // Path to save files
|
2016-06-05 00:59:43 +02:00
|
|
|
char ScreenshotsFolder[MAXPATHLEN]; //Path to screenshots files
|
2016-12-10 21:47:27 +01:00
|
|
|
char CoverFolder[MAXPATHLEN]; //Path to cover files
|
|
|
|
char ArtworkFolder[MAXPATHLEN]; //Path to artwork files
|
2016-06-05 00:59:43 +02:00
|
|
|
char BorderFolder[MAXPATHLEN]; // Path to Super Game Boy border files
|
2016-12-10 21:47:27 +01:00
|
|
|
|
2010-01-25 08:36:48 +01:00
|
|
|
char smbip[80];
|
|
|
|
char smbuser[20];
|
|
|
|
char smbpwd[20];
|
|
|
|
char smbshare[20];
|
2008-09-16 07:42:21 +02:00
|
|
|
};
|
2019-01-05 11:04:44 +01:00
|
|
|
|
2009-04-08 09:08:12 +02:00
|
|
|
void ExitApp();
|
2008-11-17 01:09:38 +01:00
|
|
|
void ShutdownWii();
|
2010-12-18 17:05:06 +01:00
|
|
|
bool SupportedIOS(u32 ios);
|
|
|
|
bool SaneIOS(u32 ios);
|
2008-09-16 07:42:21 +02:00
|
|
|
extern struct SGCSettings GCSettings;
|
2009-05-25 08:45:42 +02:00
|
|
|
extern int ScreenshotRequested;
|
2008-10-18 22:40:48 +02:00
|
|
|
extern int ConfigRequested;
|
2008-11-17 01:09:38 +01:00
|
|
|
extern int ShutdownRequested;
|
2009-04-08 09:08:12 +02:00
|
|
|
extern int ExitRequested;
|
2008-11-17 09:02:22 +01:00
|
|
|
extern char appPath[];
|
2016-06-05 00:59:43 +02:00
|
|
|
|
2009-07-08 09:21:01 +02:00
|
|
|
extern FreeTypeGX *fontSystem[];
|
2020-06-02 05:18:47 +02:00
|
|
|
extern bool isWiiVC;
|
|
|
|
static inline bool IsWiiU(void)
|
|
|
|
{
|
|
|
|
return ((*(vu16*)0xCD8005A0 == 0xCAFE) || isWiiVC);
|
|
|
|
}
|
|
|
|
static inline bool IsWiiUFastCPU(void)
|
|
|
|
{
|
|
|
|
return ((*(vu16*)0xCD8005A0 == 0xCAFE) && ((*(vu32*)0xCD8005B0 & 0x20) == 0));
|
|
|
|
}
|
2008-09-16 07:42:21 +02:00
|
|
|
|
|
|
|
#endif
|