misc/loc_gen.txt
author Wuzzy <almikes@aol.com>
Sat, 30 Sep 2017 23:52:08 +0200
changeset 12622 07fdda8c13a2
parent 12013 3e615852f36e
permissions -rw-r--r--
TrophyRace: Fix game never eliminating any hogs after a hog skipped or ran out of time Warning: This commit _might_ invalidate past records, but I'm not sure if this is actually the case. Note that only the eliminiation part of the script is touched, not the actual race logic. Even if records are actually broken by this, I and sheepluva have decided that it's more imporant to fix this very, VERY stupid and old bug than to preserve records.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7828
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     1
# this is inefficient and clunky, but, figured it might as well be kept somewhere so people are aware of it
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     2
# Is how I'm currently updated the locale files.
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     3
# collect strings - run in Data
12013
3e615852f36e Add loc_noop to Locale Lua library
Wuzzy <almikes@aol.com>
parents: 7935
diff changeset
     4
echo -n "" > loc.txt; for F in loc loc_noop; do grep -F "$F(\"" */*/*.lua | sed 's/")/")\n/g' | sed "s/.*$F(\"/loc(\"/;s/\").*/\")/" | grep loc | sort | uniq >> loc.txt; done
7828
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     5
# Update locale files - run in Locale
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     6
for i in *.lua;do cat ../loc.txt | while read f;do STR=$(echo "$f" | sed 's/loc("//;s/")\s*$//;s/"/\\"/g');MAPS=$(grep -F -l -- "loc(\"${STR}\")" ../*/*/*.lua ../*/*/*/*.lua | sed 's/.*\/\([^\/]*\)\/map.lua/\1/;s/.*Campaign\/\([^\/]*\)\//\1:/;s/.*\///;s/.lua//;s/ /_/g' | xargs | sed 's/ /, /g');C=$(echo $MAPS | sed 's/,/\n/' | wc -l);grep -Fq -- "[\"${STR}\"]" $i;if(($?));then if((C>0));then echo "--      [\"${STR}\"] = \"\", -- $MAPS" >> $i;else echo "--      [\"${STR}\"] = \"\"," >> $i;fi;fi;done;done
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     7
# sort - run in Locale
7935
f8941f0b7bef update lua (remove duplicate strings, esp in fr.lua - mostly my fault - and add a bit more escaping to the crude script)
nemo
parents: 7828
diff changeset
     8
for i in *.lua;do rm temphead temptail templua;cat $i | grep -Ev "}|{" | grep -Ev "^[[:space:]]*$" | sort | uniq > templua;echo "locale = {" > temphead;echo "    }" > temptail;cat temphead templua temptail > $i;done
7828
63d9ea2c63be eh. might as well toss this in for reference purposes
nemo
parents:
diff changeset
     9
# drop unused - run in Locale
7935
f8941f0b7bef update lua (remove duplicate strings, esp in fr.lua - mostly my fault - and add a bit more escaping to the crude script)
nemo
parents: 7828
diff changeset
    10
cat stub.lua | grep '"] =' | while read f;do PHRASE=$(echo "$f" | sed 's/[^[]*\["//;s/"] =.*//;s/"/\\"/g');CNT=$(grep -Frc "loc(\"$PHRASE\")" ../*/*/*.lua ../*/*/*/*.lua | grep -v ":0" | wc -l);if(($CNT==0));then echo "|$PHRASE|";PHRASE=$(echo "$PHRASE" | sed 's/\\/\\\\/g;s/\[/\\[/g;s/\]/\\]/g;s/\//\\\//g');sed -i "s/.*\[\"$PHRASE\"\].*//" *.lua;fi;done