commonlibsse_ng\re\a\AIProcess/
cached_values.rs

1use crate::re::BSTArray::BSTArray;
2
3#[repr(C)]
4#[derive(Debug, Clone, PartialEq)]
5pub struct CachedValueData {
6    value: f32,    // 0x0
7    invalid: bool, // 0x4
8    pad5: u8,      // 0x5
9    pad6: u16,     // 0x6
10}
11const _: () = assert!(core::mem::size_of::<CachedValueData>() == 0x8);
12
13#[commonlibsse_ng_derive_internal::to_bitflags]
14#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
15#[repr(u32)]
16pub enum Flags {
17    None = 0,
18    Radius = 1 << 0,
19    Width = 1 << 1,
20    Length = 1 << 2,
21    DPS = 1 << 3,
22    MedicineEffectivenessMult = 1 << 4,
23    EyeLevel = 1 << 9,
24    ConditionPreventsRun = 1 << 10,
25    ForwardLength = 1 << 11,
26    ActorIsGhost = 1 << 20,
27    HealthDamaged = 1 << 21,
28    MagickaPointsDamaged = 1 << 22,
29    StaminaDamaged = 1 << 23,
30    OwnerIsNPC = 1 << 25,
31    OwnerIsUndead = 1 << 26,
32    OwnerIsInCombatantFaction = 1 << 27,
33}
34
35#[commonlibsse_ng_derive_internal::to_bitflags]
36#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
37#[repr(u32)]
38pub enum BooleanValue {
39    None = 0,
40    ConditionPreventsRun = 1 << 0,
41    OwnerIsNPC = 1 << 1,
42    OwnerIsUndead = 1 << 2,
43    OwnerIsInCombatantFaction = 1 << 3,
44}
45
46#[repr(C)]
47#[derive(Debug, Clone, PartialEq)]
48pub struct CachedValues {
49    cachedRadius: f32,                             // 0x00
50    cachedWidth: f32,                              // 0x04
51    cachedLength: f32,                             // 0x08
52    cachedForwardLength: f32,                      // 0x0C
53    cachedDPS: f32,                                // 0x10
54    cachedEyeLevel: f32,                           // 0x14
55    cachedWalkSpeed: f32,                          // 0x18
56    cachedRunSpeed: f32,                           // 0x1C
57    cachedJogSpeed: f32,                           // 0x20
58    cachedFastWalkSpeed: f32,                      // 0x24
59    booleanValues: BooleanValue,                   // 0x28
60    flags: Flags,                                  // 0x2C
61    actorValueCache: BSTArray<CachedValueData>,    // 0x30
62    maxActorValueCache: BSTArray<CachedValueData>, // 0x48
63}
64const _: () = assert!(core::mem::size_of::<CachedValues>() == 0x60);