Since Global.Game is never null now, add a IsNullInstance property to check against instead, and refactor code that checks for null

This commit is contained in:
adelikat 2014-07-21 22:21:52 +00:00
parent c765d1d56e
commit 240264c3c5
2 changed files with 22 additions and 14 deletions

View File

@ -100,7 +100,7 @@ namespace BizHawk.Client.EmuHawk
new AutoResetEvent(false); new AutoResetEvent(false);
Icon = Properties.Resources.logo; Icon = Properties.Resources.logo;
InitializeComponent(); InitializeComponent();
Global.Game = GameInfo.GetNullGame(); Global.Game = GameInfo.NullInstance;
if (Global.Config.ShowLogWindow) if (Global.Config.ShowLogWindow)
{ {
LogConsole.ShowConsole(); LogConsole.ShowConsole();
@ -312,11 +312,11 @@ namespace BizHawk.Client.EmuHawk
ToggleFullscreen(); ToggleFullscreen();
} }
if (cmdLoadState != null && Global.Game != null) if (cmdLoadState != null && !Global.Game.IsNullInstance)
{ {
LoadQuickSave("QuickSave" + cmdLoadState); LoadQuickSave("QuickSave" + cmdLoadState);
} }
else if (Global.Config.AutoLoadLastSaveSlot && Global.Game != null) else if (Global.Config.AutoLoadLastSaveSlot && !Global.Game.IsNullInstance)
{ {
LoadQuickSave("QuickSave" + Global.Config.SaveSlot); LoadQuickSave("QuickSave" + Global.Config.SaveSlot);
} }
@ -1406,7 +1406,7 @@ namespace BizHawk.Client.EmuHawk
{ {
var system = string.Empty; var system = string.Empty;
if (Global.Game != null) if (!Global.Game.IsNullInstance)
{ {
system = Global.Game.System; system = Global.Game.System;
} }
@ -3294,7 +3294,7 @@ namespace BizHawk.Client.EmuHawk
Global.CoreComm = CreateCoreComm(); Global.CoreComm = CreateCoreComm();
CoreFileProvider.SyncCoreCommInputSignals(); CoreFileProvider.SyncCoreCommInputSignals();
Global.Emulator = new NullEmulator(Global.CoreComm); Global.Emulator = new NullEmulator(Global.CoreComm);
Global.Game = GameInfo.GetNullGame(); Global.Game = GameInfo.NullInstance;
GlobalWin.Tools.Restart(); GlobalWin.Tools.Restart();

View File

@ -45,17 +45,25 @@ namespace BizHawk.Emulation.Common
return ret; return ret;
} }
public static GameInfo GetNullGame() public static GameInfo NullInstance
{ {
return new GameInfo get
{ {
Name = "Null", return new GameInfo
System = "NULL", {
Hash = "", Name = "Null",
Region = "", System = "NULL",
Status = RomStatus.GoodDump, Hash = "",
NotInDatabase = false Region = "",
}; Status = RomStatus.GoodDump,
NotInDatabase = false
};
}
}
public bool IsNullInstance
{
get { return System == "NULL"; }
} }
internal GameInfo(CompactGameInfo cgi) internal GameInfo(CompactGameInfo cgi)