#!/bin/bash

shopt -s nullglob  # Prevent errors if no files match

# Associative array to store unique image bases
declare -A unique_images

# Extract base names without resolution suffix
for file in *.64.png; do
    base="${file%.64.png}"
    unique_images["$base"]=1
done

# Convert keys to sorted array
unique_bases=("${!unique_images[@]}")
IFS=$'\n' sorted_bases=($(sort <<<"${unique_bases[*]}"))
unset IFS

# Renaming process
counter=1
for base in "${sorted_bases[@]}"; do
    for res in 64 128 256; do
        old_file="${base}.${res}.png"
        new_file="waifu-${counter}.${res}.png"
        
        if [[ -f "$old_file" ]]; then
            mv "$old_file" "$new_file"
            echo "Renamed: $old_file -> $new_file"
        fi
    done
    ((counter++))
done

echo "Renaming complete."