Saves.Configuration.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.IO;
  3. namespace OpenVIII
  4. {
  5. public static partial class Saves
  6. {
  7. #region Classes
  8. /// <summary>
  9. /// Configuration bytes.
  10. /// </summary>
  11. /// <see cref="https://github.com/alexfilth/quezacotl/blob/master/Quezacotl/InitWorker.cs"/>
  12. public class Configuration
  13. {
  14. #region Constructors
  15. public Configuration(BinaryReader br)
  16. {
  17. BattleSpeed = (BattleSpeed)br.ReadByte();
  18. BattleMessage = br.ReadByte();
  19. FieldMessage = br.ReadByte();
  20. Volume = br.ReadByte();
  21. Flag = (ConfigFlag)br.ReadByte();
  22. Scan = br.ReadByte();
  23. Camera = br.ReadByte();
  24. KeyUnk1 = br.ReadByte();
  25. KeyEscape = br.ReadByte();
  26. KeyPov = br.ReadByte();
  27. KeyWindow = br.ReadByte();
  28. KeyTrigger = br.ReadByte();
  29. KeyCancel = br.ReadByte();
  30. KeyMenu = br.ReadByte();
  31. KeyTalk = br.ReadByte();
  32. KeyTripleTriad = br.ReadByte();
  33. KeySelect = br.ReadByte();
  34. KeyUnk2 = br.ReadByte();
  35. KeyUnk3 = br.ReadByte();
  36. KeyStart = br.ReadByte();
  37. }
  38. #endregion Constructors
  39. #region Enums
  40. [Flags]
  41. public enum ConfigFlag : byte
  42. {
  43. Stereo = 0x0,
  44. Mono = 0x2,
  45. Initial = 0x0,
  46. Memory = 0x4,
  47. }
  48. #endregion Enums
  49. #region Properties
  50. public byte BattleMessage { get; private set; }
  51. public BattleSpeed BattleSpeed { get; private set; }
  52. public byte Camera { get; private set; }
  53. public byte FieldMessage { get; private set; }
  54. public ConfigFlag Flag { get; private set; }
  55. public byte KeyCancel { get; private set; }
  56. public byte KeyEscape { get; private set; }
  57. public byte KeyMenu { get; private set; }
  58. public byte KeyPov { get; private set; }
  59. public byte KeySelect { get; private set; }
  60. public byte KeyStart { get; private set; }
  61. public byte KeyTalk { get; private set; }
  62. public byte KeyTrigger { get; private set; }
  63. public byte KeyTripleTriad { get; private set; }
  64. public byte KeyUnk1 { get; private set; }
  65. public byte KeyUnk2 { get; private set; }
  66. public byte KeyUnk3 { get; private set; }
  67. public byte KeyWindow { get; private set; }
  68. public byte Scan { get; private set; }
  69. public byte Volume { get; private set; }
  70. #endregion Properties
  71. }
  72. #endregion Classes
  73. }
  74. }