public static List <int> FindIdealPendulumManipulation(uint pendulumAddress) { List <List <int> > dustFrameLists = GetDustFrameLists(MupenUtilities.GetFrameCount() + 2, 25, 25); foreach (List <int> dustFrames in dustFrameLists) { TtcSimulation simulation = new TtcSimulation(dustFrames); bool success = simulation.FindIdealPendulumManipulation(pendulumAddress).ToTuple().Item1; if (success) { return(dustFrames); } } return(null); }
FindIdealPendulumManipulation(uint pendulumAddress, TtcSaveState saveState) { List <List <int> > dustFrameLists = GetDustFrameLists(2, 25, 25); foreach (List <int> dustFrames in dustFrameLists) { TtcSimulation simulation = new TtcSimulation(saveState); simulation.AddDustFrames(dustFrames); (bool success, TtcSaveState savestate, int endFrame) = simulation.FindIdealPendulumManipulation(pendulumAddress); if (success) { return(success, savestate, endFrame, dustFrames); } } return(false, null, 0, null); }