tools/support/template.applescript
author Wuzzy <Wuzzy2@mail.ru>
Fri, 16 Feb 2018 11:51:42 +0100
changeset 13020 abb2b4ae172e
parent 9343 67552b2e20ca
permissions -rwxr-xr-x
Crop non-team hats without “real” animation to static format (32×32) This … a) makes these hats more managable b) Fixes some clipping problems with hats which take the full height (e.g. knight, noface) b) reduces file size This has been done semi-automated with the following steps: 1. Carefully select hats manually and write them in a list file 2. Run a script to crop them to 32×32 using ImageMagick 3. Check ALL the converted hats in Hedgewars 4. Discard hat changes which turn out to be bad 5. Manually convert any non-RGBA images back to RGBA 6. Final check 7. Commit

on run (volumeName)
	tell application "Finder"
		tell disk (volumeName as string)
			open
			
			set theXOrigin to WINX
			set theYOrigin to WINY
			set theWidth to WINW
			set theHeight to WINH
			
			set theBottomRightX to (theXOrigin + theWidth)
			set theBottomRightY to (theYOrigin + theHeight)
			set dsStore to "\"" & "/Volumes/" & volumeName & "/" & ".DS_STORE\""
			
			tell container window
				set current view to icon view
				set toolbar visible to false
				set statusbar visible to false
				set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
				set statusbar visible to false
			end tell
			
			set opts to the icon view options of container window
			tell opts
				set icon size to ICON_SIZE
				set arrangement to not arranged
			end tell
			BACKGROUND_CLAUSE
			
			-- Positioning
			POSITION_CLAUSE
			
			-- Hiding
			HIDING_CLAUSE
			
			-- Application Link Clause
			APPLICATION_CLAUSE
            close
            open
			
			update without registering applications
			-- Force saving of the size
			delay 1
			
			tell container window
				set statusbar visible to false
				set the bounds to {theXOrigin, theYOrigin, theBottomRightX - 10, theBottomRightY - 10}
			end tell
			
			update without registering applications
		end tell
		
		delay 1
		
		tell disk (volumeName as string)
			tell container window
				set statusbar visible to false
				set the bounds to {theXOrigin, theYOrigin, theBottomRightX, theBottomRightY}
			end tell
			
			update without registering applications
		end tell
		
		--give the finder some time to write the .DS_Store file
		delay 3
		
		set waitTime to 0
		set ejectMe to false
		repeat while ejectMe is false
			delay 1
			set waitTime to waitTime + 1
			
			if (do shell script "[ -f " & dsStore & " ]; echo $?") = "0" then set ejectMe to true
		end repeat
		log "waited " & waitTime & " seconds for .DS_STORE to be created."
	end tell
end run