2013-07-17 01:05:36 +00:00
|
|
|
|
using System.IO;
|
2013-08-04 16:47:54 +00:00
|
|
|
|
using System.Linq;
|
2012-06-10 23:34:37 +00:00
|
|
|
|
using System.Drawing;
|
2013-05-21 02:15:15 +00:00
|
|
|
|
using System.Collections.Generic;
|
2013-08-04 16:47:54 +00:00
|
|
|
|
using System.Collections;
|
2012-03-12 04:44:26 +00:00
|
|
|
|
|
|
|
|
|
namespace BizHawk.MultiClient
|
2011-06-19 23:39:25 +00:00
|
|
|
|
{
|
|
|
|
|
public class Config
|
|
|
|
|
{
|
2013-07-17 01:20:21 +00:00
|
|
|
|
public Config()
|
|
|
|
|
{
|
|
|
|
|
config.NewControllerConfig.ConfigCheckAllControlDefaults(this);
|
|
|
|
|
}
|
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// Directories
|
|
|
|
|
public bool UseRecentForROMs = false;
|
|
|
|
|
public string LastRomPath = ".";
|
|
|
|
|
public string BasePath = ".";
|
2012-12-23 02:42:20 +00:00
|
|
|
|
public string BaseROMPath = ".";
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-09-07 06:18:58 +00:00
|
|
|
|
public string BaseINTV = Path.Combine(".", "Intellivision");
|
|
|
|
|
public string PathINTVROMs = ".";
|
|
|
|
|
public string PathINTVSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathINTVSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathINTVScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathINTVCheats = Path.Combine(".", "Cheats");
|
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseNES = Path.Combine(".", "NES");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathNESROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathNESSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathNESSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathNESScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathNESCheats = Path.Combine(".", "Cheats");
|
|
|
|
|
public string PathNESPalette = Path.Combine(".", "Palettes");
|
2011-05-04 20:31:36 +00:00
|
|
|
|
|
2012-09-04 07:14:29 +00:00
|
|
|
|
public string BaseSNES = Path.Combine(".", "SNES");
|
|
|
|
|
public string PathSNESROMs = ".";
|
|
|
|
|
public string PathSNESSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathSNESSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathSNESScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathSNESCheats = Path.Combine(".", "Cheats");
|
2012-12-22 19:10:54 +00:00
|
|
|
|
//public string PathSNESFirmwares = Path.Combine(".", "Firmwares");
|
2012-09-04 07:14:29 +00:00
|
|
|
|
|
2012-11-20 03:17:53 +00:00
|
|
|
|
public string BaseGBA = Path.Combine(".", "GBA");
|
|
|
|
|
public string PathGBAROMs = ".";
|
|
|
|
|
public string PathGBASavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathGBASaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathGBAScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathGBACheats = Path.Combine(".", "Cheats");
|
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseSMS = Path.Combine(".", "SMS");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathSMSROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathSMSSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathSMSSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathSMSScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathSMSCheats = Path.Combine(".", "Cheats");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseGG = Path.Combine(".", "Game Gear");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathGGROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathGGSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathGGSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathGGScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathGGCheats = Path.Combine(".", "Cheats");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseSG = Path.Combine(".", "SG-1000");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathSGROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathSGSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathSGSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathSGScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathSGCheats = Path.Combine(".", "Cheats");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseGenesis = Path.Combine(".", "Genesis");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathGenesisROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathGenesisSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathGenesisSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathGenesisScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathGenesisCheats = Path.Combine(".", "Cheats");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BasePCE = Path.Combine(".", "PC Engine");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathPCEROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathPCESavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathPCESaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathPCEScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathPCECheats = Path.Combine(".", "Cheats");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseGameboy = Path.Combine(".", "Gameboy");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathGBROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathGBSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathGBSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathGBScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathGBCheats = Path.Combine(".", "Cheats");
|
2012-09-15 18:15:55 +00:00
|
|
|
|
public string PathGBPalettes = Path.Combine(".", "Palettes");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string BaseTI83 = Path.Combine(".", "TI83");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string PathTI83ROMs = ".";
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string PathTI83Savestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathTI83SaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathTI83Screenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathTI83Cheats = Path.Combine(".", "Cheats");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-11-27 02:24:15 +00:00
|
|
|
|
public string BaseAtari2600 = Path.Combine(".", "Atari 2600");
|
|
|
|
|
public string PathAtari2600ROMs = ".";
|
|
|
|
|
public string PathAtari2600Savestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathAtari2600Screenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathAtari2600Cheats = Path.Combine(".", "Cheats");
|
|
|
|
|
|
|
|
|
|
public string BaseAtari7800 = Path.Combine(".", "Atari 7800");
|
|
|
|
|
public string PathAtari7800ROMs = ".";
|
|
|
|
|
public string PathAtari7800Savestates = Path.Combine(".", "State");
|
2012-12-16 18:39:05 +00:00
|
|
|
|
public string PathAtari7800SaveRAM = Path.Combine(".", "SaveRAM");
|
2012-11-27 02:24:15 +00:00
|
|
|
|
public string PathAtari7800Screenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathAtari7800Cheats = Path.Combine(".", "Cheats");
|
2012-12-22 19:10:54 +00:00
|
|
|
|
//public string PathAtari7800Firmwares = Path.Combine(".", "Firmwares");
|
2012-03-19 02:12:43 +00:00
|
|
|
|
|
2012-11-06 06:19:27 +00:00
|
|
|
|
public string BaseC64 = Path.Combine(".", "C64");
|
|
|
|
|
public string PathC64ROMs = ".";
|
|
|
|
|
public string PathC64Savestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathC64Screenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathC64Cheats = Path.Combine(".", "Cheats");
|
2012-12-22 19:10:54 +00:00
|
|
|
|
//public string PathC64Firmwares = Path.Combine(".", "Firmwares");
|
2012-11-06 06:19:27 +00:00
|
|
|
|
|
2012-11-04 23:29:06 +00:00
|
|
|
|
public string BasePSX = Path.Combine(".", "PSX");
|
|
|
|
|
public string PathPSXROMs = ".";
|
|
|
|
|
public string PathPSXSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathPSXSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathPSXScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathPSXCheats = Path.Combine(".", "Cheats");
|
2012-12-22 19:10:54 +00:00
|
|
|
|
//public string PathPSXFirmwares = Path.Combine(".", "Firmwares");
|
2012-11-04 23:29:06 +00:00
|
|
|
|
|
2012-12-01 20:36:24 +00:00
|
|
|
|
public string BaseCOL = Path.Combine(".", "Coleco");
|
2012-11-17 21:12:51 +00:00
|
|
|
|
public string PathCOLROMs = ".";
|
|
|
|
|
public string PathCOLSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathCOLScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathCOLCheats = Path.Combine(".", "Cheats");
|
2013-05-01 02:37:26 +00:00
|
|
|
|
|
|
|
|
|
public string BaseN64 = Path.Combine(".", "N64");
|
|
|
|
|
public string PathN64ROMs = ".";
|
|
|
|
|
public string PathN64Savestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathN64SaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathN64Screenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathN64Cheats = Path.Combine(".", "Cheats");
|
|
|
|
|
|
|
|
|
|
public string BaseSaturn = Path.Combine(".", "Saturn");
|
|
|
|
|
public string PathSaturnROMs = ".";
|
|
|
|
|
public string PathSaturnSavestates = Path.Combine(".", "State");
|
|
|
|
|
public string PathSaturnSaveRAM = Path.Combine(".", "SaveRAM");
|
|
|
|
|
public string PathSaturnScreenshots = Path.Combine(".", "Screenshots");
|
|
|
|
|
public string PathSaturnCheats = Path.Combine(".", "Cheats");
|
|
|
|
|
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string MoviesPath = Path.Combine(".", "Movies");
|
2012-09-13 00:44:17 +00:00
|
|
|
|
public string MoviesBackupPath = Path.Combine(".", "Movies", "backup");
|
2012-03-12 04:44:26 +00:00
|
|
|
|
public string LuaPath = Path.Combine(".", "Lua");
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public string WatchPath = ".";
|
|
|
|
|
public string AVIPath = ".";
|
2012-09-30 16:50:00 +00:00
|
|
|
|
public string LogPath = ".";
|
2012-12-22 19:10:54 +00:00
|
|
|
|
public string FirmwaresPath = Path.Combine(".", "Firmware");
|
2011-05-08 09:07:46 +00:00
|
|
|
|
|
2011-07-25 01:30:18 +00:00
|
|
|
|
//BIOS Paths
|
2012-12-23 01:32:38 +00:00
|
|
|
|
public string FilenamePCEBios = "[BIOS] Super CD-ROM System (Japan) (v3.0).pce";
|
|
|
|
|
public string FilenameFDSBios = "disksys.rom";
|
2012-12-23 02:15:20 +00:00
|
|
|
|
public string FilenameGBABIOS = "gbabios.rom";
|
|
|
|
|
public string FilenameCOLBios = "ColecoBios.bin";
|
2012-12-23 02:42:20 +00:00
|
|
|
|
public string FilenameINTVGROM = "grom.bin";
|
2012-12-27 22:47:58 +00:00
|
|
|
|
public string FilenameA78NTSCBios = "7800NTSCBIOS.bin";
|
|
|
|
|
public string FilenameA78PALBios = "7800PALBIOS.bin";
|
|
|
|
|
public string FilenameA78HSCBios = "7800highscore.bin";
|
2012-12-23 02:42:20 +00:00
|
|
|
|
public string FilenameINTVEROM = "erom.bin";
|
2013-05-02 20:47:56 +00:00
|
|
|
|
public string FilenameSaturnBios = "Sega Saturn BIOS v1.01 (JAP).bin";
|
2011-07-25 01:30:18 +00:00
|
|
|
|
|
2012-10-09 21:25:58 +00:00
|
|
|
|
public string FFMpegPath = "%exe%/dll/ffmpeg.exe";
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2013-05-04 02:19:12 +00:00
|
|
|
|
//N64 Config Settings
|
2013-05-07 00:46:10 +00:00
|
|
|
|
public string N64VidPlugin = "Rice";
|
2013-05-04 02:19:12 +00:00
|
|
|
|
public int N64VideoSizeX = 320;
|
|
|
|
|
public int N64VideoSizeY = 240;
|
|
|
|
|
|
2013-05-21 02:15:15 +00:00
|
|
|
|
public N64RicePluginSettings RicePlugin = new N64RicePluginSettings();
|
2013-05-26 05:11:00 +00:00
|
|
|
|
public N64GlidePluginSettings GlidePlugin = new N64GlidePluginSettings();
|
2013-05-14 23:06:47 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// General Client Settings
|
2012-12-02 15:18:28 +00:00
|
|
|
|
public int Input_Hotkey_OverrideOptions = 0;
|
2012-09-26 04:00:42 +00:00
|
|
|
|
public bool StackOSDMessages = true;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int TargetZoomFactor = 2;
|
2012-07-15 08:50:24 +00:00
|
|
|
|
public int TargetDisplayFilter = 0;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool AutoLoadMostRecentRom = false;
|
|
|
|
|
public RecentFiles RecentRoms = new RecentFiles(8);
|
|
|
|
|
public bool PauseWhenMenuActivated = true;
|
|
|
|
|
public bool SaveWindowPosition = true;
|
|
|
|
|
public bool StartPaused = false;
|
|
|
|
|
public int MainWndx = -1; //Negative numbers will be ignored
|
|
|
|
|
public int MainWndy = -1;
|
|
|
|
|
public bool RunInBackground = true;
|
|
|
|
|
public bool AcceptBackgroundInput = false;
|
|
|
|
|
public bool SingleInstanceMode = false;
|
|
|
|
|
public bool AllowUD_LR = false;
|
2011-06-18 17:01:57 +00:00
|
|
|
|
public bool ShowContextMenu = true;
|
2011-06-18 19:16:05 +00:00
|
|
|
|
public bool EnableBackupMovies = true;
|
2011-07-04 23:02:37 +00:00
|
|
|
|
public bool HotkeyConfigAutoTab = true;
|
2011-07-09 18:01:46 +00:00
|
|
|
|
public bool InputConfigAutoTab = true;
|
2011-09-17 00:04:50 +00:00
|
|
|
|
public bool ShowLogWindow = false;
|
2011-07-31 21:39:54 +00:00
|
|
|
|
public bool BackupSavestates = true;
|
2012-09-29 15:32:44 +00:00
|
|
|
|
public bool BackupSaveram = true;
|
2012-06-10 22:43:43 +00:00
|
|
|
|
public bool AutoSavestates = false;
|
2011-09-17 00:04:50 +00:00
|
|
|
|
public bool SaveScreenshotWithStates = true;
|
2011-08-09 22:13:57 +00:00
|
|
|
|
public int AutofireOn = 1;
|
|
|
|
|
public int AutofireOff = 1;
|
2011-08-29 22:25:40 +00:00
|
|
|
|
public bool AutofireLagFrames = true;
|
2011-09-17 00:04:50 +00:00
|
|
|
|
public int SaveSlot = 0; //currently selected savestate slot
|
2011-09-17 00:25:34 +00:00
|
|
|
|
public bool AutoLoadLastSaveSlot = false;
|
2011-09-21 00:48:40 +00:00
|
|
|
|
public bool WIN32_CONSOLE = true;
|
2012-03-17 21:59:56 +00:00
|
|
|
|
public bool SkipLagFrame = false;
|
2012-03-31 00:38:39 +00:00
|
|
|
|
public string MovieExtension = "bkm";
|
2012-07-10 17:22:23 +00:00
|
|
|
|
public bool SupressAskSave = false;
|
2012-09-22 00:07:02 +00:00
|
|
|
|
public bool AVI_CaptureOSD = false;
|
2012-09-22 04:04:35 +00:00
|
|
|
|
public bool Screenshot_CaptureOSD = false;
|
2011-01-11 02:55:51 +00:00
|
|
|
|
|
2013-05-06 21:41:21 +00:00
|
|
|
|
public enum SaveStateTypeE { Default, Binary, Text };
|
|
|
|
|
public SaveStateTypeE SaveStateType = SaveStateTypeE.Default;
|
|
|
|
|
|
2011-02-21 09:48:53 +00:00
|
|
|
|
// Run-Control settings
|
|
|
|
|
public int FrameProgressDelayMs = 500; //how long until a frame advance hold turns into a frame progress?
|
2011-07-28 05:28:03 +00:00
|
|
|
|
public int FrameSkip = 4;
|
2011-02-21 09:48:53 +00:00
|
|
|
|
public int SpeedPercent = 100;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int SpeedPercentAlternate = 400;
|
2012-11-12 17:57:11 +00:00
|
|
|
|
public bool ClockThrottle = true;
|
2011-02-21 09:48:53 +00:00
|
|
|
|
public bool AutoMinimizeSkipping = true;
|
2012-11-12 17:57:11 +00:00
|
|
|
|
public bool VSyncThrottle = false;
|
2013-07-21 20:39:11 +00:00
|
|
|
|
|
|
|
|
|
//Rewind settings
|
2013-07-28 19:09:52 +00:00
|
|
|
|
public bool Rewind_UseDelta = true;
|
2013-07-21 20:39:11 +00:00
|
|
|
|
public bool RewindEnabledSmall = true;
|
|
|
|
|
public bool RewindEnabledMedium = true;
|
|
|
|
|
public bool RewindEnabledLarge = true;
|
|
|
|
|
public int RewindFrequencySmall = 1;
|
|
|
|
|
public int RewindFrequencyMedium = 2;
|
|
|
|
|
public int RewindFrequencyLarge = 60;
|
2013-07-28 19:09:52 +00:00
|
|
|
|
public int Rewind_MediumStateSize = 262144; //256kb
|
|
|
|
|
public int Rewind_LargeStateSize = 1048576; //1mb
|
2013-07-28 20:08:55 +00:00
|
|
|
|
public int Rewind_BufferSize = 128; //in mb
|
|
|
|
|
public bool Rewind_OnDisk = false;
|
2013-07-30 01:30:59 +00:00
|
|
|
|
public bool Rewind_IsThreaded = false;
|
2013-07-21 20:39:11 +00:00
|
|
|
|
|
2012-11-12 17:57:11 +00:00
|
|
|
|
/// <summary>use vsync. if VSyncThrottle = false, this will try to use vsync without throttling to it</summary>
|
|
|
|
|
public bool VSync = false;
|
2011-02-21 09:48:53 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// Display options
|
|
|
|
|
public int MessagesColor = -1;
|
|
|
|
|
public int AlertMessageColor = -65536;
|
|
|
|
|
public int LastInputColor = -23296;
|
2011-07-10 03:13:07 +00:00
|
|
|
|
public int MovieInput = -8355712;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool DisplayFPS = false;
|
|
|
|
|
public int DispFPSx = 0;
|
|
|
|
|
public int DispFPSy = 0;
|
2011-06-16 02:39:35 +00:00
|
|
|
|
public int DispFPSanchor = 0; //0 = UL, 1 = UR, 2 = DL, 3 = DR
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool DisplayFrameCounter = false;
|
|
|
|
|
public int DispFrameCx = 0;
|
2012-04-16 12:17:25 +00:00
|
|
|
|
public int DispFrameCy = 14;
|
2011-06-16 02:39:35 +00:00
|
|
|
|
public int DispFrameanchor = 0;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool DisplayLagCounter = false;
|
|
|
|
|
public int DispLagx = 0;
|
2012-04-16 12:17:25 +00:00
|
|
|
|
public int DispLagy = 42;
|
2011-06-16 02:39:35 +00:00
|
|
|
|
public int DispLaganchor = 0;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool DisplayInput = false;
|
|
|
|
|
public int DispInpx = 0;
|
2012-04-16 12:17:25 +00:00
|
|
|
|
public int DispInpy = 28;
|
2011-06-16 02:39:35 +00:00
|
|
|
|
public int DispInpanchor = 0;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool DisplayRerecordCount = false;
|
|
|
|
|
public int DispRecx = 0;
|
2012-04-16 12:17:25 +00:00
|
|
|
|
public int DispRecy = 56;
|
2011-06-16 02:39:35 +00:00
|
|
|
|
public int DispRecanchor = 0;
|
2012-12-27 18:33:41 +00:00
|
|
|
|
public int DispMultix = 0;
|
|
|
|
|
public int DispMultiy = 14;
|
|
|
|
|
public int DispMultianchor = 1;
|
2011-08-21 01:07:58 +00:00
|
|
|
|
public bool DisplayGDI = false;
|
2012-06-10 02:19:36 +00:00
|
|
|
|
public bool SuppressGui = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool DisplayStatusBar = true;
|
2011-09-12 23:08:42 +00:00
|
|
|
|
public int DispRamWatchx = 0;
|
2012-04-16 12:17:25 +00:00
|
|
|
|
public int DispRamWatchy = 70;
|
2011-09-12 23:08:42 +00:00
|
|
|
|
public bool DisplayRamWatch = false;
|
2011-09-24 23:00:59 +00:00
|
|
|
|
public bool ShowMenuInFullscreen = false;
|
2012-09-25 04:04:54 +00:00
|
|
|
|
public int DispMessagex = 3;
|
|
|
|
|
public int DispMessagey = 0;
|
|
|
|
|
public int DispMessageanchor = 2;
|
2012-09-26 23:25:43 +00:00
|
|
|
|
public int DispAutoholdx = 0;
|
|
|
|
|
public int DispAutoholdy = 0;
|
|
|
|
|
public int DispAutoholdanchor = 1;
|
2012-10-01 02:30:25 +00:00
|
|
|
|
public bool DispBlurry = false; // make display look ugly
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// Sound options
|
|
|
|
|
public bool SoundEnabled = true;
|
|
|
|
|
public bool MuteFrameAdvance = true;
|
|
|
|
|
public int SoundVolume = 100; //Range 0-100
|
2012-10-01 15:20:41 +00:00
|
|
|
|
public bool SoundThrottle = false;
|
2013-06-02 00:49:40 +00:00
|
|
|
|
public string SoundDevice = "";
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2011-09-21 23:31:48 +00:00
|
|
|
|
// Log Window
|
|
|
|
|
public bool LogWindowSaveWindowPosition = true;
|
|
|
|
|
public int LogWindowWndx = -1;
|
|
|
|
|
public int LogWindowWndy = -1;
|
|
|
|
|
public int LogWindowWidth = -1;
|
|
|
|
|
public int LogWindowHeight = -1;
|
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// Lua Console
|
|
|
|
|
public RecentFiles RecentLua = new RecentFiles(8);
|
2012-03-17 21:59:56 +00:00
|
|
|
|
public RecentFiles RecentLuaSession = new RecentFiles(8);
|
2012-03-19 16:49:47 +00:00
|
|
|
|
public bool AutoLoadLuaSession = false;
|
2011-06-26 03:03:15 +00:00
|
|
|
|
public bool AutoLoadLuaConsole = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool LuaConsoleSaveWindowPosition = true;
|
|
|
|
|
public int LuaConsoleWndx = -1; //Negative numbers will be ignored even with save window position set
|
|
|
|
|
public int LuaConsoleWndy = -1;
|
|
|
|
|
public int LuaConsoleWidth = -1;
|
|
|
|
|
public int LuaConsoleHeight = -1;
|
2012-03-19 16:19:31 +00:00
|
|
|
|
public bool DisableLuaScriptsOnLoad = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// RamWatch Settings
|
|
|
|
|
public bool AutoLoadRamWatch = false;
|
|
|
|
|
public RecentFiles RecentWatches = new RecentFiles(8);
|
|
|
|
|
public bool RamWatchSaveWindowPosition = true;
|
|
|
|
|
public int RamWatchWndx = -1; //Negative numbers will be ignored even with save window position set
|
|
|
|
|
public int RamWatchWndy = -1;
|
|
|
|
|
public int RamWatchWidth = -1;
|
|
|
|
|
public int RamWatchHeight = -1;
|
|
|
|
|
public bool RamWatchShowChangeColumn = true;
|
|
|
|
|
public bool RamWatchShowPrevColumn = false;
|
2012-07-04 23:11:17 +00:00
|
|
|
|
public bool RamWatchShowDiffColumn = false;
|
2012-09-15 14:35:13 +00:00
|
|
|
|
public bool RamWatchShowDomainColumn = true;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int RamWatchAddressWidth = -1;
|
|
|
|
|
public int RamWatchValueWidth = -1;
|
|
|
|
|
public int RamWatchPrevWidth = -1;
|
|
|
|
|
public int RamWatchChangeWidth = -1;
|
2012-07-04 23:11:17 +00:00
|
|
|
|
public int RamWatchDiffWidth = -1;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int RamWatchNotesWidth = -1;
|
2012-09-10 02:37:44 +00:00
|
|
|
|
public int RamWatchDomainWidth = -1;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int RamWatchAddressIndex = 0;
|
|
|
|
|
public int RamWatchValueIndex = 1;
|
|
|
|
|
public int RamWatchPrevIndex = 2;
|
|
|
|
|
public int RamWatchChangeIndex = 3;
|
2012-07-04 23:11:17 +00:00
|
|
|
|
public int RamWatchDiffIndex = 4;
|
2012-09-10 02:37:44 +00:00
|
|
|
|
public int RamWatchDomainIndex = 5;
|
|
|
|
|
public int RamWatchNotesIndex = 6;
|
2012-07-05 01:58:33 +00:00
|
|
|
|
public int RamWatchPrev_Type = 1;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// RamSearch Settings
|
|
|
|
|
public bool AutoLoadRamSearch = false;
|
|
|
|
|
public bool RamSearchSaveWindowPosition = true;
|
|
|
|
|
public RecentFiles RecentSearches = new RecentFiles(8);
|
|
|
|
|
public int RamSearchWndx = -1; //Negative numbers will be ignored even with save window position set
|
|
|
|
|
public int RamSearchWndy = -1;
|
|
|
|
|
public int RamSearchWidth = -1; //Negative numbers will be ignored
|
|
|
|
|
public int RamSearchHeight = -1;
|
|
|
|
|
public int RamSearchPreviousAs = 0;
|
|
|
|
|
public bool RamSearchPreviewMode = true;
|
2012-06-07 20:24:29 +00:00
|
|
|
|
public bool AlwaysExcludeRamWatch = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int RamSearchAddressWidth = -1;
|
|
|
|
|
public int RamSearchValueWidth = -1;
|
|
|
|
|
public int RamSearchPrevWidth = -1;
|
|
|
|
|
public int RamSearchChangesWidth = -1;
|
|
|
|
|
public int RamSearchAddressIndex = 0;
|
|
|
|
|
public int RamSearchValueIndex = 1;
|
|
|
|
|
public int RamSearchPrevIndex = 2;
|
|
|
|
|
public int RamSearchChangesIndex = 3;
|
2013-06-30 21:50:17 +00:00
|
|
|
|
public bool RamSearchFastMode = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// HexEditor Settings
|
|
|
|
|
public bool AutoLoadHexEditor = false;
|
|
|
|
|
public bool HexEditorSaveWindowPosition = true;
|
|
|
|
|
public int HexEditorWndx = -1; //Negative numbers will be ignored even with save window position set
|
|
|
|
|
public int HexEditorWndy = -1;
|
|
|
|
|
public int HexEditorWidth = -1;
|
|
|
|
|
public int HexEditorHeight = -1;
|
2011-08-25 00:55:46 +00:00
|
|
|
|
public bool HexEditorBigEndian = false;
|
|
|
|
|
public int HexEditorDataSize = 1;
|
2012-06-10 22:43:43 +00:00
|
|
|
|
//Hex Editor Colors
|
2012-06-12 03:54:40 +00:00
|
|
|
|
public Color HexBackgrndColor = Color.FromName("Control");
|
|
|
|
|
public Color HexForegrndColor = Color.FromName("ControlText");
|
|
|
|
|
public Color HexMenubarColor = Color.FromName("Control");
|
2012-06-10 23:34:37 +00:00
|
|
|
|
public Color HexFreezeColor = Color.LightBlue;
|
|
|
|
|
public Color HexHighlightColor = Color.Pink;
|
|
|
|
|
public Color HexHighlightFreezeColor = Color.Violet;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-09-30 03:09:41 +00:00
|
|
|
|
//Trace Logger Settings
|
|
|
|
|
public bool TraceLoggerAutoLoad = false;
|
|
|
|
|
public bool TraceLoggerSaveWindowPosition = true;
|
|
|
|
|
public int TraceLoggerMaxLines = 100000;
|
|
|
|
|
public int TraceLoggerWndx = -1;
|
|
|
|
|
public int TraceLoggerWndy = -1;
|
|
|
|
|
public int TraceLoggerWidth = -1;
|
|
|
|
|
public int TraceLoggerHeight = -1;
|
|
|
|
|
|
2012-05-10 00:38:26 +00:00
|
|
|
|
// Video dumping settings
|
2012-06-17 15:09:53 +00:00
|
|
|
|
public string VideoWriter = "";
|
2012-05-10 00:38:26 +00:00
|
|
|
|
public int JMDCompression = 3;
|
|
|
|
|
public int JMDThreads = 3;
|
2012-06-17 15:04:41 +00:00
|
|
|
|
public string FFmpegFormat = "";
|
|
|
|
|
public string FFmpegCustomCommand = "-c:a foo -c:v bar -f baz";
|
2012-08-03 17:43:17 +00:00
|
|
|
|
public string AVICodecToken = "";
|
2012-09-22 00:44:59 +00:00
|
|
|
|
public int GifWriterFrameskip = 3;
|
2012-09-22 21:24:20 +00:00
|
|
|
|
public int GifWriterDelay = -1;
|
2012-05-10 00:38:26 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// NESPPU Settings
|
|
|
|
|
public bool AutoLoadNESPPU = false;
|
|
|
|
|
public bool NESPPUSaveWindowPosition = true;
|
|
|
|
|
public int NESPPUWndx = -1;
|
|
|
|
|
public int NESPPUWndy = -1;
|
2011-08-28 18:49:03 +00:00
|
|
|
|
public int NESPPURefreshRate = 4;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// NESDebuger Settings
|
|
|
|
|
public bool AutoLoadNESDebugger = false;
|
|
|
|
|
public bool NESDebuggerSaveWindowPosition = true;
|
|
|
|
|
public int NESDebuggerWndx = -1;
|
|
|
|
|
public int NESDebuggerWndy = -1;
|
|
|
|
|
public int NESDebuggerWidth = -1;
|
|
|
|
|
public int NESDebuggerHeight = -1;
|
|
|
|
|
|
|
|
|
|
// NESNameTableViewer Settings
|
|
|
|
|
public bool AutoLoadNESNameTable = false;
|
|
|
|
|
public bool NESNameTableSaveWindowPosition = true;
|
|
|
|
|
public int NESNameTableWndx = -1;
|
|
|
|
|
public int NESNameTableWndy = -1;
|
2011-08-29 01:26:36 +00:00
|
|
|
|
public int NESNameTableRefreshRate = 4;
|
2011-03-30 00:09:07 +00:00
|
|
|
|
|
2011-06-11 12:54:26 +00:00
|
|
|
|
// NES Graphics settings
|
|
|
|
|
public bool NESAllowMoreThanEightSprites = false;
|
|
|
|
|
public bool NESClipLeftAndRight = false;
|
|
|
|
|
public bool NESAutoLoadPalette = true;
|
|
|
|
|
public bool NESDispBackground = true;
|
|
|
|
|
public bool NESDispSprites = true;
|
|
|
|
|
public int NESBackgroundColor = 0;
|
|
|
|
|
public string NESPaletteFile = "";
|
2013-03-25 01:59:34 +00:00
|
|
|
|
public int NTSC_NESTopLine = 8;
|
|
|
|
|
public int NTSC_NESBottomLine = 231;
|
|
|
|
|
public int PAL_NESTopLine = 8;
|
|
|
|
|
public int PAL_NESBottomLine = 231;
|
2011-06-11 12:54:26 +00:00
|
|
|
|
|
2012-11-09 18:55:59 +00:00
|
|
|
|
// gb gpu view settings
|
|
|
|
|
public bool AutoLoadGBGPUView = false;
|
|
|
|
|
public bool GBGPUViewSaveWindowPosition = true;
|
|
|
|
|
public int GBGPUViewWndx = -1;
|
|
|
|
|
public int GBGPUViewWndy = -1;
|
2012-11-14 15:23:38 +00:00
|
|
|
|
public Color GBGPUSpriteBack = Color.Lime;
|
2012-11-09 18:55:59 +00:00
|
|
|
|
|
2012-09-10 19:44:44 +00:00
|
|
|
|
// SNES Graphics Debugger Dialog Settings
|
|
|
|
|
public bool AutoLoadSNESGraphicsDebugger = false;
|
|
|
|
|
public bool SNESGraphicsDebuggerSaveWindowPosition = true;
|
|
|
|
|
public int SNESGraphicsDebuggerWndx = -1;
|
|
|
|
|
public int SNESGraphicsDebuggerWndy = -1;
|
|
|
|
|
public int SNESGraphicsDebuggerRefreshRate = 4;
|
2012-10-19 17:23:54 +00:00
|
|
|
|
public bool SNESGraphicsUseUserBackdropColor = false;
|
|
|
|
|
public int SNESGraphicsUserBackdropColor = -1;
|
2012-11-25 20:06:31 +00:00
|
|
|
|
public string SNESPalette = "BizHawk";
|
2012-09-10 19:44:44 +00:00
|
|
|
|
|
2012-09-04 19:12:16 +00:00
|
|
|
|
// SNES Graphics settings
|
|
|
|
|
//bsnes allows the layers to be enabled for each priority level.
|
|
|
|
|
//this may not be important for the bg (there are two priority levels)
|
|
|
|
|
//but it may be useful for OBJ, so we might want to control them separately
|
|
|
|
|
public bool SNES_ShowBG1_0 = true;
|
|
|
|
|
public bool SNES_ShowBG2_0 = true;
|
|
|
|
|
public bool SNES_ShowBG3_0 = true;
|
|
|
|
|
public bool SNES_ShowBG4_0 = true;
|
|
|
|
|
public bool SNES_ShowBG1_1 = true;
|
|
|
|
|
public bool SNES_ShowBG2_1 = true;
|
|
|
|
|
public bool SNES_ShowBG3_1 = true;
|
|
|
|
|
public bool SNES_ShowBG4_1 = true;
|
2012-09-15 16:43:16 +00:00
|
|
|
|
public bool SNES_ShowOBJ1 = true;
|
|
|
|
|
public bool SNES_ShowOBJ2 = true;
|
|
|
|
|
public bool SNES_ShowOBJ3 = true;
|
|
|
|
|
public bool SNES_ShowOBJ4 = true;
|
2012-09-04 19:12:16 +00:00
|
|
|
|
|
2013-05-14 03:06:37 +00:00
|
|
|
|
// SATURN GRAPHICS SETTINGS
|
|
|
|
|
public bool SaturnUseGL = false;
|
|
|
|
|
public int SaturnDispFactor = 1;
|
|
|
|
|
public bool SaturnDispFree = false;
|
|
|
|
|
public int SaturnGLW = 640;
|
|
|
|
|
public int SaturnGLH = 480;
|
|
|
|
|
|
2012-03-11 15:18:24 +00:00
|
|
|
|
// PCE Graphics settings
|
2012-03-11 09:51:23 +00:00
|
|
|
|
public bool PCEDispBG1 = true;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
public bool PCEDispOBJ1 = true;
|
2012-03-11 09:51:23 +00:00
|
|
|
|
public bool PCEDispBG2 = true;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
public bool PCEDispOBJ2 = true;
|
2012-03-11 06:50:46 +00:00
|
|
|
|
|
2012-03-13 02:41:10 +00:00
|
|
|
|
// PCE BG Viewer settings
|
|
|
|
|
public bool PCEBGViewerSaveWIndowPosition = true;
|
|
|
|
|
public bool PCEBGViewerAutoload = false;
|
|
|
|
|
public int PCEBGViewerWndx = -1;
|
|
|
|
|
public int PCEBGViewerWndy = -1;
|
2012-07-13 00:38:04 +00:00
|
|
|
|
public int PCEBGViewerRefreshRate = 16;
|
2012-03-13 02:41:10 +00:00
|
|
|
|
|
2012-03-11 16:15:20 +00:00
|
|
|
|
// SMS Graphics settings
|
|
|
|
|
public bool SMSDispBG = true;
|
|
|
|
|
public bool SMSDispOBJ = true;
|
|
|
|
|
|
2012-11-22 02:01:15 +00:00
|
|
|
|
// Coleco Settings
|
|
|
|
|
public bool ColecoSkipBiosIntro = false;
|
|
|
|
|
|
2011-06-27 00:15:47 +00:00
|
|
|
|
//GB Debugger settings
|
|
|
|
|
public bool AutoloadGBDebugger = false;
|
|
|
|
|
public bool GBDebuggerSaveWindowPosition = true;
|
2012-05-19 15:17:32 +00:00
|
|
|
|
public bool GameBoySkipBIOS = true;
|
2011-06-27 00:15:47 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// Cheats Dialog
|
2012-09-29 14:03:32 +00:00
|
|
|
|
public bool Cheats_ValuesAsHex = true;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public bool AutoLoadCheats = false;
|
|
|
|
|
public bool CheatsSaveWindowPosition = true;
|
|
|
|
|
public bool DisableCheatsOnLoad = false;
|
|
|
|
|
public bool LoadCheatFileByGame = true;
|
|
|
|
|
public bool CheatsAutoSaveOnClose = true;
|
|
|
|
|
public RecentFiles RecentCheats = new RecentFiles(8);
|
|
|
|
|
public int CheatsWndx = -1;
|
|
|
|
|
public int CheatsWndy = -1;
|
|
|
|
|
public int CheatsWidth = -1;
|
|
|
|
|
public int CheatsHeight = -1;
|
|
|
|
|
public int CheatsNameWidth = -1;
|
|
|
|
|
public int CheatsAddressWidth = -1;
|
|
|
|
|
public int CheatsValueWidth = -1;
|
2012-09-01 17:09:44 +00:00
|
|
|
|
public int CheatsCompareWidth = -1;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int CheatsDomainWidth = -1;
|
|
|
|
|
public int CheatsOnWidth = -1;
|
|
|
|
|
public int CheatsNameIndex = 0;
|
|
|
|
|
public int CheatsAddressIndex = 1;
|
|
|
|
|
public int CheatsValueIndex = 2;
|
2012-09-01 17:09:44 +00:00
|
|
|
|
public int CheatsCompareIndex = 3;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int CheatsOnIndex = 4;
|
2012-09-01 17:09:44 +00:00
|
|
|
|
public int CheatsDomainIndex = 5;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// TAStudio Dialog
|
|
|
|
|
public bool TAStudioSaveWindowPosition = true;
|
2011-06-11 22:32:12 +00:00
|
|
|
|
public bool AutoloadTAStudio = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
public int TASWndx = -1;
|
|
|
|
|
public int TASWndy = -1;
|
|
|
|
|
public int TASWidth = -1;
|
|
|
|
|
public int TASHeight = -1;
|
2011-07-30 17:59:18 +00:00
|
|
|
|
public bool TASUpdatePads = true;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-10-29 22:57:15 +00:00
|
|
|
|
// VirtualPad Dialog
|
|
|
|
|
public bool VirtualPadSaveWindowPosition = true;
|
|
|
|
|
public bool AutoloadVirtualPad = false;
|
|
|
|
|
public bool VirtualPadSticky = true;
|
|
|
|
|
public int VPadWndx = -1;
|
|
|
|
|
public int VPadWndy = -1;
|
2012-12-08 18:35:12 +00:00
|
|
|
|
public int VPadWidth = -1;
|
|
|
|
|
public int VPadHeight = -1;
|
2012-10-29 22:57:15 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// NES Game Genie Encoder/Decoder
|
|
|
|
|
public bool NESGGAutoload = false;
|
|
|
|
|
public bool NESGGSaveWindowPosition = true;
|
|
|
|
|
public int NESGGWndx = -1;
|
|
|
|
|
public int NESGGWndy = -1;
|
|
|
|
|
|
2013-04-23 09:09:49 +00:00
|
|
|
|
// SNES Game Genie Encoder/Decoder
|
|
|
|
|
public bool SNESGGAutoload = false;
|
|
|
|
|
public bool SNESGGSaveWindowPosition = true;
|
|
|
|
|
public int SNESGGWndx = -1;
|
|
|
|
|
public int SNESGGWndy = -1;
|
|
|
|
|
|
2013-04-24 20:41:23 +00:00
|
|
|
|
// GB/GG Game Genie Encoder/Decoder
|
|
|
|
|
public bool GBGGAutoload = false;
|
|
|
|
|
public bool GBGGSaveWindowPosition = true;
|
|
|
|
|
public int GBGGWndx = -1;
|
|
|
|
|
public int GBGGWndy = -1;
|
|
|
|
|
|
2013-04-26 03:12:04 +00:00
|
|
|
|
// GEN Game Genie Encoder/Decoder
|
|
|
|
|
public bool GENGGAutoload = false;
|
|
|
|
|
public bool GENGGSaveWindowPosition = true;
|
|
|
|
|
public int GENGGWndx = -1;
|
|
|
|
|
public int GENGGWndy = -1;
|
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
//Movie Settings
|
|
|
|
|
public RecentFiles RecentMovies = new RecentFiles(8);
|
|
|
|
|
public bool AutoLoadMostRecentMovie = false;
|
|
|
|
|
public bool BindSavestatesToMovies = true;
|
2011-06-30 01:37:54 +00:00
|
|
|
|
public string DefaultAuthor = "default user";
|
|
|
|
|
public bool UseDefaultAuthor = true;
|
2011-07-10 00:04:33 +00:00
|
|
|
|
public bool DisplaySubtitles = true;
|
2013-03-09 19:54:50 +00:00
|
|
|
|
public bool VBAStyleMovieLoadState = false;
|
2013-03-09 23:11:00 +00:00
|
|
|
|
public bool MoviePlaybackPokeMode = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2011-07-10 18:13:02 +00:00
|
|
|
|
//Play Movie Dialog
|
|
|
|
|
public bool PlayMovie_IncludeSubdir = true;
|
2011-07-23 20:52:47 +00:00
|
|
|
|
public bool PlayMovie_ShowStateFiles = false;
|
2012-04-02 01:35:34 +00:00
|
|
|
|
public bool PlayMovie_MatchGameName = false;
|
2011-07-10 18:13:02 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
//TI83
|
|
|
|
|
public bool TI83autoloadKeyPad = true;
|
|
|
|
|
public bool TI83KeypadSaveWindowPosition = true;
|
|
|
|
|
public int TI83KeyPadWndx = -1;
|
|
|
|
|
public int TI83KeyPadWndy = -1;
|
|
|
|
|
public bool TI83ToolTips = true;
|
|
|
|
|
|
2013-08-04 16:47:54 +00:00
|
|
|
|
public BindingCollection HotkeyBindings = new BindingCollection()
|
|
|
|
|
{
|
|
|
|
|
//General
|
|
|
|
|
new Binding() { DisplayName = "Frame Advance", Bindings = "F", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Rewind", Bindings = "Shift+R, X1 LeftShoulder", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Pause", Bindings = "Pause", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Fast Forward", Bindings = "Tab, X1 RightShoulder", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Turbo", Bindings = "Shift+Tab", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Toggle Throttle", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Soft Reset", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Hard Reset", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Quick Load", Bindings = "P", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Quick Save", Bindings = "I", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Autohold", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Clear Autohold", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Screenshot", Bindings = "F12", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Full Screen", Bindings = "Alt+Return", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Open ROM", Bindings = "Ctrl+O", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Close ROM", Bindings = "Ctrl+W", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Display FPS", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Frame Counter", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Lag Counter", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Input Display", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Toggle BG Input", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Toggle Menu", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Volume Up", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Volume Down", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Record A/V", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Stop A/V", Bindings = "", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Larger Window", Bindings = "Alt+UpArrow", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Smaller Window", Bindings = "Alt+DownArrow", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Increase Speed", Bindings = "Equals", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Decrease Speed", Bindings = "Minus", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Reboot Core", Bindings = "Ctrl+R", TabGroup = "General" },
|
|
|
|
|
new Binding() { DisplayName = "Autofire", Bindings = "", TabGroup = "General" },
|
|
|
|
|
|
|
|
|
|
//Save States
|
|
|
|
|
new Binding() { DisplayName = "Save State 0", Bindings = "Shift+F10", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 1", Bindings = "Shift+F1", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 2", Bindings = "Shift+F2", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 3", Bindings = "Shift+F3", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 4", Bindings = "Shift+F4", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 5", Bindings = "Shift+F5", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 6", Bindings = "Shift+F6", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 7", Bindings = "Shift+F7", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 8", Bindings = "Shift+F8", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save State 9", Bindings = "Shift+F9", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 0", Bindings = "F10", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 1", Bindings = "F1", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 2", Bindings = "F2", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 3", Bindings = "F3", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 4", Bindings = "F4", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 5", Bindings = "F5", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 6", Bindings = "F6", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 7", Bindings = "F7", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 8", Bindings = "F8", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load State 9", Bindings = "F9", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 0", Bindings = "D0", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 1", Bindings = "D1", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 2", Bindings = "D2", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 3", Bindings = "D3", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 4", Bindings = "D4", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 5", Bindings = "D5", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 6", Bindings = "D6", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 7", Bindings = "D7", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 8", Bindings = "D8", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Select State 9", Bindings = "D9", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Save Named State", Bindings = "", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Load Named State", Bindings = "", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Previous Slot", Bindings = "", TabGroup = "Save States" },
|
|
|
|
|
new Binding() { DisplayName = "Next Slot", Bindings = "", TabGroup = "Save States" },
|
|
|
|
|
|
|
|
|
|
//Movie
|
|
|
|
|
new Binding() { DisplayName = "Toggle read-only", Bindings = "Q", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Play Movie", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Record Movie", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Stop Movie", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Play from beginning", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Save Movie", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Toggle MultiTrack", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "MT Select All", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "MT Select None", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "MT Increment Player", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "MT Decrement Player", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Movie Poke", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
new Binding() { DisplayName = "Scrub Input", Bindings = "", TabGroup = "Movie" },
|
|
|
|
|
|
|
|
|
|
//Tools
|
|
|
|
|
new Binding() { DisplayName = "Ram Watch", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "Ram Search", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "Ram Poke", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "Hex Editor", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "Lua Console", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "Cheats", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "TAStudio", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "ToolBox", Bindings = "T", TabGroup = "Tools" },
|
|
|
|
|
new Binding() { DisplayName = "Virtual Pad", Bindings = "", TabGroup = "Tools" },
|
|
|
|
|
|
|
|
|
|
//SNES
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle BG 1", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle BG 2", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle BG 3", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle BG 4", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle OBJ 1", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle OBJ 2", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle OBJ 3", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
new Binding() { DisplayName = "SNES Toggle OBJ 4", Bindings = "", TabGroup = "SNES" },
|
|
|
|
|
|
|
|
|
|
//Analog
|
|
|
|
|
new Binding() { DisplayName = "Y Up Large", Bindings = "", TabGroup = "Analog" },
|
|
|
|
|
};
|
2013-08-03 13:22:54 +00:00
|
|
|
|
|
|
|
|
|
//Analog Hotkey values
|
|
|
|
|
public int Analog_LargeChange = 10;
|
|
|
|
|
public int Analog_SmallChange = 1;
|
|
|
|
|
|
2012-07-12 23:13:22 +00:00
|
|
|
|
// NES Sound settings
|
2013-05-10 18:38:58 +00:00
|
|
|
|
public int NESSquare1 = 376;
|
|
|
|
|
public int NESSquare2 = 376;
|
|
|
|
|
public int NESTriangle = 426;
|
|
|
|
|
public int NESNoise = 247;
|
|
|
|
|
public int NESDMC = 167;
|
|
|
|
|
|
|
|
|
|
public const int NESSquare1Max = 376;
|
|
|
|
|
public const int NESSquare2Max = 376;
|
|
|
|
|
public const int NESTriangleMax = 426;
|
|
|
|
|
public const int NESNoiseMax = 247;
|
|
|
|
|
public const int NESDMCMax = 167;
|
2012-07-12 23:13:22 +00:00
|
|
|
|
|
2013-07-24 01:38:52 +00:00
|
|
|
|
public struct AnalogBind
|
2013-07-24 00:08:50 +00:00
|
|
|
|
{
|
|
|
|
|
/// <summary>the physical stick that we're bound to</summary>
|
|
|
|
|
public string Value;
|
|
|
|
|
/// <summary>sensitivity and flip</summary>
|
|
|
|
|
public float Mult;
|
2013-07-29 23:39:37 +00:00
|
|
|
|
/// <summary>portion of axis to ignore</summary>
|
|
|
|
|
public float Deadzone;
|
|
|
|
|
public AnalogBind(string Value, float Mult, float Deadzone)
|
2013-07-24 00:08:50 +00:00
|
|
|
|
{
|
|
|
|
|
this.Value = Value;
|
|
|
|
|
this.Mult = Mult;
|
2013-07-29 23:39:37 +00:00
|
|
|
|
this.Deadzone = Deadzone;
|
2013-07-24 00:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// [ControllerType][ButtonName] => Physical Bind
|
2013-07-14 01:48:05 +00:00
|
|
|
|
public Dictionary<string, Dictionary<string, string>> AllTrollers = new Dictionary<string, Dictionary<string, string>>();
|
|
|
|
|
public Dictionary<string, Dictionary<string, string>> AllTrollersAutoFire = new Dictionary<string, Dictionary<string, string>>();
|
2013-07-24 00:08:50 +00:00
|
|
|
|
public Dictionary<string, Dictionary<string, AnalogBind>> AllTrollersAnalog = new Dictionary<string, Dictionary<string, AnalogBind>>();
|
2013-07-14 01:48:05 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
// SMS / GameGear Settings
|
|
|
|
|
public bool SmsEnableFM = true;
|
|
|
|
|
public bool SmsAllowOverlock = false;
|
|
|
|
|
public bool SmsForceStereoSeparation = false;
|
2012-06-10 22:43:43 +00:00
|
|
|
|
public bool SmsSpriteLimit = false;
|
2012-10-06 12:27:56 +00:00
|
|
|
|
public bool GGShowClippedRegions = false;
|
2012-10-06 12:37:38 +00:00
|
|
|
|
public bool GGHighlightActiveDisplayRegion = false;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// PCEngine Settings
|
2012-03-07 00:40:20 +00:00
|
|
|
|
public bool PceSpriteLimit = false;
|
|
|
|
|
public bool PceEqualizeVolume = false;
|
|
|
|
|
public bool PceArcadeCardRewindHack = true;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
|
|
|
|
// Genesis Settings
|
2012-03-07 00:40:20 +00:00
|
|
|
|
|
|
|
|
|
//Atari 2600 Settings
|
2012-04-29 02:48:33 +00:00
|
|
|
|
public bool Atari2600_BW = false;
|
|
|
|
|
public bool Atari2600_LeftDifficulty = true;
|
|
|
|
|
public bool Atari2600_RightDifficulty = true;
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-12-14 02:17:47 +00:00
|
|
|
|
//Atari 7800 Settings
|
|
|
|
|
|
2012-05-06 00:54:13 +00:00
|
|
|
|
//ColecoVision
|
|
|
|
|
|
2012-12-22 01:56:14 +00:00
|
|
|
|
//Intellivision
|
|
|
|
|
|
2011-04-24 02:01:36 +00:00
|
|
|
|
//NES settings
|
2011-06-19 23:39:25 +00:00
|
|
|
|
|
2012-09-04 00:20:36 +00:00
|
|
|
|
//SNES settings
|
2012-12-25 20:36:04 +00:00
|
|
|
|
public string SNESProfile = "Compatibility";
|
2013-01-18 05:06:26 +00:00
|
|
|
|
public bool SNESUseRingBuffer = true;
|
2013-04-22 22:34:18 +00:00
|
|
|
|
public bool SNESAlwaysDoubleSize = false;
|
2012-09-04 00:20:36 +00:00
|
|
|
|
|
2013-07-14 02:36:20 +00:00
|
|
|
|
//N64 settings
|
2013-05-02 01:54:44 +00:00
|
|
|
|
|
2011-06-19 23:39:25 +00:00
|
|
|
|
//TI 83 settings
|
2011-06-27 01:24:26 +00:00
|
|
|
|
|
|
|
|
|
//GB settings
|
2012-09-15 16:14:03 +00:00
|
|
|
|
public bool GB_ForceDMG = false;
|
|
|
|
|
public bool GB_GBACGB = false;
|
|
|
|
|
public bool GB_MulticartCompat = false;
|
2012-09-15 23:50:18 +00:00
|
|
|
|
public string GB_PaletteFile = "";
|
2012-09-26 15:59:14 +00:00
|
|
|
|
public bool GB_AsSGB = false;
|
2012-11-18 18:46:57 +00:00
|
|
|
|
public Emulation.Consoles.GB.GBColors.ColorType CGBColors = Emulation.Consoles.GB.GBColors.ColorType.gambatte;
|
2012-03-04 20:37:49 +00:00
|
|
|
|
|
2012-12-29 02:30:31 +00:00
|
|
|
|
//Dual Gb
|
|
|
|
|
|
2012-11-24 16:14:30 +00:00
|
|
|
|
//GBA settings
|
|
|
|
|
|
2013-05-01 02:53:53 +00:00
|
|
|
|
//Saturn
|
|
|
|
|
|
2012-11-08 13:33:30 +00:00
|
|
|
|
//Commodore 64 Settings
|
|
|
|
|
|
2012-03-04 20:37:49 +00:00
|
|
|
|
//GIF Animator Settings
|
|
|
|
|
public int GifAnimatorNumFrames;
|
|
|
|
|
public int GifAnimatorFrameSkip;
|
|
|
|
|
public int GifAnimatorSpeed;
|
|
|
|
|
public bool GifAnimatorReversable;
|
2012-07-21 19:29:45 +00:00
|
|
|
|
|
2012-07-27 00:15:02 +00:00
|
|
|
|
//LuaWriter Settings
|
|
|
|
|
public int LuaDefaultTextColor = -16777216;
|
2012-08-04 03:35:17 +00:00
|
|
|
|
public bool LuaDefaultTextBold = false;
|
|
|
|
|
public int LuaWriterBackColor = -1;
|
|
|
|
|
|
2012-07-27 00:15:02 +00:00
|
|
|
|
public int LuaKeyWordColor = -16776961;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
public bool LuaKeyWordBold = false;
|
2012-07-27 00:15:02 +00:00
|
|
|
|
public int LuaCommentColor = -16744448;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
public bool LuaCommentBold = false;
|
2012-07-27 00:15:02 +00:00
|
|
|
|
public int LuaStringColor = -8355712;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
public bool LuaStringBold = false;
|
2012-07-27 00:15:02 +00:00
|
|
|
|
public int LuaSymbolColor = -16777216;
|
2012-10-13 21:27:12 +00:00
|
|
|
|
public bool LuaSymbolBold = false;
|
|
|
|
|
public int LuaLibraryColor = -16711681;
|
|
|
|
|
public bool LuaLibraryBold = false;
|
2012-08-12 07:06:38 +00:00
|
|
|
|
public int LuaDecimalColor = -23296;
|
|
|
|
|
public bool LuaDecimalBold = false;
|
2012-07-27 00:15:02 +00:00
|
|
|
|
public float LuaWriterFontSize = 11;
|
|
|
|
|
public string LuaWriterFont = "Courier New";
|
2012-08-01 02:56:38 +00:00
|
|
|
|
public float LuaWriterZoom = 1;
|
2012-08-03 02:59:36 +00:00
|
|
|
|
public bool LuaWriterStartEmpty = false;
|
2012-10-30 00:18:56 +00:00
|
|
|
|
|
|
|
|
|
//Atari 2600 Settings
|
|
|
|
|
public bool Atari2600_ShowBG = true;
|
|
|
|
|
public bool Atari2600_ShowPlayer1 = true;
|
|
|
|
|
public bool Atari2600_ShowPlayer2 = true;
|
|
|
|
|
public bool Atari2600_ShowMissle1 = true;
|
|
|
|
|
public bool Atari2600_ShowMissle2 = true;
|
|
|
|
|
public bool Atari2600_ShowBall = true;
|
2012-10-30 23:38:53 +00:00
|
|
|
|
public bool Atari2600_ShowPlayfield = true;
|
2012-11-08 02:20:34 +00:00
|
|
|
|
}
|
2012-11-06 03:27:24 +00:00
|
|
|
|
|
2013-08-04 16:47:54 +00:00
|
|
|
|
public class BindingCollection : IEnumerable<Binding>
|
|
|
|
|
{
|
|
|
|
|
public List<Binding> Bindings { get; private set; }
|
|
|
|
|
|
|
|
|
|
public BindingCollection()
|
|
|
|
|
{
|
|
|
|
|
Bindings = new List<Binding>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Add(Binding b)
|
|
|
|
|
{
|
|
|
|
|
Bindings.Add(b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IEnumerator<Binding> GetEnumerator()
|
|
|
|
|
{
|
|
|
|
|
return Bindings.GetEnumerator();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
|
|
|
|
|
{
|
|
|
|
|
return GetEnumerator();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Binding this[string index]
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return Bindings.FirstOrDefault(x => x.DisplayName == index) ?? null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Binding
|
|
|
|
|
{
|
|
|
|
|
//TODO: how about a delegate, that would be called by the mainform? Thereby putting all the action logic in one place
|
|
|
|
|
public string DisplayName;
|
|
|
|
|
public string Bindings;
|
|
|
|
|
public string DefaultBinding;
|
|
|
|
|
public string TabGroup;
|
|
|
|
|
public Binding() { }
|
|
|
|
|
}
|
|
|
|
|
|
2013-05-26 05:11:00 +00:00
|
|
|
|
public enum PLUGINTYPE { RICE, GLIDE };
|
2013-05-21 02:15:15 +00:00
|
|
|
|
|
|
|
|
|
public interface iPluginSettings
|
|
|
|
|
{
|
|
|
|
|
PLUGINTYPE PluginType { get; }
|
|
|
|
|
Dictionary<string, object> GetPluginSettings();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class N64RicePluginSettings : iPluginSettings
|
|
|
|
|
{
|
|
|
|
|
public PLUGINTYPE PluginType
|
|
|
|
|
{
|
|
|
|
|
get { return PLUGINTYPE.RICE; }
|
|
|
|
|
}
|
|
|
|
|
|
2013-05-23 00:16:04 +00:00
|
|
|
|
public void FillPerGameHacks(GameInfo game)
|
|
|
|
|
{
|
|
|
|
|
if (Global.Config.RicePlugin.UseDefaultHacks)
|
|
|
|
|
{
|
|
|
|
|
DisableTextureCRC = game.GetBool("RiceDisableTextureCRC", false);
|
|
|
|
|
DisableCulling = game.GetBool("RiceDisableCulling", false);
|
|
|
|
|
IncTexRectEdge = game.GetBool("RiceIncTexRectEdge", false);
|
|
|
|
|
ZHack = game.GetBool("RiceZHack", false);
|
|
|
|
|
TextureScaleHack = game.GetBool("RiceTextureScaleHack", false);
|
|
|
|
|
PrimaryDepthHack = game.GetBool("RicePrimaryDepthHack", false);
|
|
|
|
|
Texture1Hack = game.GetBool("RiceTexture1Hack", false);
|
|
|
|
|
FastLoadTile = game.GetBool("RiceFastLoadTile", false);
|
|
|
|
|
UseSmallerTexture = game.GetBool("RiceUseSmallerTexture", false);
|
|
|
|
|
VIWidth = game.GetInt("RiceVIWidth", -1);
|
|
|
|
|
VIHeight = game.GetInt("RiceVIHeight", -1);
|
|
|
|
|
UseCIWidthAndRatio = game.GetInt("RiceUseCIWidthAndRatio", 0);
|
|
|
|
|
FullTMEM = game.GetInt("RiceFullTMEM", 0);
|
|
|
|
|
TxtSizeMethod2 = game.GetBool("RiceTxtSizeMethod2", false);
|
|
|
|
|
EnableTxtLOD = game.GetBool("RiceEnableTxtLOD", false);
|
|
|
|
|
FastTextureCRC = game.GetInt("RiceFastTextureCRC", 0);
|
|
|
|
|
EmulateClear = game.GetBool("RiceEmulateClear", false);
|
|
|
|
|
ForceScreenClear = game.GetBool("RiceForceScreenClear", false);
|
|
|
|
|
AccurateTextureMappingHack = game.GetInt("RiceAccurateTextureMappingHack", 0);
|
|
|
|
|
NormalBlender = game.GetInt("RiceNormalBlender", 0);
|
|
|
|
|
DisableBlender = game.GetBool("RiceDisableBlender", false);
|
|
|
|
|
ForceDepthBuffer = game.GetBool("RiceForceDepthBuffer", false);
|
|
|
|
|
DisableObjBG = game.GetBool("RiceDisableObjBG", false);
|
|
|
|
|
FrameBufferOption = game.GetInt("RiceFrameBufferOption", 0);
|
|
|
|
|
RenderToTextureOption = game.GetInt("RiceRenderToTextureOption", 0);
|
|
|
|
|
ScreenUpdateSettingHack = game.GetInt("RiceScreenUpdateSettingHack", 0);
|
|
|
|
|
EnableHacksForGame = game.GetInt("RiceEnableHacksForGame", 0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2013-05-21 02:15:15 +00:00
|
|
|
|
public Dictionary<string, object> GetPluginSettings()
|
|
|
|
|
{
|
|
|
|
|
//TODO: deal witn the game depedent settings
|
|
|
|
|
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
2013-05-27 19:17:19 +00:00
|
|
|
|
System.Reflection.FieldInfo[] members = Global.Config.RicePlugin.GetType().GetFields();
|
|
|
|
|
foreach (System.Reflection.FieldInfo member in members)
|
2013-05-21 02:15:15 +00:00
|
|
|
|
{
|
2013-05-27 19:17:19 +00:00
|
|
|
|
object field = Global.Config.RicePlugin.GetType().GetField(member.Name).GetValue(Global.Config.RicePlugin);
|
|
|
|
|
dictionary.Add(member.Name, field);
|
2013-05-21 02:15:15 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return dictionary;
|
|
|
|
|
}
|
|
|
|
|
|
2013-05-22 22:26:24 +00:00
|
|
|
|
public int FrameBufferSetting = 0;
|
|
|
|
|
public int FrameBufferWriteBackControl = 0;
|
|
|
|
|
public int RenderToTexture = 0;
|
|
|
|
|
public int ScreenUpdateSetting = 4;
|
|
|
|
|
public int Mipmapping = 2;
|
|
|
|
|
public int FogMethod = 0;
|
|
|
|
|
public int ForceTextureFilter = 0;
|
|
|
|
|
public int TextureEnhancement = 0;
|
|
|
|
|
public int TextureEnhancementControl = 0;
|
|
|
|
|
public int TextureQuality = 0;
|
|
|
|
|
public int OpenGLDepthBufferSetting = 16;
|
|
|
|
|
public int MultiSampling = 0;
|
|
|
|
|
public int ColorQuality = 0;
|
|
|
|
|
public int OpenGLRenderSetting = 0;
|
|
|
|
|
public int AnisotropicFiltering = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public bool NormalAlphaBlender = false;
|
|
|
|
|
public bool FastTextureLoading = false;
|
|
|
|
|
public bool AccurateTextureMapping = true;
|
|
|
|
|
public bool InN64Resolution = false;
|
|
|
|
|
public bool SaveVRAM = false;
|
|
|
|
|
public bool DoubleSizeForSmallTxtrBuf = false;
|
|
|
|
|
public bool DefaultCombinerDisable = false;
|
|
|
|
|
public bool EnableHacks = true;
|
|
|
|
|
public bool WinFrameMode = false;
|
|
|
|
|
public bool FullTMEMEmulation = false;
|
|
|
|
|
public bool OpenGLVertexClipper = false;
|
|
|
|
|
public bool EnableSSE = true;
|
|
|
|
|
public bool EnableVertexShader = false;
|
|
|
|
|
public bool SkipFrame = false;
|
|
|
|
|
public bool TexRectOnly = false;
|
|
|
|
|
public bool SmallTextureOnly = false;
|
|
|
|
|
public bool LoadHiResCRCOnly = true;
|
|
|
|
|
public bool LoadHiResTextures = false;
|
|
|
|
|
public bool DumpTexturesToFiles = false;
|
|
|
|
|
|
|
|
|
|
public bool UseDefaultHacks = true;
|
|
|
|
|
public bool DisableTextureCRC = false;
|
|
|
|
|
public bool DisableCulling = false;
|
|
|
|
|
public bool IncTexRectEdge = false;
|
|
|
|
|
public bool ZHack = false;
|
|
|
|
|
public bool TextureScaleHack = false;
|
|
|
|
|
public bool PrimaryDepthHack = false;
|
|
|
|
|
public bool Texture1Hack = false;
|
|
|
|
|
public bool FastLoadTile = false;
|
|
|
|
|
public bool UseSmallerTexture = false;
|
|
|
|
|
public int VIWidth = -1;
|
|
|
|
|
public int VIHeight = -1;
|
|
|
|
|
public int UseCIWidthAndRatio = 0;
|
|
|
|
|
public int FullTMEM = 0;
|
|
|
|
|
public bool TxtSizeMethod2 = false;
|
|
|
|
|
public bool EnableTxtLOD = false;
|
|
|
|
|
public int FastTextureCRC = 0;
|
|
|
|
|
public bool EmulateClear = false;
|
|
|
|
|
public bool ForceScreenClear = false;
|
|
|
|
|
public int AccurateTextureMappingHack = 0;
|
|
|
|
|
public int NormalBlender = 0;
|
|
|
|
|
public bool DisableBlender = false;
|
|
|
|
|
public bool ForceDepthBuffer = false;
|
|
|
|
|
public bool DisableObjBG = false;
|
|
|
|
|
public int FrameBufferOption = 0;
|
|
|
|
|
public int RenderToTextureOption = 0;
|
|
|
|
|
public int ScreenUpdateSettingHack = 0;
|
|
|
|
|
public int EnableHacksForGame = 0;
|
2013-05-21 02:15:15 +00:00
|
|
|
|
}
|
2013-05-26 05:11:00 +00:00
|
|
|
|
|
|
|
|
|
public class N64GlidePluginSettings : iPluginSettings
|
|
|
|
|
{
|
|
|
|
|
public PLUGINTYPE PluginType
|
|
|
|
|
{
|
|
|
|
|
get { return PLUGINTYPE.GLIDE; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void FillPerGameHacks(GameInfo game)
|
|
|
|
|
{
|
|
|
|
|
if (Global.Config.GlidePlugin.UseDefaultHacks)
|
|
|
|
|
{
|
2013-05-27 02:14:43 +00:00
|
|
|
|
alt_tex_size = Global.Game.GetBool("Glide_alt_tex_size", false);
|
|
|
|
|
buff_clear = Global.Game.GetBool("Glide_buff_clear", true);
|
|
|
|
|
decrease_fillrect_edge = Global.Game.GetBool("Glide_decrease_fillrect_edge", false);
|
|
|
|
|
detect_cpu_write = Global.Game.GetBool("Glide_detect_cpu_write", false);
|
|
|
|
|
fb_clear = Global.Game.GetBool("Glide_fb_clear", false);
|
|
|
|
|
fb_hires = Global.Game.GetBool("Glide_fb_clear", true);
|
|
|
|
|
fb_read_alpha = Global.Game.GetBool("Glide_fb_read_alpha", false);
|
|
|
|
|
fb_smart = Global.Game.GetBool("Glide_fb_smart", false);
|
|
|
|
|
fillcolor_fix = Global.Game.GetBool("Glide_fillcolor_fix", false);
|
|
|
|
|
fog = Global.Game.GetBool("Glide_fog", true);
|
|
|
|
|
force_depth_compare = Global.Game.GetBool("Glide_force_depth_compare", false);
|
|
|
|
|
force_microcheck = Global.Game.GetBool("Glide_force_microcheck", false);
|
|
|
|
|
fb_hires_buf_clear = Global.Game.GetBool("Glide_fb_hires_buf_clear", true);
|
|
|
|
|
fb_ignore_aux_copy = Global.Game.GetBool("Glide_fb_ignore_aux_copy", false);
|
|
|
|
|
fb_ignore_previous = Global.Game.GetBool("Glide_fb_ignore_previous", false);
|
|
|
|
|
increase_primdepth = Global.Game.GetBool("Glide_increase_primdepth", false);
|
|
|
|
|
increase_texrect_edge = Global.Game.GetBool("Glide_increase_texrect_edge", false);
|
|
|
|
|
fb_optimize_texrect = Global.Game.GetBool("Glide_fb_optimize_texrect", true);
|
|
|
|
|
fb_optimize_write = Global.Game.GetBool("Glide_fb_optimize_write", false);
|
|
|
|
|
PPL = Global.Game.GetBool("Glide_PPL", false);
|
|
|
|
|
soft_depth_compare = Global.Game.GetBool("Glide_soft_depth_compare", false);
|
|
|
|
|
use_sts1_only = Global.Game.GetBool("Glide_use_sts1_only", false);
|
|
|
|
|
wrap_big_tex = Global.Game.GetBool("Glide_wrap_big_tex", false);
|
|
|
|
|
|
|
|
|
|
depth_bias = Global.Game.GetInt("Glide_depth_bias", 20);
|
|
|
|
|
filtering = Global.Game.GetInt("Glide_filtering", 1);
|
|
|
|
|
fix_tex_coord = Global.Game.GetInt("Glide_fix_tex_coord", 0);
|
|
|
|
|
lodmode = Global.Game.GetInt("Glide_lodmode", 0);
|
2013-05-26 05:11:00 +00:00
|
|
|
|
|
2013-05-27 02:14:43 +00:00
|
|
|
|
stipple_mode = Global.Game.GetInt("Glide_stipple_mode", 2);
|
|
|
|
|
stipple_pattern = Global.Game.GetInt("Glide_stipple_pattern", 1041204192);
|
|
|
|
|
swapmode = Global.Game.GetInt("Glide_swapmode", 1);
|
|
|
|
|
enable_hacks_for_game = Global.Game.GetInt("Glide_enable_hacks_for_game", 0);
|
2013-05-26 05:11:00 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Dictionary<string, object> GetPluginSettings()
|
|
|
|
|
{
|
|
|
|
|
//TODO: deal witn the game depedent settings
|
|
|
|
|
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
2013-05-27 19:17:19 +00:00
|
|
|
|
System.Reflection.FieldInfo[] members = Global.Config.GlidePlugin.GetType().GetFields();
|
|
|
|
|
foreach (System.Reflection.FieldInfo member in members)
|
2013-05-26 05:11:00 +00:00
|
|
|
|
{
|
2013-05-27 19:17:19 +00:00
|
|
|
|
object field = Global.Config.GlidePlugin.GetType().GetField(member.Name).GetValue(Global.Config.GlidePlugin);
|
|
|
|
|
dictionary.Add(member.Name, field);
|
2013-05-26 05:11:00 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return dictionary;
|
|
|
|
|
}
|
|
|
|
|
|
2013-05-27 01:35:56 +00:00
|
|
|
|
public int wfmode = 1;
|
|
|
|
|
public bool wireframe = false;
|
|
|
|
|
public int card_id = 0;
|
|
|
|
|
public bool flame_corona = false;
|
|
|
|
|
public int ucode = 2;
|
|
|
|
|
public bool autodetect_ucode = true;
|
|
|
|
|
public bool motionblur = false;
|
|
|
|
|
public bool fb_read_always = false;
|
|
|
|
|
public bool unk_as_red = false;
|
|
|
|
|
public bool filter_cache = false;
|
|
|
|
|
public bool fast_crc = false;
|
|
|
|
|
public bool disable_auxbuf = false;
|
|
|
|
|
public bool fbo = false;
|
|
|
|
|
public bool noglsl = true;
|
|
|
|
|
public bool noditheredalpha = true;
|
|
|
|
|
public int tex_filter = 0;
|
|
|
|
|
public bool fb_render = false;
|
|
|
|
|
public bool wrap_big_tex = false;
|
|
|
|
|
public bool use_sts1_only = false;
|
|
|
|
|
public bool soft_depth_compare = false;
|
|
|
|
|
public bool PPL = false;
|
|
|
|
|
public bool fb_optimize_write = false;
|
|
|
|
|
public bool fb_optimize_texrect = true;
|
|
|
|
|
public bool increase_texrect_edge = false;
|
|
|
|
|
public bool increase_primdepth = false;
|
|
|
|
|
public bool fb_ignore_previous = false;
|
|
|
|
|
public bool fb_ignore_aux_copy = false;
|
|
|
|
|
public bool fb_hires_buf_clear = true;
|
|
|
|
|
public bool force_microcheck = false;
|
|
|
|
|
public bool force_depth_compare = false;
|
|
|
|
|
public bool fog = true;
|
|
|
|
|
public bool fillcolor_fix = false;
|
|
|
|
|
public bool fb_smart = false;
|
|
|
|
|
public bool fb_read_alpha = false;
|
|
|
|
|
public bool fb_get_info = false;
|
|
|
|
|
public bool fb_hires = true;
|
|
|
|
|
public bool fb_clear = false;
|
|
|
|
|
public bool detect_cpu_write = false;
|
|
|
|
|
public bool decrease_fillrect_edge = false;
|
|
|
|
|
public bool buff_clear = true;
|
|
|
|
|
public bool alt_tex_size = false;
|
|
|
|
|
public bool UseDefaultHacks = true;
|
|
|
|
|
public int enable_hacks_for_game = 0;
|
|
|
|
|
public int swapmode = 1;
|
|
|
|
|
public int stipple_pattern = 1041204192;
|
|
|
|
|
public int stipple_mode = 2;
|
|
|
|
|
public int scale_y = 100000;
|
|
|
|
|
public int scale_x = 100000;
|
|
|
|
|
public int offset_y = 0;
|
|
|
|
|
public int offset_x = 0;
|
|
|
|
|
public int lodmode = 0;
|
|
|
|
|
public int fix_tex_coord = 0;
|
|
|
|
|
public int filtering = 1;
|
|
|
|
|
public int depth_bias = 20;
|
2013-05-26 05:11:00 +00:00
|
|
|
|
}
|
2012-03-25 00:39:51 +00:00
|
|
|
|
}
|