Morph1984 dd078640ce Add 768p and 1536p to uncommon resolutions pack (#228)
* Add 768p and 1536p to uncommon resolutions pack

1366x768, commonly known as 768p or "laptop" resolution is found on some (cheaper) laptops, monitors, and TVs.
2x resolution of 768p is 1536p. Available for downsampling perfectly to 768p for better image quality if there is enough GPU speed/for games that do not depend much on GPU power.

720p performs marginally better than 768p but delivers worse quality (due to imperfect upscaling) on 768p screens.
For 900p, it performs worse than 768p and also delivers worse quality (due to imperfect downscaling).

* Update build.sh
2018-06-28 12:55:33 -07:00

241 lines
9.8 KiB
Bash
Executable File

#!/bin/bash
BGREEN='\033[1;32m'
GREEN='\033[0;32m'
BCYAN='\033[1;36m'
RED='\033[0;31m'
NC='\033[0m' # Removes Color
echo -e "${RED}Building $buildType resolutions of the graphic packs.\n"
baseOutDir=$1
if [ -n "$baseOutDir" ]; then
if [ ! -d "$baseOutDir" ]; then
echo -e "${GREEN}Making base output directory ${BGREEN}$baseOutDir\n"
mkdir "$baseOutDir"
fi
fi
build_dir () {
srcDir=$1
dstDir=$2
if [ -n "$baseOutDir" ]; then
dstDir="$baseOutDir/$dstDir"
fi
params=( "$@" )
rest=( "${params[@]:2}" )
if [ ! -d "$dstDir" ]; then
mkdir -p "$dstDir"
else
rm "$dstDir"/*.txt
fi
for f in "$srcDir"/*.txt
do
filename=`basename $f`
outName="$dstDir/$filename"
echo -e "\t${GREEN}[PHP] ${NC}Exec $f to $outName with params ${rest[@]}"
php "$f" "${rest[@]}" > "$outName"
if [ $? -ne 0 ]; then
rm "$outName"
fi
done
}
res_144p=( "Performance" 256 144 )
res_240p=( "Performance" 426 240 )
res_360p489=( "Performance" 1920 360 )
res_360p=( "Performance" 640 360 )
res_420p=( "Performance" 854 480 )
res_480p489=( "Performance" 2562 480 )
res_480p=( "Performance" 854 480 )
res_540p219=( "Performance" 1280 540 )
res_540p489=( "Performance" 2880 540 )
res_540p=( "Performance" 960 540 )
res_720p219=( "Performance" 1706 720 )
res_720p489=( "Performance" 3840 720 )
res_720p=( "Performance" 1280 720 )
res_768p=( "Quality" 1366 768 )
res_900p219=( "Quality" 2100 900 )
res_900p489=( "Quality" 4800 900 )
res_900p=( "Quality" 1600 900 )
res_1080p219=( "Quality" 2560 1080 )
res_1080p489=( "Quality" 5760 1080 )
res_1080p=( "Quality" 1920 1080 )
res_1440p219=( "Quality" 3440 1440 )
res_1440p489=( "Quality" 7680 1440 )
res_1440p=( "Quality" 2560 1440 )
res_1536p=( "Quality" 2732 1536 )
res_1800p219=( "Quality" 4200 1800 )
res_1800p489=( "Quality" 9600 1800 )
res_1800p=( "Quality" 3200 1800 )
res_2160p219=( "Quality" 5120 2160 )
res_2160p489=( "Quality" 11520 2160 )
res_2160p=( "Quality" 3840 2160 )
res_2880p219=( "Enthusiast" 6880 2880 )
res_2880p489=( "Enthusiast" 15360 2880 )
res_2880p=( "Enthusiast" 5120 2880 )
res_4320p219=( "Enthusiast" 10240 4320 )
res_4320p489=( "Enthusiast" 23040 4320 )
res_4320p=( "Enthusiast" 7680 4320 )
res_5760p219=( "Enthusiast" 13760 5760 )
res_5760p489=( "Enthusiast" 30720 5760 )
res_5760p=( "Enthusiast" 10240 5760 )
std_respack () {
gameName=$1
params=( "$@" )
rest=( "${params[@]:1}" )
echo -e "travis_fold:start:$gameName"
echo -e "${GREEN}[Building] ${BCYAN}$gameName ${NC}for ${rest[@]}"
for arrg in "${rest[@]}"
do
resvarname="res_${arrg}[@]"
if [ -v "$resvarname" ]; then
resdata=( "${!resvarname}" )
prefix="${resdata[0]}"
subparams=( "${resdata[@]:1}" )
inFolder="Source/$gameName"
outFolder="${gameName}_${arrg}"
if [ -n "$prefix" ]; then
outFolder="$prefix/$outFolder"
fi
#width="${subparams[0]}"
#height="${subparams[1]}"
#echo "$arrg w: $width h: $height inFolder: $inFolder outFolder: $outFolder"
build_dir "$inFolder" "$outFolder" "${subparams[@]}"
elif [ -n "$arrg" ]; then #only if requested resolution name not empty (which happens when you remove array elem naively)
echo -e "${RED}$arrg resolution not defined, define it in build.sh"
exit 1
fi
done
echo -e "travis_fold:end:$gameName"
}
mod_onearg () {
params=( "$@" )
subparams=( "${params[@]:1}" )
mod_folder="${params[0]}"
echo -e "travis_fold:start:$mod_folder"
echo -e "${GREEN}[Building] ${BCYAN}$mod_folder ${NC}with arguments: ${subparams[@]}"
for arrg in "${subparams[@]}"
do
inFolder="Source/$mod_folder"
outFolder="Modifications/${mod_folder}_${arrg}"
#echo "${arrg} inFolder: $inFolder outFolder: $outFolder"
build_dir "$inFolder" "$outFolder" "$arrg"
done
echo -e "travis_fold:end:$mod_folder"
}
if [ "$buildType" = "Common" ]; then
res16by9=( "480p" "720p" "900p" "1080p" "1440p" "2160p" "2880p" )
res21by9=( "720p219" "1080p219" "1440p219" "2160p219" "2880p219" )
just720p=( "720p" )
just1080p=( "1080p" )
else
res16by9=( "144p" "240p" "360p" "420p" "480p" "540p" "720p" "768p" "900p" "1080p" "1440p" "1536p" "1800p" "2160p" "2880p" "4320p" "5760p" )
res21by9=( "540p219" "720p219" "900p219" "1080p219" "1440p219" "1800p219" "2160p219" "2880p219" "4320p219" "5760p219" )
res48by9=( "360p489" "480p489" "540p489" "720p489" "900p489" "1080p489" "1440p489" "1800p489" "2160p489" "2880p489" "4320p489" "5760p489" )
just720p=( "720p" )
just1080p=( "1080p" )
fi
std_respack "AdventureTimeEtDBIDK" "${res16by9[@]/$just1080p}"
std_respack "AdventureTimeFJI" "${res16by9[@]/$just720p}"
std_respack "AmiiboFestival" "${res16by9[@]/$just720p}"
std_respack "AquaTV" "${res16by9[@]/$just720p}"
std_respack "BatmanArkham" "${res16by9[@]/$just720p}"
std_respack "Bayonetta" "${res16by9[@]/$just720p}"
std_respack "Bayonetta2" "${res16by9[@]/$just720p}"
std_respack "Ben10Omniverse" "${res16by9[@]/$just720p}"
std_respack "BreathOfTheWild" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "Brunswick" "${res16by9[@]/$just720p}"
std_respack "CaptainToad" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "Chariot" "${res16by9[@]/$just720p}"
std_respack "ChimpuzzlePro" "${res16by9[@]/$just720p}"
std_respack "ChompyChompChompParty" "${res16by9[@]/$just720p}"
std_respack "CitizensOfEarth" "${res16by9[@]/$just720p}"
std_respack "ColorSplash" "${res16by9[@]/$just720p}"
std_respack "DevilsThird" "${res16by9[@]/$just720p}"
std_respack "DuckTalesRemastered" "${res16by9[@]/$just1080p}"
std_respack "ElectronicSuperJoyGrooveCity" "${res16by9[@]/$just1080p}"
std_respack "FASTRacingNEO" "${res16by9[@]/$just720p}"
std_respack "FamilyTennisSP" "${res16by9[@]/$just720p}"
std_respack "FistoftheNorthStar" "${res16by9[@]/$just720p}"
std_respack "FrenchyBird" "${res16by9[@]/$just720p}"
std_respack "GhostBladeHD" "${res16by9[@]/$just720p}"
std_respack "GhostlyAdventures" "${res16by9[@]/$just720p}"
std_respack "GhostlyAdventures2" "${res16by9[@]/$just720p}"
std_respack "GianaSistersTwistedDreams" "${res16by9[@]/$just720p}"
std_respack "Guacamelee" "${res16by9[@]/$just720p}"
std_respack "HyruleWarriors" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "InfinityRunner" "${res16by9[@]/$just720p}"
std_respack "KamenRider" "${res16by9[@]/$just720p}"
std_respack "KickandFennick" "${res16by9[@]/$just720p}"
std_respack "KirbyRainbowCurse" "${res16by9[@]/$just720p}"
std_respack "KungFuPanda" "${res16by9[@]/$just720p}"
std_respack "LEGOCityUndercover" "${res16by9[@]/$just720p}"
std_respack "MarioKart8" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "MarioSonicRio" "${res16by9[@]/$just720p}"
std_respack "MarioSonicSochi" "${res16by9[@]/$just720p}"
std_respack "MarioTennis" "${res16by9[@]/$just720p}"
std_respack "MarioParty10" "${res16by9[@]/$just720p}"
std_respack "Minecraft" "${res16by9[@]/$just720p}"
std_respack "MinecraftStory" "${res16by9[@]/$just720p}"
std_respack "MonsterHunter3Ultimate" "${res16by9[@]/$just1080p}"
std_respack "NBA2K13" "${res16by9[@]/$just720p}"
std_respack "NewSuperMarioBrosU" "${res16by9[@]/$just720p}"
std_respack "NinjaGaiden3RE" "${res16by9[@]/$just720p}"
std_respack "NintendoLand" "${res16by9[@]/$just720p}"
std_respack "OnePiece" "${res16by9[@]/$just720p}"
std_respack "PaperMonstersRecut" "${res16by9[@]/$just720p}"
std_respack "PhineasFerb" "${res16by9[@]/$just720p}"
std_respack "Pikmin3" "${res16by9[@]/$just720p}"
std_respack "PokkenTournament" "${res16by9[@]/$just720p}"
std_respack "ProjectZero" "${res16by9[@]/$just720p}"
std_respack "PuyoPuyoTetris" "${res16by9[@]/$just1080p}"
std_respack "RiseOfLyric" "${res16by9[@]/$just720p}"
std_respack "Runner2" "${res16by9[@]/$just720p}"
std_respack "SanatoryHallways" "${res16by9[@]/$just720p}"
std_respack "ScribblenautsUnlimited" "${res16by9[@]/$just720p}"
std_respack "ScribblenautsUnmasked" "${res16by9[@]/$just720p}"
std_respack "Severed" "${res16by9[@]/$just720p}"
std_respack "ShantaeHGH" "${res16by9[@]/$just1080p}"
std_respack "ShovelKnight" "${res16by9[@]/$just1080p}"
std_respack "Smurfs2" "${res16by9[@]/$just1080p}"
std_respack "SonicLostWorld" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "Splatoon" "${res16by9[@]/$just720p}" "${res21by9[@]}"
std_respack "SpongeBob" "${res16by9[@]/$just720p}"
std_respack "StarFoxGuard" "${res16by9[@]/$just720p}"
std_respack "StarFoxZero" "${res16by9[@]/$just720p}"
std_respack "SuperMario3DWorld" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "SuperMarioMaker" "${res16by9[@]/$just720p}"
std_respack "SuperSmashBros" "${res16by9[@]/$just1080p}"
std_respack "TNTRacers" "${res16by9[@]/$just1080p}"
std_respack "TaikoNoTatsujin" "${res16by9[@]/$just720p}"
std_respack "Tekken" "${res16by9[@]/$just720p}"
std_respack "Tengami" "${res16by9[@]/$just720p}"
std_respack "TokyoMirage" "${res16by9[@]/$just720p}"
std_respack "TropicalFreeze" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "TurboSuperStuntSquad" "${res16by9[@]/$just720p}"
std_respack "TwilightPrincessHD" "${res16by9[@]/$just1080p}"
std_respack "WarriorsOrochi3" "${res16by9[@]/$just720p}"
std_respack "WiiUBIOS" "${res16by9[@]/$just720p}"
std_respack "WindWakerHD" "${res16by9[@]/$just1080p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "Wipeout3" "${res16by9[@]/$just720p}"
std_respack "WipeoutCreate" "${res16by9[@]/$just720p}"
std_respack "Wonderful101" "${res16by9[@]/$just720p}"
std_respack "WoollyWorld" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
std_respack "XenobladeX" "${res16by9[@]/$just720p}" "${res21by9[@]}" "${res48by9[@]}"
mod_onearg "BreathOfTheWild_StaticFPS" 30 45 60
echo -e "${NC}"