Esempio n. 1
0
 public GameViewModel(GameContent content, FieldSize fieldSize)
 {
     this.Content   = content;
     this.FieldSize = fieldSize;
     InitGame();
     TurnOverAllFields(false);
 }
Esempio n. 2
0
        public void AutoAimTest()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, @"data\autoaim_test.wad"))
            {
                var demo = new Demo(@"data\autoaim_test.lmp");
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastHash = 0;
                var aggHash  = 0;

                while (true)
                {
                    if (!demo.ReadCmd(cmds))
                    {
                        break;
                    }

                    game.Update(cmds);
                    lastHash = DoomDebug.GetMobjHash(game.World);
                    aggHash  = DoomDebug.CombineHash(aggHash, lastHash);
                }

                Assert.AreEqual(0xe0d5d327u, (uint)lastHash);
                Assert.AreEqual(0x1a00fde9u, (uint)aggHash);
            }
        }
Esempio n. 3
0
        public void Doom1SharewareDemo1()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom1Shareware))
            {
                var demo = new Demo(content.Wad.ReadLump("DEMO1"));
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash   = 0;
                var aggMobjHash    = 0;
                var lastSectorHash = 0;
                var aggSectorHash  = 0;

                while (true)
                {
                    if (!demo.ReadCmd(cmds))
                    {
                        break;
                    }

                    game.Update(cmds);
                    lastMobjHash   = DoomDebug.GetMobjHash(game.World);
                    aggMobjHash    = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    lastSectorHash = DoomDebug.GetSectorHash(game.World);
                    aggSectorHash  = DoomDebug.CombineHash(aggSectorHash, lastSectorHash);
                }

                Assert.AreEqual(0xa497cb7fu, (uint)lastMobjHash);
                Assert.AreEqual(0x5a1776fdu, (uint)aggMobjHash);
                Assert.AreEqual(0x55d373a2u, (uint)lastSectorHash);
                Assert.AreEqual(0xcaafd23bu, (uint)aggSectorHash);
            }
        }
Esempio n. 4
0
        public void RequiemDemo3()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, WadPath.Requiem))
            {
                var demo = new Demo(content.Wad.ReadLump("DEMO3"));
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash   = 0;
                var aggMobjHash    = 0;
                var lastSectorHash = 0;
                var aggSectorHash  = 0;

                while (true)
                {
                    demo.ReadCmd(cmds);
                    game.Update(cmds);
                    lastMobjHash   = DoomDebug.GetMobjHash(game.World);
                    aggMobjHash    = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    lastSectorHash = DoomDebug.GetSectorHash(game.World);
                    aggSectorHash  = DoomDebug.CombineHash(aggSectorHash, lastSectorHash);

                    if (game.World.LevelTime == 52487)
                    {
                        break;
                    }
                }

                Assert.AreEqual(0xb76035c8u, (uint)lastMobjHash);
                Assert.AreEqual(0x87651774u, (uint)aggMobjHash);
                Assert.AreEqual(0xa2d7d335u, (uint)lastSectorHash);
                Assert.AreEqual(0xabf7609au, (uint)aggSectorHash);
            }
        }
Esempio n. 5
0
        public void Doom1Demo4()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom1))
            {
                var demo = new Demo(content.Wad.ReadLump("DEMO4"));
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash   = 0;
                var aggMobjHash    = 0;
                var lastSectorHash = 0;
                var aggSectorHash  = 0;

                while (true)
                {
                    if (!demo.ReadCmd(cmds))
                    {
                        break;
                    }

                    game.Update(cmds);
                    lastMobjHash   = DoomDebug.GetMobjHash(game.World);
                    aggMobjHash    = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    lastSectorHash = DoomDebug.GetSectorHash(game.World);
                    aggSectorHash  = DoomDebug.CombineHash(aggSectorHash, lastSectorHash);
                }

                Assert.AreEqual(0x89d50ff6u, (uint)lastMobjHash);
                Assert.AreEqual(0xb1a634c8u, (uint)aggMobjHash);
                Assert.AreEqual(0x8a94e89au, (uint)lastSectorHash);
                Assert.AreEqual(0x2e1bf98du, (uint)aggSectorHash);
            }
        }
