More input display fixes

This commit is contained in:
adelikat 2014-06-19 21:55:15 +00:00
parent 7f070737cc
commit f561528846
2 changed files with 26 additions and 4 deletions

View File

@ -192,7 +192,8 @@ namespace BizHawk.Client.Common
{
get
{
return Source[button] | SourceOr[button];
return (Source != null ? Source[button] : false) |
(SourceOr != null ? SourceOr[button] : false);
}
set
{
@ -221,7 +222,12 @@ namespace BizHawk.Client.Common
{
get
{
return Source[button] & SourceAnd[button];
if (Source != null && SourceAnd != null)
{
return Source[button] & SourceAnd[button];
}
return false;
}
set
@ -304,7 +310,19 @@ namespace BizHawk.Client.Common
public float GetFloat(string name)
{
return _floatSet[name] ?? Source.GetFloat(name);
var val = _floatSet[name];
if (val.HasValue)
{
return val.Value;
}
if (Source == null)
{
return 0;
}
return Source.GetFloat(name);
}
public void ClearStickyFloats()

View File

@ -255,7 +255,9 @@ namespace BizHawk.Client.EmuHawk
public string InputStrOrAll()
{
var m = Global.MovieSession.Movie.IsActive && !Global.MovieSession.Movie.IsFinished ?
var m = (Global.MovieSession.Movie.IsActive &&
!Global.MovieSession.Movie.IsFinished &&
Global.Emulator.Frame > 0) ?
Global.MovieSession.Movie.GetInputState(Global.Emulator.Frame - 1) :
Global.MovieSession.MovieControllerInstance();
@ -265,7 +267,9 @@ namespace BizHawk.Client.EmuHawk
SourceOr = m
};
var lg = Global.MovieSession.LogGeneratorInstance();
lg.SetSource(orAdaptor);
return lg.GenerateInputDisplay();
}