|
|
|
@ -209,7 +209,7 @@ pub(super) async fn get_cards_images( |
|
|
|
}; |
|
|
|
let game = &data.games[game_id as usize]; |
|
|
|
let mut ar = Builder::new(Encoder::new(Vec::new())); |
|
|
|
let mut pathsUsed: HashMap<PathBuf, String> = HashMap::new(); |
|
|
|
let mut paths_used: HashMap<PathBuf, String> = HashMap::new(); |
|
|
|
for card_kind in cards.cards { |
|
|
|
let (face, back) = game.get_card_paths(&card_kind.kind); |
|
|
|
// log::info!("Loading face image [{:?}]", time.elapsed());
|
|
|
|
@ -232,31 +232,33 @@ pub(super) async fn get_cards_images( |
|
|
|
|
|
|
|
if is_newer(&card_kind, &face) { |
|
|
|
let new_path = format!("{}/face.png", card_kind.kind); |
|
|
|
if let Entry::Vacant(e) = pathsUsed.entry(face.clone()) { |
|
|
|
if let Entry::Vacant(e) = paths_used.entry(face.clone()) { |
|
|
|
ar.append_file(&new_path, &mut File::open(&face).unwrap()) |
|
|
|
.unwrap(); |
|
|
|
e.insert(new_path); |
|
|
|
} else { |
|
|
|
let mut header = Header::new_gnu(); |
|
|
|
header.set_cksum(); |
|
|
|
let b = pathsUsed.get(&face).unwrap().as_bytes(); |
|
|
|
let b = paths_used.get(&face).unwrap().as_bytes(); |
|
|
|
header.set_size(b.len() as u64); |
|
|
|
ar.append_data(&mut header, format!("{}/face.ref.txt", card_kind.kind), b).unwrap(); |
|
|
|
ar.append_data(&mut header, format!("{}/face.ref.txt", card_kind.kind), b) |
|
|
|
.unwrap(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if is_newer(&card_kind, &back) { |
|
|
|
let new_path = format!("{}/back.png", card_kind.kind); |
|
|
|
if let Entry::Vacant(e) = pathsUsed.entry(back.clone()) { |
|
|
|
if let Entry::Vacant(e) = paths_used.entry(back.clone()) { |
|
|
|
ar.append_file(&new_path, &mut File::open(&back).unwrap()) |
|
|
|
.unwrap(); |
|
|
|
e.insert(new_path); |
|
|
|
} else { |
|
|
|
let mut header = Header::new_gnu(); |
|
|
|
header.set_cksum(); |
|
|
|
let b = pathsUsed.get(&back).unwrap().as_bytes(); |
|
|
|
let b = paths_used.get(&back).unwrap().as_bytes(); |
|
|
|
header.set_size(b.len() as u64); |
|
|
|
ar.append_data(&mut header, format!("{}/back.ref.txt", card_kind.kind), b).unwrap(); |
|
|
|
ar.append_data(&mut header, format!("{}/back.ref.txt", card_kind.kind), b) |
|
|
|
.unwrap(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|