diff options
| author | Valentin Popov <valentin@popov.link> | 2026-02-04 23:37:59 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-02-04 23:37:59 +0300 |
| commit | afe6b9a29b1f4b5f116a96fa42ee929e32e530e3 (patch) | |
| tree | c0f79ef65772e1d66c9bc2d829e6afc74539131c /tools/texture-decoder/src/main.rs | |
| parent | 6a46fe98258f471311810c214bdd07fbc557c1ac (diff) | |
| download | fparkan-afe6b9a29b1f4b5f116a96fa42ee929e32e530e3.tar.xz fparkan-afe6b9a29b1f4b5f116a96fa42ee929e32e530e3.zip | |
feat: remove Rust project
Diffstat (limited to 'tools/texture-decoder/src/main.rs')
| -rw-r--r-- | tools/texture-decoder/src/main.rs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/tools/texture-decoder/src/main.rs b/tools/texture-decoder/src/main.rs deleted file mode 100644 index 26c7edd..0000000 --- a/tools/texture-decoder/src/main.rs +++ /dev/null @@ -1,41 +0,0 @@ -use std::io::Read; - -use byteorder::ReadBytesExt; -use image::Rgba; - -fn decode_texture(file_path: &str, output_path: &str) -> Result<(), std::io::Error> { - // Читаем файл - let mut file = std::fs::File::open(file_path)?; - let mut buffer: Vec<u8> = Vec::new(); - file.read_to_end(&mut buffer)?; - - // Декодируем метаданные - let mut cursor = std::io::Cursor::new(&buffer[4..]); - let img_width = cursor.read_u32::<byteorder::LittleEndian>()?; - let img_height = cursor.read_u32::<byteorder::LittleEndian>()?; - - // Пропустить оставшиеся байты метаданных - cursor.set_position(20); - - // Извлекаем данные изображения - let image_data = buffer[cursor.position() as usize..].to_vec(); - let img = - image::ImageBuffer::<Rgba<u8>, _>::from_raw(img_width, img_height, image_data.to_vec()) - .expect("Failed to decode image"); - - // Сохраняем изображение - img.save(output_path).unwrap(); - - Ok(()) -} - -fn main() { - let args: Vec<String> = std::env::args().collect(); - - let input = &args[1]; - let output = &args[2]; - - if let Err(err) = decode_texture(input, output) { - eprintln!("Error: {}", err) - } -} |
