Beispiel #1
0
        public void MoveCommandDownwardsThatHasParameters()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");

            psaMovesetParser.SubActionsHandler.MoveCommand(72, 0, 4, MoveDirection.DOWN);
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Move/FitMarioMoveCommandDownwards-CommandWithParametersSwapWithCommandWithNoParameters.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Move/FitMarioMoveCommandDownwards-CommandWithParametersSwapWithCommandWithNoParameters.pac", "./Tests/SubActionsTests/Out/Move/FitMarioMoveCommandDownwards-CommandWithParametersSwapWithCommandWithNoParameters.pac"));
        }
Beispiel #2
0
        public void MoveCommandUpwards()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");

            psaMovesetParser.SubActionsHandler.MoveCommand(72, 0, 1, MoveDirection.UP);
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Move/FitMarioMoveCommandUpwards-BothCommandsHaveParameters.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Move/FitMarioMoveCommandUpwards-BothCommandsHaveParameters.pac", "./Tests/SubActionsTests/Out/Move/FitMarioMoveCommandUpwards-BothCommandsHaveParameters.pac"));
        }
Beispiel #3
0
        public void AddTwoCommandsToSubActionWithExistingCommands()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");

            psaMovesetParser.SubActionsHandler.AddCommand(72, 0);
            psaMovesetParser.SubActionsHandler.AddCommand(72, 0);
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Add/FitMarioTwoCommandsAdded.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Add/FitMarioTwoCommandsAdded.pac", "./Tests/SubActionsTests/Out/Add/FitMarioTwoCommandsAdded.pac"));
        }
Beispiel #4
0
        public void ModifyCommandInActionWithParametersToCommandWithNoParameters()
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>();

            psaMovesetParser.ActionsHandler.ModifyActionCommand(0, 0, 0, new PsaCommand(917504, 25788, parameters));
            psaMovesetParser.PsaFile.SaveFile("./Tests/ActionsTests/Out/Modify/FitMarioModifyCommandWithParametersToCommandWithNoParameters.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/ActionsTests/ComparisonData/Modify/FitMarioModifyCommandWithParametersToCommandWithNoParameters.pac", "./Tests/ActionsTests/Out/Modify/FitMarioModifyCommandWithParametersToCommandWithNoParameters.pac"));
        }
Beispiel #5
0
        public void RemoveCommandAtEndOfDataSection()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");

            psaMovesetParser.ActionsHandler.AddCommandToAction(6, 1);
            psaMovesetParser.ActionsHandler.RemoveCommandFromAction(6, 1, 3);
            psaMovesetParser.PsaFile.SaveFile("./Tests/ActionsTests/Out/Remove/FitMarioRemoveCommandAtEndOfDataSection.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/ActionsTests/ComparisonData/Remove/FitMarioRemoveCommandAtEndOfDataSection.pac", "./Tests/ActionsTests/Out/Remove/FitMarioRemoveCommandAtEndOfDataSection.pac"));
        }
Beispiel #6
0
        public void AddCommandsToSubActionWithFreeSpaceInMiddleOfDataSection()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");

            psaMovesetParser.SubActionsHandler.RemoveCommand(19, 0, 0);
            psaMovesetParser.SubActionsHandler.AddCommand(19, 0);
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Add/FitMarioOneCommandAddedWithFreeSpaceInMiddleOfDataSection.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Add/FitMarioOneCommandAddedWithFreeSpaceInMiddleOfDataSection.pac", "./Tests/SubActionsTests/Out/Add/FitMarioOneCommandAddedWithFreeSpaceInMiddleOfDataSection.pac"));
        }
Beispiel #7
0
        public void ReadPsaCommandsFromAction3()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommand> psaCommands      = psaMovesetParser.ActionsHandler.GetPsaCommandsForActionCodeBlock(3, 1);

            Assert.AreEqual(5, psaCommands.Count);
            Assert.AreEqual(656384, psaCommands[0].Instruction);
            Assert.AreEqual(4, psaCommands[0].Parameters.Count);
            Assert.AreEqual(6, psaCommands[0].Parameters[0].Type);
            Assert.AreEqual(7, psaCommands[0].Parameters[0].Value);
        }
