use super::*;

pub(super) static mut REAL_DINPUT8_CREATE: Option<DirectInput8CreateFn> = None;
pub(super) static FINANCE_TEMPLATE_EMITTED: AtomicBool = AtomicBool::new(false);
pub(super) static FINANCE_CAPTURE_STARTED: AtomicBool = AtomicBool::new(false);
pub(super) static FINANCE_COLLECTION_PROBE_WRITTEN: AtomicBool = AtomicBool::new(false);
pub(super) static CARGO_CAPTURE_STARTED: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_THREAD_STARTED: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_HOOK_INSTALLED: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_ATTEMPTED: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_IN_PROGRESS: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_DEFERRED: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_TRANSITION_ARMED: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_LAST_GATE_MASK: AtomicU32 = AtomicU32::new(u32::MAX);
pub(super) static AUTO_LOAD_READY_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_ARMED_TICK_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_ALLOCATOR_WINDOW_ACTIVE: AtomicBool = AtomicBool::new(false);
pub(super) static AUTO_LOAD_ALLOCATOR_WINDOW_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_POST_TRANSITION_SERVICE_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_LOAD_SCREEN_MESSAGE_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_SERVICE_ENTRY_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_SERVICE_RETURN_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_RUNTIME_PRIME_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_FRAME_CYCLE_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_OBJECT_SERVICE_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_CHILD_SERVICE_LOG_COUNT: AtomicU32 = AtomicU32::new(0);
pub(super) static AUTO_LOAD_SAVE_STEM: OnceLock<String> = OnceLock::new();
pub(super) static mut SHELL_STATE_SERVICE_TRAMPOLINE: usize = 0;
pub(super) static mut PROFILE_STARTUP_DISPATCH_TRAMPOLINE: usize = 0;
pub(super) static mut RUNTIME_RESET_TRAMPOLINE: usize = 0;
pub(super) static mut ALLOCATOR_TRAMPOLINE: usize = 0;
pub(super) static mut LOAD_SCREEN_SCALAR_TRAMPOLINE: usize = 0;
pub(super) static mut LOAD_SCREEN_CONSTRUCT_TRAMPOLINE: usize = 0;
pub(super) static mut LOAD_SCREEN_MESSAGE_TRAMPOLINE: usize = 0;
pub(super) static mut RUNTIME_PRIME_TRAMPOLINE: usize = 0;
pub(super) static mut FRAME_CYCLE_TRAMPOLINE: usize = 0;
pub(super) static mut OBJECT_SERVICE_TRAMPOLINE: usize = 0;
pub(super) static mut CHILD_SERVICE_TRAMPOLINE: usize = 0;
pub(super) static mut SHELL_PUBLISH_TRAMPOLINE: usize = 0;
pub(super) static mut SHELL_UNPUBLISH_TRAMPOLINE: usize = 0;
pub(super) static mut SHELL_OBJECT_TEARDOWN_TRAMPOLINE: usize = 0;
pub(super) static mut SHELL_OBJECT_RANGE_REMOVE_TRAMPOLINE: usize = 0;
pub(super) static mut SHELL_REMOVE_NODE_TRAMPOLINE: usize = 0;
pub(super) static mut SHELL_NODE_VCALL_TRAMPOLINE: usize = 0;
pub(super) static mut MODE2_TEARDOWN_TRAMPOLINE: usize = 0;
