Kernel_bin.Misc_section.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System.IO;
  2. namespace FF8
  3. {
  4. public partial class Kernel_bin
  5. {
  6. /// <summary>
  7. /// Misc Data
  8. /// </summary>
  9. /// <see cref="https://github.com/alexfilth/doomtrain/wiki/Misc-section"/>
  10. public class Misc_section
  11. {
  12. public const int count = 1;
  13. public const int id = 29;
  14. public byte[] Status_Timers { get; private set; }
  15. public byte ATB_Speed_Multiplier { get; private set; }
  16. public byte Dead_Timer { get; private set; }
  17. public byte[] Status_Limit_Effects { get; private set; }
  18. public byte[] Duel_Timers_and_Start_Moves { get; private set; }
  19. public byte[] Shot_Timers { get; private set; }
  20. public void Read(BinaryReader br, int i)
  21. {
  22. Status_Timers = br.ReadBytes(14);
  23. ATB_Speed_Multiplier = br.ReadByte();
  24. Dead_Timer = br.ReadByte();
  25. Status_Limit_Effects = br.ReadBytes(32);
  26. Duel_Timers_and_Start_Moves = br.ReadBytes(8);
  27. Shot_Timers = br.ReadBytes(4);
  28. }
  29. public static Misc_section[] Read(BinaryReader br)
  30. {
  31. var ret = new Misc_section[count];
  32. for (int i = 0; i < count; i++)
  33. {
  34. var tmp = new Misc_section();
  35. tmp.Read(br, i);
  36. ret[i] = tmp;
  37. }
  38. return ret;
  39. }
  40. }
  41. }
  42. }