BizHawk/BizHawk.MultiClient/Global.cs

63 lines
2.4 KiB
C#

using SlimDX.Direct3D9;
using SlimDX.DirectSound;
namespace BizHawk.MultiClient
{
public static class Global
{
public static MainForm MainForm;
public static DirectSound DSound;
public static Direct3D Direct3D;
public static Sound Sound;
public static IRenderer RenderPanel;
public static Config Config;
public static IEmulator Emulator;
public static CoreInputComm CoreInputComm;
public static RomGame Game;
public static Controller SMSControls;
public static Controller PCEControls;
public static Controller GenControls;
public static Controller TI83Controls;
public static Controller NESControls;
public static Controller GBControls;
public static Controller NullControls;
//TODO should have one of these per movie!!!! should not be global.
public static MovieControllerAdapter MovieControllerAdapter = new MovieControllerAdapter();
public static CopyControllerAdapter MovieInputSourceAdapter = new CopyControllerAdapter();
public static MultitrackRewiringControllerAdapter MultitrackRewiringControllerAdapter = new MultitrackRewiringControllerAdapter();
//user -> Input -> ActiveController -> TurboAdapter(TBD) -> Lua(?) -> ..
//.. -> MultitrackRewiringControllerAdapter -> MovieInputSourceAdapter -> MovieInputController -> ControllerOutput(1) -> Game
//(1)->Input Display
//the original source controller, bound to the user, sort of the "input" port for the chain, i think
public static Controller ActiveController;
//the "output" port for the controller chain.
public static IController ControllerOutput;
//input state which has been destined for game controller inputs are coalesced here
public static InputCoalescer ControllerInputCoalescer = new InputCoalescer();
//input state which has been destined for client hotkey consumption are colesced here
public static InputCoalescer HotkeyCoalescer = new InputCoalescer();
public static UD_LR_ControllerAdapter UD_LR_ControllerAdapter = new UD_LR_ControllerAdapter();
public static Controller ClientControls;
public static string GetOutputControllersAsMnemonic()
{
MnemonicsGenerator mg = new MnemonicsGenerator();
mg.SetSource(Global.ControllerOutput);
return mg.GetControllersAsMnemonic();
}
//TODO - wtf is this being used for
public static bool MovieMode;
public static CoreAccessor PsxCoreLibrary = new CoreAccessor(new Win32LibAccessor("PsxHawk.Core.dll"));
}
}