Beispiel #8
0
        public void ReadPsaCommandsFromAction2()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommand> psaCommands      = psaMovesetParser.ActionsHandler.GetPsaCommandsForActionCodeBlock(1, 0);

            Assert.AreEqual(33, psaCommands.Count);
            Assert.AreEqual(33620480, psaCommands[0].Instruction);
            Assert.AreEqual(2, psaCommands[0].Parameters.Count);
            Assert.AreEqual(0, psaCommands[0].Parameters[0].Type);
            Assert.AreEqual(0, psaCommands[0].Parameters[0].Value);
        }
Beispiel #9
0
        public void ReadPsaCommandsFromSubAction2()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommand> psaCommands      = psaMovesetParser.SubActionsHandler.GetPsaCommandsForSubAction(73, 2);

            Assert.AreEqual(2, psaCommands.Count);
            Assert.AreEqual(131328, psaCommands[0].Instruction);
            Assert.AreEqual(1, psaCommands[0].Parameters.Count);
            Assert.AreEqual(1, psaCommands[0].Parameters[0].Type);
            Assert.AreEqual(60000, psaCommands[0].Parameters[0].Value);
        }
Beispiel #10
0
        public void RemoveAllCommandsFromSubAction()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");

            for (int i = 0; i < 5; i++)
            {
                psaMovesetParser.SubActionsHandler.RemoveCommand(70, 0, 0);
            }
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Remove/FitMarioRemoveAllCommandsInSubAction.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Remove/FitMarioRemoveAllCommandsInSubAction.pac", "./Tests/SubActionsTests/Out/Remove/FitMarioRemoveAllCommandsInSubAction.pac"));
        }
Beispiel #11
0
        public void ModifyCommandInActionWithDifferentCommandWithSmallerParameterCount()
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>
            {
                new PsaCommandParameter(0, 0)
            };

            psaMovesetParser.ActionsHandler.ModifyActionCommand(0, 0, 0, new PsaCommand(67109120, 25788, parameters));
            psaMovesetParser.PsaFile.SaveFile("./Tests/ActionsTests/Out/Modify/FitMarioModifyCommandWithDifferentCommandWithSmallerParameterCount.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/ActionsTests/ComparisonData/Modify/FitMarioModifyCommandWithDifferentCommandWithSmallerParameterCount.pac", "./Tests/ActionsTests/Out/Modify/FitMarioModifyCommandWithDifferentCommandWithSmallerParameterCount.pac"));
        }
Beispiel #12
0
        public void ModifyCommandInActionWithCommandThatHasPointerParameter()
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>
            {
                new PsaCommandParameter(2, 98464)
            };

            psaMovesetParser.ActionsHandler.ModifyActionCommand(0, 0, 0, new PsaCommand(459008, 103152, parameters));
            psaMovesetParser.PsaFile.SaveFile("./Tests/ActionsTests/Out/Modify/FitMarioModifyCommandInActionWithCommandThatHasPointerParameter.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/ActionsTests/ComparisonData/Modify/FitMarioModifyCommandInActionWithCommandThatHasPointerParameter.pac", "./Tests/ActionsTests/Out/Modify/FitMarioModifyCommandInActionWithCommandThatHasPointerParameter.pac"));
        }
Beispiel #13
0
        public void ModifyCommandInSubActionWithDifferentCommandWithSmallerParameterCount()
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>
            {
                new PsaCommandParameter(1, 2400000)
            };

            psaMovesetParser.SubActionsHandler.ModifyCommand(72, 0, 1, new PsaCommand(131328, 68456, parameters));
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Modify/FitMarioModifyCommandWithDifferentCommandWithSmallerParameterCount.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Modify/FitMarioModifyCommandWithDifferentCommandWithSmallerParameterCount.pac", "./Tests/SubActionsTests/Out/Modify/FitMarioModifyCommandWithDifferentCommandWithSmallerParameterCount.pac"));
        }
