chtel bych se zeptat, zdalipak nenevite cim spojit mis soubory (staticke objekty a budovy i s bornplace a kamerama) tak, abych to nemusel delat rucne v text editoru ?
predpokladam by to mohl umet dgen nebo ngen ? bohuzel se mi k temto souboru neporadilo vyhledat dokumentaci
zatim si grepem vytahuju vsechny radky obsahujici _Static a pak _Bld, ktere posleze vlozim do textoveho editoru, kde jeste musim dodelat spoustu veci (bornplace, kamery, atd), no otrava
Pred nejakou dobou jsem udelal tenhle awkckovy programek, zkus to, jestli to dela to, co potrebujes.
Code
#funkce programu: pro precislovani xxx_Chief na nekonfliktni cisla
# v nekolika misich, jejich slepeni do sebe s vyhazenim duplicitnich radku
# a spojenim obsahu stejne pojmenovanych sekci
#volani: merge.awk prvnimise.mis druhamise.mis
# (pred kazde menene cislo predrazi cislo poradi souboru z volani)
# nic nebrani volani s vice nebo mene misemi, ale u desate a dal
# se zacnou plest predrazena cisla
#dulezite glob.promenne:
# FileNumber - cislo prave zpracovavaneho souboru
# NumElem - pocet zaznamu v polich:
# Entry[], Section[]- obsah radku a sekce do ktere patri
# Active[] duplicitni a jiz vytistene radky=0, jinak=1
function beginfile(filename)
{
FileNumber+=1
}
function endfile(filename) { }
/^\[[[:digit:]]+_Chief_Road\]/ {#nazev sekce s trasou dane lodi
temp=$1
sub("\\[","",temp);#urizneme zavorku
$0= "[" FileNumber temp
}
/[\\[].*[\]]/ {#jmeno kazde sekce
SectionName=$1 #schovame pro vkladani do pole u jednotlivych zaznamu
}
{#kazdy zaznam si schovame:
Entry[NumElem]=$0
Section[NumElem]=SectionName
Active[NumElem]=1
NumElem++
}
END{#vyhazime duplicity:
for (i=0;i<NumElem;i++)
if (Active[i])
for(j=i+1;j<NumElem;j++)
if (Active[j] && Section[j]==Section[i])
if (Entry[j]==Entry[i])
Active[j]=0
#posleme na vystup
for (i=0;i<NumElem;i++)
if (Active[i])
for(j=i;j<NumElem;j++)#dalsi ze stejne sekce
if (Active[j] && Section[j]==Section[i])
{print Entry[j]
Active[j]=0
}
}
Bornplace to asi neumi, je to delane pro coop. Dodelej s sam a pak zverejni :-)
IL-2 Sturmovik™, Cliffs of Dover™, Pacific Fighters™ are trademarks or registered trademarks of 1C EUROPE, 1C-Multimedia, 1C ONLINE GAMES.
Other marks used herein are those of their respective owners.