commonlibsse_ng\re\b/
BGSKeyword.rs

1use crate::re::BSFixedString::BSFixedString;
2use crate::re::FormTypes::FormType;
3use crate::re::TESFile::TESFile;
4use crate::re::TESForm::{TESForm, TESFormVtbl};
5use crate::re::offsets_rtti::RTTI_BGSKeyword;
6use crate::re::offsets_vtable::VTABLE_BGSKeyword;
7use crate::rel::id::VariantID;
8
9#[repr(C)]
10#[derive(Debug)]
11pub struct BGSKeyword {
12    pub __base: TESForm,             // 0x00
13    pub formEditorID: BSFixedString, // 0x20
14}
15const _: () = assert!(core::mem::size_of::<BGSKeyword>() == 0x28);
16
17impl BGSKeyword {
18    pub const RTTI: VariantID = RTTI_BGSKeyword;
19    pub const VTABLE: [VariantID; 1] = VTABLE_BGSKeyword;
20    pub const FORM_TYPE: FormType = FormType::Keyword;
21}
22
23#[repr(C)]
24pub struct BGSKeywordVtbl {
25    pub __base: TESFormVtbl,
26    pub Load: extern "C" fn(this: *mut BGSKeyword, mod_: *mut TESFile) -> bool, // 0x06
27    pub GetFormEditorID: extern "C" fn(this: *const BGSKeyword) -> *const u8,   // 0x32
28    pub SetFormEditorID: extern "C" fn(this: *mut BGSKeyword, str_: *const u8) -> bool, // 0x33
29}
30
31#[commonlibsse_ng_derive_internal::ffi_enum]
32#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
33pub enum RecordFlags {
34    Deleted = 1 << 5,
35    Ignored = 1 << 12,
36}