rework NES palette config in new core config system
This commit is contained in:
parent
a5cdee3780
commit
0cd5af1843
|
@ -336,11 +336,11 @@ namespace BizHawk.Client.Common
|
|||
// NES Graphics settings
|
||||
//public bool NESAllowMoreThanEightSprites = false;
|
||||
//public bool NESClipLeftAndRight = false;
|
||||
public bool NESAutoLoadPalette = true;
|
||||
//public bool NESAutoLoadPalette = true;
|
||||
//public bool NESDispBackground = true;
|
||||
//public bool NESDispSprites = true;
|
||||
//public int NESBackgroundColor = 0;
|
||||
public string NESPaletteFile = "";
|
||||
//public string NESPaletteFile = "";
|
||||
//public int NTSC_NESTopLine = 8;
|
||||
//public int NTSC_NESBottomLine = 231;
|
||||
//public int PAL_NESTopLine = 8;
|
||||
|
|
|
@ -3433,14 +3433,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
case "NES":
|
||||
{
|
||||
var nes = new NES(nextComm, game, rom.FileData, Global.MovieSession.Movie.Header.BoardProperties);
|
||||
|
||||
nextEmulator = nes;
|
||||
if (Global.Config.NESAutoLoadPalette && Global.Config.NESPaletteFile.Length > 0 &&
|
||||
HawkFile.ExistsAt(Global.Config.NESPaletteFile))
|
||||
{
|
||||
nes.SetPalette(
|
||||
NES.Palettes.Load_FCEUX_Palette(HawkFile.ReadAllBytes(Global.Config.NESPaletteFile)));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "GB":
|
||||
|
|
|
@ -123,9 +123,9 @@
|
|||
this.AutoLoadPalette.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.AutoLoadPalette.Location = new System.Drawing.Point(6, 66);
|
||||
this.AutoLoadPalette.Name = "AutoLoadPalette";
|
||||
this.AutoLoadPalette.Size = new System.Drawing.Size(135, 17);
|
||||
this.AutoLoadPalette.Size = new System.Drawing.Size(129, 17);
|
||||
this.AutoLoadPalette.TabIndex = 10;
|
||||
this.AutoLoadPalette.Text = "Load this file on startup";
|
||||
this.AutoLoadPalette.Text = "Change to this palette";
|
||||
this.AutoLoadPalette.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label1
|
||||
|
@ -431,7 +431,7 @@
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.Cancel;
|
||||
this.ClientSize = new System.Drawing.Size(373, 409);
|
||||
this.ClientSize = new System.Drawing.Size(381, 409);
|
||||
this.Controls.Add(this.RestoreDefaultsButton);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
|
|
|
@ -39,8 +39,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
PAL_LastLineNumeric.Value = settings.PAL_BottomLine;
|
||||
AllowMoreSprites.Checked = settings.AllowMoreThanEightSprites;
|
||||
ClipLeftAndRightCheckBox.Checked = settings.ClipLeftAndRight;
|
||||
AutoLoadPalette.Checked = settings.AutoLoadPalette;
|
||||
PalettePath.Text = Global.Config.NESPaletteFile;
|
||||
DispSprites.Checked = settings.DispSprites;
|
||||
DispBackground.Checked = settings.DispBackground;
|
||||
BGColorDialog.Color = Color.FromArgb(unchecked(settings.BackgroundColor | (int)0xFF000000));
|
||||
|
@ -67,6 +65,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
private void OK_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (AutoLoadPalette.Checked)
|
||||
{
|
||||
if (PalettePath.Text.Length > 0)
|
||||
{
|
||||
|
@ -74,20 +74,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
if (palette != null && palette.Exists)
|
||||
{
|
||||
if (Global.Config.NESPaletteFile != palette.Name)
|
||||
{
|
||||
Global.Config.NESPaletteFile = palette.Name;
|
||||
nes.SetPalette(NES.Palettes.Load_FCEUX_Palette(HawkFile.ReadAllBytes(palette.Name)));
|
||||
var data = NES.Palettes.Load_FCEUX_Palette(HawkFile.ReadAllBytes(palette.Name));
|
||||
settings.Palette = data;
|
||||
GlobalWin.OSD.AddMessage("Palette file loaded: " + palette.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Global.Config.NESPaletteFile = "";
|
||||
nes.SetPalette(NES.Palettes.FCEUX_Standard);
|
||||
settings.Palette = (int[,])NES.Palettes.FCEUX_Standard.Clone();
|
||||
GlobalWin.OSD.AddMessage("Standard Palette set");
|
||||
}
|
||||
}
|
||||
|
||||
settings.NTSC_TopLine = (int)NTSC_FirstLineNumeric.Value;
|
||||
settings.NTSC_BottomLine = (int)NTSC_LastLineNumeric.Value;
|
||||
|
@ -95,7 +92,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
settings.PAL_BottomLine = (int)PAL_LastLineNumeric.Value;
|
||||
settings.AllowMoreThanEightSprites = AllowMoreSprites.Checked;
|
||||
settings.ClipLeftAndRight = ClipLeftAndRightCheckBox.Checked;
|
||||
settings.AutoLoadPalette = AutoLoadPalette.Checked;
|
||||
settings.DispSprites = DispSprites.Checked;
|
||||
settings.DispBackground = DispBackground.Checked;
|
||||
settings.BackgroundColor = BGColorDialog.Color.ToArgb();
|
||||
|
|
|
@ -63,6 +63,10 @@
|
|||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\BizHawk.MultiClient\output\dll\EMU7800.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
|
|
|
@ -432,7 +432,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
/// <summary>
|
||||
/// sets the provided palette as current
|
||||
/// </summary>
|
||||
public void SetPalette(int[,] pal)
|
||||
private void SetPalette(int[,] pal)
|
||||
{
|
||||
Array.Copy(pal,palette,64*3);
|
||||
for(int i=0;i<64*8;i++)
|
||||
|
|
|
@ -890,6 +890,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
}
|
||||
CoreComm.ScreenLogicalOffsetX = videoProvider.left;
|
||||
CoreComm.ScreenLogicalOffsetY = DisplayType == DisplayType.NTSC ? Settings.NTSC_TopLine : Settings.PAL_TopLine;
|
||||
|
||||
SetPalette(Settings.Palette);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -897,7 +899,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
{
|
||||
public bool AllowMoreThanEightSprites = false;
|
||||
public bool ClipLeftAndRight = false;
|
||||
public bool AutoLoadPalette = true;
|
||||
public bool DispBackground = true;
|
||||
public bool DispSprites = true;
|
||||
public int BackgroundColor = 0;
|
||||
|
@ -907,10 +908,27 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
public int PAL_TopLine = 0;
|
||||
public int PAL_BottomLine = 239;
|
||||
|
||||
public int[,] Palette;
|
||||
|
||||
public NESSettings Clone()
|
||||
{
|
||||
return (NESSettings)MemberwiseClone();
|
||||
}
|
||||
|
||||
public NESSettings()
|
||||
{
|
||||
Palette = (int[,])Palettes.FCEUX_Standard.Clone();
|
||||
}
|
||||
|
||||
[Newtonsoft.Json.JsonConstructor]
|
||||
public NESSettings(int[,] Palette)
|
||||
{
|
||||
if (Palette == null)
|
||||
// only needed for SVN purposes
|
||||
this.Palette = (int[,])Palettes.FCEUX_Standard.Clone();
|
||||
else
|
||||
this.Palette = Palette;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue