ulx/generate_map_thumbnails

38 lines
1.1 KiB
Bash
Executable File

#!/bin/ksh
# generate_map_thumbnails
# by edshot99 2024
STEAM_API_URL="https://api.steampowered.com/ISteamRemoteStorage/GetPublishedFileDetails/v1/"
mkdir -p tmp/maps/thumb
for map in \
gm_aknevo#487999127 \
gm_aknevo_xmas#571682168 \
gm_atomic#105984257 \
gm_bigcity#105982362 \
gm_blackmesa_sigma#104483047 \
gm_blackmesasigma_night#104482189 \
gm_bluehills_test3#243902601 \
gm_buttes#105985587 \
gm_buttes_night#105985987 \
gm_cyclopean#175516237 \
gm_ddocean#144683665 \
gm_excess_island#115250988 \
gm_flatsnow_bj#1602003520 \
gm_functional_flatgrass#298072218 \
gm_templebeta#2533339955 \
gm_thevoid#1940231148 \
; do \
mapname=$(echo ${map} | sed 's^#.*^^g') && \
mapid=$(echo ${map} | sed 's^.*#^^g') && \
if [ ! -f tmp/${mapname}.jpg ]; then \
sleep 3 && \
curl -d "itemcount=1" -d "publishedfileids[0]=${mapid}" ${STEAM_API_URL} -o tmp/${mapname}.json && \
curl $(cat tmp/${mapname}.json | sed 's^.*preview_url":"^^g' | sed 's^/".*^/^g') -o tmp/${mapname}.jpg \
;fi \
; done
for map in tmp/*.jpg; do ffmpeg -loglevel error -n -i "${map}" "tmp/maps/thumb/$(echo ${map} | sed 's^tmp/^^g' | sed 's^\.jpg^^g').png"; done