modde_games/oblivion_remastered/
saves.rs1use std::path::Path;
4
5use anyhow::Result;
6use smallvec::SmallVec;
7
8use crate::save_patterns::{CaptureSummary, PatternSaveTracker};
9use crate::traits::{DetectedSave, SaveTracker};
10
11pub struct OblivionRemasteredSaveTracker;
13
14pub static OBLIVION_REMASTERED_SAVE_TRACKER: OblivionRemasteredSaveTracker =
15 OblivionRemasteredSaveTracker;
16
17const TRACKER: PatternSaveTracker = PatternSaveTracker {
18 prefix_rules: &[],
19 file_extensions: &["ess", "sav"],
20 default_category: "manual",
21 recursive: false,
22 exclude_patterns: &["*.bak"],
23 label_extractor: |_, rel| Some(rel.to_string()),
24 summary: CaptureSummary::ByCategory,
25};
26
27impl SaveTracker for OblivionRemasteredSaveTracker {
28 fn save_patterns(&self) -> SmallVec<[String; 2]> {
29 TRACKER.save_patterns()
30 }
31
32 fn detect_saves(&self, save_dir: &Path) -> Result<Vec<DetectedSave>> {
33 TRACKER.detect_saves(save_dir)
34 }
35
36 fn exclude_patterns(&self) -> SmallVec<[String; 2]> {
37 TRACKER.exclude_patterns()
38 }
39
40 fn describe_capture(&self, saves: &[DetectedSave]) -> String {
41 TRACKER.describe_capture(saves)
42 }
43}