#pragma once
namespace PapyrusInterface {
// Function declarations for Papyrus registration
RE::BSFixedString TakePhoto(
RE::StaticFunctionTag*,
RE::BSFixedString basePath,
RE::BSFixedString imageType,
float jpgCompression,
RE::BSFixedString compressionMode,
float gifMultiFrameDuration
);
RE::BSFixedString Get_Result(RE::StaticFunctionTag*);
bool Cancel(RE::StaticFunctionTag*);
bool CheckPath(RE::StaticFunctionTag*, RE::BSFixedString path);
// Worker thread function
void CaptureWorkerThread(
std::string basePath,
std::string imageType,
float jpgCompression,
std::string compressionMode,
float gifMultiFrameDuration
);
// Registration function
bool RegisterFunctions(RE::BSScript::IVirtualMachine* vm);
// Helper functions
std::string ToLowerCase(const std::string& str);
bool IsValidPath(const std::string& pathStr);
}