public PokemonGraphicsDatabaseEntry(IReadOnlyBinaryDataAccessor entryAccessor, IReadOnlyBinaryDataAccessor rawDataAccessor) { ModelNamePointer = entryAccessor.ReadInt64(0); AnimationNamePointer = entryAccessor.ReadInt64(8); BaseFormModelNamePointer = entryAccessor.ReadInt64(16); PortraitSheetNamePointer = entryAccessor.ReadInt64(24); RescueCampSheetNamePointer = entryAccessor.ReadInt64(32); RescueCampSheetReverseNamePointer = entryAccessor.ReadInt64(40); ModelName = rawDataAccessor.ReadNullTerminatedUnicodeString(ModelNamePointer); AnimationName = rawDataAccessor.ReadNullTerminatedUnicodeString(AnimationNamePointer); BaseFormModelName = rawDataAccessor.ReadNullTerminatedUnicodeString(BaseFormModelNamePointer); PortraitSheetName = rawDataAccessor.ReadNullTerminatedUnicodeString(PortraitSheetNamePointer); RescueCampSheetName = rawDataAccessor.ReadNullTerminatedUnicodeString(RescueCampSheetNamePointer); RescueCampSheetReverseName = rawDataAccessor.ReadNullTerminatedUnicodeString(RescueCampSheetReverseNamePointer); UnkX30 = entryAccessor.ReadSingle(0x30); UnkX34 = entryAccessor.ReadSingle(0x34); UnkX38 = entryAccessor.ReadSingle(0x38); UnkX3C = entryAccessor.ReadSingle(0x3C); UnkX40 = entryAccessor.ReadSingle(0x40); UnkX44 = entryAccessor.ReadSingle(0x44); UnkX48 = entryAccessor.ReadSingle(0x48); WalkSpeedDistance = entryAccessor.ReadSingle(0x4C); // Referenced by PokemonDatabase_GetWalkSpeed() UnkX50 = entryAccessor.ReadSingle(0x50); RunSpeedRatioGround = entryAccessor.ReadSingle(0x54); // Referenced by PokemonDatabase_GetRunRateGround() UnkX58 = entryAccessor.ReadSingle(0x58); UnkX5C = entryAccessor.ReadSingle(0x5C); UnkX60 = entryAccessor.ReadSingle(0x60); UnkX64 = entryAccessor.ReadSingle(0x64); UnknownBodyType1 = (GraphicsBodySizeType)entryAccessor.ReadInt32(0x68); UnknownBodyType2 = (GraphicsBodySizeType)entryAccessor.ReadInt32(0x6C); Flags = (PokemonGraphicsDatabaseEntryFlags)entryAccessor.ReadInt32(0x70); EnabledPortraits = (EnabledPortraitsFlags)entryAccessor.ReadUInt32(0x74); // Bitmask of enabled portraits UnkX78 = entryAccessor.ReadInt32(0x78); UnkX7C = entryAccessor.ReadInt32(0x7C); UnkX80 = entryAccessor.ReadInt32(0x80); UnkX84 = entryAccessor.ReadSingle(0x84); UnkX88 = entryAccessor.ReadSingle(0x88); UnkX8C = entryAccessor.ReadSingle(0x8C); UnkX90 = entryAccessor.ReadSingle(0x90); UnkX94 = entryAccessor.ReadSingle(0x94); UnkX98 = entryAccessor.ReadSingle(0x98); UnkX9C = entryAccessor.ReadSingle(0x9C); UnkXA0 = entryAccessor.ReadSingle(0xA0); Padding1 = entryAccessor.ReadInt32(0xA4); Padding2 = entryAccessor.ReadInt32(0xA8); Padding3 = entryAccessor.ReadInt32(0xAC); }