Beispiel #14
0
        public void ModifyCommandInActionWithPointerParameter(int actionId, int codeBlockId, int commandIndex, string comparisonFileName)
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>
            {
                new PsaCommandParameter(0, 0),
                new PsaCommandParameter(6, 0)
            };

            psaMovesetParser.ActionsHandler.ModifyActionCommand(actionId, codeBlockId, commandIndex, new PsaCommand(33620480, 25788, parameters));
            psaMovesetParser.PsaFile.SaveFile($"./Tests/ActionsTests/Out/Modify/{comparisonFileName}");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical($"./Tests/ActionsTests/ComparisonData/Modify/{comparisonFileName}", $"./Tests/ActionsTests/Out/Modify/{comparisonFileName}"));
        }
Beispiel #15
0
        public void ModifyCommandInSubActionWithIdenticalCommandWithDifferentParameterTypes()
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>
            {
                new PsaCommandParameter(1, 39),
                new PsaCommandParameter(5, 2)
            };

            psaMovesetParser.SubActionsHandler.ModifyCommand(93, 0, 3, new PsaCommand(101188096, 73880, parameters));
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Modify/FitMarioModifyCommandWithIdenticalCommandWithDifferentParameterTypes.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Modify/FitMarioModifyCommandWithIdenticalCommandWithDifferentParameterTypes.pac", "./Tests/SubActionsTests/Out/Modify/FitMarioModifyCommandWithIdenticalCommandWithDifferentParameterTypes.pac"));
        }
Beispiel #16
0
        public void ModifyCommandInSubActionWithNoParametersToCommandWithParameters()
        {
            PsaMovesetHandler          psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            List <PsaCommandParameter> parameters       = new List <PsaCommandParameter>
            {
                new PsaCommandParameter(0, 0),
                new PsaCommandParameter(6, 0)
            };

            psaMovesetParser.SubActionsHandler.ModifyCommand(72, 0, 5, new PsaCommand(33620480, 0, parameters));
            psaMovesetParser.PsaFile.SaveFile("./Tests/SubActionsTests/Out/Modify/FitMarioModifyCommandWithNoParametersToCommandWithParameters.pac");
            Assert.IsTrue(WriteTestsHelper.AreFilesIdentical("./Tests/SubActionsTests/ComparisonData/Modify/FitMarioModifyCommandWithNoParametersToCommandWithParameters.pac", "./Tests/SubActionsTests/Out/Modify/FitMarioModifyCommandWithNoParametersToCommandWithParameters.pac"));
        }
Beispiel #17
0
        public void ReadPsaCommandsFromSubAction()
        {
            PsaMovesetHandler psaMovesetParser = WriteTestsHelper.GetPsaMovesetParser("./Tests/Data/FitMario.pac");
            Animation         animation        = psaMovesetParser.SubActionsHandler.GetSubActionAnimationData(80);

            Assert.AreEqual("AttackS3S", animation.AnimationName);
            Assert.AreEqual(0, animation.AnimationFlags.InTransition);
            Assert.AreEqual(0, animation.AnimationFlags.NoOutTransition);
            Assert.AreEqual(0, animation.AnimationFlags.Loop);
            Assert.AreEqual(4, animation.AnimationFlags.MovesCharacter);
            Assert.AreEqual(0, animation.AnimationFlags.Unknown3);
            Assert.AreEqual(0, animation.AnimationFlags.Unknown4);
            Assert.AreEqual(0, animation.AnimationFlags.Unknown5);
            Assert.AreEqual(0, animation.AnimationFlags.TransitionOutFromStart);
            Assert.AreEqual(0, animation.AnimationFlags.Unknown7);
        }