From a1a9ae82e87ae02886ca0669fc0b7d52a4500837 Mon Sep 17 00:00:00 2001 From: cohaereo Date: Sun, 16 Jun 2024 18:50:00 +0200 Subject: [PATCH] Prepend redacted packages with icon --- src/gui/audio.rs | 6 +++--- src/gui/common.rs | 4 ++-- src/gui/mod.rs | 2 +- src/gui/named_tags.rs | 2 +- src/gui/packages.rs | 12 +++++++++--- src/gui/raw_strings.rs | 2 +- src/gui/strings.rs | 2 +- src/gui/tag.rs | 4 ++-- src/gui/texture.rs | 2 +- src/gui/texturelist.rs | 2 +- src/main.rs | 11 +++++++---- src/{packages.rs => package_manager.rs} | 0 src/references.rs | 2 +- src/scanner.rs | 2 +- src/tagtypes.rs | 2 +- src/text.rs | 2 +- 16 files changed, 33 insertions(+), 24 deletions(-) rename src/{packages.rs => package_manager.rs} (100%) diff --git a/src/gui/audio.rs b/src/gui/audio.rs index a4864f7..71c2bd8 100644 --- a/src/gui/audio.rs +++ b/src/gui/audio.rs @@ -1,5 +1,5 @@ use crate::gui::texture::{LoadedTexture, Texture}; -use crate::packages::package_manager; +use crate::package_manager::package_manager; use destiny_pkg::TagHash; use eframe::egui::mutex::RwLock; use eframe::egui::TextureId; @@ -74,9 +74,9 @@ impl AudioPlayer { impl AudioPlayer { pub fn play(&self, hash: TagHash) -> AudioPlayerState { if hash.is_none() { - return AudioPlayerState::Errored(format!("Tag {hash} is not linked to audio data")) + return AudioPlayerState::Errored(format!("Tag {hash} is not linked to audio data")); } - + let mut ap = self.playing.write(); // Already playing, don't restart playback if Some(hash) == ap.as_ref().map(|p| p.tag) { diff --git a/src/gui/common.rs b/src/gui/common.rs index d5e3ca8..678df81 100644 --- a/src/gui/common.rs +++ b/src/gui/common.rs @@ -10,8 +10,8 @@ use std::io::{Cursor, Write}; use std::num::NonZeroU32; use crate::gui::audio::{AudioPlayer, AudioPlayerState}; -use crate::packages::get_hash64; -use crate::{packages::package_manager, tagtypes::TagType}; +use crate::package_manager::get_hash64; +use crate::{package_manager::package_manager, tagtypes::TagType}; use super::texture::{Texture, TextureCache}; diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 60b43f6..7fdf364 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -29,7 +29,7 @@ use crate::gui::tag::TagHistory; use crate::scanner::fnv1; use crate::text::RawStringHashCache; use crate::{ - packages::package_manager, + package_manager::package_manager, scanner::{load_tag_cache, scanner_progress, ScanStatus, TagCache}, text::{create_stringmap, StringCache}, }; diff --git a/src/gui/named_tags.rs b/src/gui/named_tags.rs index 6d1c7f4..0d441b7 100644 --- a/src/gui/named_tags.rs +++ b/src/gui/named_tags.rs @@ -1,7 +1,7 @@ use destiny_pkg::{package::UEntryHeader, PackageNamedTagEntry}; use eframe::egui::{self, RichText}; -use crate::{packages::package_manager, tagtypes::TagType}; +use crate::{package_manager::package_manager, tagtypes::TagType}; use super::{common::ResponseExt, tag::format_tag_entry, View, ViewAction}; diff --git a/src/gui/packages.rs b/src/gui/packages.rs index 117f55f..8818fea 100644 --- a/src/gui/packages.rs +++ b/src/gui/packages.rs @@ -3,9 +3,9 @@ use destiny_pkg::{manager::PackagePath, TagHash}; use eframe::egui::{self, RichText}; use crate::gui::common::open_audio_file_in_default_application; -use crate::packages::get_hash64; +use crate::package_manager::get_hash64; use crate::util::format_file_size; -use crate::{packages::package_manager, tagtypes::TagType}; +use crate::{package_manager::package_manager, tagtypes::TagType}; use super::{ common::{dump_wwise_info, ResponseExt}, @@ -74,11 +74,17 @@ impl View for PackagesView { continue; } + let redacted = if path.name.ends_with("redacted") { + "🗝 " + } else { + "" + }; + if ui .selectable_value( &mut self.selected_package, *id, - format!("{id:04x}: {package_name}"), + format!("{id:04x}: {redacted}{package_name}"), ) .changed() { diff --git a/src/gui/raw_strings.rs b/src/gui/raw_strings.rs index 0ac2fdb..43c6884 100644 --- a/src/gui/raw_strings.rs +++ b/src/gui/raw_strings.rs @@ -6,7 +6,7 @@ use itertools::Itertools; use rustc_hash::FxHashMap; use crate::{ - packages::package_manager, + package_manager::package_manager, scanner::{fnv1, TagCache}, tagtypes::TagType, }; diff --git a/src/gui/strings.rs b/src/gui/strings.rs index 74136e6..3a69c9d 100644 --- a/src/gui/strings.rs +++ b/src/gui/strings.rs @@ -12,7 +12,7 @@ use itertools::Itertools; use rustc_hash::FxHashMap; use crate::{ - packages::package_manager, + package_manager::package_manager, scanner::TagCache, tagtypes::TagType, text::{decode_text, StringCache, StringCacheVec, StringContainer, StringData, StringPart}, diff --git a/src/gui/tag.rs b/src/gui/tag.rs index 945a7bf..818d5a4 100644 --- a/src/gui/tag.rs +++ b/src/gui/tag.rs @@ -25,10 +25,10 @@ use rustc_hash::{FxHashMap, FxHashSet}; use std::fmt::Write; use std::rc::Rc; -use crate::packages::get_hash64; +use crate::package_manager::get_hash64; use crate::{gui::texture::Texture, scanner::read_raw_string_blob, text::RawStringHashCache}; use crate::{ - packages::package_manager, + package_manager::package_manager, references::REFERENCE_NAMES, scanner::{ScanResult, TagCache}, tagtypes::TagType, diff --git a/src/gui/texture.rs b/src/gui/texture.rs index 2d9af1c..6590f49 100644 --- a/src/gui/texture.rs +++ b/src/gui/texture.rs @@ -1,6 +1,6 @@ use crate::gui::dxgi::DxgiFormat; use crate::gui::texture::texture_capture::capture_texture; -use crate::packages::package_manager; +use crate::package_manager::package_manager; use anyhow::Context; use binrw::{BinRead, BinReaderExt}; use destiny_pkg::package::PackagePlatform; diff --git a/src/gui/texturelist.rs b/src/gui/texturelist.rs index 5e0b008..85deec7 100644 --- a/src/gui/texturelist.rs +++ b/src/gui/texturelist.rs @@ -3,7 +3,7 @@ use eframe::egui::{self, pos2, vec2, Color32, RichText, Stroke, Widget}; use std::fmt::{Display, Formatter}; use crate::gui::texture::{Texture, TextureDesc}; -use crate::{packages::package_manager, tagtypes::TagType}; +use crate::{package_manager::package_manager, tagtypes::TagType}; use super::{common::ResponseExt, texture::TextureCache, View, ViewAction}; diff --git a/src/main.rs b/src/main.rs index 3747a0c..5fc73be 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,5 @@ mod gui; -mod packages; +mod package_manager; mod panic_handler; mod references; mod scanner; @@ -18,9 +18,9 @@ use env_logger::Env; use game_detector::InstalledGame; use log::info; -use crate::packages::initialize_package_manager; +use crate::package_manager::initialize_package_manager; use crate::references::initialize_reference_names; -use crate::{gui::QuickTagApp, packages::package_manager}; +use crate::{gui::QuickTagApp, package_manager::package_manager}; #[derive(clap::Parser, Debug)] #[command(author, version, about, long_about = None, disable_version_flag(true))] @@ -59,7 +59,10 @@ fn main() -> eframe::Result<()> { panic!("Could not find Destiny 2 packages directory"); }; - info!("Initializing package manager for version {:?} at '{}'", args.version, packages_path); + info!( + "Initializing package manager for version {:?} at '{}'", + args.version, packages_path + ); let pm = PackageManager::new( packages_path, args.version diff --git a/src/packages.rs b/src/package_manager.rs similarity index 100% rename from src/packages.rs rename to src/package_manager.rs diff --git a/src/references.rs b/src/references.rs index 6b7bcc5..2a5db38 100644 --- a/src/references.rs +++ b/src/references.rs @@ -2,7 +2,7 @@ use eframe::epaint::mutex::RwLock; use log::warn; use rustc_hash::FxHashMap; -use crate::packages::{package_manager, package_manager_checked}; +use crate::package_manager::{package_manager, package_manager_checked}; // TODO(cohae): User-defined references lazy_static::lazy_static! { diff --git a/src/scanner.rs b/src/scanner.rs index be5cca1..29b989a 100644 --- a/src/scanner.rs +++ b/src/scanner.rs @@ -16,7 +16,7 @@ use rayon::prelude::{IntoParallelRefIterator, ParallelIterator}; use rustc_hash::FxHashMap; use crate::{ - packages::package_manager, + package_manager::package_manager, text::create_stringmap, util::{u32_from_endian, u64_from_endian}, }; diff --git a/src/tagtypes.rs b/src/tagtypes.rs index cf7ba7b..a379ca6 100644 --- a/src/tagtypes.rs +++ b/src/tagtypes.rs @@ -3,7 +3,7 @@ use std::fmt::Display; use destiny_pkg::PackageVersion; use eframe::epaint::Color32; -use crate::packages::package_manager; +use crate::package_manager::package_manager; #[derive(PartialEq)] pub enum TagType { diff --git a/src/text.rs b/src/text.rs index ab9f1ae..2b01847 100644 --- a/src/text.rs +++ b/src/text.rs @@ -10,7 +10,7 @@ use destiny_pkg::{PackageVersion, TagHash}; use log::{error, warn}; use rustc_hash::{FxHashMap, FxHashSet}; -use crate::packages::package_manager; +use crate::package_manager::package_manager; pub type TablePointer32 = _TablePointer; pub type TablePointer64 = _TablePointer;