Esempio n. 6
0
        public void PainElementalTest_Final2()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, @"data\painelemental_test.wad"))
            {
                var demo = new Demo(@"data\painelemental_test_final2.lmp");
                demo.Options.GameVersion = GameVersion.Final2;
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastHash = 0;
                var aggHash  = 0;

                while (true)
                {
                    if (!demo.ReadCmd(cmds))
                    {
                        break;
                    }

                    game.Update(cmds);
                    lastHash = DoomDebug.GetMobjHash(game.World);
                    aggHash  = DoomDebug.CombineHash(aggHash, lastHash);
                }

                Assert.AreEqual(0x6984f76fu, (uint)lastHash);
                Assert.AreEqual(0x50ba7933u, (uint)aggHash);
            }
        }
 public void Fill(GameContent gameContent)
 {
     for (int ii = 0; ii < COUNT; ii++)
     {
         TraceCardList.Add(gameContent.TraceList[ii]);
     }
 }
Esempio n. 8
0
        public void TntBloodDemo3()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, WadPath.TntBlood))
            {
                var demo = new Demo(content.Wad.ReadLump("DEMO3"));
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash   = 0;
                var aggMobjHash    = 0;
                var lastSectorHash = 0;
                var aggSectorHash  = 0;

                while (true)
                {
                    if (!demo.ReadCmd(cmds))
                    {
                        break;
                    }

                    game.Update(cmds);
                    lastMobjHash   = DoomDebug.GetMobjHash(game.World);
                    aggMobjHash    = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    lastSectorHash = DoomDebug.GetSectorHash(game.World);
                    aggSectorHash  = DoomDebug.CombineHash(aggSectorHash, lastSectorHash);
                }

                Assert.AreEqual(0x9d24c7d8u, (uint)lastMobjHash);
                Assert.AreEqual(0xd37240f4u, (uint)aggMobjHash);
                Assert.AreEqual(0xf3f4db97u, (uint)lastSectorHash);
                Assert.AreEqual(0xa0acc43eu, (uint)aggSectorHash);
            }
        }
Esempio n. 9
0
        public void MementoMoriDemo3()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, WadPath.MementoMori))
            {
                var demo = new Demo(content.Wad.ReadLump("DEMO3"));
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash   = 0;
                var aggMobjHash    = 0;
                var lastSectorHash = 0;
                var aggSectorHash  = 0;

                while (true)
                {
                    if (!demo.ReadCmd(cmds))
                    {
                        break;
                    }

                    game.Update(cmds);
                    lastMobjHash   = DoomDebug.GetMobjHash(game.World);
                    aggMobjHash    = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    lastSectorHash = DoomDebug.GetSectorHash(game.World);
                    aggSectorHash  = DoomDebug.CombineHash(aggSectorHash, lastSectorHash);
                }

                Assert.AreEqual(0x2c3bf1e3u, (uint)lastMobjHash);
                Assert.AreEqual(0x40d3fc5cu, (uint)aggMobjHash);
                Assert.AreEqual(0xdc871ca2u, (uint)lastSectorHash);
                Assert.AreEqual(0x388e5e4fu, (uint)aggSectorHash);
            }
        }
Esempio n. 10
0
        public void FinaleTest2()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, @"data\finale_test.wad"))
            {
                var demo = new Demo(@"data\finale_test2.lmp");
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash = 0;
                var aggMobjHash  = 0;

                // MAP06
                {
                    for (var i = 0; i < 475; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                        lastMobjHash = DoomDebug.GetMobjHash(game.World);
                        aggMobjHash  = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    }

                    Assert.AreEqual(0x4ea33dfbu, (uint)lastMobjHash);
                    Assert.AreEqual(0x7dd3df51u, (uint)aggMobjHash);
                }

                // Intermission
                {
                    for (var i = 0; i < 21; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                    }
                }

                // Finale
                {
                    for (var i = 0; i < 52; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                    }
                }

                // MAP07
                {
                    for (var i = 0; i < 494; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                        lastMobjHash = DoomDebug.GetMobjHash(game.World);
                        aggMobjHash  = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    }

                    Assert.AreEqual(0xa7c0a6eau, (uint)lastMobjHash);
                    Assert.AreEqual(0xe89c0706u, (uint)aggMobjHash);
                }
            }
        }
