/// <summary> /// Create sound /// </summary> static Sound() { try { string dir = Directories.SoundsDirectory; audioEngine = new AudioEngine( Path.Combine(dir, "XnaShooter.xgs")); waveBank = new WaveBank(audioEngine, Path.Combine(dir, "Wave Bank.xwb")); // Dummy wavebank call to get rid of the warning that waveBank is // never used (well it is used, but only inside of XNA). if (waveBank != null) soundBank = new SoundBank(audioEngine, Path.Combine(dir, "Sound Bank.xsb")); // Get the music category to change the music volume and stop music musicCategory = audioEngine.GetCategory("Music"); } // try catch (Exception ex) { // Audio creation crashes in early xna versions, log it and ignore it! Log.Write("Failed to create sound class: " + ex.ToString()); } // catch }
public SoundPlayer(Game1 game, String settingsFile) : base(settingsFile + ".xgs") { this.game = game; waveBank = new WaveBank(this, settingsFile + ".xwb"); soundBank = new SoundBank(this, settingsFile + ".xsb"); musicCategory = base.GetCategory("Sound"); initialize(); }
public AudioManager(Game1 currentGame) { game = currentGame; engine = new AudioEngine("Content\\SFX\\SFX.xgs"); soundBank = new SoundBank(engine, "Content\\SFX\\Sound Bank.xsb"); waveBank = new WaveBank(engine, "Content\\SFX\\Wave Bank.xwb"); fxCat = engine.GetCategory("SFX"); fxCat.SetVolume(10f); }
public ScreenManager(Game game) : base(game) { // Start background music audioEngine = new AudioEngine(@"Content\Audio\boardClickSound.xgs"); soundBank = new SoundBank(audioEngine, @"Content\Audio\Sound Bank.xsb"); waveBank = new WaveBank(audioEngine, @"Content\Audio\Wave Bank.xwb"); audioCategory = audioEngine.GetCategory("background"); }
internal Cue( AudioEngine audioEngine, List <string> waveBankNames, string name, CueData data, bool managed ) { INTERNAL_baseEngine = audioEngine; Name = name; INTERNAL_data = data; IsPrepared = false; IsPreparing = true; foreach (XACTSound curSound in data.Sounds) { if (!curSound.HasLoadedTracks) { curSound.LoadTracks( INTERNAL_baseEngine, waveBankNames ); } } IsPrepared = true; IsPreparing = false; INTERNAL_isManaged = managed; INTERNAL_category = INTERNAL_baseEngine.INTERNAL_initCue( this, data.Category ); eventVolume = 1.0f; eventPitch = 0.0f; INTERNAL_userControlledPlaying = false; INTERNAL_isPositional = false; INTERNAL_eventList = new List <XACTEvent>(); INTERNAL_eventPlayed = new List <bool>(); INTERNAL_eventLoops = new Dictionary <XACTEvent, int>(); INTERNAL_waveEventSounds = new Dictionary <SoundEffectInstance, XACTEvent>(); INTERNAL_timer = new Stopwatch(); INTERNAL_instancePool = new List <SoundEffectInstance>(); INTERNAL_instanceVolumes = new List <float>(); INTERNAL_instancePitches = new List <float>(); INTERNAL_rpcTrackVolumes = new List <float>(); INTERNAL_rpcTrackPitches = new List <float>(); }
static Audio() { //Ladda in ljud-resurser audioEngine = new AudioEngine("Content/Audio/sounds.xgs"); waveBank = new WaveBank(audioEngine, "Content/Audio/Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, "Content/Audio/Sound Bank.xsb"); //Kategori på ljud i xact-projektet music = audioEngine.GetCategory("Music"); soundEffects = audioEngine.GetCategory("Sound Effects"); }
public MusicPlayer(Game1 game, String settingsFile, int totalTracks) : base(settingsFile+ ".xgs") { this.game = game; this.totalTracks = totalTracks; waveBank = new WaveBank(this, settingsFile+ ".xwb"); soundBank = new SoundBank(this, settingsFile+ ".xsb"); musicCategory = base.GetCategory("Music"); initialize(); }
public static void Initialize() { audioEngine = new AudioEngine(@"Content\audio\AudioProject.xgs"); soundBank = new SoundBank(audioEngine, @"Content\audio\SoundBank.xsb"); waveBank = new WaveBank(audioEngine, @"Content\audio\WaveBank.xwb"); soundCategory = audioEngine.GetCategory("Sound"); moveLoop1 = soundBank.GetCue("move_loop_1"); moveLoop2 = soundBank.GetCue("move_loop_2"); moveLoop3 = soundBank.GetCue("move_loop_3"); }
public AudioPlayer(ContentManager content) { engine = new AudioEngine("Content/Sounds/RecellectionSounds.xgs"); waves = new WaveBank(engine, "Content/Sounds/Wave Bank.xwb"); sounds = new SoundBank(engine, "Content/Sounds/Sound Bank.xsb"); soundCategory = engine.GetCategory("Default"); soundVolume = 1.0f; songs = new Song[1]; songs[0] = content.Load<Song>("Sounds/Songs/Castlevania"); MediaPlayer.IsMuted = true; }
/// <summary> /// AudioController Constructor. /// Initializes AudioEngine, SoundBank and WaveBank. /// </summary> private AudioController() { String path = System.Environment.CurrentDirectory; path = path.Replace(@"\bin\Debug", @"\Resources"); audioEngine = new AudioEngine(path + @"\sound.xgs"); WaveBank = new WaveBank(audioEngine, path + @"\Wave Bank.xwb"); SoundBank = new SoundBank(audioEngine, path + @"\Sound Bank.xsb"); NoteCategory = audioEngine.GetCategory("Notes"); NoteCategory.SetVolume(3.0f); AudioCategory BackgroundCategory = audioEngine.GetCategory("Background sound"); BackgroundCategory.SetVolume(2.0f); }
public SoundTrack(int bpm) { tick = new Stopwatch(); mpb = 60000.0m/bpm; soundBank = new SoundBank(BeatShift.engine, "Content\\XACT\\MusicTracks.xsb"); musicCategory = BeatShift.engine.GetCategory("Music"); loadTrack("City"); while (!track.IsPrepared) { // System.Diagnostic.Debug.WriteLine("Not yet prepped"); } SoundManager.Music += new VolumechangeHandler(setVolume); }
public override void Initialize() { base.Initialize(); m_AudioEngine = new AudioEngine(@"Content\Audio\GameSounds.xgs"); m_WaveBank = new WaveBank(m_AudioEngine, @"Content\Audio\Wave Bank.xwb"); m_SoundBank = new SoundBank(m_AudioEngine, @"Content\Audio\Sound Bank.xsb"); m_MusicCategory = m_AudioEngine.GetCategory("Music"); m_EffectsCategory = m_AudioEngine.GetCategory("Default"); // r_Factory.SetSoundBank(m_SoundBank); m_Music = m_SoundBank.GetCue("BGMusic"); m_Music.Play(); }
public OptionsScreen(ContentManager content, EventHandler theScreenEvent, Game1 game, GraphicsDeviceManager graphics) : base(theScreenEvent) { mOptionsScreenBackground = content.Load<Texture2D>("Images/Options"); _game = game; bigText = content.Load<SpriteFont>("Fonts/General"); backgroundMusic = Sounds.AudioEngine.GetCategory("Music"); effects = Sounds.AudioEngine.GetCategory("Effects"); volumeSlider = content.Load<Texture2D>(@"Images/VolumeBar"); checkBox = content.Load<Texture2D>(@"Images/CheckBox"); this.graphics = graphics; rowBar = new Texture2D(game.GraphicsDevice, 1, 1); rowBar.SetData<Color>(colorData); }
private SoundManager(Game game, Func<Vector3> getListenerPosition, Func<Vector3> getListenerForward, Func<Vector3> getListenerUp) : base(game) { audioEngine = new AudioEngine(@"Content\Audio\GameAudio.xgs"); waveBank = new WaveBank(audioEngine, @"Content\Audio\Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, @"Content\Audio\Sound Bank.xsb"); musicCategory = audioEngine.GetCategory("Default"); volume = 10; musicCategory.SetVolume(volume); cuelist = new List<Cue>(); BGMCuelist = new List<Cue>(); updateListenerForward = getListenerForward; updateListenerUp = getListenerUp; updateListenerPosition = getListenerPosition; listener = new AudioListener(); }
public SoundHelper(AudioEngine audioengine, System.IO.BinaryReader reader) { _priority = reader.ReadInt32(); int volume = reader.ReadInt32(); double attenuation_in_db = volume / 100.0f; GSGE.Debug.assert(attenuation_in_db <= 0); gain = (float)Math.Pow(10, attenuation_in_db / 20.0); GSGE.Debug.assert(gain <= 1.0f); _pitch = (float)(reader.ReadInt32() / 100.0f); int trackCount = reader.ReadInt32(); _tracks = new TrackHelper[trackCount]; for (int i = 0; i < trackCount; i++) { _tracks[i] = new TrackHelper(reader); } int strLen = reader.ReadInt16(); byte[] bytes = reader.ReadBytes((int)strLen); string catname = Encoding.ASCII.GetString(bytes); category = audioengine.GetCategory(catname); int rpcCount = reader.ReadInt32(); rpcs = new RPCCurve[rpcCount]; for (int i = 0; i < rpcCount; i++) { strLen = reader.ReadInt16(); bytes = reader.ReadBytes((int)strLen); string rpc = Encoding.ASCII.GetString(bytes); rpcs[i] = audioengine.GetRPC(rpc); } strLen = reader.ReadInt16(); bytes = reader.ReadBytes((int)strLen); effect = Encoding.ASCII.GetString(bytes); }
public AudioManager() { engine = new AudioEngine("Content/Sound/XACT Sound File.xgs"); waves = new WaveBank(engine, "Content/Sound/Wave Bank.xwb"); sounds = new SoundBank(engine, "Content/Sound/Sound Bank.xsb"); soundEffectCategory = engine.GetCategory("Sound Effect"); soundEffectCategory.SetVolume(sfxVolume); backgroundMusicCategory = engine.GetCategory("Music"); backgroundMusicCategory.SetVolume(backgroundVolume); //the default gun sound was much too loud, so I created its own category to set the //volume for only that sound gunshotCategory = engine.GetCategory("Gunshot"); gunshotCategory.SetVolume(gunshotVolume); Cue startSplashMusic = sounds.GetCue("Drum n Bass D Coexistant"); playFirstBackgroundMusic(startSplashMusic); }
public MusicManager(float lightThreshold, float darkThreshold) { LightThreshold = lightThreshold; DarkThreshold = darkThreshold; audioEngine = new AudioEngine("Content/audio/test.xgs"); waveBank = new WaveBank(audioEngine, "Content/audio/Wave Bank1.xwb"); soundBank = new SoundBank(audioEngine, "Content/audio/Sound Bank.xsb"); light = audioEngine.GetCategory("Light"); dark = audioEngine.GetCategory("Dark"); light2 = audioEngine.GetCategory("Light2"); dark2 = audioEngine.GetCategory("Dark2"); CurrentStage = 0; NextStage = 0; light.SetVolume(0.0f); dark.SetVolume(0.0f); light2.SetVolume(0.0f); dark2.SetVolume(0.0f); }
} // enum Sounds #endregion #region Constructor /// <summary> /// Create sound /// </summary> static Sound() { try { audioEngine = new AudioEngine(@"Content\Sounds\GameSounds.xgs"); waveBank = new WaveBank(audioEngine, @"Content\Sounds\Wave Bank.xwb"); if (waveBank != null) soundBank = new SoundBank(audioEngine, @"Content\Sounds\Sound Bank.xsb"); // Get the music category to change the music volume and stop music musicCategory = audioEngine.GetCategory("Music"); } // try catch (Exception ex) { Log.Instance.Write("Failed to create sound class: " + ex.ToString()); } // catch } // Sound()
internal Cue( AudioEngine audioEngine, List <string> waveBankNames, string name, CueData data, bool managed ) { INTERNAL_baseEngine = audioEngine; Name = name; INTERNAL_data = data; foreach (XACTSound curSound in data.Sounds) { if (!curSound.HasLoadedTracks) { curSound.LoadTracks( INTERNAL_baseEngine, waveBankNames ); } } INTERNAL_isManaged = managed; INTERNAL_category = INTERNAL_baseEngine.INTERNAL_initCue( this, data.Category ); INTERNAL_userControlledPlaying = false; INTERNAL_isPositional = false; INTERNAL_queuedPlayback = false; INTERNAL_queuedPaused = false; INTERNAL_instancePool = new List <SoundEffectInstance>(); INTERNAL_instanceVolumes = new List <float>(); INTERNAL_instancePitches = new List <float>(); }
internal Cue( AudioEngine audioEngine, List<string> waveBankNames, string name, CueData data, bool managed ) { INTERNAL_baseEngine = audioEngine; Name = name; INTERNAL_data = data; foreach (XACTSound curSound in data.Sounds) { if (!curSound.HasLoadedTracks) { curSound.LoadTracks( INTERNAL_baseEngine, waveBankNames ); } } INTERNAL_isManaged = managed; INTERNAL_category = INTERNAL_baseEngine.INTERNAL_initCue( this, data.Category ); INTERNAL_userControlledPlaying = false; INTERNAL_isPositional = false; INTERNAL_queuedPlayback = false; INTERNAL_queuedPaused = false; INTERNAL_instancePool = new List<SoundEffectInstance>(); INTERNAL_instanceVolumes = new List<float>(); INTERNAL_instancePitches = new List<float>(); }
public void Initialize(IServiceProvider serviceProvider,Options options) { popUpText = new DrawableText(); content = new ContentManager(serviceProvider, "Data"); popUpText.font = content.Load<SpriteFont>("Stuff\\Arial"); popUpBG = content.Load<Texture2D>("Stuff\\popUpBG"); popUpText.Text = ""; popUpText.color = Color.White; this.options = options; options.MusicVolumeChanged += new MusicVolumeChangedEventHandler(options_MusicVolumeChanged); options.ResolutionChanged += new ResolutionChangedEventHandler(options_ResolutionChanged); audioEngine = new AudioEngine(GameConstants.AUDIO_PATH + "Music.xgs"); waveBank = new WaveBank(audioEngine, GameConstants.AUDIO_PATH + "Music.xwb"); soundBank = new SoundBank(audioEngine, GameConstants.AUDIO_PATH + "Music.xsb"); menuCategory = audioEngine.GetCategory("Music"); graphXPackCategory = menuCategory; menuCategory.SetVolume(options.MusicVolumeFloat); playList = FileManager.GetFileDictString(GameConstants.MENU_PLAYLIST); currentPlaylist = playList; oldVolume = options.MusicVolumeFloat; currentVolume = options.MusicVolumeFloat; currentCategory = menuCategory; CreatePopUpRectangle(options.Resolution); }
/// <summary> /// Used to get the category from the Xact file /// </summary> /// <param name="categoryname">A string of the name of the category i.e "Music"</param> /// <returns>Returns an AudioCategory</returns> public AudioCategory GetCategory(string categoryname) { musicCategory = engine.GetCategory(categoryname); return musicCategory; }
public float ChangeVolume(AudioCategory category, float volume, bool increase, float maxVolume) { if (increase) { volume = MathHelper.Clamp(volume + 0.01f, 0.0f, maxVolume); } else volume = MathHelper.Clamp(volume - 0.01f, 0.0f, maxVolume); category.SetVolume(volume); return volume; }
/// <summary> /// Allows the game component to perform any initialization it needs to before starting /// to run. This is where it can query for any required services and load content. /// </summary> public override void Initialize() { botones = new List<Boton>(); seleccionados = new List<Boton>(); seguros = new List<Boton>(); posicionFrameY = new int[4]; tamFrameX = new int[4]; tamFrameY = new int[4]; posicionFrameYs = new int[4]; tamFrameXs = new int[4]; tamFrameYs = new int[4]; pulsados = new Boolean[4]; posicionBotonY = 276; posicionBotonX = 730; posicionSeleccionado = 720; direccion = 0; velocidad = 50; idBoton = 0; mostrarSeguro = false; posicionFrameY[0] = 1346; posicionFrameY[1] = 1375; posicionFrameY[2] = 1407; posicionFrameY[3] = 1443; tamFrameX[0] = 164; tamFrameX[1] = 234; tamFrameX[2] = 77; tamFrameX[3] = 177; tamFrameY[0] = 29; tamFrameY[1] = 31; tamFrameY[2] = 30; tamFrameY[3] = 35; posicionFrameYs[0] = 901; posicionFrameYs[1] = 991; posicionFrameYs[2] = 1125; posicionFrameYs[3] = 1254; tamFrameXs[0] = 504; tamFrameXs[1] = 434; tamFrameXs[2] = 543; tamFrameXs[3] = 202; tamFrameYs[0] = 90; tamFrameYs[1] = 134; tamFrameYs[2] = 129; tamFrameYs[3] = 92; menu = new Mapa( Game.Content.Load<Texture2D>(@"Images/menuSprite"), new Vector2(0, 0), new Point(1366, 768), new Point(0, 0), new Point(0, 0), new Point(0, 0), Vector2.Zero, 0f, 1000, 0f); pointer = new StaticSprite( Game.Content.Load<Texture2D>(@"Images/cursor"), new Vector2(0, 0), new Point(24, 28), new Point(5, 5), new Point(0, 0), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.9f); for (int i = 0; i < 4; i++) { botones.Add(new Boton( Game.Content.Load<Texture2D>(@"Images/menuSprite"), new Vector2(1000, posicionBotonY), new Point(tamFrameX[i], tamFrameY[i]), new Point(0, posicionFrameY[i]), new Point(0, posicionFrameY[i]), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.1f) ); posicionBotonY += tamFrameY[i] + 30; } for (int i = 0; i < 4; i++) { seleccionados.Add(new Boton( Game.Content.Load<Texture2D>(@"Images/menuSprite"), new Vector2(posicionBotonX, 85), new Point(tamFrameXs[i], tamFrameYs[i]), new Point(0, posicionFrameYs[i]), new Point(0, posicionFrameYs[i]), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.1f) ); posicionBotonX += tamFrameXs[i] + 300; } seguros.Add(new Boton( Game.Content.Load<Texture2D>(@"Images/menuSprite"), new Vector2(525, 380), new Point(33,33), new Point(0,0), new Point(0, 1687), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.89f) ); seguros.Add(new Boton( Game.Content.Load<Texture2D>(@"Images/menuSprite"), new Vector2(675, 380), new Point(51, 33), new Point(0, 0), new Point(0, 1720), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.89f) ); seguros.Add(new Boton( Game.Content.Load<Texture2D>(@"Images/menuSprite"), new Vector2(450, 250), new Point(350, 210), new Point(0, 0), new Point(0, 1478), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.89f) ); // TODO: Add your initialization code here spriteBatch = new SpriteBatch(Game.GraphicsDevice); audioEngine = new AudioEngine(@"Content\Sonidos\sonidos.xgs"); waveBank = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank.xsb"); musicaWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Music.xwb"); musicaBank = new SoundBank(audioEngine, @"Content\Sonidos\Music Bank.xsb"); musicCategory = audioEngine.GetCategory("Default"); reproducirMusica("menu"); }
public AudioEngine(string settingsFile, TimeSpan lookAheadTime, string rendererId) { //Read the xact settings file //Credits to alisci01 for initial format documentation using (var stream = File.OpenRead(settingsFile)) using (var reader = new BinaryReader(stream)) { uint magic = reader.ReadUInt32(); if (magic != 0x46534758) //'XGFS' { throw new ArgumentException("XGS format not recognized"); } uint toolVersion = reader.ReadUInt16(); uint formatVersion = reader.ReadUInt16(); #if DEBUG if (formatVersion != 42) { Console.WriteLine("Warning: XGS format not supported"); } #endif uint crc = reader.ReadUInt16(); //?? uint lastModifiedLow = reader.ReadUInt32(); uint lastModifiedHigh = reader.ReadUInt32(); reader.ReadByte(); //unkn, 0x03. Platform? uint numCats = reader.ReadUInt16(); uint numVars = reader.ReadUInt16(); reader.ReadUInt16(); //unkn, 0x16 reader.ReadUInt16(); //unkn, 0x16 uint numRpc = reader.ReadUInt16(); uint numDspPresets = reader.ReadUInt16(); uint numDspParams = reader.ReadUInt16(); uint catsOffset = reader.ReadUInt32(); uint varsOffset = reader.ReadUInt32(); reader.ReadUInt32(); //unknown, leads to a short with value of 1? uint catNameIndexOffset = reader.ReadUInt32(); reader.ReadUInt32(); //unknown, two shorts of values 2 and 3? uint varNameIndexOffset = reader.ReadUInt32(); uint catNamesOffset = reader.ReadUInt32(); uint varNamesOffset = reader.ReadUInt32(); uint rpcOffset = reader.ReadUInt32(); uint dspPresetsOffset = reader.ReadUInt32(); uint dspParamsOffset = reader.ReadUInt32(); reader.BaseStream.Seek(catNamesOffset, SeekOrigin.Begin); string[] categoryNames = readNullTerminatedStrings(numCats, reader); categories = new AudioCategory[numCats]; reader.BaseStream.Seek(catsOffset, SeekOrigin.Begin); for (int i = 0; i < numCats; i++) { categories [i] = new AudioCategory(this, categoryNames [i], reader); categoryLookup.Add(categoryNames [i], i); } reader.BaseStream.Seek(varNamesOffset, SeekOrigin.Begin); string[] varNames = readNullTerminatedStrings(numVars, reader); variables = new Variable[numVars]; reader.BaseStream.Seek(varsOffset, SeekOrigin.Begin); for (int i = 0; i < numVars; i++) { variables [i].name = varNames [i]; byte flags = reader.ReadByte(); variables [i].isPublic = (flags & 0x1) != 0; variables [i].isReadOnly = (flags & 0x2) != 0; variables [i].isGlobal = (flags & 0x4) == 0; variables [i].isReserved = (flags & 0x8) != 0; variables [i].initValue = reader.ReadSingle(); variables [i].minValue = reader.ReadSingle(); variables [i].maxValue = reader.ReadSingle(); variables [i].value = variables [i].initValue; variableLookup.Add(varNames [i], i); } rpcCurves = new RpcCurve[numRpc]; reader.BaseStream.Seek(rpcOffset, SeekOrigin.Begin); for (int i = 0; i < numRpc; i++) { rpcCurves [i].variable = reader.ReadUInt16(); int pointCount = (int)reader.ReadByte(); rpcCurves [i].parameter = (RpcParameter)reader.ReadUInt16(); rpcCurves [i].points = new RpcPoint[pointCount]; for (int j = 0; j < pointCount; j++) { rpcCurves [i].points [j].x = reader.ReadSingle(); rpcCurves [i].points [j].y = reader.ReadSingle(); rpcCurves [i].points [j].type = (RpcPointType)reader.ReadByte(); } } } }
/// <param name="settingsFile">Path to a XACT settings file.</param> /// <param name="lookAheadTime">Determines how many milliseconds the engine will look ahead when determing when to transition to another sound.</param> /// <param name="rendererId">A string that specifies the audio renderer to use.</param> /// <remarks>For the best results, use a lookAheadTime of 250 milliseconds or greater.</remarks> public AudioEngine(string settingsFile, TimeSpan lookAheadTime, string rendererId) { if (string.IsNullOrEmpty(settingsFile)) { throw new ArgumentNullException("settingsFile"); } // Read the xact settings file // Credits to alisci01 for initial format documentation using (var stream = OpenStream(settingsFile)) using (var reader = new BinaryReader(stream)) { uint magic = reader.ReadUInt32(); if (magic != 0x46534758) //'XGFS' { throw new ArgumentException("XGS format not recognized"); } reader.ReadUInt16(); // toolVersion uint formatVersion = reader.ReadUInt16(); if (formatVersion != 42) { Debug.WriteLine("Warning: XGS format " + formatVersion + " not supported!"); } reader.ReadUInt16(); // crc reader.ReadUInt32(); // lastModifiedLow reader.ReadUInt32(); // lastModifiedHigh reader.ReadByte(); //unkn, 0x03. Platform? uint numCats = reader.ReadUInt16(); uint numVars = reader.ReadUInt16(); reader.ReadUInt16(); //unkn, 0x16 reader.ReadUInt16(); //unkn, 0x16 uint numRpc = reader.ReadUInt16(); uint numDspPresets = reader.ReadUInt16(); uint numDspParams = reader.ReadUInt16(); uint catsOffset = reader.ReadUInt32(); uint varsOffset = reader.ReadUInt32(); reader.ReadUInt32(); //unknown, leads to a short with value of 1? reader.ReadUInt32(); // catNameIndexOffset reader.ReadUInt32(); //unknown, two shorts of values 2 and 3? reader.ReadUInt32(); // varNameIndexOffset uint catNamesOffset = reader.ReadUInt32(); uint varNamesOffset = reader.ReadUInt32(); uint rpcOffset = reader.ReadUInt32(); reader.ReadUInt32(); // dspPresetsOffset uint dspParamsOffset = reader.ReadUInt32(); reader.BaseStream.Seek(catNamesOffset, SeekOrigin.Begin); string[] categoryNames = ReadNullTerminatedStrings(numCats, reader); _categories = new AudioCategory[numCats]; reader.BaseStream.Seek(catsOffset, SeekOrigin.Begin); for (int i = 0; i < numCats; i++) { _categories [i] = new AudioCategory(this, categoryNames [i], reader); _categoryLookup.Add(categoryNames [i], i); } reader.BaseStream.Seek(varNamesOffset, SeekOrigin.Begin); string[] varNames = ReadNullTerminatedStrings(numVars, reader); var variables = new List <RpcVariable>(); var cueVariables = new List <RpcVariable>(); var globalVariables = new List <RpcVariable>(); reader.BaseStream.Seek(varsOffset, SeekOrigin.Begin); for (var i = 0; i < numVars; i++) { var v = new RpcVariable(); v.Name = varNames[i]; v.Flags = reader.ReadByte(); v.InitValue = reader.ReadSingle(); v.MinValue = reader.ReadSingle(); v.MaxValue = reader.ReadSingle(); v.Value = v.InitValue; variables.Add(v); if (!v.IsGlobal) { cueVariables.Add(v); } else { globalVariables.Add(v); _variableLookup.Add(v.Name, globalVariables.Count - 1); } } _cueVariables = cueVariables.ToArray(); _variables = globalVariables.ToArray(); var reverbCurves = new List <RpcCurve>(); RpcCurves = new RpcCurve[numRpc]; if (numRpc > 0) { reader.BaseStream.Seek(rpcOffset, SeekOrigin.Begin); for (var i = 0; i < numRpc; i++) { var curve = new RpcCurve(); curve.FileOffset = (uint)reader.BaseStream.Position; var variable = variables[reader.ReadUInt16()]; if (variable.IsGlobal) { curve.IsGlobal = true; curve.Variable = globalVariables.FindIndex(e => e.Name == variable.Name); } else { curve.IsGlobal = false; curve.Variable = cueVariables.FindIndex(e => e.Name == variable.Name); } var pointCount = (int)reader.ReadByte(); curve.Parameter = (RpcParameter)reader.ReadUInt16(); curve.Points = new RpcPoint[pointCount]; for (var j = 0; j < pointCount; j++) { curve.Points[j].Position = reader.ReadSingle(); curve.Points[j].Value = reader.ReadSingle(); curve.Points[j].Type = (RpcPointType)reader.ReadByte(); } // If the parameter is greater than the max then this is a DSP // parameter which is for reverb. var dspParameter = curve.Parameter - RpcParameter.NumParameters; if (dspParameter >= 0 && variable.IsGlobal) { reverbCurves.Add(curve); } RpcCurves[i] = curve; } } _reverbCurves = reverbCurves.ToArray(); if (numDspPresets > 0) { // Note: It seemed like MS designed this to support multiple // DSP effects, but in practice XACT only has one... Microsoft Reverb. // // So because of this we know exactly how many presets and // parameters we should have. if (numDspPresets != 1) { throw new Exception("Unexpected number of DSP presets!"); } if (numDspParams != 22) { throw new Exception("Unexpected number of DSP parameters!"); } reader.BaseStream.Seek(dspParamsOffset, SeekOrigin.Begin); _reverbSettings = new ReverbSettings(reader); } } _stopwatch = new Stopwatch(); _stopwatch.Start(); }
//+++++++++++++++++++++++ INITIALIZE +++++++++++++++++ /// <summary> /// Allows the game component to perform any initialization it needs to before starting /// to run. This is where it can query for any required services and load content. /// </summary> public override void Initialize() { rnd = new Random(); texto = ""; tiempoMuertoKielTotal = 7000; estaEnSuSitio = false; kielMuertoSprite = false; tiempoMuertoKiel = 0; kielMuerto = false; tocaRayoKiel = false; tiempoTocaRayoKiel = 5000; currMouseState = Mouse.GetState(); lastMouseState = Mouse.GetState(); fondo = false; completoDelTo = false; tiempoFin = 0; collisionOffSet = Point.Zero; cayendo = false; tiempoLluvia = 0; densidadLluvia2 = 500; tiempoLluvia2 = 0; colision = 0; colisiond = 0; colisioni = 0; parada = 0; alturaTerreno = 4; jumpTimer = -10f; tiempoVelocidadSalto = 0; mundo1 = new Mundo(2.2f); currentDisparoState = DisparoState.Quieto; currentGravedadState = GravedadState.Aire; borrarBala = false; filas = 20; columnas = 0; count = 0; spriteList = new List<AutomatedSprite>(); kiel = new List<JefeFinal>(); disparoList = new List<Disparo>(); lluviaList = new List<Disparo>(); lluviaList2 = new List<Disparo>(); mapaList = new List<Mapa>(); terrenoList = new List<Mapa>(); terrenoList2 = new List<Mapa>(); terrenoListSuelo = new List<Mapa>(); fondoList1 = new List<Mapa>(); fondoList2 = new List<Mapa>(); map = new List<Point>(); disparoJefeList = new List<Mapa>(); jefeList = new List<Jefe>(); vidaList = new List<Mapa>(); vidaList2 = new List<Mapa>(); vidaListKiel = new List<Mapa>(); vidaList2Kiel = new List<Mapa>(); tigres = new List<Mapa>(); maxPosBloque = 0f; terrenoTiempoPasado = 0; terrenoDireccion = 0; terrenoDireccionAnterior = 4; terrenoTiempo = 100; temblorTerrenoTime = 0; temblorTerrenoElec = 0; temblorTerrenoNivel = 3; arrastre = 0; //Lluvia densidadLluvia = 500; //milisegundos entre mota velocidadLluvia = 6f; viento = -2; enemySpawnMinMilliseconds = 1000; enemySpawnMaxMilliseconds = 2000; enemyMinSpeed = 2; enemyMaxSpeed = 6; nextSpawnTime = 0; //Variables jefe respawnJefeMin = 0; respawnJefeMax = 1; //Posiciones posicionTerrenoX = 0; posicionTerrenoY = 700; posicionTerrenoBase = 0; posicionFondo1 = -1000; posicionFondo2 = -1000; //Disparo delayDisparo = 200; delayDisparoCurrent = 900; animaDisparo = 0; //Monsturo heridoDelayCurrent = 0; //Mapa cambioMapaDelay = 8000; cambioMapaDelayCurrent = 0; hastaMapa1 = 8000; hastaMapa2 = 15000; currentParteMapa = ParteMapa.Suelo; numFondo1 = 0; numFondo2 = 0; numTerreno1 = 0; capaTerreno = 0.5f; //Muerte caido = false; puntosControl = new List<float>(); puntoControl = 0; vidaPos = 0; vidaPosKiel = 0; tiempoHerido = 500f; tiempoMuerto = 0; muertoDelTo = false; for (int n = 0; n < 200; n++) map.Add(new Point(2, 0)); spriteBatch = new SpriteBatch(Game.GraphicsDevice); audioEngine = new AudioEngine(@"Content\Sonidos\sonidos.xgs"); waveBank = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank.xsb"); waveBank2 = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank 2.xwb"); soundBank2 = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank 2.xsb"); musicaWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Music.xwb"); musicaBank = new SoundBank(audioEngine, @"Content\Sonidos\Music Bank.xsb"); ambientWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Ambient.xwb"); ambientBank = new SoundBank(audioEngine, @"Content\Sonidos\Ambient Bank.xsb"); musicCategory = audioEngine.GetCategory("Default"); musicCategory.SetVolume(0); //disparoJefeList.Add(new Mapa( // Game.Content.Load<Texture2D>(@"Images/DisparoJefe"), // new Vector2(kiel.getPlayerPosition.X + posxDisparoKiel, kiel.getPlayerPosition.Y), // new Point(0, 0), // new Point(200, 200), // new Point(0, 0), // new Point(4, 1), // new Vector2(0f, 0), // 0f, // 1000, 0.89f)); complete = new Mapa( Game.Content.Load<Texture2D>(@"Images/LevelComplete"), new Vector2(120, 120), new Point(1140, 496), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f); vidaList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPos += 7; for (int i = 0; i < 28; i++) { vidaList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(1, 0), new Point(1, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPos += 7; } vidaList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(2, 0), new Point(2, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPos = 0; vidaList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(0, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPos += 7; for (int i = 0; i < 28; i++) { vidaList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(1, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPos += 7; } vidaList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(2, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPos += 7; //Vida de kiel vidaListKiel.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSpriteKiel"), new Vector2(500 + vidaPosKiel, 30), new Point(10, 23), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPosKiel += 7; for (int i = 0; i < 98; i++) { vidaListKiel.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSpriteKiel"), new Vector2(500 + vidaPosKiel, 30), new Point(10, 23), new Point(0, 0), new Point(1, 0), new Point(1, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPosKiel += 7; } vidaListKiel.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSpriteKiel"), new Vector2(500 + vidaPosKiel, 30), new Point(10, 23), new Point(0, 0), new Point(2, 0), new Point(2, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPosKiel = 0; vidaList2Kiel.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSpriteKiel"), new Vector2(500 + vidaPosKiel, 30), new Point(10, 23), new Point(0, 0), new Point(0, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPosKiel += 7; for (int i = 0; i < 98; i++) { vidaList2Kiel.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSpriteKiel"), new Vector2(500 + vidaPosKiel, 30), new Point(10, 23), new Point(0, 0), new Point(1, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPosKiel += 7; } vidaList2Kiel.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSpriteKiel"), new Vector2(500 + vidaPosKiel, 30), new Point(10, 23), new Point(0, 0), new Point(2, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPosKiel += 7; player = new UserControlledSprite( Game.Content.Load<Texture2D>(@"Images/pj"), new Vector2((1366 / 2) - 152, 300), new Point(194, 178), new Point(collisionOffSet.X, collisionOffSet.Y), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 70, 0.80f, 30); pointer = new StaticSprite( Game.Content.Load<Texture2D>(@"Images/cursor"), new Vector2(0, 0), new Point(24, 28), new Point(5, 5), new Point(0, 0), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.9f); reproducirMusica("kiel"); reproducirAmbiente("viento"); trackCue = soundBank.GetCue("caido"); trackCue2 = soundBank2.GetCue("bicho1"); //Suelo(-100, posicionTerrenoY, 0, -600, terrenoList); SueloGrande(0, posicionTerrenoY, 0, -100, terrenoList); SueloGrande(posicionTerrenoX + 1000, posicionTerrenoY, 0, 0, terrenoList); Escaleras(-400 , posicionTerrenoY - 200, 600, 0, 2, terrenoList2, 0.210f, true); kiel.Add(new JefeFinal( Game.Content.Load<Texture2D>(@"Images/kiel"), new Vector2(500, 20), new Point(180, 200), new Point(80, 30), new Point(0, 0), new Point(4, 2), new Vector2(5, 5), 0f, 400, 0.95f, 100)); final = new Mapa( Game.Content.Load<Texture2D>(@"Images/final"), new Vector2(posicionTerrenoX + 2000, posicionTerrenoY - 146), new Point(171, 156), new Point(0, 0), new Point(0, 1), new Point(4, 3), new Vector2(0f, 0), 0f, 200, 0.9f); posicionTerrenoX = 0; posicionTerrenoY = 0; //Escaleras(posicionTerrenoX + 600, posicionTerrenoY, 100, 10, 10, terrenoList2, 0.210f, true); //SegundoPlano(); foreach (Sprite s in terrenoList2) { s.getEscala = 0.8f; s.GetCollisionOffSet = new Point(60, 60); } puntuacionFuente = Game.Content.Load<SpriteFont>(@"Fuentes\fuente"); player.setTamAura = 300; foreach (Sprite s in jefeList) s.setTamAura = 400; }
//////////////////////////////////////////////////////////////////////////////// protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); title_sprite = Content.Load<Texture2D> ("images/title_trans"); title_yellow = Content.Load<Texture2D> ("images/title_yellow"); title_green = Content.Load<Texture2D> ("images/title_green"); title_blue = Content.Load<Texture2D> ("images/title_blue"); title_red = Content.Load<Texture2D> ("images/title_red"); title_orange = Content.Load<Texture2D> ("images/title_orange"); menu_new_sprite = Content.Load<Texture2D> ("images/menu_newgame"); menu_instruct_sprite = Content.Load<Texture2D> ("images/menu_instruct"); menu_exit_sprite = Content.Load<Texture2D> ("images/menu_exit"); menu_resume_sprite = Content.Load<Texture2D> ("images/menu_resume"); ng_sprite = Content.Load<Texture2D> ("images/ng"); menu_credits_sprite = Content.Load<Texture2D> ("images/credits_sprite2"); bg1 = Content.Load<Texture2D> ("images/bg1c"); bg2 = Content.Load<Texture2D> ("images/bg2"); bg3 = Content.Load<Texture2D> ("images/bg3"); bg4 = Content.Load<Texture2D> ("images/bg4"); bg5 = Content.Load<Texture2D> ("images/bg5"); bg6 = Content.Load<Texture2D> ("images/bg6"); instructions1 = Content.Load<Texture2D> ("images/instructions1"); instructions2 = Content.Load<Texture2D> ("images/instructions2"); //instructions_blur = Content.Load<Texture2D> ("images/instructions_blur"); credits_screen = Content.Load<Texture2D> ("images/credits7"); chart_sprite = Content.Load<Texture2D> ("images/Chart1"); chart_stuff_sprite = Content.Load<Texture2D> ("images/Chart2"); wall_sprite = Content.Load<Texture2D> ("images/Walls"); conveyor_sprite = Content.Load<Texture2D> ("images/Conveyor"); grabber_sprite = Content.Load<Texture2D> ("images/Grabber"); lightning_sprite = Content.Load<Texture2D> ("images/Lightning"); frame_sprite = Content.Load<Texture2D> ("images/Frame3"); block_sprite = Content.Load<Texture2D> ("images/Blocks"); big_purple_sprite = Content.Load<Texture2D> ("images/bigpurple"); rainbow_sprite = Content.Load<Texture2D> ("images/Rainbow"); box_sprite = Content.Load<Texture2D> ("images/Box2"); box_newgame_sprite = Content.Load<Texture2D> ("images/box_newgame"); box_difficulty_sprite = Content.Load<Texture2D> ("images/box_difficulty"); box_menu_sprite = Content.Load<Texture2D> ("images/box_menu"); box_sound_sprite = Content.Load<Texture2D> ("images/box_sound"); box_on_sprite = Content.Load<Texture2D> ("images/box_on"); box_off_sprite = Content.Load<Texture2D> ("images/box_off"); box_music_sprite = Content.Load<Texture2D> ("images/box_music"); box_on2_sprite = Content.Load<Texture2D> ("images/box_on2"); box_off2_sprite = Content.Load<Texture2D> ("images/box_off2"); box_1_sprite = Content.Load<Texture2D> ("images/box_1"); box_2_sprite = Content.Load<Texture2D> ("images/box_2"); box_3_sprite = Content.Load<Texture2D> ("images/box_3"); box_4_sprite = Content.Load<Texture2D> ("images/box_4"); box_5_sprite = Content.Load<Texture2D> ("images/box_5"); box_6_sprite = Content.Load<Texture2D> ("images/box_6"); box_7_sprite = Content.Load<Texture2D> ("images/box_7"); box_8_sprite = Content.Load<Texture2D> ("images/box_8"); box_9_sprite = Content.Load<Texture2D> ("images/box_9"); box_10_sprite = Content.Load<Texture2D> ("images/box_10"); box_height_sprite = Content.Load<Texture2D> ("images/box_height"); box_exit_sprite = Content.Load<Texture2D> ("images/box_exit"); box_timer_sprite = Content.Load<Texture2D> ("images/box_timer"); timer_0_sprite = Content.Load<Texture2D> ("images/timer_0"); timer_1_sprite = Content.Load<Texture2D> ("images/timer_1"); timer_2_sprite = Content.Load<Texture2D> ("images/timer_2"); timer_3_sprite = Content.Load<Texture2D> ("images/timer_3"); timer_4_sprite = Content.Load<Texture2D> ("images/timer_4"); timer_5_sprite = Content.Load<Texture2D> ("images/timer_5"); timer_6_sprite = Content.Load<Texture2D> ("images/timer_6"); timer_7_sprite = Content.Load<Texture2D> ("images/timer_7"); timer_8_sprite = Content.Load<Texture2D> ("images/timer_8"); timer_9_sprite = Content.Load<Texture2D> ("images/timer_9"); counter_0_sprite = Content.Load<Texture2D> ("images/counter_0"); counter_1_sprite = Content.Load<Texture2D> ("images/counter_1"); counter_2_sprite = Content.Load<Texture2D> ("images/counter_2"); counter_3_sprite = Content.Load<Texture2D> ("images/counter_3"); counter_4_sprite = Content.Load<Texture2D> ("images/counter_4"); counter_5_sprite = Content.Load<Texture2D> ("images/counter_5"); counter_6_sprite = Content.Load<Texture2D> ("images/counter_6"); counter_7_sprite = Content.Load<Texture2D> ("images/counter_7"); counter_8_sprite = Content.Load<Texture2D> ("images/counter_8"); counter_9_sprite = Content.Load<Texture2D> ("images/counter_9"); counter_label = Content.Load<Texture2D> ("images/blocksleft3"); blockhead_logo_sprite = Content.Load<Texture2D> ("images/blockhead3"); youwin_sprite = Content.Load<Texture2D> ("images/youwin"); youlose_sprite = Content.Load<Texture2D> ("images/youlose"); particle_red = Content.Load<Texture2D> ("images/particle_red"); particle_orange = Content.Load<Texture2D> ("images/particle_orange"); particle_yellow = Content.Load<Texture2D> ("images/particle_yellow"); particle_green = Content.Load<Texture2D> ("images/particle_green"); particle_blue = Content.Load<Texture2D> ("images/particle_blue"); particle_purple = Content.Load<Texture2D> ("images/particle_purple"); particle_white = Content.Load<Texture2D> ("images/particle_white"); particle_grey = Content.Load<Texture2D> ("images/particle_grey"); particle_black = Content.Load<Texture2D> ("images/particle_black"); particle_smoke_sprite = Content.Load<Texture2D> ("images/particle_smoke"); solid_black = Content.Load<Texture2D> ("images/solid_black"); solid_white = Content.Load<Texture2D> ("images/solid_white"); solid_red = Content.Load<Texture2D> ("images/solid_red"); solid_orange = Content.Load<Texture2D> ("images/solid_orange"); solid_yellow = Content.Load<Texture2D> ("images/solid_yellow"); solid_green = Content.Load<Texture2D> ("images/solid_green"); solid_blue = Content.Load<Texture2D> ("images/solid_blue"); solid_purple = Content.Load<Texture2D> ("images/solid_purple"); color_flash_sprite = Content.Load<Texture2D> ("images/solid_white"); splash_sprite = Content.Load<Texture2D> ("images/splash2"); intro_lightning1_sprite = Content.Load<Texture2D> ("images/lightning1a"); intro_lightning2_sprite = Content.Load<Texture2D> ("images/lightning2"); intro_lightning3_sprite = Content.Load<Texture2D> ("images/lightning3"); credits_hypno = Content.Load<Texture2D> ("images/hypno3"); demolition_sprite = Content.Load<Texture2D> ("images/demolition1c"); title_bg_sprite = title_green; debug_font = Content.Load<SpriteFont>("Kooten"); audioEngine = new AudioEngine("Content/blockhead_sound.xgs"); waveBank = new WaveBank(audioEngine, "Content/Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, "Content/Sound Bank.xsb"); sound_category = audioEngine.GetCategory("Default"); music_category = audioEngine.GetCategory("Music"); sound_category.SetVolume(sound_volume); music_category.SetVolume(music_volume); }
public override void LoadContent() { if (content == null) content = new ContentManager(ScreenManager.Game.Services, "Content"); audioEngine = new AudioEngine("Content\\soundProject.xgs"); waveBankSFX = new WaveBank(audioEngine, "Content\\SFX.xwb"); waveBankBGM = new WaveBank(audioEngine, "Content\\BGM.xwb", 0, 4); soundBank = new SoundBank(audioEngine, "Content\\Sound Bank.xsb"); audioEngine.Update(); defaultCategory = audioEngine.GetCategory("Default"); defaultCategory.SetVolume(OptionsMenuScreen.sfxVolume / 10); }
/// <param name="settingsFile">Path to a XACT settings file.</param> /// <param name="lookAheadTime">Determines how many milliseconds the engine will look ahead when determing when to transition to another sound.</param> /// <param name="rendererId">A string that specifies the audio renderer to use.</param> /// <remarks>For the best results, use a lookAheadTime of 250 milliseconds or greater.</remarks> public AudioEngine (string settingsFile, TimeSpan lookAheadTime, string rendererId) { //Read the xact settings file //Credits to alisci01 for initial format documentation #if !ANDROID using (var stream = TitleContainer.OpenStream(settingsFile)) { #else using (var fileStream = Game.Activity.Assets.Open(settingsFile)) { MemoryStream stream = new MemoryStream(); fileStream.CopyTo(stream); stream.Position = 0; #endif using (var reader = new BinaryReader(stream)) { uint magic = reader.ReadUInt32 (); if (magic != 0x46534758) { //'XGFS' throw new ArgumentException ("XGS format not recognized"); } reader.ReadUInt16 (); // toolVersion uint formatVersion = reader.ReadUInt16 (); #if DEBUG if (formatVersion != 42) { System.Diagnostics.Debug.WriteLine ("Warning: XGS format not supported"); } #endif reader.ReadUInt16 (); // crc reader.ReadUInt32 (); // lastModifiedLow reader.ReadUInt32 (); // lastModifiedHigh reader.ReadByte (); //unkn, 0x03. Platform? uint numCats = reader.ReadUInt16 (); uint numVars = reader.ReadUInt16 (); reader.ReadUInt16 (); //unkn, 0x16 reader.ReadUInt16 (); //unkn, 0x16 uint numRpc = reader.ReadUInt16 (); reader.ReadUInt16 (); // numDspPresets reader.ReadUInt16 (); // numDspParams uint catsOffset = reader.ReadUInt32 (); uint varsOffset = reader.ReadUInt32 (); reader.ReadUInt32 (); //unknown, leads to a short with value of 1? reader.ReadUInt32 (); // catNameIndexOffset reader.ReadUInt32 (); //unknown, two shorts of values 2 and 3? reader.ReadUInt32 (); // varNameIndexOffset uint catNamesOffset = reader.ReadUInt32 (); uint varNamesOffset = reader.ReadUInt32 (); uint rpcOffset = reader.ReadUInt32 (); reader.ReadUInt32 (); // dspPresetsOffset reader.ReadUInt32 (); // dspParamsOffset reader.BaseStream.Seek (catNamesOffset, SeekOrigin.Begin); string[] categoryNames = readNullTerminatedStrings (numCats, reader); categories = new AudioCategory[numCats]; reader.BaseStream.Seek (catsOffset, SeekOrigin.Begin); for (int i=0; i<numCats; i++) { categories [i] = new AudioCategory (this, categoryNames [i], reader); categoryLookup.Add (categoryNames [i], i); } reader.BaseStream.Seek (varNamesOffset, SeekOrigin.Begin); string[] varNames = readNullTerminatedStrings (numVars, reader); variables = new Variable[numVars]; reader.BaseStream.Seek (varsOffset, SeekOrigin.Begin); for (int i=0; i<numVars; i++) { variables [i].name = varNames [i]; byte flags = reader.ReadByte (); variables [i].isPublic = (flags & 0x1) != 0; variables [i].isReadOnly = (flags & 0x2) != 0; variables [i].isGlobal = (flags & 0x4) == 0; variables [i].isReserved = (flags & 0x8) != 0; variables [i].initValue = reader.ReadSingle (); variables [i].minValue = reader.ReadSingle (); variables [i].maxValue = reader.ReadSingle (); variables [i].value = variables [i].initValue; variableLookup.Add (varNames [i], i); } rpcCurves = new RpcCurve[numRpc]; reader.BaseStream.Seek (rpcOffset, SeekOrigin.Begin); for (int i=0; i<numRpc; i++) { rpcCurves [i].variable = reader.ReadUInt16 (); int pointCount = (int)reader.ReadByte (); rpcCurves [i].parameter = (RpcParameter)reader.ReadUInt16 (); rpcCurves [i].points = new RpcPoint[pointCount]; for (int j=0; j<pointCount; j++) { rpcCurves [i].points [j].x = reader.ReadSingle (); rpcCurves [i].points [j].y = reader.ReadSingle (); rpcCurves [i].points [j].type = (RpcPointType)reader.ReadByte (); } } } } _stopwatch = new Stopwatch(); _stopwatch.Start(); }
/// <param name="settingsFile">Path to a XACT settings file.</param> /// <param name="lookAheadTime">Determines how many milliseconds the engine will look ahead when determing when to transition to another sound.</param> /// <param name="rendererId">A string that specifies the audio renderer to use.</param> /// <remarks>For the best results, use a lookAheadTime of 250 milliseconds or greater.</remarks> public AudioEngine(string settingsFile, TimeSpan lookAheadTime, string rendererId) { //Read the xact settings file //Credits to alisci01 for initial format documentation #if !ANDROID using (var stream = TitleContainer.OpenStream(settingsFile)) { #else using (var fileStream = Game.Activity.Assets.Open(settingsFile)) { MemoryStream stream = new MemoryStream(); fileStream.CopyTo(stream); stream.Position = 0; #endif using (var reader = new BinaryReader(stream)) { uint magic = reader.ReadUInt32(); if (magic != 0x46534758) //'XGFS' { throw new ArgumentException("XGS format not recognized"); } reader.ReadUInt16(); // toolVersion uint formatVersion = reader.ReadUInt16(); #if DEBUG if (formatVersion != 42) { System.Diagnostics.Debug.WriteLine("Warning: XGS format not supported"); } #endif reader.ReadUInt16(); // crc reader.ReadUInt32(); // lastModifiedLow reader.ReadUInt32(); // lastModifiedHigh reader.ReadByte(); //unkn, 0x03. Platform? uint numCats = reader.ReadUInt16(); uint numVars = reader.ReadUInt16(); reader.ReadUInt16(); //unkn, 0x16 reader.ReadUInt16(); //unkn, 0x16 uint numRpc = reader.ReadUInt16(); reader.ReadUInt16(); // numDspPresets reader.ReadUInt16(); // numDspParams uint catsOffset = reader.ReadUInt32(); uint varsOffset = reader.ReadUInt32(); reader.ReadUInt32(); //unknown, leads to a short with value of 1? reader.ReadUInt32(); // catNameIndexOffset reader.ReadUInt32(); //unknown, two shorts of values 2 and 3? reader.ReadUInt32(); // varNameIndexOffset uint catNamesOffset = reader.ReadUInt32(); uint varNamesOffset = reader.ReadUInt32(); uint rpcOffset = reader.ReadUInt32(); reader.ReadUInt32(); // dspPresetsOffset reader.ReadUInt32(); // dspParamsOffset reader.BaseStream.Seek(catNamesOffset, SeekOrigin.Begin); string[] categoryNames = readNullTerminatedStrings(numCats, reader); categories = new AudioCategory[numCats]; reader.BaseStream.Seek(catsOffset, SeekOrigin.Begin); for (int i = 0; i < numCats; i++) { categories [i] = new AudioCategory(this, categoryNames [i], reader); categoryLookup.Add(categoryNames [i], i); } reader.BaseStream.Seek(varNamesOffset, SeekOrigin.Begin); string[] varNames = readNullTerminatedStrings(numVars, reader); variables = new Variable[numVars]; reader.BaseStream.Seek(varsOffset, SeekOrigin.Begin); for (int i = 0; i < numVars; i++) { variables [i].name = varNames [i]; byte flags = reader.ReadByte(); variables [i].isPublic = (flags & 0x1) != 0; variables [i].isReadOnly = (flags & 0x2) != 0; variables [i].isGlobal = (flags & 0x4) == 0; variables [i].isReserved = (flags & 0x8) != 0; variables [i].initValue = reader.ReadSingle(); variables [i].minValue = reader.ReadSingle(); variables [i].maxValue = reader.ReadSingle(); variables [i].value = variables [i].initValue; variableLookup.Add(varNames [i], i); } rpcCurves = new RpcCurve[numRpc]; reader.BaseStream.Seek(rpcOffset, SeekOrigin.Begin); for (int i = 0; i < numRpc; i++) { rpcCurves [i].variable = reader.ReadUInt16(); int pointCount = (int)reader.ReadByte(); rpcCurves [i].parameter = (RpcParameter)reader.ReadUInt16(); rpcCurves [i].points = new RpcPoint[pointCount]; for (int j = 0; j < pointCount; j++) { rpcCurves [i].points [j].x = reader.ReadSingle(); rpcCurves [i].points [j].y = reader.ReadSingle(); rpcCurves [i].points [j].type = (RpcPointType)reader.ReadByte(); } } } } _stopwatch = new Stopwatch(); _stopwatch.Start(); }
public gxtAudioCollection(AudioCategory category) { this.category = category; cues = new List<Cue>(); Volume = 1.0f; }
public override void Initialize() { spriteBatch = new SpriteBatch(Game.GraphicsDevice); creditosList = new List<Mapa>(); creditosList2 = new List<Mapa>(); tiempoEmpiezo = 0; pararCreditos = false; audioEngine = new AudioEngine(@"Content\Sonidos\sonidos.xgs"); waveBank = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank.xsb"); waveBank2 = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank 2.xwb"); soundBank2 = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank 2.xsb"); musicaWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Music.xwb"); musicaBank = new SoundBank(audioEngine, @"Content\Sonidos\Music Bank.xsb"); ambientWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Ambient.xwb"); ambientBank = new SoundBank(audioEngine, @"Content\Sonidos\Ambient Bank.xsb"); musicCategory = audioEngine.GetCategory("Default"); musicCategory.SetVolume(0); reproducirMusica("batidora"); puntero = new StaticSprite( Game.Content.Load<Texture2D>(@"Images/cursor"), new Vector2(0, 0), new Point(24, 28), new Point(5, 5), new Point(0, 0), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.9f); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (455 / 2), (768 / 2) - 145), new Point(455, 142), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366/2)-(807/2), 768), new Point(807, 104), new Point(0, 0), new Point(0, 160), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (324 / 2), 768 + 120), new Point(324, 45), new Point(0, 0), new Point(0, 600), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/pj"), new Vector2((1366 / 2) - (194 / 2), 950), new Point(194, 178), new Point(0, 0), new Point(0, 0), new Point(4, 0), new Vector2(0f, 0), 0f, 300, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (383 / 2), 1152), new Point(383, 97), new Point(0, 0), new Point(0, 274), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (324 / 2), 1152 + 120), new Point(324, 45), new Point(0, 0), new Point(0, 600), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/growlie"), new Vector2((1366 / 2) - (87 / 2), 1370), new Point(87, 88), new Point(0, 0), new Point(0, 0), new Point(3, 1), new Vector2(0f, 0), 0f, 500, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (375 / 2), 1470), new Point(375, 105), new Point(0, 0), new Point(0, 374), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (324 / 2), 1470 + 120), new Point(324, 45), new Point(0, 0), new Point(0, 600), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/kiel"), new Vector2((1366 / 2) - (180 / 2), 1670), new Point(180, 200), new Point(0, 0), new Point(0, 0), new Point(4, 1), new Vector2(0f, 0), 0f, 500, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (912 / 2), 1870), new Point(912, 121), new Point(0, 0), new Point(0, 479), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (498 / 2), 1870 + 120), new Point(498, 49), new Point(0, 0), new Point(0, 644), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (500 / 2), 1990 + 70), new Point(500, 50), new Point(0, 0), new Point(0, 692), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (626 / 2), 2060 + 70), new Point(626, 52), new Point(0, 0), new Point(0, 749), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); creditosList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/creditos"), new Vector2((1366 / 2) - (168 / 2), 2330), new Point(168, 174), new Point(0, 0), new Point(0, 809), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); }
internal Cue( AudioEngine audioEngine, List<string> waveBankNames, string name, CueData data, bool managed ) { INTERNAL_baseEngine = audioEngine; Name = name; INTERNAL_data = data; foreach (XACTSound curSound in data.Sounds) { if (!curSound.HasLoadedTracks) { curSound.LoadTracks( INTERNAL_baseEngine, waveBankNames ); } } INTERNAL_isManaged = managed; INTERNAL_category = INTERNAL_baseEngine.INTERNAL_initCue( this, data.Category ); eventVolume = 1.0f; eventPitch = 0.0f; INTERNAL_userControlledPlaying = false; INTERNAL_isPositional = false; INTERNAL_eventList = new List<XACTEvent>(); INTERNAL_eventPlayed = new List<bool>(); INTERNAL_eventLoops = new Dictionary<XACTEvent, int>(); INTERNAL_waveEventSounds = new Dictionary<SoundEffectInstance, XACTEvent>(); INTERNAL_timer = new Stopwatch(); INTERNAL_instancePool = new List<SoundEffectInstance>(); INTERNAL_instanceVolumes = new List<float>(); INTERNAL_instancePitches = new List<float>(); INTERNAL_rpcTrackVolumes = new List<float>(); INTERNAL_rpcTrackPitches = new List<float>(); }
internal Cue( AudioEngine audioEngine, List <string> waveBankNames, string name, CueData data, bool managed ) { INTERNAL_baseEngine = audioEngine; INTERNAL_waveBankNames = waveBankNames; Name = name; INTERNAL_data = data; IsPrepared = false; IsPreparing = true; INTERNAL_maxRpcReleaseTime = 0; foreach (XACTSound curSound in data.Sounds) { /* Determine the release times per track, if any, to be used to extend * the sound when playing the release. */ { ushort maxReleaseMS = 0; // Loop over tracks. for (int i = 0; i < curSound.RPCCodes.Count; i += 1) { // Loop over curves. foreach (uint curCode in curSound.RPCCodes[i]) { RPC curRPC = INTERNAL_baseEngine.INTERNAL_getRPC(curCode); if (!INTERNAL_baseEngine.INTERNAL_isGlobalVariable(curRPC.Variable)) { // Only release times applied to volume are considered. if (curRPC.Variable.Equals("ReleaseTime") && curRPC.Parameter == RPCParameter.Volume) { maxReleaseMS = Math.Max((ushort)curRPC.LastPoint.X, maxReleaseMS); } } } } // Keep track of the maximum release time to extend the sound. INTERNAL_maxRpcReleaseTime = maxReleaseMS; } } IsPrepared = true; IsPreparing = false; IsStopped = false; INTERNAL_isManaged = managed; INTERNAL_category = INTERNAL_baseEngine.INTERNAL_initCue( this, data.Category ); eventVolume = 0.0; eventPitch = 0.0f; INTERNAL_userControlledPlaying = false; INTERNAL_isPositional = false; INTERNAL_playWaveEventBySound = new Dictionary <SoundEffectInstance, PlayWaveEventInstance>(); INTERNAL_timer = new Stopwatch(); INTERNAL_instancePool = new List <SoundEffectInstance>(); INTERNAL_instanceVolumes = new List <double>(); INTERNAL_instancePitches = new List <short>(); INTERNAL_rpcTrackVolumes = new List <float>(); INTERNAL_rpcTrackPitches = new List <float>(); }
//+++++++++++++++++++++++ INITIALIZE +++++++++++++++++ /// <summary> /// Allows the game component to perform any initialization it needs to before starting /// to run. This is where it can query for any required services and load content. /// </summary> public override void Initialize() { rnd = new Random(); texto = ""; currMouseState = Mouse.GetState(); lastMouseState = Mouse.GetState(); fondo = false; completoDelTo = false; tiempoFin = 0; collisionOffSet = Point.Zero; tiempoLluvia = 0; colisiond = 0; colisioni = 0; parada = 0; alturaTerreno = 4; jumpTimer = -10f; tiempoVelocidadSalto = 0; mundo1 = new Mundo(2.2f); currentDisparoState = DisparoState.Quieto; currentGravedadState = GravedadState.Aire; borrarBala = false; spriteList = new List<AutomatedSprite>(); disparoList = new List<Disparo>(); lluviaList = new List<Disparo>(); mapaList = new List<Mapa>(); terrenoList = new List<Mapa>(); terrenoList2 = new List<Mapa>(); terrenoListSuelo = new List<Mapa>(); fondoList1 = new List<Mapa>(); fondoList2 = new List<Mapa>(); map = new List<Point>(); jefeList = new List<Jefe>(); vidaList = new List<Mapa>(); vidaList2 = new List<Mapa>(); tigres = new List<Mapa>(); maxPosBloque = 0f; terrenoTiempoPasado = 0; terrenoDireccion = 0; terrenoTiempo = 100; arrastre = 0; //Variables jefe respawnJefeMin = 0; respawnJefeMax = 1; //Posiciones posicionTerrenoX = 0; posicionTerrenoY = 700; posicionFondo1 = -1000; posicionFondo2 = -1000; //Disparo delayDisparo = 200; delayDisparoCurrent = 900; currentParteMapa = ParteMapa.Suelo; numFondo1 = 0; numFondo2 = 0; numTerreno1 = 0; capaTerreno = 0.5f; //Muerte caido = false; puntosControl = new List<float>(); puntoControl = 0; vidaPos = 0; tiempoHerido = 500f; tiempoMuerto = 0; muertoDelTo = false; for (int n = 0; n < 200; n++) map.Add(new Point(2, 0)); complete = new Mapa( Game.Content.Load<Texture2D>(@"Images/LevelComplete"), new Vector2(120, 120), new Point(1140, 496), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f); vidaList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPos += 7; for (int i = 0; i < 28; i++) { vidaList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(1, 0), new Point(1, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPos += 7; } vidaList.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(2, 0), new Point(2, 0), new Vector2(0f, 0), 0f, 1000, 0.89f)); vidaPos = 0; vidaList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(0, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPos += 7; for (int i = 0; i < 28; i++) { vidaList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(1, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPos += 7; } vidaList2.Add(new Mapa( Game.Content.Load<Texture2D>(@"Images/vidaSprite"), new Vector2(50 + vidaPos, 30), new Point(10, 23), new Point(0, 0), new Point(2, 1), new Point(0, 0), new Vector2(0f, 0), 0f, 1000, 0.99f)); vidaPos += 7; player = new UserControlledSprite( Game.Content.Load<Texture2D>(@"Images/pj"), new Vector2((1366 / 2) - 152, 164), new Point(194, 178), new Point(collisionOffSet.X, collisionOffSet.Y), new Point(0, 0), new Point(0, 0), new Vector2(0f, 0), 0f, 70, 0.80f, 30); pointer = new StaticSprite( Game.Content.Load<Texture2D>(@"Images/cursor"), new Vector2(0, 0), new Point(24, 28), new Point(5, 5), new Point(0, 0), new Point(0, 0), Vector2.Zero, 0f, 1000, 0.9f); spriteBatch = new SpriteBatch(Game.GraphicsDevice); audioEngine = new AudioEngine(@"Content\Sonidos\sonidos.xgs"); waveBank = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank.xwb"); soundBank = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank.xsb"); waveBank2 = new WaveBank(audioEngine, @"Content\Sonidos\Wave Bank 2.xwb"); soundBank2 = new SoundBank(audioEngine, @"Content\Sonidos\Sound Bank 2.xsb"); musicaWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Music.xwb"); musicaBank = new SoundBank(audioEngine, @"Content\Sonidos\Music Bank.xsb"); ambientWave = new WaveBank(audioEngine, @"Content\Sonidos\Wave Ambient.xwb"); ambientBank = new SoundBank(audioEngine, @"Content\Sonidos\Ambient Bank.xsb"); musicCategory = audioEngine.GetCategory("Default"); musicCategory.SetVolume(0); reproducirMusica("ingame"); reproducirAmbiente("viento"); trackCue = soundBank.GetCue("caido"); Suelo(-100, posicionTerrenoY, 0, -600, terrenoList, 0.540f); SueloGrande(0, posicionTerrenoY, 0, 400, terrenoList, 0.530f); PuntoControlTigre(1366 / 2 - 15, posicionTerrenoY); puntosControl.Add(-(1366 / 2 - 15)); Suelo(posicionTerrenoX, posicionTerrenoY, 860, -120, terrenoList, 0.541f); texto = "Posicion escaleras X" + posicionTerrenoX + "Posicion escaleras Y" + posicionTerrenoY; Escaleras2(posicionTerrenoX-1000, posicionTerrenoY - 200, 500, 0, 9, terrenoList2, 0.300f, true); Suelo(posicionTerrenoX, posicionTerrenoY+300, 4500, -120, terrenoList, 0.542f); PuntoControlTigre(posicionTerrenoX + 350, posicionTerrenoY - tigres[0].getFrameSize.Y + 30); puntosControl.Add(-posicionTerrenoX + 350); Suelo(posicionTerrenoX, posicionTerrenoY+300, 1000, -120, terrenoList, 0.542f); PuntoControlTigre(posicionTerrenoX + 350, posicionTerrenoY - tigres[0].getFrameSize.Y + 30); puntosControl.Add(-posicionTerrenoX + 350); SueloChico(posicionTerrenoX, posicionTerrenoY, 800, -50, 0, terrenoList, 0.543f); SueloChico(posicionTerrenoX, posicionTerrenoY, 250, -50, 4, terrenoList, 0.543f); SueloChico(posicionTerrenoX, posicionTerrenoY, 250, -50, 3, terrenoList, 0.543f); SueloChico(posicionTerrenoX, posicionTerrenoY, 250, -50, 3, terrenoList, 0.543f); Suelo(posicionTerrenoX + 700, posicionTerrenoY + 100, 0, 0, terrenoList, 0.543f); Escaleras(posicionTerrenoX +700, posicionTerrenoY + 200, 100, 50, 9, terrenoList, 0.543f, true); Suelo(posicionTerrenoX + 700, posicionTerrenoY + 200, 0, 0, terrenoList, 0.543f); SueloChico(posicionTerrenoX, posicionTerrenoY - 50, 700, 0, 6, terrenoList, 0.543f); Suelo(posicionTerrenoX + 200, posicionTerrenoY +50, 0, 0, terrenoList, 0.543f); SueloChico(posicionTerrenoX, posicionTerrenoY - 50, 700, 0, 6, terrenoList, 0.543f); Suelo(posicionTerrenoX + 200, posicionTerrenoY + 50, 0, 0, terrenoList, 0.543f); SueloChico(posicionTerrenoX, posicionTerrenoY - 50, 700, 0, 6, terrenoList, 0.543f); Suelo(posicionTerrenoX + 200, posicionTerrenoY + 50, 0, 0, terrenoList, 0.543f); Escaleras(posicionTerrenoX + 2800, posicionTerrenoY, 100, 10, 20, terrenoList, 0.543f, false); final = new Mapa( Game.Content.Load<Texture2D>(@"Images/final"), new Vector2(posicionTerrenoX + 200, posicionTerrenoY - 146), new Point(171, 156), new Point(0, 0), new Point(0, 1), new Point(4, 3), new Vector2(0f, 0), 0f, 200, 0.9f); posicionTerrenoX = 0; posicionTerrenoY = 0; Suelo(posicionTerrenoX+6500, posicionTerrenoY+300, 0, 0, terrenoList2, 0.302f); Escaleras(posicionTerrenoX + 3000, posicionTerrenoY + 200, 100, 30, 15, terrenoList2, 0.302f, true); foreach (Sprite s in terrenoList2) { s.getEscala = 0.8f; s.GetCollisionOffSet = new Point(60, 60); } puntuacionFuente = Game.Content.Load<SpriteFont>(@"Fuentes\fuente"); player.setTamAura = 300; foreach (Sprite s in jefeList) s.setTamAura = 400; //base.Initialize(); }