#! /bin/bash for msd in S0??.MSD; do LANG=C sed ' s/\x81\x99/HARTEMOTe/g s/\x81\xf4/NOTEEMOTe/g s/\x81\x60/LONGTILDe/g s/\x81\x75/QUOTEOPEn/g s/\x81\x63/ELIPSEs/g s/\x81\x76/QUOTECLOSe/g s/\x81\x40\x81\x40/NEWLINe/g s/\x81\x40\x82\xa8\x82\xb5.*/OSHIMAi/' "$msd" | strings -eS -n 3 | \ sed ' s/- *NEWLINe/-/g s/NEWLINe/ /g s/ */ /g s/"/\\&/g;s/^ // s/^[\\*A-Z.].*[a-z.].*/"&"/ s/^[^"].*\.\.\..*/"&"/ s/HARTEMOTe/♡/g s/NOTEEMOTe/♪/g s/LONGTILDe/〜/g s/QUOTEOPEn/ “/g s/QUOTECLOSe/” /g s/ELIPSEs/…/g s/OSHIMAi/The End/g s/^CU\([0-9]*\)/show cu\1/ s/^bg.*/scene &/ s/^\(EV[0-9]\+\)P\(.*\)/scene \1p\2/ s/^EV[0-9]\+.*/scene &/ s/^BLACK$/scene &\npause 1.0/ s/^SE[0-9]\+.*/play sound "common\/&.ogg"/ s/^M[0-9]\+.*/stop music fadeout 1.0\nplay music "common\/&.ogg"/ s/^[A-Z]\{2,\}[0-9]\+$/voice "&"/ s/^t\([a-z][a-z]\).*/show \1 &/ s/ -\([a-zA-Z]\+\)-\([. ]\)/ {i}\1{\/i}\2/g' | grep -v $'\xff\xff\nDAMMY' | \ sed ' /^show/{N;s/\(show.*\)\n\(show.*\)/\1 at l\n\2 at r/} /^voice/{N;s/\(voice "\(....\).*\)\n\(".*\)/\1\n\2 \3\n/ s/YUNA "/y "/ s/NANA "/n "/ s/GALA "/ga "/ s/GALB "/gb "/ s/KYOS "/tt "/ } #/^GS_EN_NS$/{N;s/^\(.*\)\n\(.*\)$/\2\n\1/} /^scene EV/{N;s/\(.*\)\n\(GS_EN_NS\)$/\2\n\1/}' | \ sed '/^"/{:more;N;s/\n[^"]/&/;Tmore;s/\n[^"]/\n&/}' | \ sed -r '#maybe unreliable: /^(scene BLACK|S[0-9]\{3\})$/{:more;N;s/\n.*\n.*\n.*\n.*\n/&/;t;s/\nmain$/&/;Tmore;d}' | \ sed ' /^main$/d /^S[0-9]\{3\}$/d /^MSCENARIO/d /^GS/s/^/#/ /^sel/{s/^/#/;a\ #TODO: BRANCH } #$a\ # scene BLACK s/^/ / s/- \(chaa*n\)/-\1/g s/- \(samaa*\)/-\1/g s/- \(senpaa*\)/-\1/g' | uniq > "strings_$msd.txt" done