Esempio n. 11
0
        public void FinaleTest1()
        {
            using (var content = GameContent.CreateDummy(WadPath.Doom2, @"data\finale_test.wad"))
            {
                var demo = new Demo(@"data\finale_test1.lmp");
                var cmds = Enumerable.Range(0, Player.MaxPlayerCount).Select(i => new TicCmd()).ToArray();
                var game = new DoomGame(content, demo.Options);
                game.DeferedInitNew();

                var lastMobjHash = 0;
                var aggMobjHash  = 0;

                // MAP06
                {
                    for (var i = 0; i < 430; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                        lastMobjHash = DoomDebug.GetMobjHash(game.World);
                        aggMobjHash  = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    }

                    Assert.AreEqual(0x8acb1b96u, (uint)lastMobjHash);
                    Assert.AreEqual(0xf67d1a1bu, (uint)aggMobjHash);
                }

                // Intermission
                {
                    for (var i = 0; i < 156; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                    }
                }

                // Finale
                {
                    for (var i = 0; i < 237; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                    }
                }

                // MAP07
                {
                    for (var i = 0; i < 872; i++)
                    {
                        demo.ReadCmd(cmds);
                        game.Update(cmds);
                        lastMobjHash = DoomDebug.GetMobjHash(game.World);
                        aggMobjHash  = DoomDebug.CombineHash(aggMobjHash, lastMobjHash);
                    }

                    Assert.AreEqual(0xfed7679fu, (uint)lastMobjHash);
                    Assert.AreEqual(0x21340096u, (uint)aggMobjHash);
                }
            }
        }
Esempio n. 12
0
        public Entity(string spriteSheetPath, Point?frameSize)
            : this()
        {
            SpriteSheet    = new SpriteSheet(GameContent.LoadContent <Texture2D>(spriteSheetPath), frameSize);
            _framesPerLine = SpriteSheet.Texture.Width / SpriteSheet.FrameSize.X;

            Speed = SpriteSheet.FrameSize.X;
        }
Esempio n. 13
0
 public Drawing(SpriteBatch spriteBatch, GameContent gameContent)
 {
     PositionList     = new List <Vector2>();
     ToDrawList       = new List <List <Vector2> >();
     Position         = new Vector2(0, 0);
     Sprite           = gameContent.pencil;
     this.spriteBatch = spriteBatch;
 }
Esempio n. 14
0
        /// <summary>
        /// Creates title card with default values.
        /// </summary>
        public TitleCard()
        {
            _showTime     = 0;
            _fadeTime     = 0;
            _currentTitle = String.Empty;

            _font = GameContent.LoadContent <SpriteFont>("fonts/TitleFont");
        }
        private void InitializeManager(IGameManager manager)
        {
            var content = new GameContent {
                Api = GameApi, FocusChanged = SaveGame, ItemsData = ItemsDatabase.Items
            };

            manager.Initialize(content);
        }
Esempio n. 16
0
 public Particle(string texture, Vector2 position, Vector2 direction, List <ParticleState> states)
 {
     Texture       = GameContent.LoadContent <Texture2D>(texture);
     Position      = position;
     Direction     = direction;
     States        = states;
     _currentState = 0;
 }
Esempio n. 17
0
 public AbstractMovePattern Set(double start, double stop, BaseModel model, ref GameContent MainContent)
 {
     this.start       = start;
     this.stop        = stop;
     this.model       = model;
     this.MainContent = MainContent;
     return(this);
 }
Esempio n. 18
0
        public ImageButton()
        {
            Position = Vector2.Zero;
            Image    = GameContent.Texture(@"icons\accept");
            State    = ButtonState.Idle;

            lastMouseState = Mouse.GetState();
        }
Esempio n. 19
0
 public Label(string text)
     : base(text)
 {
     Font       = GameContent.LoadContent <SpriteFont>("fonts/DefaultFont");
     Text       = text;
     Select     = null;
     Selectable = false;
 }
Esempio n. 20
0
 public SearchLetter(char value, SpriteBatch spriteBatch, GameContent gameContent)
 {
     Value            = value;
     IsSelected       = false;
     this.spriteBatch = spriteBatch;
     Sprite           = FindLetterSprite(value, gameContent);
     Color            = Color.White;
 }
Esempio n. 21
0
 public TS1Audio(GameContent contentManager)
 {
     this.ContentManager = contentManager;
     WAVSounds           = new TS1SubProvider <DecodedSFX>(ContentManager.TS1Global, ".wav");
     MP3Sounds           = new TS1SubProvider <DecodedSFX>(ContentManager.TS1Global, ".mp3");
     XASounds            = new TS1SubProvider <DecodedSFX>(ContentManager.TS1Global, ".xa");
     UTKSounds           = new TS1SubProvider <DecodedSFX>(ContentManager.TS1Global, ".utk");
 }
Esempio n. 22
0
        /// <summary>
        /// Title screen constructor.
        /// </summary>
        public HowToPlay(GameMain parent)
        {
            _logo = GameContent.LoadContent <Texture2D>("images/controls.png");

            _parent = parent;

            _input = new Input();
        }
        public ScenarioSystem(GameContent content, UISystem ui, Commander commander)
        {
            _content   = content;
            _ui        = ui;
            _commander = commander;

            _commander.RegisterHandler("UI", this);
        }
