Skip to content

Commit

Permalink
Merge 7488,7492,7493,7494,7500 into branches/release
Browse files Browse the repository at this point in the history
  • Loading branch information
hegyak committed Aug 3, 2014
1 parent 3cf1b27 commit 45ba5c2
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 29 deletions.
40 changes: 25 additions & 15 deletions BizHawk.Client.EmuHawk/MainForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions BizHawk.Client.EmuHawk/MainForm.Events.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@
using BizHawk.Emulation.Cores.ColecoVision;
using BizHawk.Emulation.Cores.Nintendo.Gameboy;
using BizHawk.Emulation.Cores.Nintendo.NES;
using BizHawk.Emulation.Cores.Nintendo.N64;
using BizHawk.Emulation.Cores.Nintendo.SNES;
using BizHawk.Emulation.Cores.PCEngine;
using BizHawk.Emulation.Cores.Sega.MasterSystem;
using BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES;

using BizHawk.Client.Common;
using BizHawk.Client.EmuHawk.config.NES;

using BizHawk.Client.EmuHawk.CustomControls;
using BizHawk.Client.EmuHawk.WinFormExtensions;
using BizHawk.Client.EmuHawk.ToolExtensions;
Expand Down Expand Up @@ -1784,6 +1786,9 @@ private void N64SubMenu_DropDownOpened(object sender, EventArgs e)
!Global.MovieSession.Movie.IsActive;

N64CircularAnalogRangeMenuItem.Checked = Global.Config.N64UseCircularAnalogConstraint;

var s = (N64Settings)Global.Emulator.GetSettings();
MupenStyleLagMenuItem.Checked = s.UseMupenStyleLag;
}

private void N64PluginSettingsMenuItem_Click(object sender, EventArgs e)
Expand Down Expand Up @@ -1824,6 +1829,13 @@ private void N64CircularAnalogRangeMenuItem_Click(object sender, EventArgs e)
Global.Config.N64UseCircularAnalogConstraint ^= true;
}

private void MupenStyleLagMenuItem_Click(object sender, EventArgs e)
{
var s = (N64Settings)Global.Emulator.GetSettings();
s.UseMupenStyleLag ^= true;
Global.Emulator.PutSettings(s);
}

#endregion

#region Saturn
Expand Down
31 changes: 29 additions & 2 deletions BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64.cs
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,8 @@ private void EndThreadLoop()

public void FrameAdvance(bool render, bool rendersound)
{
IsVIFrame = false;

_audioProvider.RenderSound = rendersound;

if (Controller["Reset"])
Expand Down Expand Up @@ -236,8 +238,33 @@ public IController Controller

public bool IsLagFrame
{
get { return !_inputProvider.LastFrameInputPolled; }
set { _inputProvider.LastFrameInputPolled = !value; }
get
{
if (_settings.UseMupenStyleLag)
{
return !IsVIFrame;
}

return !_inputProvider.LastFrameInputPolled;
}

set
{
if (_settings.UseMupenStyleLag)
{
IsVIFrame = !value;
}
else
{
_inputProvider.LastFrameInputPolled = !value;
}
}
}

public bool IsVIFrame
{
get { return _videoProvider.IsVIFrame; }
set { _videoProvider.IsVIFrame = value; }
}

public void ResetCounters()
Expand Down
4 changes: 4 additions & 0 deletions BizHawk.Emulation.Cores/Consoles/Nintendo/N64/N64Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,16 @@ public class N64Settings
public int VideoSizeX = 320;
public int VideoSizeY = 240;

public bool UseMupenStyleLag { get; set; }

public N64Settings Clone()
{
return new N64Settings
{
VideoSizeX = VideoSizeX,
VideoSizeY = VideoSizeY,

UseMupenStyleLag = UseMupenStyleLag
};
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ internal class N64VideoProvider : IVideoProvider, IDisposable
private int[] frameBuffer;
private mupen64plusVideoApi api;

public bool IsVIFrame;

/// <summary>
/// Creates N64 Video system with mupen64plus backend
/// </summary>
Expand All @@ -26,6 +28,7 @@ public N64VideoProvider(mupen64plusApi core, VideoPluginSettings videosettings)
);

core.BeforeRender += DoVideoFrame;
core.BeforeRender += () => { IsVIFrame = true; };
}

