Ejemplo n.º 1
0
 public Chest()
 {
     Collision.Add("Solid");
 }
Ejemplo n.º 2
0
 public Treeeeeeee()
 {
     Collision.Add("Solid");
 }
Ejemplo n.º 3
0
 public Giantdog(Vector2 pos)
 {
     Collision.Add("Solid");
     this.X = pos.X * Game1.TileSize;
     this.Y = pos.Y * Game1.TileSize;
 }
Ejemplo n.º 4
0
 public Enemy()
 {
     Collision.Add("NPC");
 }
Ejemplo n.º 5
0
        private void Load(EndianBinaryReader input)
        {
            int unk0            = input.ReadInt32();
            int unk4            = input.ReadInt32();
            int numCollission   = input.ReadInt32();
            int collisionOffset = input.ReadInt32();

            if (input.ReadInt32() != 0xA0)
            {
                throw new InvalidStageLayoutFileException("Expected StageLayout[0x10] == 0xA0.");
            }
            int unk14       = input.ReadInt32();
            int numGoals    = input.ReadInt32();
            int goalsOffset = input.ReadInt32();

            if (input.ReadInt32() != numGoals)
            {
                throw new InvalidStageLayoutFileException("Expected StageLayout[0x18] == StageLayout[0x20].");
            }
            if (input.ReadInt32() != 0)
            {
                throw new InvalidStageLayoutFileException("Expected StageLayout[0x24] == 0.");
            }
            int numBumbers       = input.ReadInt32();
            int bumpersOffset    = input.ReadInt32();
            int numJamabars      = input.ReadInt32();
            int jamabarsOffset   = input.ReadInt32();
            int numBananas       = input.ReadInt32();
            int bananasOffset    = input.ReadInt32();
            int numUnk40         = input.ReadInt32();
            int unk40Offset      = input.ReadInt32();
            int numUnk48         = input.ReadInt32();
            int unk48Offset      = input.ReadInt32();
            int numUnk50         = input.ReadInt32();
            int unk50Offset      = input.ReadInt32();
            int numModelNames    = input.ReadInt32();
            int modelNamesOffset = input.ReadInt32();
            // Looks like a number/offset to some struct of size 0x20, mostly floats
            int numUnk60    = input.ReadInt32();
            int unk60Offset = input.ReadInt32();
            int unk68       = input.ReadInt32();
            int unk6C       = input.ReadInt32();
            int numUnk70    = input.ReadInt32();
            int unk70Offset = input.ReadInt32();
            int unk78       = input.ReadInt32();
            int unk7C       = input.ReadInt32();
            int unk80       = input.ReadInt32();
            int unk84       = input.ReadInt32();
            int unk88       = input.ReadInt32();
            int unk8C       = input.ReadInt32();
            int unk90       = input.ReadInt32();

            if (input.ReadInt32() != 0)
            {
                throw new InvalidStageLayoutFileException("Expected StageLayout[0x94] == 0.");
            }
            if (input.ReadInt32() != 0)
            {
                throw new InvalidStageLayoutFileException("Expected StageLayout[0x98] == 0.");
            }
            if (input.ReadInt32() != 0)
            {
                throw new InvalidStageLayoutFileException("Expected StageLayout[0x9C] == 0.");
            }

            //if (numCollission != 0) Console.WriteLine(numCollission + "/" + collisionOffset);

            /*
             * if (unk78 != 0)
             * {
             *  input.BaseStream.Position = unk7C;
             *  for (int i = 0; i < unk78 + 5; i++)
             *  {
             *      byte[] bytes = input.ReadBytes(0x38);
             *      if (i >= unk78) Console.Write("XXX ");
             *      Console.WriteLine(string.Join(" ", bytes.Select(b => b.ToString("X2"))));
             *  }
             *
             *  Console.ReadKey();
             * }
             */

            input.BaseStream.Position = collisionOffset;
            for (int i = 0; i < numCollission; i++)
            {
                StageLayoutCollision collision = new StageLayoutCollision();
                collision.Load(input);
                Collision.Add(collision);
            }

            input.BaseStream.Position = modelNamesOffset;
            for (int i = 0; i < numModelNames; i++)
            {
                StageLayoutModelName modelName = new StageLayoutModelName();
                modelName.Load(input);
                ModelNames.Add(modelName);
            }

            input.BaseStream.Position = goalsOffset;
            for (int i = 0; i < numGoals; i++)
            {
                StageLayoutGoal goal = new StageLayoutGoal();
                goal.Load(input);
                Goals.Add(goal);
            }

            input.BaseStream.Position = bumpersOffset;
            for (int i = 0; i < numBumbers; i++)
            {
                StageLayoutItem bumper = new StageLayoutItem();
                bumper.Load(input);
                Bumpers.Add(bumper);
            }

            input.BaseStream.Position = jamabarsOffset;
            for (int i = 0; i < numJamabars; i++)
            {
                StageLayoutItem jamabar = new StageLayoutItem();
                jamabar.Load(input);
                Jamabars.Add(jamabar);
            }

            input.BaseStream.Position = bananasOffset;
            for (int i = 0; i < numBananas; i++)
            {
                StageLayoutBanana banana = new StageLayoutBanana();
                banana.Load(input);
                Bananas.Add(banana);
            }

            input.BaseStream.Position = unk40Offset;
            for (int i = 0; i < numUnk40; i++)
            {
                StageLayoutItemExt unk40 = new StageLayoutItemExt();
                unk40.Load(input);
                Unk40.Add(unk40);
            }

            input.BaseStream.Position = unk48Offset;
            for (int i = 0; i < numUnk48; i++)
            {
                StageLayoutUnk48 unk48 = new StageLayoutUnk48();
                unk48.Load(input);
                Unk48.Add(unk48);
            }

            input.BaseStream.Position = unk50Offset;
            for (int i = 0; i < numUnk50; i++)
            {
                StageLayoutUnk50 unk50 = new StageLayoutUnk50();
                unk50.Load(input);
                Unk50.Add(unk50);
            }

            input.BaseStream.Position = unk60Offset;
            for (int i = 0; i < numUnk60; i++)
            {
                StageLayoutUnk60 unk60 = new StageLayoutUnk60();
                unk60.Load(input);
                Unk60.Add(unk60);
            }

            input.BaseStream.Position = unk70Offset;
            for (int i = 0; i < numUnk70; i++)
            {
                StageLayoutUnk70 unk70 = new StageLayoutUnk70();
                unk70.Load(input);
                Unk70.Add(unk70);
            }
        }
Ejemplo n.º 6
0
 public Player()
 {
     Collision.Add("Player");
 }
Ejemplo n.º 7
0
 public Stupidmadoka()
 {
     Collision.Add("NPC");
     Pathing = new PathFinding(this);
 }
Ejemplo n.º 8
0
 public Sodamachine(Vector2 pos)
 {
     Collision.Add("Solid");
     this.X = pos.X * Game1.TileSize;
     this.Y = pos.Y * Game1.TileSize;
 }