Esempio n. 24
0
 public Panel()
 {
     Position    = Vector2.Zero;
     BorderScale = 1;
     BorderColor = Color.Gray;
     Color       = Color.FromNonPremultiplied(new Vector4(1, 1, 1, 0.25f));
     Texture     = GameContent.Texture("pixel");
 }
Esempio n. 25
0
 public Word(string category, string word, Texture2D image, GameContent gameContent)
 {
     Letters    = new LetterValue(gameContent);
     WordLength = word.Length;
     Category   = category;
     Image      = image;
     Value      = FormatWord(word, Letters);
 }
Esempio n. 26
0
        /// <summary>
        /// Load Game Assets and initialize all screens
        /// </summary>
        protected override void LoadContent()
        {
            //Instantiate the singleton class GameContent and load all game assets
            GameContent gameContent = new GameContent(Content);

            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            //Instantiate the singleton class HorizontalMenuBGSprite
            HorizontalMenuBGSprite scrollingBG = new HorizontalMenuBGSprite(GameContent.GameAssets.Images.Backgrounds.Screens[ScreenBackgrounds.GlobalScrollingBg], spriteBatch);


            //Initialize screens

            titleScreen = new Title(spriteBatch, new Delegates.QuitFunction(Exit));
            titleScreen.InitScreen(ScreenType.Title);
            titleScreen.Visible = true;

            shopScreen = new Shop(spriteBatch);
            shopScreen.InitScreen(ScreenType.Shop);

            controlScreen = new ControlScreen(spriteBatch);
            controlScreen.InitScreen(ScreenType.ControlScreen);

            mainMenuScreen = new MainMenu(spriteBatch);
            mainMenuScreen.InitScreen(ScreenType.MainMenu);

            creditsScreen = new Credits(spriteBatch);
            creditsScreen.InitScreen(ScreenType.Credits);

            gameScreen = new GameScreen(spriteBatch);
            gameScreen.InitScreen(ScreenType.Game);

            optionScreen = new Options(spriteBatch);
            optionScreen.InitScreen(ScreenType.Options);

            pauseScreen = new PauseScreen(spriteBatch);
            pauseScreen.InitScreen(ScreenType.Pause);

            shipSelectScreen = new ShipSelect(spriteBatch);
            shipSelectScreen.InitScreen(ScreenType.ShipSelect);

            weaponSelectScreen = new WeaponSelectScreen(spriteBatch);
            weaponSelectScreen.InitScreen(ScreenType.WeaponSelect);

            upgradeScreen = new UpgradeScreen(spriteBatch);
            upgradeScreen.InitScreen(ScreenType.UpgradeScreen);

            tierSelectScreen = new TierSelect(spriteBatch);
            tierSelectScreen.InitScreen(ScreenType.TierSelect);

            levelSelectScreen = new LevelSelect(spriteBatch);
            levelSelectScreen.InitScreen(ScreenType.LevelSelect);

            screenManager            = new ScreenManager(spriteBatch, Color.White, titleScreen, mainMenuScreen, creditsScreen, gameScreen, optionScreen, shopScreen, pauseScreen, shipSelectScreen, weaponSelectScreen, upgradeScreen, tierSelectScreen, levelSelectScreen, controlScreen);
            StateManager.AllScreens  = screenManager;
            StateManager.ScreenState = CoreTypes.ScreenType.Title;
        }
Esempio n. 27
0
 public GameObject(string Name, string Texture)
 {
     this.Name    = Name;
     this.Texture = GameContent.GetTexture(Texture);
     Size         = new Vector2(this.Texture.Width, this.Texture.Height);
     collider     = new PhysicsObject();
     DrawEffects  = SpriteEffects.None;
     RenderColor  = Color.White;
 }
Esempio n. 28
0
        public Button(Vector2 Position, Vector2 Size)
        {
            this.Position = Position;
            this.Size     = Size;

            Texture      = GameContent.GetTexture(DEF_NORMAL_TEXTURE);
            HoverTexture = GameContent.GetTexture(DEF_HOVER_TEXTURE);
            _textDisplay = new TextDisplay("");
        }
Esempio n. 29
0
        public UISystem(SpriteBatch spriteBatch, GameContent content, Commander commander)
        {
            _palette     = new Palette(spriteBatch.GraphicsDevice);
            _fonts       = new Fonts(content);
            _spriteBatch = spriteBatch;
            _commander   = commander;

            _commander.RegisterHandler("Control", this);
        }
Esempio n. 30
0
        public GameViewModel(GameContent content, GameConfig config)
        {
            this.Content    = content;
            this.GameConfig = config;
            this.BonusGame  = new BonusGame();
            InitGame();

            TurnOverAllFields(false);
        }