public ScummEngine7(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer) : base(game, graphicsManager, inputManager, mixer) { if (Game.GameId == GameId.Dig && (Game.Features.HasFlag(GameFeatures.Demo))) { _smushFrameRate = 15; } else { _smushFrameRate = (Game.GameId == GameId.FullThrottle) ? 10 : 12; } for (int i = 0; i < _subtitleQueue.Length; i++) { _subtitleQueue[i] = new SubtitleText(); } int dimuseTempo = 10; MusicEngine = IMuseDigital = new IMuseDigital(this, mixer, dimuseTempo); IMuseDigital.SetAudioNames(ResourceManager.AudioNames); // Create FT INSANE object if (Game.GameId == GameId.FullThrottle) { Insane = new Insane.Insane(this); } SmushMixer = new SmushMixer(Mixer); SmushPlayer = new SmushPlayer(this); }
public override void Initialize() { base.Initialize(); mouseInput = (IMouseInput)Game.Services.GetService(typeof(IMouseInput)); cursorManager = (ICursorManager)Game.Services.GetService(typeof(ICursorManager)); graphicsManager = (IGraphicsManager)Game.Services.GetService(typeof(IGraphicsManager)); }
public ScummEngine0(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer) : base(game, graphicsManager, inputManager, mixer) { VariableActiveObject2 = null; VariableIsSoundRunning = null; VariableActiveVerb = null; ResetVerbs(); }
public static void InitializeServices(IServiceProvider serviceProvider) { KeyboardInput = (IKeyboardInput)serviceProvider.GetService(typeof(IKeyboardInput)); MouseInput = (IMouseInput)serviceProvider.GetService(typeof(IMouseInput)); CursorManager = (ICursorManager)serviceProvider.GetService(typeof(ICursorManager)); GraphicsManager = (IGraphicsManager)serviceProvider.GetService(typeof(IGraphicsManager)); ResourceManager = (IResourceManager)serviceProvider.GetService(typeof(IResourceManager)); Debug = (IDebug)serviceProvider.GetService(typeof(IDebug)); }
public static BasicShader LoadAutoreload(IGraphicsManager graphics, FileInfo fi, Action <BasicShader> loadedDelegate, ShaderMacro[] macros) { var s = new BasicShader(graphics.Device); if (loadedDelegate != null) { s.loadedEvent += loadedDelegate; } s.shaderMacros = macros; s.loadAutoreload(fi); graphics.AddBasicShader(s); return(s); }
public MenuGameState(Game game) { m_gameStateManager = (IGameStateManager)game.Services.GetService(typeof(IGameStateManager)); m_resourceManager = (IResourceManager)game.Services.GetService(typeof(IResourceManager)); m_audioManager = (IAudioManager)game.Services.GetService(typeof(IAudioManager)); m_graphicsManager = (IGraphicsManager)game.Services.GetService(typeof(IGraphicsManager)); m_serviceHelper = new ServiceHelper(); m_serviceHelper.Initialize(m_graphicsManager.GraphicsDevice, game.Content); m_forms = new FormCollection(); InitializeUI(); }
public Render(IServiceProvider serviceProvider, GraphicsDevice graphicsDevice) : base(graphicsDevice) { SpriteBatch = (SpriteBatch)this; graphicsManager = (IGraphicsManager)serviceProvider.GetService(typeof(IGraphicsManager)); debug = (IDebug)serviceProvider.GetService(typeof(IDebug)); baseViewport = GraphicsDevice.Viewport; LoadPixel(); pixel.ContentLost += new EventHandler <EventArgs>(renderTarget_ContentLost); }
public ChessMatchState(Game game) { //Managers m_inputManger = (IInputManager)game.Services.GetService(typeof(IInputManager)); m_gameStateManager = (IGameStateManager)game.Services.GetService(typeof(IGameStateManager)); m_graphicsManager = (IGraphicsManager)game.Services.GetService(typeof(IGraphicsManager)); m_resourceManager = (IResourceManager)game.Services.GetService(typeof(IResourceManager)); m_audioManager = (IAudioManager)game.Services.GetService(typeof(IAudioManager)); //Chess match stuff m_matchState = WhitePiecePicking.GetMatchState(this); m_chessMatch = new ChessMatch(this); }
public static ScummEngine Create(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, bool debugMode = false) { ScummEngine engine = null; var game = (GameInfo)settings.Game; var mixer = new Mixer(44100); output.SetSampleProvider(mixer); if (game.Version == 0) { engine = new ScummEngine0(settings, gfxManager, inputManager, mixer); } else if ((game.Version == 1) || (game.Version == 2)) { engine = new ScummEngine2(settings, gfxManager, inputManager, mixer); } else if (game.Version == 3) { engine = new ScummEngine3(settings, gfxManager, inputManager, mixer); } else if (game.Version == 4) { engine = new ScummEngine4(settings, gfxManager, inputManager, mixer); } else if (game.Version == 5) { engine = new ScummEngine5(settings, gfxManager, inputManager, mixer); } else if (game.Version == 6) { engine = new ScummEngine6(settings, gfxManager, inputManager, mixer); } else if (game.Version == 7) { engine = new ScummEngine7(settings, gfxManager, inputManager, mixer); } else if (game.Version == 8) { engine = new ScummEngine8(settings, gfxManager, inputManager, mixer); } Instance = engine; engine.DebugMode = debugMode; engine.InitOpCodes(); engine.SetupVars(); engine.ResetScummVars(); return(engine); }
public TownsScreen(IGraphicsManager gfx, int width, int height, PixelFormat format) { _gfx = gfx; _width = width; _height = height; _pixelFormat = format; // just get that bytes per pixel once, it cannot change in this instance // much less method calls in the loops _bytesPerPixel = Surface.GetBytesPerPixel(format); _pitch = width * _bytesPerPixel; _outBuffer = new byte[_pitch * _height]; for (int i = 0; i < _layers.Length; i++) { _layers[i] = new TownsScreenLayer(); } SetupLayer(0, width, height, 256); }
public Chess() { Content.RootDirectory = "Content"; new GraphicsDeviceManager(this); m_inputManager = InputManagerFactory.GetInputManager(this); Components.Add(m_inputManager); m_audioManager = AudioManagerFactory.GetAudioManager(this); Components.Add(m_audioManager); m_resourceManager = ResourceManagerFactory.GetResourceManager(this); Components.Add(m_resourceManager); m_graphicsManager = GraphicsManagerFactory.GetGraphicsManager(this); Components.Add(m_graphicsManager); m_gameStateManager = GameStateManagerFactory.GetGameStateManager(this); Components.Add(m_gameStateManager); }
/// <summary> /// Initializes the input manager. /// </summary> public override void Initialize() { Logger.Trace("init()"); // import required services. this._world = (IWorld)this.Game.Services.GetService(typeof(IWorld)); this._player = (IPlayer)this.Game.Services.GetService(typeof(IPlayer)); this._graphicsManager = (IGraphicsManager)this.Game.Services.GetService(typeof(IGraphicsManager)); this._cameraController = (ICameraControlService)this.Game.Services.GetService(typeof(ICameraControlService)); this._ingameDebuggerService = (IInGameDebuggerService)this.Game.Services.GetService(typeof(IInGameDebuggerService)); this._fogger = (IFogger)this.Game.Services.GetService(typeof(IFogger)); this._skyService = (ISkyService)this.Game.Services.GetService(typeof(ISkyService)); this._chunkCache = (IChunkCache)this.Game.Services.GetService(typeof(IChunkCache)); this._bloomService = (IBloomService)this.Game.Services.GetService(typeof(IBloomService)); // get current mouse & keyboard states. this._previousKeyboardState = Keyboard.GetState(); this._previousMouseState = Mouse.GetState(); base.Initialize(); }
public static ChessboardTile GetTile(Vector2 mousePosition, IGraphicsManager graphicsManager, Model chessboardModel, Effect chessboardPickingEffect) { graphicsManager.GraphicsDevice.Clear(s_neutralColor); //Get the needed stuff Matrix world = Matrix.Identity; //Draw the screen and retrive the map graphicsManager.DrawModel(chessboardModel, ref world, chessboardPickingEffect); Texture2D pickingTexture = graphicsManager.GetScreenContents(); Color[] pickingMap = new Color[pickingTexture.Width * pickingTexture.Height]; pickingTexture.GetData(pickingMap); //Get the color and a tile Color selectedColor = pickingMap[(int)(mousePosition.Y * pickingTexture.Width + mousePosition.X)]; ChessboardTile tile = GetTileForColor(selectedColor); //Return the result return(tile); }
public GameManager( EntityWorld world, SpriteBatch spriteBatch, IGraphicsManager graphicsManager, ISystemLoader systemLoader, IScreenManager screenManager, IScreenFactory screenFactory, IInputManager inputManager, ICameraManager cameraManager, IScriptManager scriptManager ) { _world = world; _spriteBatch = spriteBatch; _graphicsManager = graphicsManager; _systemLoader = systemLoader; _screenManager = screenManager; _screenFactory = screenFactory; _inputManager = inputManager; _cameraManager = cameraManager; _scriptManager = scriptManager; }
public GameManager( EntityWorld world, SpriteBatch spriteBatch, IGraphicsManager graphicsManager, ISystemLoader systemLoader, IScreenManager screenManager, IScreenFactory screenFactory, IInputManager inputManager, ICameraManager cameraManager, IScriptManager scriptManager, IContentManager contentManager) { _world = world; _spriteBatch = spriteBatch; _graphicsManager = graphicsManager; _systemLoader = systemLoader; _screenManager = screenManager; _screenFactory = screenFactory; _inputManager = inputManager; _cameraManager = cameraManager; _scriptManager = scriptManager; _contentManager = contentManager; }
public ScummEngine7(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer) : base(game, graphicsManager, inputManager, mixer) { if (Game.GameId == GameId.Dig && (Game.Features.HasFlag(GameFeatures.Demo))) _smushFrameRate = 15; else _smushFrameRate = (Game.GameId == GameId.FullThrottle) ? 10 : 12; for (int i = 0; i < _subtitleQueue.Length; i++) { _subtitleQueue[i] = new SubtitleText(); } int dimuseTempo = 10; MusicEngine = IMuseDigital = new IMuseDigital(this, mixer, dimuseTempo); IMuseDigital.SetAudioNames(ResourceManager.AudioNames); // Create FT INSANE object if (Game.GameId == GameId.FullThrottle) Insane = new Insane.Insane(this); SmushMixer = new SmushMixer(Mixer); SmushPlayer = new SmushPlayer(this); }
public FullScreenCommand() { this._graphicsManager = (IGraphicsManager)Core.Engine.Instance.Game.Services.GetService(typeof(IGraphicsManager)); }
public override void Initialize() { base.Initialize(); m_graphicsManager = (IGraphicsManager)Game.Services.GetService(typeof(IGraphicsManager)); }
public IEngine Create(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, ISaveFileManager saveFileManager, bool debugMode = false) { return ScummEngine.Create(settings, gfxManager, inputManager, output, debugMode); }
public SkyEngine(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, ISaveFileManager saveFileManager, bool debugMode = false) { _system = new SkySystem(gfxManager, inputManager, saveFileManager); _mixer = new Mixer(44100); // HACK: _mixer.Read(new byte[0], 0); output.SetSampleProvider(_mixer); var directory = ServiceLocator.FileStorage.GetDirectoryName(settings.Game.Path); _skyDisk = new Disk(directory); _skySound = new Sound(_mixer, _skyDisk, Mixer.MaxChannelVolume); SystemVars.Instance.GameVersion = _skyDisk.DetermineGameVersion(); // TODO: music var dev = MidiDriver.DetectDevice(MusicDriverTypes.AdLib | MusicDriverTypes.Midi /*| MDT_PREFER_MT32*/, settings.AudioDevice); if (MidiDriver.GetMusicType(dev) == MusicType.AdLib) { SystemVars.Instance.SystemFlags |= SystemFlags.Sblaster; _skyMusic = new AdLibMusic(_mixer, _skyDisk); } else { SystemVars.Instance.SystemFlags |= SystemFlags.Roland; if ((MidiDriver.GetMusicType(dev) == MusicType.MT32) /* || ConfMan.getBool("native_mt32")*/) { _skyMusic = new Mt32Music((MidiDriver)MidiDriver.CreateMidi(_mixer, dev), _mixer, _skyDisk); } else { _skyMusic = new GmMusic((MidiDriver)MidiDriver.CreateMidi(_mixer, dev), _mixer, _skyDisk); } } if (IsCDVersion) { // TODO: configuration //if (ConfMan.hasKey("nosubtitles")) //{ // warning("Configuration key 'nosubtitles' is deprecated. Use 'subtitles' instead"); // if (!ConfMan.getBool("nosubtitles")) // _systemVars.systemFlags |= SF_ALLOW_TEXT; //} //if (ConfMan.getBool("subtitles")) // _systemVars.systemFlags |= SF_ALLOW_TEXT; //if (!ConfMan.getBool("speech_mute")) // _systemVars.systemFlags |= SF_ALLOW_SPEECH; } else { SystemVars.Instance.SystemFlags |= SystemFlags.AllowText; } SystemVars.Instance.SystemFlags |= SystemFlags.PlayVocs; SystemVars.Instance.GameSpeed = 80; _skyCompact = new SkyCompact(); _skyText = new Text(_skyDisk, _skyCompact); _skyMouse = new Mouse(_system, _skyDisk, _skyCompact); _skyScreen = new Screen(_system, _skyDisk, _skyCompact); InitVirgin(); InitItemList(); LoadFixedItems(); _skyLogic = new Logic(_skyCompact, _skyScreen, _skyDisk, _skyText, _skyMusic, _skyMouse, _skySound); _skyMouse.Logic = _skyLogic; _skyScreen.Logic = _skyLogic; _skySound.Logic = _skyLogic; _skyText.Logic = _skyLogic; _skyControl = new Control(_skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _skySound, _skyCompact, _system); _skyLogic.Control = _skyControl; // TODO: language // TODO: Setup mixer //SyncSoundSettings(); // TODO: debugger //_debugger = new Debugger(_skyLogic, _skyMouse, _skyScreen, _skyCompact); }
/// <summary> /// Initializes the input manager. /// </summary> public override void Initialize() { Logger.Trace("init()"); // import required services. this._world = (IWorld) this.Game.Services.GetService(typeof (IWorld)); this._player = (IPlayer) this.Game.Services.GetService(typeof (IPlayer)); this._graphicsManager = (IGraphicsManager) this.Game.Services.GetService(typeof (IGraphicsManager)); this._cameraController = (ICameraControlService) this.Game.Services.GetService(typeof (ICameraControlService)); this._ingameDebuggerService =(IInGameDebuggerService) this.Game.Services.GetService(typeof (IInGameDebuggerService)); this._fogger = (IFogger) this.Game.Services.GetService(typeof (IFogger)); this._skyService = (ISkyService) this.Game.Services.GetService(typeof (ISkyService)); this._chunkCache = (IChunkCache) this.Game.Services.GetService(typeof (IChunkCache)); this._bloomService = (IBloomService) this.Game.Services.GetService(typeof (IBloomService)); // get current mouse & keyboard states. this._previousKeyboardState = Keyboard.GetState(); this._previousMouseState = Mouse.GetState(); base.Initialize(); }
public SkySystem(IGraphicsManager graphicsManager, IInputManager inputManager, ISaveFileManager saveFileManager) { GraphicsManager = graphicsManager; InputManager = inputManager; SaveFileManager = saveFileManager; }
protected ScummEngine(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IMixer mixer) { Settings = settings; var game = (GameInfo)settings.Game; _resManager = ResourceManager.Load(game); _game = game; InvalidBox = _game.Version < 5 ? (byte)255 : (byte)0; _gameMD5 = ToMd5Bytes(game.MD5); _gfxManager = gfxManager; _inputManager = inputManager; _inputState = inputManager.GetState(); _strings = new byte[_resManager.NumArray][]; _inventory = new ushort[_resManager.NumInventory]; _invData = new ObjectData[_resManager.NumInventory]; CurrentScript = 0xFF; Mixer = mixer; ScreenWidth = Game.Width; ScreenHeight = Game.Height; AudioCDManager = new DefaultAudioCDManager(this, mixer); Sound = new Sound(this, mixer); SetupMusic(); _variables = new int[_resManager.NumVariables]; _bitVars = new BitArray(_resManager.NumBitVariables); _slots = new ScriptSlot[NumScriptSlot]; for (int i = 0; i < NumScriptSlot; i++) { _slots[i] = new ScriptSlot(); } for (int i = 0; i < 200; i++) { _objs[i] = new ObjectData(); } for (int i = 0; i < 6; i++) { _string[i] = new TextSlot(); if (game.Version != 3) { _string[i].Default.Position = new Point(2, 5); } } _colorCycle = new ColorCycle[16]; for (int i = 0; i < _colorCycle.Length; i++) { _colorCycle[i] = new ColorCycle(); } _nest = new NestedScript[MaxScriptNesting + 1]; for (int i = 0; i < _nest.Length; i++) { _nest[i] = new NestedScript(); } _scaleSlots = new ScaleSlot[20]; for (int i = 0; i < _scaleSlots.Length; i++) { _scaleSlots[i] = new ScaleSlot(); } Gdi = Gdi.Create(this, game); switch (game.Version) { case 0: _costumeLoader = new CostumeLoader0(this); _costumeRenderer = new CostumeRenderer0(this); break; case 7: case 8: _costumeLoader = new AkosCostumeLoader(this); _costumeRenderer = new AkosRenderer(this); break; default: _costumeLoader = new ClassicCostumeLoader(this); _costumeRenderer = new ClassicCostumeRenderer(this); break; } CreateCharset(); ResetCursors(); // Create the text surface var pixelFormat = _game.Features.HasFlag(GameFeatures.Is16BitColor) ? PixelFormat.Rgb16 : PixelFormat.Indexed8; _textSurface = new Surface(ScreenWidth * _textSurfaceMultiplier, ScreenHeight * _textSurfaceMultiplier, PixelFormat.Indexed8, false); ClearTextSurface(); if (Game.Platform == Platform.FMTowns) { _townsScreen = new TownsScreen(_gfxManager, ScreenWidth * _textSurfaceMultiplier, ScreenHeight * _textSurfaceMultiplier, PixelFormat.Rgb16); _townsScreen.SetupLayer(0, ScreenWidth, ScreenHeight, 32767); _townsScreen.SetupLayer(1, ScreenWidth * _textSurfaceMultiplier, ScreenHeight * _textSurfaceMultiplier, 16, _textPalette); } if (Game.Version == 0) { InitScreens(8, 144); } else if ((Game.GameId == GameId.Maniac) && (_game.Version <= 1) && _game.Platform != Platform.NES) { InitScreens(16, 152); } else if (Game.Version >= 7) { InitScreens(0, ScreenHeight); } else { InitScreens(16, 144); } // Allocate gfx compositing buffer (not needed for V7/V8 games). if (Game.Version < 7) { _composite = new Surface(ScreenWidth, ScreenHeight, pixelFormat, false); } InitActors(); OwnerRoom = Game.Version >= 7 ? 0x0FF : 0x0F; if (Game.Version < 7) { Camera.LeftTrigger = 10; Camera.RightTrigger = 30; } InitPalettes(); InitializeVerbs(); // WORKAROUND for bug in boot script of Loom (CD) // The boot script sets the characters of string 21, // before creating the string.resource. if (_game.GameId == GameId.Loom) { _strings[21] = new byte[13]; } }
public Camera(IGraphicsManager graphicsManager) { m_graphicsManager = graphicsManager; }
public static ScummEngine Create(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, bool debugMode = false) { ScummEngine engine = null; var game = (GameInfo)settings.Game; var mixer = new Mixer(44100); output.SetSampleProvider(mixer); if (game.Version == 0) { engine = new ScummEngine0(settings, gfxManager, inputManager, mixer); } else if ((game.Version == 1) || (game.Version == 2)) { engine = new ScummEngine2(settings, gfxManager, inputManager, mixer); } else if (game.Version == 3) { engine = new ScummEngine3(settings, gfxManager, inputManager, mixer); } else if (game.Version == 4) { engine = new ScummEngine4(settings, gfxManager, inputManager, mixer); } else if (game.Version == 5) { engine = new ScummEngine5(settings, gfxManager, inputManager, mixer); } else if (game.Version == 6) { engine = new ScummEngine6(settings, gfxManager, inputManager, mixer); } else if (game.Version == 7) { engine = new ScummEngine7(settings, gfxManager, inputManager, mixer); } else if (game.Version == 8) { engine = new ScummEngine8(settings, gfxManager, inputManager, mixer); } Instance = engine; engine.DebugMode = debugMode; engine.InitOpCodes(); engine.SetupVars(); engine.ResetScummVars(); return engine; }
public SkyEngine(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, ISaveFileManager saveFileManager, bool debugMode = false) { _system = new SkySystem(gfxManager, inputManager, saveFileManager); _mixer = new Mixer(44100); // HACK: _mixer.Read(new byte[0], 0); output.SetSampleProvider(_mixer); var directory = ServiceLocator.FileStorage.GetDirectoryName(settings.Game.Path); _skyDisk = new Disk(directory); _skySound = new Sound(_mixer, _skyDisk, Mixer.MaxChannelVolume); SystemVars.Instance.GameVersion = _skyDisk.DetermineGameVersion(); // TODO: music var dev = MidiDriver.DetectDevice(MusicDriverTypes.AdLib | MusicDriverTypes.Midi /*| MDT_PREFER_MT32*/, settings.AudioDevice); if (MidiDriver.GetMusicType(dev) == MusicType.AdLib) { SystemVars.Instance.SystemFlags |= SystemFlags.Sblaster; _skyMusic = new AdLibMusic(_mixer, _skyDisk); } else { SystemVars.Instance.SystemFlags |= SystemFlags.Roland; if ((MidiDriver.GetMusicType(dev) == MusicType.MT32)/* || ConfMan.getBool("native_mt32")*/) _skyMusic = new Mt32Music((MidiDriver)MidiDriver.CreateMidi(_mixer, dev), _mixer, _skyDisk); else _skyMusic = new GmMusic((MidiDriver)MidiDriver.CreateMidi(_mixer, dev), _mixer, _skyDisk); } if (IsCDVersion) { // TODO: configuration //if (ConfMan.hasKey("nosubtitles")) //{ // warning("Configuration key 'nosubtitles' is deprecated. Use 'subtitles' instead"); // if (!ConfMan.getBool("nosubtitles")) // _systemVars.systemFlags |= SF_ALLOW_TEXT; //} //if (ConfMan.getBool("subtitles")) // _systemVars.systemFlags |= SF_ALLOW_TEXT; //if (!ConfMan.getBool("speech_mute")) // _systemVars.systemFlags |= SF_ALLOW_SPEECH; } else SystemVars.Instance.SystemFlags |= SystemFlags.AllowText; SystemVars.Instance.SystemFlags |= SystemFlags.PlayVocs; SystemVars.Instance.GameSpeed = 80; _skyCompact = new SkyCompact(); _skyText = new Text(_skyDisk, _skyCompact); _skyMouse = new Mouse(_system, _skyDisk, _skyCompact); _skyScreen = new Screen(_system, _skyDisk, _skyCompact); InitVirgin(); InitItemList(); LoadFixedItems(); _skyLogic = new Logic(_skyCompact, _skyScreen, _skyDisk, _skyText, _skyMusic, _skyMouse, _skySound); _skyMouse.Logic = _skyLogic; _skyScreen.Logic = _skyLogic; _skySound.Logic = _skyLogic; _skyText.Logic = _skyLogic; _skyControl = new Control(_skyScreen, _skyDisk, _skyMouse, _skyText, _skyMusic, _skyLogic, _skySound, _skyCompact, _system); _skyLogic.Control = _skyControl; // TODO: language // TODO: Setup mixer //SyncSoundSettings(); // TODO: debugger //_debugger = new Debugger(_skyLogic, _skyMouse, _skyScreen, _skyCompact); }
public ScummEngine8(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer) : base(game, graphicsManager, inputManager, mixer) { }
public ScummEngine4(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer) : base(game, graphicsManager, inputManager, mixer) { }
public SwordEngine(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, ISaveFileManager saveFileManager, bool debugMode) { Settings = settings; GraphicsManager = gfxManager; _mixer = new Mixer(44100); // HACK: _mixer.Read(new byte[0], 0); output.SetSampleProvider(_mixer); System = new SwordSystem(gfxManager, inputManager, saveFileManager); var gameId = ((SwordGameDescriptor)settings.Game).GameId; _features = gameId == SwordGameId.Sword1Demo || gameId == SwordGameId.Sword1MacDemo || gameId == SwordGameId.Sword1PsxDemo ? 1U : 0; // TODO: debug // _console = new SwordConsole(this); SystemVars.Platform = settings.Game.Platform; // TODO: // CheckCdFiles(); // TODO: debug(5, "Starting resource manager"); var directory = ServiceLocator.FileStorage.GetDirectoryName(settings.Game.Path); var path = ServiceLocator.FileStorage.Combine(directory, "swordres.rif"); _resMan = new ResMan(directory, path, SystemVars.Platform == Platform.Macintosh); // TODO: debug(5, "Starting object manager"); _objectMan = new ObjectMan(_resMan); _mouse = new Mouse(System, _resMan, _objectMan); _screen = new Screen(directory, System, _resMan, _objectMan); _music = new Music(Mixer, directory); _sound = new Sound(settings, _mixer, _resMan); _menu = new Menu(_screen, _mouse); _logic = new Logic(this, _objectMan, _resMan, _screen, _mouse, _sound, _music, _menu, Mixer); _mouse.UseLogicAndMenu(_logic, _menu); // TODO: //SyncSoundSettings(); SystemVars.JustRestoredGame = 0; SystemVars.CurrentCd = 0; SystemVars.ControlPanelMode = ControlPanelMode.CP_NEWGAME; SystemVars.ForceRestart = false; SystemVars.WantFade = true; //_systemVars.realLanguage = Common::parseLanguage(ConfMan.get("language")); SystemVars.RealLanguage = new CultureInfo("en-GB"); //switch (SystemVars.RealLanguage.TwoLetterISOLanguageName) //{ // case "de": // SystemVars.Language = Language.BS1_GERMAN; // break; // case "fr": // SystemVars.Language = Language.BS1_FRENCH; // break; // case "it": // SystemVars.Language = Language.BS1_ITALIAN; // break; // case "es": // SystemVars.Language = Language.BS1_SPANISH; // break; // case "pt": // SystemVars.Language = Language.BS1_PORT; // break; // case "cz": // SystemVars.Language = Language.BS1_CZECH; // break; // default: // SystemVars.Language = Language.BS1_ENGLISH; // break; //} // TODO: //_systemVars.showText = ConfMan.getBool("subtitles"); SystemVars.PlaySpeech = 1; _mouseState = 0; // Some Mac versions use big endian for the speech files but not all of them. if (SystemVars.Platform == Platform.Macintosh) _sound.CheckSpeechFileEndianness(); _logic.Initialize(); _objectMan.Initialize(); _mouse.Initialize(); _control = new Control(saveFileManager, _resMan, _objectMan, System, _mouse, _sound, _music); }
public SwordEngine(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, ISaveFileManager saveFileManager, bool debugMode) { Settings = settings; GraphicsManager = gfxManager; _mixer = new Mixer(44100); // HACK: _mixer.Read(new byte[0], 0); output.SetSampleProvider(_mixer); System = new SwordSystem(gfxManager, inputManager, saveFileManager); var gameId = ((SwordGameDescriptor)settings.Game).GameId; _features = gameId == SwordGameId.Sword1Demo || gameId == SwordGameId.Sword1MacDemo || gameId == SwordGameId.Sword1PsxDemo ? 1U : 0; // TODO: debug // _console = new SwordConsole(this); SystemVars.Platform = settings.Game.Platform; // TODO: // CheckCdFiles(); // TODO: debug(5, "Starting resource manager"); var directory = ServiceLocator.FileStorage.GetDirectoryName(settings.Game.Path); var path = ServiceLocator.FileStorage.Combine(directory, "swordres.rif"); _resMan = new ResMan(directory, path, SystemVars.Platform == Platform.Macintosh); // TODO: debug(5, "Starting object manager"); _objectMan = new ObjectMan(_resMan); _mouse = new Mouse(System, _resMan, _objectMan); _screen = new Screen(directory, System, _resMan, _objectMan); _music = new Music(Mixer, directory); _sound = new Sound(settings, _mixer, _resMan); _menu = new Menu(_screen, _mouse); _logic = new Logic(this, _objectMan, _resMan, _screen, _mouse, _sound, _music, _menu, Mixer); _mouse.UseLogicAndMenu(_logic, _menu); // TODO: //SyncSoundSettings(); SystemVars.JustRestoredGame = 0; SystemVars.CurrentCd = 0; SystemVars.ControlPanelMode = ControlPanelMode.CP_NEWGAME; SystemVars.ForceRestart = false; SystemVars.WantFade = true; //_systemVars.realLanguage = Common::parseLanguage(ConfMan.get("language")); SystemVars.RealLanguage = new CultureInfo("en-GB"); //switch (SystemVars.RealLanguage.TwoLetterISOLanguageName) //{ // case "de": // SystemVars.Language = Language.BS1_GERMAN; // break; // case "fr": // SystemVars.Language = Language.BS1_FRENCH; // break; // case "it": // SystemVars.Language = Language.BS1_ITALIAN; // break; // case "es": // SystemVars.Language = Language.BS1_SPANISH; // break; // case "pt": // SystemVars.Language = Language.BS1_PORT; // break; // case "cz": // SystemVars.Language = Language.BS1_CZECH; // break; // default: // SystemVars.Language = Language.BS1_ENGLISH; // break; //} // TODO: //_systemVars.showText = ConfMan.getBool("subtitles"); SystemVars.PlaySpeech = 1; _mouseState = 0; // Some Mac versions use big endian for the speech files but not all of them. if (SystemVars.Platform == Platform.Macintosh) { _sound.CheckSpeechFileEndianness(); } _logic.Initialize(); _objectMan.Initialize(); _mouse.Initialize(); _control = new Control(saveFileManager, _resMan, _objectMan, System, _mouse, _sound, _music); }
public SwordSystem(IGraphicsManager graphicsManager, IInputManager inputManager, ISaveFileManager saveFileManager) { GraphicsManager = graphicsManager; InputManager = inputManager; SaveFileManager = saveFileManager; }
public IEngine Create(GameSettings settings, IGraphicsManager gfxManager, IInputManager inputManager, IAudioOutput output, ISaveFileManager saveFileManager, bool debugMode = false) { return(new SwordEngine(settings, gfxManager, inputManager, output, saveFileManager, debugMode)); }
public static BasicShader LoadAutoreload(IGraphicsManager graphics, FileInfo fi) { return(LoadAutoreload(graphics, fi, null)); }
public ScummEngine2(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer) : base(game, graphicsManager, inputManager, mixer) { _flashlight.XStrips = 7; _flashlight.YStrips = 7; /*if (Game.Platform == Platform.NES) { InitNESMouseOver(); _switchRoomEffect2 = _switchRoomEffect = 6; } else*/ { InitV2MouseOver(); // Seems in V2 there was only a single room effect (iris), // so we set that here. _switchRoomEffect2 = 1; _switchRoomEffect = 5; } _inventoryOffset = 0; VariableSentenceVerb = null; VariableSentenceObject1 = null; VariableSentenceObject2 = null; VariableSentencePreposition = null; VariableBackupVerb = null; VariableClickArea = null; VariableClickVerb = null; VariableClickObject = null; }
public static BasicShader LoadAutoreload(IGraphicsManager graphics, FileInfo fi, Action <BasicShader> loadedDelegate) { return(LoadAutoreload(graphics, fi, loadedDelegate, null)); }