public static void LoadBMS(string file, ref AABase AudioData) { AAF = AudioData; // copy our data into here. BMSData = File.ReadAllBytes(file); // Read the BMS file subroutines = new Subroutine[32]; // Initialize subroutine array. halts = new bool[32]; mutes = new bool[32]; updated = new int[32]; // mutes[9] = true; // mutes[13] = true; ChannelManager = new BMSChannelManager(); bpm = 1000; // Dummy value, should be set by the root track ppqn = 10; // Dummmy, ^ updateTempo(); // Generate the trick length, also dummy. // Initialize first track. var root = new Subroutine(ref BMSData, 0x00); // Should always start at 0x000 of our data. subroutine_count = 1; subroutines[0] = root; // stuff it into the subroutines array. tickTimer = new Stopwatch(); Console.WriteLine("start thread?"); playbackThread = new Thread(new ThreadStart(doPlayback)); playbackThread.Start(); // go go go }
internal void Update(ShipInfo rpInfo, RawShip rpData) { FirepowerBase.Update(rpInfo.FirepowerMinimum, rpInfo.FirepowerMaximum, rpData.ModernizedStatus[0]); TorpedoBase.Update(rpInfo.TorpedoMinimum, rpInfo.TorpedoMaximum, rpData.ModernizedStatus[1]); AABase.Update(rpInfo.AAMinimum, rpInfo.AAMaximum, rpData.ModernizedStatus[2]); ArmorBase.Update(rpInfo.ArmorMinimum, rpInfo.ArmorMaximum, rpData.ModernizedStatus[3]); LuckBase.Update(rpInfo.LuckMinimum, rpInfo.LuckMaximum, rpData.ModernizedStatus[4]); OnPropertyChanged(nameof(Firepower)); OnPropertyChanged(nameof(Torpedo)); OnPropertyChanged(nameof(AA)); OnPropertyChanged(nameof(Armor)); OnPropertyChanged(nameof(Evasion)); OnPropertyChanged(nameof(LoS)); OnPropertyChanged(nameof(ASW)); OnPropertyChanged(nameof(Luck)); }
static void Main(string[] args) { #if DEBUG args = new string[4]; args[0] = "visu"; args[1] = "jaiinit.aaf"; args[2] = "0"; args[3] = "telesabattle.bms"; #endif if (args.Length > 0) { if (args[0] == "mkjasm") { if (args.Length > 2) { var wtf = new JASM.JASMConverter(args[1], args[2]); return; } } if (args[0] == "play") { JAIVersion SequencerVersion = JAIVersion.UNKNOWN; if (args.Length < 3) { Console.WriteLine("You need to specify JAIInitFile and JAIVersion"); Console.WriteLine("JaiSeqX.exe play JaiInit.aaf 0 boolossus.bms yes"); Environment.Exit(-1); } try { SequencerVersion = (JAIVersion)(Convert.ToUInt16(args[2])); } catch { Console.WriteLine("{0} is not a valid JAIVersion", args[2]); } if (SequencerVersion == JAIVersion.UNKNOWN) { Console.WriteLine("{0} is not a valid JAIVersion", args[2]); } if (SequencerVersion == JAIVersion.ONE) { var b = new AAFFile(); b.LoadAAFile(args[1], JAIVersion.ONE); AAData = b; } else { var b = new BAAFile(); b.LoadBAAFile(args[1], SequencerVersion); AAData = b; } // if (args.Length < 4) { Console.WriteLine("No BMS file specified."); Environment.Exit(-1); } Player.BMSPlayer.LoadBMS(args[3], ref AAData); } if (args[0] == "visu") { JAIVersion SequencerVersion = JAIVersion.UNKNOWN; if (args.Length < 3) { Console.WriteLine("You need to specify JAIInitFile and JAIVersion"); Console.WriteLine("JaiSeqX.exe visu JaiInit.aaf 0 boolossus.bms yes"); Environment.Exit(-1); } try { SequencerVersion = (JAIVersion)(Convert.ToUInt16(args[2])); } catch { Console.WriteLine("{0} is not a valid JAIVersion", args[2]); } if (SequencerVersion == JAIVersion.UNKNOWN) { Console.WriteLine("{0} is not a valid JAIVersion", args[2]); } if (SequencerVersion == JAIVersion.ONE) { var b = new AAFFile(); b.LoadAAFile(args[1], JAIVersion.ONE); AAData = b; } else { var b = new BAAFile(); b.LoadBAAFile(args[1], SequencerVersion); AAData = b; } // if (args.Length < 4) { Console.WriteLine("No BMS file specified."); Environment.Exit(-1); } Player.BMSVisualizer.Init(); Player.BMSPlayer.LoadBMS(args[3], ref AAData); } } else { Console.WriteLine("JaiSeqX [command] <args>"); Console.WriteLine(); Console.WriteLine("JaiSeqX mkjasm <file> - Creates a .JASM (Jai Assembly) file from file.bms"); Console.WriteLine("\tJaiSeqX mkjasm file.bms\t"); Console.WriteLine(); Console.WriteLine("JaiSeqX play <aafFile> <JaiVersion> <BMS file> - Plays a BMS file with the specified JaiInit.aaf and version"); Console.WriteLine("\tJaiSeqX play JaiInit.aaf 0 file.bms"); Console.WriteLine("\t For JaiVersion info, see JaiVersion.cs or JV.txt! "); Console.WriteLine(); Console.WriteLine("JaiSeqX visu <aafFile> <JaiVersion> <BMS file> - Plays a BMS file with visualizer, same as command above but with visualizer."); Console.WriteLine("\tJaiSeqX play JaiInit.aaf 0 file.bms"); Console.WriteLine("\t For JaiVersion info, see JaiVersion.cs or JV.txt! "); } }