public int[] GetVideoBuffer()
Expand Down
2 changes: 1 addition & 1 deletion VersionInfo.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
static class VersionInfo
{
public const string MAINVERSION = "1.7.4";
public static string RELEASEDATE = "August 1, 2014";
public static string RELEASEDATE = "August 3, 2014";
public static bool DeveloperBuild = false;

public static string GetEmuVersion()
Expand Down
22 changes: 11 additions & 11 deletions output/gamedb/gamedb_n64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -380,17 +380,17 @@ AE7229676DA9ACB39BECB03246969693585B7728 G Knockout Kings 2000 (USA) N64 RiceUs
6390DC1CD4600CA57069D92F39F108A4CC1B62F1 G Kobe Bryant in NBA Courtside (Europe) N64 SaveType=EEPROM_16K
49346B3124750C14DDDF56B9BB2FE38B618F28F2 G Kobe Bryant's NBA Courtside (USA) N64 SaveType=EEPROM_16K
DFDF852D0939466AD1F1627F4DE29B7288A77589 G Last Legion UX (Japan) N64
B38B71D2961DFFB523020A67F4807A4B704E347A G Legend of Zelda, The - Majora's Mask (Europe) (En,Fr,De,Es) (Beta) N64 Glide_enable_hacks_for_game=1;Glide64mk2_enable_hacks_for_game=29
BB4E4757D10727C7584C59C1F2E5F44196E9C293 G Legend of Zelda, The - Majora's Mask (Europe) (En,Fr,De,Es) (Rev A) N64 Glide_enable_hacks_for_game=1;Glide64mk2_enable_hacks_for_game=29
C04599CDAFEE1C84A7AF9A71DF68F139179ADA84 G Legend of Zelda, The - Majora's Mask (Europe) (En,Fr,De,Es) N64 Glide_enable_hacks_for_game=1;Glide64mk2_enable_hacks_for_game=29
2F0744F2422B0421697A74B305CB1EF27041AB11 G Legend of Zelda, The - Majora's Mask (USA) (Demo) N64 Glide_enable_hacks_for_game=1;Glide_wrap_big_tex=true;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
D6133ACE5AFAA0882CF214CF88DABA39E266C078 G Legend of Zelda, The - Majora's Mask (USA) N64 RiceEnableHacksForGame=34;RiceFrameBufferOption=3;RiceRenderToTextureOption=3;Glide_enable_hacks_for_game=1;Glide64mk2_enable_hacks_for_game=29
CFBB98D392E4A9D39DA8285D10CBEF3974C2F012 G Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A) N64 Glide_enable_hacks_for_game=1;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
328A1F1BEBA30CE5E178F031662019EB32C5F3B5 G Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) N64 Glide_enable_hacks_for_game=1;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
D3ECB253776CD847A5AA63D859D8C89A2F37B364 G Legend of Zelda, The - Ocarina of Time (USA) (Rev A) N64 Glide_enable_hacks_for_game=1;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
41B3BDC48D98C48529219919015A1AF22F5057C2 G Legend of Zelda, The - Ocarina of Time (USA) (Rev B) N64 RiceEnableHacksForGame=3;Glide_enable_hacks_for_game=1;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
AD69C91157F6705E8AB06C79FE08AAD47BB57BA7 G Legend of Zelda, The - Ocarina of Time (USA) N64 RiceEnableHacksForGame=3;RiceFrameBufferOption=3;RiceRenderToTextureOption=3;Glide_enable_hacks_for_game=1;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
50BEBEDAD9E0F10746A52B07239E47FA6C284D03 G Legend of Zelda, The - Ocarina of Time - Master Quest (USA) (Debug Edition) N64 RiceEnableHacksForGame=3;Glide_enable_hacks_for_game=1;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
B38B71D2961DFFB523020A67F4807A4B704E347A G Legend of Zelda, The - Majora's Mask (Europe) (En,Fr,De,Es) (Beta) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0
BB4E4757D10727C7584C59C1F2E5F44196E9C293 G Legend of Zelda, The - Majora's Mask (Europe) (En,Fr,De,Es) (Rev A) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0
C04599CDAFEE1C84A7AF9A71DF68F139179ADA84 G Legend of Zelda, The - Majora's Mask (Europe) (En,Fr,De,Es) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0
2F0744F2422B0421697A74B305CB1EF27041AB11 G Legend of Zelda, The - Majora's Mask (USA) (Demo) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_wrap_big_tex=true;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
D6133ACE5AFAA0882CF214CF88DABA39E266C078 G Legend of Zelda, The - Majora's Mask (USA) N64 RiceEnableHacksForGame=34;RiceScreenUpdateSettingHack=7;RiceFrameBufferOption=3;RiceRenderToTextureOption=3;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0
CFBB98D392E4A9D39DA8285D10CBEF3974C2F012 G Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
328A1F1BEBA30CE5E178F031662019EB32C5F3B5 G Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
D3ECB253776CD847A5AA63D859D8C89A2F37B364 G Legend of Zelda, The - Ocarina of Time (USA) (Rev A) N64 RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
41B3BDC48D98C48529219919015A1AF22F5057C2 G Legend of Zelda, The - Ocarina of Time (USA) (Rev B) N64 RiceEnableHacksForGame=3;RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
AD69C91157F6705E8AB06C79FE08AAD47BB57BA7 G Legend of Zelda, The - Ocarina of Time (USA) N64 RiceEnableHacksForGame=3;RiceScreenUpdateSettingHack=7;RiceFrameBufferOption=3;RiceRenderToTextureOption=3;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
50BEBEDAD9E0F10746A52B07239E47FA6C284D03 G Legend of Zelda, The - Ocarina of Time - Master Quest (USA) (Debug Edition) N64 RiceEnableHacksForGame=3;RiceScreenUpdateSettingHack=7;Glide_enable_hacks_for_game=1;Glide_swapmode=0;Glide_depth_bias=60;Glide_fb_smart=true;Glide_fb_clear=true;Glide64mk2_enable_hacks_for_game=29;Glide64mk2_swapmode=0;Glide64mk2_filtering=1;Glide64mk2_fb_smart=true
6E9C4B097628F0147E9E79393DBA6D7B4E59986F G LEGO Racers (Europe) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) N64 Glide_enable_hacks_for_game=19;Glide_detect_cpu_write=true;Glide_filtering=0;Glide_buff_clear=false;Glide_fb_smart=true;Glide_fb_read_alpha=true;Glide64mk2_enable_hacks_for_game=13;Glide64mk2_detect_cpu_write=true;Glide64mk2_buff_clear=false;Glide64mk2_fb_smart=true;Glide64mk2_fb_read_alpha=true
8DECC41869926E20DA2EB3DA526E6395AA33CECE G LEGO Racers (USA) (En,Fr,De,Es,It,Nl,Sv,No,Da,Fi) N64 RiceFrameBufferOption=2;Glide_enable_hacks_for_game=19;Glide_detect_cpu_write=true;Glide_filtering=0;Glide_buff_clear=false;Glide_fb_smart=true;Glide_fb_read_alpha=true;Glide64mk2_enable_hacks_for_game=13;Glide64mk2_detect_cpu_write=true;Glide64mk2_buff_clear=false;Glide64mk2_fb_smart=true;Glide64mk2_fb_read_alpha=true
6FDA28A79CEC30B6C52C3DBC96B513DA16BFA4D0 G Let's Smash (Japan) N64 Glide_soft_depth_compare=true;Glide_filtering=0
Expand Down

0 comments on commit 45ba5c2

Please sign in to comment.