Page 2 of 7 FirstFirst 1234567 LastLast
Results 21 to 40 of 128

Thread: Release of the CUF (font & text rendering) mod tool

  1. #21
    Gigantus's Avatar I am not special - I am a limited edition.
    Patrician took an arrow to the knee spy of the council

    Join Date
    Aug 2006
    Location
    Goa - India
    Posts
    53,125
    Blog Entries
    35

    Default Re: Release of the CUF (font & text rendering) mod tool

    the first one gets me the CUF shell without being able to enter anything, can't type anything in the batchwindow either
    the second one gives me the 'black' shell where I can enter. will try from there.

    but now how do I get the script to work?

    I took the above and saved it as convert.js:
    Spoiler Alert, click show to read: 
    // read a tagged strings file
    var stringsFile=new java.io.File("c:\\convert\\battle_ed.txt.string.bin.");
    var reader=new org.europabarbarorum.cuf.strings.StringsReader(stringsFile);

    // check if the file can be read
    if(reader.isPrepared()) {
    // get an iterator so we can do a python-like for x in file() construct
    var iterator=reader.iterator();
    // open a file for writing
    var writer=shell.pathParser().writer("c:\\convert\\output.txt");
    while(iterator.hasNext()) {
    // read the next strings key+data record
    var record=iterator.next();
    var key=record.key();
    var value=record.value();

    // write a line of text in the converted format
    writer.println("{" + key+ "}" +value);
    }
    writer.close();
    shell.out("done!");
    }
    else {
    shell.error("unable to read: "+stringsFile);
    }

    and then typed 'convert' and also 'convert.js' in the command line. Got this error message (see attachment)

    I am sure I made some noob mistake, but until a while ago I associated Java with a coffee type from Indonesia, so bear with me.










  2. #22

    Default Re: Release of the CUF (font & text rendering) mod tool

    this is a plea for myself and the numerous "newbie" modders who try (actually quite successfully at times) to bring beautiful work into manifestation!
    my plea is simple some "newbie" modders like myself, lack certain skills and the use of Geo-mod has been a great asset in helping us overcome this! (along with all the wonderful help we get from the "Senior" modders who are on this site and which many have already shown here!) somebody please Contact Octavius (primary developer of the Geo-mod tool along with GiGantus) and see if at some time in the future some form of CUF. editing could be acomplished with the Geo-Mod tool
    thank you

  3. #23

    Default Re: Release of the CUF (font & text rendering) mod tool

    Quote Originally Posted by gigantus View Post
    the first one gets me the CUF shell without being able to enter anything, can't type anything in the batchwindow either
    the second one gives me the 'black' shell where I can enter. will try from there.
    Good this means you can at least use the program. ~

    but now how do I get the script to work?

    I took the above and saved it as convert.js:

    and then typed 'convert' and also 'convert.js' in the command line. Got this error message (see attachment)
    The syntax for executing scripts like that is the following: shell.interpret("/path/to/script"); It may vary depending on how you name the shell: “shell” is a variable which refers to the shell that executes the command, you can create & name multiple sub-shells which is useful for the purpose of a simple form of multi-threading your scripts; but by default it is called “shell”. Interpret calls the interpret method/function on the “shell” object/variable; and “/path/to/script” is a string which identifies the file (path) of the script to execute.

    So adding it all together the command is: shell.interpret("convert.js"); But this assumes that you run the program from the same directory where “convert.js” is saved.

    Note that you are actually programming a JavaScript interpreter at this point so depending on how ambitious you are you will want to read up on (a) JavaScript; and (b) some of the idiosyncrasies of the interpreter (Mozilla Rhino); (c) the Javadoc which at the moment, you will need to build from source (I guess I could supply pre-built Javadoc) so you know what the program libraries will do for you.

    I am sure I made some noob mistake, but until a while ago I associated Java with a coffee type from Indonesia, so bear with me.
    Well I can say with some confidence that you did not read the readme.html file like I instructed you to. Or you skipped the bit about running scripts

    Btw, apparently Java was the inventors' (of Java-the-programming-language) favourite flavour of coffee.

  4. #24

    Default Re: Release of the CUF (font & text rendering) mod tool

    Quote Originally Posted by druvatar View Post
    this is a plea for myself and the numerous "newbie" modders who try (actually quite successfully at times) to bring beautiful work into manifestation!
    my plea is simple some "newbie" modders like myself, lack certain skills and the use of Geo-mod has been a great asset in helping us overcome this! (along with all the wonderful help we get from the "Senior" modders who are on this site and which many have already shown here!) somebody please Contact Octavius (primary developer of the Geo-mod tool along with GiGantus) and see if at some time in the future some form of CUF. editing could be acomplished with the Geo-Mod tool
    thank you
    I may be wrong, but CUF and .strings.bin editing has nothing in common with the primary (and/or secondary) objectives of the Geomod tool (mapping and descr_strat.txt automation). So it would make for a rather illogical combination.

    Furthermore to give a more compelling reason: the CUF program is built around you running your own scripts and the Geomod tool is not.

    Spoiler Alert, click show to read: 
    Unless the Geomod tool has a very solid scripting interface/interpreter, and exposes a nice standard library of primitives (so you do not need to code things like hashmaps, lists, string manipulation etc. etc. by hand) there is little chance of doing it successfully. To give you an idea: the CUF program relies on a well-specified standard for doing embedding scripting interpreters and relies on the vast and mostly half-decent or better Java standard library. These are not trivial pieces of coding to replace. Also, the CUF program relies on you installing/having installed a 3rd party script interpreter (for running the language of your choice, so you can run JavaScript, Ruby, Python, Sleep, Haskell, or Scheme or... ). That interpreter alone is probably larger and certainly a more complex piece of code than the combined CUF program and its own libraries. This is in fact a major reason why I chose Java to build it in: I knew that there was a scripting interface and working scripting interpreters out there that could do what I wanted them to.


    The reason for why the CUF tool is built to do things that way, is because its objective is to give you as much control over building your own fonts as possible which means building a single GUI to rule all CUF files is a bit ... self-defeating? Along will come a modder who wants characters that ordinarily fall outside of the supported character range (say, someone is making a mod on old Ireland and wants Ogham characters) ... and how do you do that in a GUI? Along comes a modder who wants Arabic glyphs but as you might know Arabic script works in terms of ligatures rather than characters (you have like 28 or so ligatures [note: I don't actually know about Arabic] that can be combined in a zillion ways depending on how they appear in source text) but the whole CUF system is actually not built that way: it requires that one character maps to a single glyph, not to like 25 different ones depending on context. That doesn't mean it's impossible just that it requires some good hard thinking on how to generate all of them ... how do you do that in a GUI?

    Then if you are doing things that complex with fonts (or if you attempt to achieve the relative modest goal of basic rich text as shown in the example screenshots) you will need to have comparable control over how .strings.bin files are generated because the two file formats become intimately linked: the strings.bin format provides a way to manipulate the original source so you can do these complex things in a sane way. (The example of writing Chinese characters to produce bolded English springs to mind: by manipulating the strings.bin file that is no longer required.)

    So to sum up the CUF tool is like a construction worker's power drill and the Geomod tool like a artist's brush; or to use a cartoon on C++:

  5. #25
    Gigantus's Avatar I am not special - I am a limited edition.
    Patrician took an arrow to the knee spy of the council

    Join Date
    Aug 2006
    Location
    Goa - India
    Posts
    53,125
    Blog Entries
    35

    Default Re: Release of the CUF (font & text rendering) mod tool

    Note that you are actually programming a JavaScript interpreter at this point so depending on how ambitious you are....
    For the time being I just want to convert those bin files.

    I think I take a break: I took the above js file of mine and ran it with that shell.interpret entry, but the file (battle_ed.txt.string.bin) is not recognized. Same happens with the tagged entry.
    If that file cannot be converted, then I might as well stick with the python converter (which also can't convert it).










  6. #26

    Default Re: Release of the CUF (font & text rendering) mod tool

    I'm confused. What exactly is the error message and what exactly is the script that you use?

    However I did realise one thing: in its current uploaded incarnation the tool will output records in random order when iterating like this. That's quite okay for tagged/keyed files but not so great for untagged files (as converting back becomes a bit of a pain). The upshot of this is that I changed the code to do things properly and keep order intact.

    I'll re-upload the tool later, and I'll be sure to include pre-built Javadoc in the binary distribution, too.

    For an example that the tool most definitely can handle untagged files: I've converted my “strat.txt.strings.bin” to text below (warning: contains 1019 entries).

    Spoiler Alert, click show to read: 

    {Item number #0}End season
    {Item number #1}Sabotage
    {Item number #2}Assassinate
    {Item number #3}Settlements
    {Item number #4}Capital city:
    {Item number #5}Allies
    {Item number #6}Enemies
    {Item number #7}Suspicious
    {Item number #8}Neutral
    {Item number #9}Hostile
    {Item number #10}At war
    {Item number #11}Attempt a night attack
    {Item number #12}Trade rights
    {Item number #13}Maintain siege
    {Item number #14}Assault
    {Item number #15}Lift the siege
    {Item number #16}Age:
    {Item number #17}Loyalty
    {Item number #18}Governor
    {Item number #19}Garrison
    {Item number #20}Cost to Recruit:
    {Item number #21}Time to Recruit:
    {Item number #22}Time to Retrain:
    {Item number #23}Cost to Retrain:
    {Item number #24}Fight battle on battle map
    {Item number #25}Withdraw from battle
    {Item number #26}Automatically resolve battle
    {Item number #27}Disband unit
    Naval units cannot be disbanded if transported army cannot disembark
    General's units cannot be disbanded.
    {Item number #28}DO NOT TRANSLATE: THIS TOOLTIP TEXT SHOULD NEVER APPEAR ON SCREEN!
    {Item number #29}DO NOT TRANSLATE: THIS TOOLTIP TEXT SHOULD NEVER APPEAR ON SCREEN!
    {Item number #30}These men of faith essentially serve as a mobile conversion force, spreading their faction's religion wherever they travel. While the soldiers battle their faction's physical threats, these are the men who form your front line against the perils of heresy, and can actually denounce witches and heretics that stalk the land - this is the perfect way to prove one's faith and conviction.
    {Item number #31}DO NOT TRANSLATE: THIS TOOLTIP TEXT SHOULD NEVER APPEAR ON SCREEN!
    {Item number #32}DO NOT TRANSLATE: THIS TOOLTIP TEXT SHOULD NEVER APPEAR ON SCREEN!
    {Item number #33}Spies are the eyes and ears of your faction, capable of being sent to observe foreign settlements or armies - hopefully undetected. Aside from sending intelligence on structures and inhabitants, once working inside a settlement, spies begin to stir unrest among the populace with propaganda. They may also succeed in disabling defences in a siege, which can prove utterly decisive.
    {Item number #34}An assassin is the ideal man to call upon when a foreign target is either too well defended by armed forces for a frontal assault, or if you wish to strike without it being obvious that it was you that gave the order. Not only can assassins take out live targets, they can also bring down a building marked for sabotage, and can even specialise in this field of destruction.
    {Item number #35}A diplomat is a man who serves his people as a representative in negotiations. His well-spoken manner and ability to read those he deals with will come to the fore whether he is being sent to impress, flatter, bribe, threaten or barter with foreign dignitaries and officials.
    {Item number #36}An admiral is naval commander who leads an entire fleet. The abilities and retinue that an admiral can develop throughout their career can improve their abilities to fight and navigate more efficiently. Once an admiral has begun to earn command stars through a proud legacy of victory, they will not serve under another admiral.
    {Item number #37}Army Upkeep
    {Item number #38}Revolting
    {Item number #39}Rioting
    {Item number #40}Disillusioned
    {Item number #41}Content
    {Item number #42}Happy
    {Item number #43}No fortifications
    {Item number #44}Wooden
    {Item number #45}Large wooden
    {Item number #46}Stone
    {Item number #47}Large stone
    {Item number #48}Epic
    {Item number #49}Infiltration Mission
    {Item number #50}Diplomacy Mission
    {Item number #51}Bribery Mission
    {Item number #52}Spying Mission
    {Item number #53}Assassination Mission
    {Item number #54}Sabotage Mission
    {Item number #55}Name
    {Item number #56}Minor Settlement
    {Item number #57}Faction
    {Item number #58}Port
    {Item number #59}Population
    {Item number #60}Fatigue level
    {Item number #61}Experience
    {Item number #62}mild
    {Item number #63}massive
    {Item number #64}catastrophic
    {Item number #65}small
    {Item number #66}moderate
    {Item number #67}large
    {Item number #68}huge
    {Item number #69}Currently building:
    {Item number #70}Healthy
    {Item number #71}Tired
    {Item number #72}Ill
    {Item number #73}Dying
    {Item number #74}Army Details
    {Item number #75}Enemy Army Details
    {Item number #76}Allied Army Details
    {Item number #77}Neutral Army Details
    {Item number #78}Navy Details
    {Item number #79}Enemy Navy Details
    {Item number #80}Allied Navy Details
    {Item number #81}Neutral Navy Details
    {Item number #82}Settlement Details
    {Item number #83}Enemy Settlement Details
    {Item number #84}Neutral Settlement Details
    {Item number #85}Allied Settlement Details
    {Item number #86}Minor Settlement Details
    {Item number #87}Enemy Minor Settlement Details
    {Item number #88}Allied Minor Settlement Details
    {Item number #89}Neutral Minor Settlement Details
    {Item number #90}Set faction heir
    {Item number #91}Select the previous city
    {Item number #92}Select the next city
    {Item number #93}Select the next character
    {Item number #94}Select the previous character
    {Item number #95}Select the next unit
    {Item number #96}Select the previous unit
    {Item number #97}Select the previous minor settlement
    {Item number #98}Select the next minor settlement
    {Item number #99}Food supplies
    {Item number #100}The peasants in this settlement are rioting, and may enter open revolt
    {Item number #101}No signs of peasant dissent in this settlement
    {Item number #102}This settlement is under siege
    {Item number #103}This settlement is not under siege
    {Item number #104}This settlement is holding games
    {Item number #105}DO NOT TRANSLATE - No games are being held in the settlement
    {Item number #106}Plague stalks the streets of this settlement
    {Item number #107}No signs of the plague in this settlement
    {Item number #108}Low fertility
    {Item number #109}Medium fertility
    {Item number #110}High fertility
    {Item number #111}Wilderness
    {Item number #112}High mountains
    {Item number #113}Low mountains
    {Item number #114}Hills
    {Item number #115}Dense forest
    {Item number #116}Woodland
    {Item number #117}Swamp
    {Item number #118}Ocean
    {Item number #119}Deep sea
    {Item number #120}Shallow sea
    {Item number #121}Coast
    {Item number #122}Impassable
    {Item number #123}Impassable
    {Item number #124}None
    {Item number #125}Hungry
    {Item number #126}Minor famine
    {Item number #127}Famine
    {Item number #128}Disastrous famine
    {Item number #129}Famine threat
    {Item number #130}Harvest level
    {Item number #131}Farming level
    {Item number #132}Low tax rate
    {Item number #133}Normal tax rate
    {Item number #134}High tax rate
    {Item number #135}Very high tax rate
    {Item number #136}Balanced build policy
    {Item number #137}Financial build policy
    {Item number #138}Military build policy
    {Item number #139}Growth build policy
    {Item number #140}Cultural build policy
    {Item number #141}No governor
    {Item number #142}This settlement is currently being auto-managed. Move a general into this settlement to manage the tax rate. Untick the construction and recruitment boxes to manually build and recruit.
    {Item number #143}Show units in garrison
    {Item number #144}Show units in army
    {Item number #145}Show units in navy
    {Item number #146}Show buildings in settlement
    {Item number #147}Show visiting agents in settlement
    {Item number #148}Show agents travelling with army
    {Item number #149}Show agents travelling with navy
    {Item number #150}Show units travelling on selected fleet
    {Item number #151}Right-click on the tab to show a list of your settlements
    {Item number #152}Right-click on the tab to show a list of your agents
    {Item number #153}Right-click on the tab to show a list of your military forces
    {Item number #154}Loyalty to your governor is declining
    The people need cheering up
    {Item number #155}Loyalty is improving
    Keep up the good work
    {Item number #156}Remove the rally point for this settlement
    Newly recruited units will join the garrison
    {Item number #157}Show rally points
    {Item number #158}1 season
    {Item number #159}%d seasons
    {Item number #160}Select unit to recruit
    {Item number #161}Select unit to retrain
    {Item number #162}Show recruitable units
    {Item number #163}Show units in garrison that require retraining and re-equipping
    {Item number #164}Merge selected items from left panel into right panel
    {Item number #165}%d percent complete
    {Item number #166}Alliance
    {Item number #167}Cancel alliance
    {Item number #168}Ceasefire
    {Item number #169}Military access
    {Item number #170}Cancel military access
    {Item number #171}Trade rights
    {Item number #172}Cancel trade rights
    {Item number #173}Attack faction
    {Item number #174}Give region
    {Item number #175}Make single payment
    {Item number #176}Regular tribute
    {Item number #177}Cancel regular tribute
    {Item number #178}Accept or we will attack
    {Item number #179}Please do not attack
    {Item number #180}Map information
    {Item number #181}Bribe
    {Item number #182}Become a vassal
    {Item number #183}Make declaration
    {Item number #184}Make offer
    {Item number #185}Make demand
    {Item number #186}Your declarations
    {Item number #187}Your demands
    {Item number #188}Your offers
    {Item number #189}Their declarations
    {Item number #190}Their offers
    {Item number #191}Their demands
    {Item number #192}Give us %d mina
    {Item number #193}We will give %d mina
    {Item number #194}Pay tribute of %d mina per season
    {Item number #195}We will give tribute of %d mina per season
    {Item number #196}Cancel the tribute of %d mina
    {Item number #197}Accept the current proposal
    {Item number #198}Decline the current proposal
    {Item number #199}Make a counter offer to the current proposal
    {Item number #200}Make a new offer
    {Item number #201}Make an offer
    Leave offers or demands blank to find out what the opposition would give or take in return
    {Item number #202}Offer the items as a gift
    Only certain items can be offered as gifts
    {Item number #203}Inform opposition of cancellation of previous treaty arrangements
    {Item number #204}Abilities at a glance
    {Item number #205}Description
    {Item number #206}Upgrades
    {Item number #207}%d men
    {Item number #208}Select siege equipment to add to construction queue. Your army has %d build points.
    {Item number #209}What course of action will you follow?
    {Item number #210}Built
    {Item number #211}Locate position of settlement
    {Item number #212}Locate position of unit's army
    {Item number #213}Locate position of character
    {Item number #214}Open construction window for selected settlement
    {Item number #215}It isn't possible to construct any buildings at the moment
    {Item number #216}Open unit training scroll for selected settlement
    {Item number #217}It isn't possible to recruit any units at present
    {Item number #218}Currently training:
    {Item number #219}Set game options
    {Item number #220}Open finances window
    {Item number #221}Open diplomatic standing window
    {Item number #222}Open faction summary window
    Use right mouse button to locate faction capital
    {Item number #223}Current selected item
    Click once to zoom to item
    {Item number #224}This building is already in the build queue for this settlement
    {Item number #225}Cannot add this item as the build queue is full
    {Item number #226}Cannot purchase this building as you have insufficient funds
    {Item number #227}Cannot add this item as there aren't enough people in this settlement to recruit
    {Item number #228}Cannot purchase this item as you have insufficient funds
    {Item number #229}Unit pool at maximum
    {Item number #230}Cannot add this item as the training queue is full
    {Item number #231}We have military access
    {Item number #232}They have military access
    {Item number #233}Paying you %d mina in tribute per season
    {Item number #234}Paying them %d mina in tribute per season
    {Item number #235}Assistance requested against:
    {Item number #236}Assistance provided against:
    {Item number #237}Confirm offer details
    {Item number #238}Cancel offer details
    {Item number #239}Offer Money
    {Item number #240}Demand Money
    {Item number #241}Amount of mina
    {Item number #242}Offer Tribute
    {Item number #243}Demand Tribute
    {Item number #244}Number of seasons
    {Item number #245}Or until further notice
    {Item number #246}Until further notice
    {Item number #247}Demand Attack On Faction
    {Item number #248}Offer Attack On Faction
    {Item number #249}Within
    {Item number #250}Seasons
    {Item number #251}Give:
    {Item number #252}Demand Settlements
    {Item number #253}Offer Settlements
    {Item number #254}City
    {Item number #255}Agents
    {Item number #256}Status
    {Item number #257}The selected character has performed a mission this season
    {Item number #258}The target position is invalid for this character type
    {Item number #259}Nobody can leave a minor settlement when under siege except to attack the sieging army
    {Item number #260}Nobody can leave a settlement when under siege except to attack the sieging army
    {Item number #261}Cannot leave enemy's zone of control
    {Item number #262}Character Details
    {Item number #263}Enemy Character Details
    {Item number #264}Neutral Character Details
    {Item number #265}Allied Character Details
    {Item number #266}Traits
    {Item number #267}Faction Summary
    {Item number #268}Faction leader:
    {Item number #269}strat.txt:{SMT_HEIRS}
    {Item number #270}Regions Controlled:
    {Item number #271}Battles Won:
    {Item number #272}Battles Lost:
    {Item number #273}Greatest general:
    {Item number #274}Generals:
    {Item number #275}Cities:
    {Item number #276}Castles:
    {Item number #277}Year:
    {Item number #278}Season number:
    {Item number #279}Seasons remaining:
    {Item number #280}Show family tree
    {Item number #281}Show events log
    {Item number #282}Financial Overview
    {Item number #283}Income
    {Item number #284}Expenditure
    {Item number #285}Farming
    {Item number #286}Resources
    {Item number #287}Trade
    {Item number #288}Merchant Trade
    {Item number #289}Taxes
    {Item number #290}Wages
    {Item number #291}Projected Total Income
    {Item number #292}Projected Total Expenditure
    {Item number #293}Projected Profits
    {Item number #294}Total Income
    {Item number #295}Total Expenditure
    {Item number #296}Profits
    {Item number #297}Level
    {Item number #298}Financial Summary
    {Item number #299}Military Summary
    {Item number #300}Balance of Power
    {Item number #301}Battles Fought
    {Item number #302}Battles Won
    {Item number #303}Troops Recruited
    {Item number #304}Troops Lost
    {Item number #305}Regions Captured
    {Item number #306}Regions Lost
    {Item number #307}Your Rating
    {Item number #308}Current Leader
    {Item number #309}Military:
    {Item number #310}Financial:
    {Item number #311}Production:
    {Item number #312}Population:
    {Item number #313}Overall:
    {Item number #314}(%d%%)
    {Item number #315}Recruitment
    {Item number #316}Construction
    {Item number #317}Diplomacy
    {Item number #318}Tributes
    {Item number #319}Other
    {Item number #320}Event Log
    {Item number #321}Character
    {Item number #322}Time Remaining
    {Item number #323}Targets
    {Item number #324}Target
    {Item number #325}Settlement
    {Item number #326}Trade Details
    {Item number #327}Show trade summary scroll for this settlement
    {Item number #328}Common Goods
    {Item number #329}Gold
    {Item number #330}Silver
    {Item number #331}Iron
    {Item number #332}Fish
    {Item number #333}Furs
    {Item number #334}Grain
    {Item number #335}Timber
    {Item number #336}Elephants
    {Item number #337}Camels
    {Item number #338}Dogs
    {Item number #339}Coal
    {Item number #340}Wool
    {Item number #341}Ivory
    {Item number #342}Wine
    {Item number #343}Slaves
    {Item number #344}Chocolate
    {Item number #345}Marble
    {Item number #346}Textiles
    {Item number #347}Dyes
    {Item number #348}Tobacco
    {Item number #349}Silk
    {Item number #350}Sugar
    {Item number #351}Sulphur
    {Item number #352}Tin
    {Item number #353}Spices
    {Item number #354}Cotton
    {Item number #355}Amber
    {Item number #356}Poor Harvest
    {Item number #357}Average Harvest
    {Item number #358}Good Harvest
    {Item number #359}Excellent Harvest
    {Item number #360}Mining Income
    {Item number #361}Farming Income
    {Item number #362}Locate selected character on the map
    {Item number #363}Family Tree
    {Item number #364}Owned by:
    {Item number #365}Uses armour piercing weaponry
    {Item number #366}Uses body piercing weaponry
    {Item number #367}Uses a thrown precursor weapon
    {Item number #368}Weapon has an area affect
    {Item number #369}A unit suitable for a general
    {Item number #370}A command unit
    {Item number #371}Can hide
    {Item number #372}Is hardy
    {Item number #373}Is very hardy
    {Item number #374}Is a heavy unit
    {Item number #375}Can enter a testudo formation
    {Item number #376}Can enter a spear wall formation
    {Item number #377}Is good in scrub
    {Item number #378}Is good in deserts
    {Item number #379}Is good in forests
    {Item number #380}Is good in snow
    {Item number #381}Is bad in scrub
    {Item number #382}Is bad in deserts
    {Item number #383}Is bad in forests
    {Item number #384}Is bad in snow
    {Item number #385}Agent Discovered
    {Item number #386}We have discovered a treacherous and dangerous spy in this settlement. Is there no honour among our rivals?
    {Item number #387}Agent Betrayed
    {Item number #388}Our agent has been betrayed to the authorities in this settlement. We must assume that he is dead.
    {Item number #389}Governor Appointed
    {Item number #390}This man has been appointed as a new governor.
    {Item number #391}Settlement Under Siege
    {Item number #392}This settlement is currently under siege, and the people are suffering as a result.
    {Item number #393}Settlement in Revolt
    {Item number #394}The people of this settlement have revolted, showing the depths of their ingratitude and deceit.
    {Item number #395}Settlement Lost
    {Item number #396}We no longer control this settlement, a blow to our wealth and prestige.
    {Item number #397}Settlement Gained
    {Item number #398}We have gained control of this settlement, a boon to our prestige and wealth!
    {Item number #399}Blockade in Place
    {Item number #400}Maritime trade is suffering as a result of this blockade.
    {Item number #401}A Birth in the Family
    {Item number #402}Our faction has been blessed by the arrival of a new child. He will come of age in the fullness of time and add to our glory.
    {Item number #403}Adoption
    {Item number #404}This man has been adopted into our family, and will bring honour and glory to our name through his deeds.
    {Item number #405}Coming of Age
    {Item number #406}This man has come of age and is now ready to take up his share of the responsibilities of good government.
    {Item number #407}Marriage
    {Item number #408}This man has married, laying the foundations for the future strength of our family.
    {Item number #409}Natural Death
    {Item number #410}This man has died of natural causes and gone to join our illustrious ancestors in the afterlife.
    {Item number #411}New Faction Leader
    {Item number #412}A new faction leader has emerged and is now in control.
    {Item number #413}New Faction Heir
    {Item number #414}A new heir to the faction's leadership has emerged, but let us hope that his succession to power is not imminent.
    {Item number #415}Faction Defeated
    {Item number #416}This faction has been defeated, and need trouble us no further.
    {Item number #417}Unknown
    {Item number #418}Unknown unit type
    {Item number #419}Unknown building type
    {Item number #420}Army Breakdown
    {Item number #421}View army details
    {Item number #422}Show character's personality traits
    {Item number #423}Traits Unknown
    {Item number #424}Status unknown
    {Item number #425}Spotted By:
    {Item number #426}Watchtower
    {Item number #427}This is the rankings admirals ship. He will not give up command to another admiral.
    {Item number #428}Not enough movement points for transfer.
    {Item number #429}Ship cannot transfer to a land army.
    {Item number #430}Use merge button or drag and drop to transfer card to other panel.
    {Item number #431}Select card to transfer to the other panel.
    {Item number #432}Select cards to transfer, use tabs to view different categories.
    {Item number #433}Use the merge button to transfer the selected cards between the panels.
    {Item number #434}Selected cards cannot be transferred because capacity will be exceeded. Select cards in both panels to perform a swap.
    {Item number #435}Left-click to show mission target position
    {Item number #436}Rally Points
    {Item number #437}Rally Point
    {Item number #438}This selection of units cannot be merged into the opposite window
    {Item number #439}This selection of characters cannot be merged into the opposite window
    {Item number #440}View settlement on battle map
    {Item number #441}Destroy building and return part of its cost to your treasury.
    {Item number #442}Retinue
    {Item number #443}Retinue Unknown
    {Item number #444}Success Rate
    {Item number #445}Show potential character targets
    {Item number #446}Show potential building targets
    {Item number #447}Accept Mission
    {Item number #448}Building
    {Item number #449}Military Forces
    {Item number #450}Soldiers
    {Item number #451}Attack
    {Item number #452}Charge Bonus
    {Item number #453}Armour
    {Item number #454}Defence Skill
    {Item number #455}Shield
    {Item number #456}Hit Points
    {Item number #457}Recruitment Cost
    {Item number #458}Army Strength Ratio
    {Item number #459}Navy Strength Ratio
    {Item number #460}Vassals
    {Item number #461}You rule over and protect this faction
    {Item number #462}Enable Auto Recruit Units
    {Item number #463}Enable Auto Construct Buildings
    {Item number #464}Auto-manage Everything
    {Item number #465}AI Spend Policy
    {Item number #466}Save
    {Item number #467}Spend
    {Item number #468}Construction Options
    {Item number #469}Construction Queue
    {Item number #470}Land Exports
    {Item number #471}Sea Exports
    {Item number #472}Sea Imports
    {Item number #473}Trade Income
    {Item number #474}Units available for hire
    {Item number #475}Defences
    {Item number #476}Siege Details
    {Item number #477}This settlement has enough food to last %d seasons
    {Item number #478}This minor settlement has enough food to last %d seasons
    {Item number #479}This settlement has enough food to last 1 season
    {Item number #480}This minor settlement has enough food to last 1 season
    {Item number #481}This settlement has very little food remaining in stores
    {Item number #482}This minor settlement has very little food remaining in stores
    {Item number #483}Set AI to manage construction and recruitment across all settlements
    {Item number #484}Set AI to manage all construction in this settlement
    {Item number #485}Set AI to manage all recruitment in this settlement
    {Item number #486}Set the amount of money building assistants are allowed to spend
    {Item number #487}Ask advisor for recommendation on which building to construct next
    {Item number #488}Ask advisor for recommendation on which units to recruit next
    {Item number #489}Damage:
    {Item number #490}This is an invalid position for a rally point
    {Item number #491}Cannot perform missions with multiple characters selected
    {Item number #492}Open mercenary recruitment scroll for selected army
    {Item number #493}Mercenary units available for hire
    {Item number #494}Hire all queued units
    {Item number #495}Cannot hire any more mercenaries as there is no more room in the receiving army
    {Item number #496}There are currently no mercenaries available to recruit in this region
    {Item number #497}You cannot afford to hire this mercenary
    {Item number #498}Only family members can recruit mercenaries
    {Item number #499}Assistance Requested
    {Item number #500}Allied Army:
    {Item number #501}Requested assistance from:
    {Item number #502}Your ally has requested assistance in a battle. If you accept this request your army will reinforce theirs on the battlefield. Do you wish to accept the request?
    {Item number #503}You are currently allied with the faction that owns this settlement. If you attack now then the alliance will be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #504}You are currently allied with the faction that owns this minor settlement. If you attack now then the alliance will be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #505}You are currently allied with the faction that owns this port. If you attack now then the alliance will be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #506}You are currently allied with the faction that controls this army. If you attack now then the alliance will be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #507}You are currently allied with the faction that controls this navy. If you attack now then the alliance will be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #508}You cannot attack Rome yet. You do not have enough popular support to take power.
    {Item number #509}Attack Ally?
    {Item number #510}None
    {Item number #511}Balance of power
    {Item number #512}Your Forces
    {Item number #513}Enemy Forces
    {Item number #514}Allow this army to be controlled by the AI
    {Item number #515}Reinforcements:
    {Item number #516}Battle Deployment
    {Item number #517}You sally forth to meet the foe
    {Item number #518}Your enemy have sallied forth to attack
    {Item number #519}Right click on general's portrait or captain's flag for character information and army breakdown
    {Item number #520}Field Construction
    {Item number #521}Province:
    {Item number #522}Watchtowers extend your line of sight over enemy territory
    {Item number #523}Minor Settlements provide tax revenue when placed under the rule of a governor, and can be used to garrison troops in unprotected areas of a province.
    {Item number #524}This unit is the general's bodyguard and cannot be transferred
    {Item number #525}Site of famous battle
    {Item number #526}Year
    {Item number #527}Victor
    {Item number #528}Loser
    {Item number #529}Yearly Games
    {Item number #530}Monthly Games
    {Item number #531}Daily Games
    {Item number #532}Yearly Races
    {Item number #533}Monthly Races
    {Item number #534}Daily Races
    {Item number #535}Yearly Games & Races
    {Item number #536}Monthly Games & Races
    {Item number #537}Daily Games & Races
    {Item number #538}Show settlement details
    {Item number #539}Auto-manage
    {Item number #540}Settlement Details
    {Item number #541}Public Order
    {Item number #542}Population Growth
    {Item number #543}Set Policies
    {Item number #544}Population required for next level of settlement:
    {Item number #545}Construction Time
    {Item number #546}Construction Cost
    {Item number #547}Retinue
    {Item number #548}Traits
    {Item number #549}Recruitment Options
    {Item number #550}Men in Garrison
    {Item number #551}Men in Army
    {Item number #552}Selected Mercenaries (Total cost: %d)
    {Item number #553}Show faction rankings scroll
    {Item number #554}Faction Ranking
    {Item number #555}Overall Ranking
    {Item number #556}Military Ranking
    {Item number #557}Production Ranking
    {Item number #558}Territorial Ranking
    {Item number #559}Financial Ranking
    {Item number #560}Population Ranking
    {Item number #561}Faction Filter
    {Item number #562}Own Faction
    {Item number #563}All Factions
    {Item number #564}Top 5 Factions
    {Item number #565}Custom Selection
    {Item number #566}Neighbouring Factions
    {Item number #567}Seasons
    {Item number #568}VICTORY!
    {Item number #569}Victory Conditions Failed
    {Item number #570}You have won this game! All your people celebrate this victory! Would you like to continue and gain even greater glory?
    {Item number #571}The medieval era has come to an end, and despite the considerable achievements of your people over the centuries, they have failed to conquer the known world as their noble ancestors had once sworn they would achieve.
    {Item number #572}Though you never led your people to their utter demise, it cannot be said that you truly led them to glory either, for another empire has all but conquered the known world. History has shown that it is those that are victorious are remembered... You can only hope your direct descendents remember what little legacy you forged.
    {Item number #573}The Norman invasion of England has failed. The English crown will remain with the Saxon King. What a dark day for Duke William of Normandy.
    {Item number #574}Your faction has been conquered, bringing your people's legacy to an untimely end. As a defeated people, you can only hope that those who have bested you choose to chronicle your achievements accurately, rather than lay claim to them as just another part of their own history.
    {Item number #575}Continue Playing?
    {Item number #576}Return to Main Menu
    {Item number #577}Captured Settlement
    {Item number #578}Occupation Options
    {Item number #579}Florins gained from looting:
    {Item number #580}Population to be massacred:
    {Item number #581}Occupy Settlement
    {Item number #582}Sack Settlement
    {Item number #583}Exterminate Populace
    {Item number #584}This settlement has fallen to the might of your army. Victory is yours and the fate of the settlement lies in your hands!
    {Item number #585}Buildings Needing Repair
    {Item number #586}Show constructible buildings
    {Item number #587}Show buildings in need of repair
    {Item number #588}Repair Time:
    {Item number #589}Repair Cost:
    {Item number #590}Build Points:
    {Item number #591}Always show settlement details
    {Item number #592}Settlement Details
    {Item number #593}Show building browser
    {Item number #594}Building Browser
    {Item number #595}Base farming level (varies from region to region)
    {Item number #596}Farm upgrades built
    {Item number #597}Health
    {Item number #598}Buildings
    {Item number #599}Tax rate bonus
    {Item number #600}Squalor
    {Item number #601}Tax rate penalty
    {Item number #602}Garrison
    {Item number #603}Law
    {Item number #604}Buildings of entertainment, fun, culture and the maintenance of good order
    {Item number #605}Governor's influence
    {Item number #606}Tax bonus
    {Item number #607}Triumph
    {Item number #608}Population boom
    {Item number #609}Distance to capital
    {Item number #610}No governance
    {Item number #611}Tax penalty
    {Item number #612}Unrest
    {Item number #613}Besieged
    {Item number #614}Blockaded
    {Item number #615}Entertainment
    {Item number #616}Farms
    {Item number #617}Taxes
    {Item number #618}Mining
    {Item number #619}Trade
    {Item number #620}Diplomatic income
    {Item number #621}Demolition
    {Item number #622}Looting
    {Item number #623}Admin
    {Item number #624}The salaries for your generals and agents are divided up according to settlement size, and this is the amount paid from here.
    {Item number #625}Upkeep
    {Item number #626}Construction
    {Item number #627}Recruitment
    {Item number #628}Diplomatic outgoings
    {Item number #629}Corruption
    {Item number #630}This has been constructed
    {Item number #631}This item is available to construct
    {Item number #632}It is not possible to build this item yet
    {Item number #633}Under Siege. Seasons until surrender:
    {Item number #634}No valid assassination targets
    {Item number #635}No buildings to sabotage
    {Item number #636}Select Mission Target
    {Item number #637}This settlement can hold out for another %d season(s)
    {Item number #638}In the event of a siege, this settlement can hold out for %d seasons
    {Item number #639}Garrison Breakdown
    {Item number #640}Navy Breakdown
    {Item number #641}Infantry
    {Item number #642}Cavalry
    {Item number #643}Artillery
    {Item number #644}Ships
    {Item number #645}This army cannot support any more units
    {Item number #646}This navy cannot support any more units
    {Item number #647}No garrison commander present
    {Item number #648}Sailors
    {Item number #649}Population growth bonus:
    {Item number #650}Public order bonus:
    {Item number #651}Public health bonus:
    {Item number #652}Increase in tradeable goods
    {Item number #653}Increase in trade
    {Item number #654}Trade fleets available:
    {Item number #655}Tax income bonus:
    {Item number #656}Income from mining:
    {Item number #657}Improved farms and food production
    {Item number #658}Improved roads and trade
    {Item number #659}Improved gate strength
    {Item number #660}Boiling Oil
    {Item number #661}Extra wall defences
    {Item number #662}Upgrades armour:
    {Item number #663}Allows gladiatorial games to be held
    {Item number #664}Allows races to be held
    {Item number #665}Reduced risk of fire
    {Item number #666}Capable of upgrading crude weapons
    {Item number #667}Capable of upgrading melee weapons
    {Item number #668}Capable of upgrading missile weapons
    {Item number #669}Capable of upgrading firearms
    {Item number #670}Capable of upgrading siege engines
    {Item number #671}Capable of upgrading cannons
    {Item number #672}Capable of upgrading ship's cannons
    {Item number #673}Improved generals' bodyguards
    {Item number #674}Morale bonus to troops trained here:
    {Item number #675}Experience bonus to troops trained here:
    {Item number #676}Public order bonus due to happiness:
    {Item number #677}Public order bonus due to law:
    {Item number #678}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #679}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #680}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #681}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #682}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #683}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #684}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #685}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #686}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #687}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #688}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #689}DO NOT TRANSLATE << THIS TEXT SHOULDN'T BE DISPLAYED >>
    {Item number #690}Experience bonus for archers recruited:
    {Item number #691}Experience bonus for cavalry recruited:
    {Item number #692}Experience bonus for knights recruited:
    {Item number #693}Experience bonus for gunpowder troops recruited:
    {Item number #694}Experience bonus for ships with cannons recruited:
    {Item number #695}Naval recruitment cost reduced by
    {Item number #696}Retraining costs reduced by
    {Item number #697}Capable of upgrading all artillery and gunpowder weapons
    {Item number #698}Income bonus:
    {Item number #699}(Max: +%d)
    {Item number #700}Experience
    {Item number #701}Enables training of:
    {Item number #702}Training bonus
    {Item number #703}Level
    {Item number #704}Enables recruitment of:
    {Item number #705}Recruit bonus
    {Item number #706}Provides:
    {Item number #707}Provides bonus
    {Item number #708}Requires:
    {Item number #709}not
    {Item number #710}and
    {Item number #711}or
    {Item number #712}or above
    {Item number #713}or above
    {Item number #714}(Global effect)
    {Item number #715}Auto-manage this settlement
    {Item number #716}It isn't possible to recruit when a battle has been instigated
    {Item number #717}Domination:
    {Item number #718}Capture %d more regions
    {Item number #719}Tycoon:
    {Item number #720}Build your empire up such that %d mina is generated per season
    {Item number #721}Timed:
    {Item number #722}Become the most powerful faction in %d seasons
    {Item number #723}Survivor:
    {Item number #724}Hold %d provinces and destroy or outlast the following faction (or factions):
    {Item number #725}Victory Condition
    {Item number #726}Completed
    {Item number #727}Their attempt to surprise you failed, you will have time to prepare for battle
    {Item number #728}You were taken completely by surprise and will have no time to prepare for the attack
    {Item number #729}The ambush was a failure, the enemy will have time to prepare for battle
    {Item number #730}The enemy knew nothing of the attack and will have no time to prepare
    {Item number #731}There are no units in this fleet
    {Item number #732}There are no units in this army
    {Item number #733}There are no characters travelling with this navy
    {Item number #734}There are no characters travelling with this army
    {Item number #735}There are no units being transported with this navy
    {Item number #736}There are no units garrisoned here
    {Item number #737}There are no buildings here
    {Item number #738}This settlement has no visitors
    {Item number #739}This minor settlement has no visitors
    {Item number #740}Land Trade (Imports and Exports)
    {Item number #741}Died peacefully:
    {Item number #742}No buildings need repairing.
    {Item number #743}No units can be retrained.
    {Item number #744}Show visiting characters in this minor settlement
    {Item number #745}Decline Mission
    {Item number #746}Select unit to retrain
    {Item number #747}Cannot set a naval rally point when the selected settlement has no port buildings
    {Item number #748}Death in battle
    {Item number #749}This man has died in battle and gone to join our illustrious ancestors in the afterlife.
    {Item number #750}Lift Siege?
    {Item number #751}This army is currently laying siege. Moving it away will automatically lift the siege. Are you sure you would like to do this?
    {Item number #752}No more offers allowed
    {Item number #753}No more demands allowed
    {Item number #754}Units
    {Item number #755}Siege Equipment
    {Item number #756}Set this settlement to be the faction's capital
    {Item number #757}You are currently allied with this characters faction. If you attack now then the alliance will be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #758}There are no hostilities between you and this navy's faction. If you attack now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #759}There are no hostilities between you and this army's faction. If you attack now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #760}There are no hostilities between you and this character's faction. If you attack now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #761}There are no hostilities between you and the settlement's owners. If you attack now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #762}There are no hostilities between you and the minor settlement's occupiers. If you attack now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #763}There are no hostilities between you and the port's owners. If you attack now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #764}Attack Neutral Faction?
    {Item number #765}Army
    {Item number #766}Navy
    {Item number #767}Agents
    {Item number #768}Fleet
    {Item number #769}Private Dealings
    {Item number #770}Current Treaties
    {Item number #771}Overviews
    {Item number #772}Rosters
    {Item number #773}Financial
    {Item number #774}Zoom in on current location
    {Item number #775}Zoom out of current location
    {Item number #776}Recruitment
    {Item number #777}Repair
    {Item number #778}Retrain
    {Item number #779}Assault impossible! Cannot use siege equipment without any infantry
    {Item number #780}Assault impossible! The fortifications are too strong to assault without some form of siege equipment
    {Item number #781}Not enough population to exterminate
    {Item number #782}Total
    {Item number #783}Projected Totals
    {Item number #784}Starting Treasury
    {Item number #785}Projected Treasury Total
    {Item number #786}Treasury Total
    {Item number #787}Diplomacy/Tributes
    {Item number #788}Change Tribute
    {Item number #789}Attack vs. Troops
    {Item number #790}Attack vs. Buildings
    {Item number #791}Melee Attack
    {Item number #792}Missile Attack
    {Item number #793}Weapon Type
    {Item number #794}Crude
    {Item number #795}Melee
    {Item number #796}Missile
    {Item number #797}Firearm
    {Item number #798}Siege Engine
    {Item number #799}Cannon
    {Item number #800}Naval Cannon
    {Item number #801}Cannot be upgraded
    {Item number #802}Total Defence
    {Item number #803}Plague
    {Item number #804}Subterfuge:
    {Item number #805}You have been rewarded with %d units of %S at your capital.
    {Item number #806}This character is a plague bearer
    {Item number #807}Locate mission target
    {Item number #808}Repaired
    {Item number #809}Retrained
    {Item number #810}Varies
    {Item number #811}There is a %d%% chance that they will manage to open the gates if you attack.
    {Item number #812}Your spies have infiltrated this minor settlement. There is a %d%% chance that they will manage to open the gates if you attack.
    {Item number #813}Corruption and Other
    {Item number #814}Select a minor settlement or watchtower to build
    {Item number #815}Family Members:
    {Item number #816}Capital
    {Item number #817}Garrison Commander
    {Item number #818}(Blockaded)
    {Item number #819}(Within %d seasons)
    {Item number #820}Chance of success: %d%%
    {Item number #821}Time to build queued items:
    %d seasons
    {Item number #822}The following character will join your faction:
    {Item number #823}The following settlement will join your faction:
    {Item number #824}The following visitors will join your faction:
    {Item number #825}The following travellers will join your faction:
    {Item number #826}The entire army will join your faction
    {Item number #827}The entire army will disband and return to the fields
    {Item number #828}The following number of units will join your faction:
    {Item number #829}The following number of units will disband:
    {Item number #830}Tax
    {Item number #831}Set AI to manage taxes across all settlements
    {Item number #832}Auto-manage Taxes Only
    {Item number #833}Quicksave
    {Item number #834}Locate position of battle
    {Item number #835}Devastation
    {Item number #836}Cannot assault as you don't have any units capable of attacking buildings
    {Item number #837}This unit is currently engaged in an enemy zone of control, and can move no further this season.
    {Item number #838}Something suitable in return for our offer
    {Item number #839}Name your price to our reasonable demands
    {Item number #840}This spy is a member of your faction
    {Item number #841}Capture 1 more region
    {Item number #842}To change the auto-management status of this settlement move a family member in as governor
    {Item number #843}This minor settlement should be able to hold out for another %d seasons
    {Item number #844}In the event of a siege, this minor settlement can hold out for %d seasons
    {Item number #845}This minor settlement should be able to hold out for another season
    {Item number #846}In the event of a siege, this minor settlement can hold out for 1 season
    {Item number #847}This settlement should be able to hold out for another season
    {Item number #848}In the event of a siege, this settlement can hold out for 1 season
    {Item number #849}Show this character's information scroll
    {Item number #850}Your armed forces' total running costs are divided up according to settlement size. This amount is being paid from here.
    {Item number #851}By:
    {Item number #852}On:
    {Item number #853}Ally:
    {Item number #854}Enemy:
    {Item number #855}Your spies have infiltrated this settlement
    The gates will be open when you attack
    {Item number #856}Your spies have infiltrated this minor settlement
    The gates will be open when you attack
    {Item number #857}Deserted
    {Item number #858}Died tragically:
    {Item number #859}Died in battle:
    {Item number #860}Assassinated:
    {Item number #861}Executed:
    {Item number #862}Born:
    {Item number #863}Died of the plague:
    {Item number #864}Next:
    {Item number #865}(1 year remaining)
    {Item number #866}(%d years remaining)
    {Item number #867}strat.txt:{SMT_REWARD_ONE_TRIARII_DESCRIPTION}
    {Item number #868}strat.txt:{SMT_REWARD_TWO_TRIARII_DESCRIPTION}
    {Item number #869}Show lists scroll
    {Item number #870}Occupy Settlement
    {Item number #871}Sack Settlement
    {Item number #872}Hold %d regions
    {Item number #873}, including:
    {Item number #874}. Eliminate factions:
    {Item number #875}King's Purse
    {Item number #876}Dominant Religion:
    {Item number #877}Religious Conversion Strengths
    {Item number #878}Current strength of belief:
    {Item number #879}Predicted strength of belief:
    {Item number #880}Abandon this settlement and become a horde
    {Item number #881}This army cannot fight in night battles
    {Item number #882}Building this item requires the destruction of an existing religious building
    {Item number #883}Suppresses religious unrest:
    {Item number #884}Suppresses religious conversion:
    {Item number #885}"Living" Factions
    {Item number #886}Can only abandon this settlement when it isn't under siege
    {Item number #887}Can only abandon this settlement when it is your last
    {Item number #888}Your people are tired of constantly moving, and wish to stay settled for a while
    {Item number #889}Cannot abandon this settlement as your horde armies cannot be mustered
    {Item number #890}Current Conversion Strength: %d
    {Item number #891}Predicted Conversion Strength: %d
    {Item number #892}This is the rankings admirals ship. He will not give up command while there are passengers on board that can't be transferred.
    {Item number #893}This settlement has been sacked, and wouldn't make a good home for your people.
    {Item number #894}Cannot disband units involved in a battle
    {Item number #895}Cannot disband the general's unit
    {Item number #896}Cannot disband units while laying siege
    {Item number #897}Ships can only disband while docked at a port
    {Item number #898}Cannot disband units whilst at sea
    {Item number #899}Cannot disband units while a transfer is in progress
    {Item number #900}mina payed to mercenaries from loot
    {Item number #901}Once again the world has a dominant culture... Yours! No other realm can come close to rivalling the size, scope or power of your all-conquering empire. Your capital has become the centre of the civilised world, your visage is embossed on coin found even in the far east, and your family crest is now the most powerful secular symbol ever beheld.

    Caesar... Alexander... Charlemagne... These are names that will soon be forgotten now that you have made their legacies seem petty and unambitious. May your dynasty and legacy reign eternal!
    {Item number #902}They are approaching the walls! Will you meet them on the battlefield or stay behind your fortifications?
    {Item number #903}They have chosen to sally forth from their fortifications to meet your siege army on the battlefield!
    {Item number #904}Merchants are agents that work for their lord by establishing trade routes between distant foreign resources and their own local markets. Under the guise of private enterprise, merchants are able to move through enemy lands without drawing suspicion or committing a diplomatic transgression. When merchants work together so that they have a monopoly on a particular resource, they will generate extra income for their faction. Opposing merchants can attempt to make a hostile takeover of each other's assets, ending the other's career.
    {Item number #905}Marry faction leader to princess
    {Item number #906}Marry faction heir to princess
    {Item number #907}Marry princess to faction leader
    {Item number #908}Marry princess to faction heir
    {Item number #909}Acquisition
    {Item number #910}No valid acquisition targets
    {Item number #911}Denouncement
    {Item number #912}There are no valid denouncement targets
    {Item number #913}Denounced
    {Item number #914}Retired
    {Item number #915}Disgraced
    {Item number #916}Marry a general within range
    {Item number #917}Marriage
    {Item number #918}Marry selected General
    {Item number #919}Religion
    {Item number #920}No unmarried generals within range
    {Item number #921}Agent limit reached
    {Item number #922}Religion Conversion Bonus:
    {Item number #923}Amplifies the conversion effect of Orthodox churches by
    {Item number #924}strat.txt:{SMT_FLEE}
    {Item number #925}strat.txt:{SMT_REMAIN}
    {Item number #926}The Pope
    {Item number #927}%S of %S
    {Item number #928}Age: %d years old
    {Item number #929}The College of Cardinals
    {Item number #930}Title
    {Item number #931}There are currently %d empty seats
    {Item number #932}Show College of Cardinals
    {Item number #933}Papal Election
    {Item number #934}Papal Election Results
    {Item number #935}Religious Unrest
    {Item number #936}Castle
    {Item number #937}Converting settlement
    {Item number #938}This castle will be irreversibly converted to a city.
    Are you sure?
    {Item number #939}This castle will be converted to a city.
    Are you sure?
    {Item number #940}This city will be converted to a castle.
    Are you sure?
    {Item number #941}Crusade Targets
    {Item number #942}Jihad Targets
    {Item number #943}Select target settlement from the list and click to request the Pope to commission a Crusade on the selected target.
    {Item number #944}Select target settlement from the list and click to commission a Jihad against selected target.
    {Item number #945}There are no Crusade targets.
    {Item number #946}There are no Jihad targets.
    {Item number #947}Join crusade against ally?
    {Item number #948}Join jihad against ally?
    {Item number #949}You are currently allied with crusade target faction. If you join now then the alliance well be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #950}You are currently allied with jihad target faction. If you join now then the alliance well be broken and war will be declared. Are you sure you wish to proceed?
    {Item number #951}Join crusade against neutral faction?
    {Item number #952}Join jihad against neutral faction?
    {Item number #953}There are no hostilities between you and crusade target faction. If you join now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #954}There are no hostilities between you and jihad target faction. If you join now it will be considered a declaration of war. Are you sure you wish to proceed?
    {Item number #955}Papal Standing
    {Item number #956}The more crosses a faction has, the more the Pope favours it.
    {Item number #957}His Holiness believes the flames of eternal damnation are too good for %S.
    {Item number #958}His Holiness hopes there is place amongst the flames of eternal damnation for %S.
    {Item number #959}His Holiness will not suffer %S to be mentioned in his presence.
    {Item number #960}His Holiness has found %S's faith wanting.
    {Item number #961}His Holiness has little good to say about %S .
    {Item number #962}His Holiness feels neither ill will or good will towards %S.
    {Item number #963}His Holiness feels no ill will against %S.
    {Item number #964}%S's faith satisfies his Holiness.
    {Item number #965}%S's faith pleases his Holiness.
    {Item number #966}%S's faith inspires his Holiness.
    {Item number #967}In His Holiness' eyes %S's faith is an inspiration to all Christendom.
    {Item number #968}Recruitment building damaged
    {Item number #969}Total recruitment cost: %d
    {Item number #970}Selected units
    {Item number #971}No more units of this type available for recruitment
    {Item number #972}No more units of this type available for retraining
    {Item number #973}Recruitment order currently full
    {Item number #974}Buildings to be repaired
    {Item number #975}Units available for retraining
    {Item number #976}strat.txt:{SMT_PURCHASE_RECRUITMENT}
    {Item number #977}Number of Free Upkeep units: %d
    {Item number #978}Free Upkeep while garrisoned
    {Item number #979}No ports available to recruit maritime mercenaries
    {Item number #980}Can only recruit this unit from a coastal tile
    {Item number #981}Season %d
    {Item number #982}(1 season remaining)
    {Item number #983}(%d seasons remaining)
    {Item number #984}Missions
    {Item number #985}Source
    {Item number #986}Description
    {Item number #987}There are currently no missions
    {Item number #988}Reward
    {Item number #989}Penalty
    {Item number #990}You will receive a reward of %d mina.
    {Item number #991}You will have to pay a penalty of %d mina.
    {Item number #992}You have been rewarded with %d mina.
    {Item number #993}You have been penalised %d mina.
    {Item number #994}An Inquisition may occur in your provinces.
    {Item number #995}You must bear the scrutiny of an Inquisition.
    {Item number #996}You may be excommunicated.
    {Item number #997}You have been excommunicated.
    {Item number #998}You will be rewarded with %f %% of your income.
    {Item number #999}You will be penalised by a loss of %f %% of your income.
    {Item number #1000}You have been penalised %d mina.
    {Item number #1001}You have been rewarded with %d mina.
    {Item number #1002}You will receive mina from the Guild.
    {Item number #1003}You will have to pay a penalty of mina to the Guild.
    {Item number #1004}You have been rewarded with %d mina from the Guild.
    {Item number #1005}You will have to pay a penalty of %d mina to the Guild.
    {Item number #1006}Some of your commanders may meet with sudden and terrible "fatal misfortunes".
    {Item number #1007}Some of your commanders have met with the long knives of "fatal misfortune".
    {Item number #1008}You will be rewarded with a military unit.
    {Item number #1009}You will be rewarded with some military units.
    {Item number #1010}You will be rewarded with one of the best units currently available.
    {Item number #1011}You will be rewarded with some of the best units currently available.
    {Item number #1012}PLACEHOLDER: reward pre exotic unit true_cost (%d)
    {Item number #1013}PLACEHOLDER: reward pre (%d) exotic units true_cost (%d)
    {Item number #1014}You cannot be rewarded as you cannot recruit any units
    {Item number #1015}strat.txt:{SMT_MISSION_RETURN_PAPAL_SETTLEMENT_SUCCESS}
    {Item number #1016}You have disappointed His Holiness by failing to return Rome to The Papal States.
    {Item number #1017}Return Rome to the Papal States.
    {Item number #1018}The Pope has requested that you return Rome to The Papal States. His Holiness will be greatly in your debt if you can see fit to return his home city.
    {Item number #1019}
    Last edited by Tellos Athenaios; June 27, 2010 at 10:36 PM.

  7. #27
    Gigantus's Avatar I am not special - I am a limited edition.
    Patrician took an arrow to the knee spy of the council

    Join Date
    Aug 2006
    Location
    Goa - India
    Posts
    53,125
    Blog Entries
    35

    Default Re: Release of the CUF (font & text rendering) mod tool

    That output isn't really helpful, it should look like this, the expression in the parenthesis is vital:

    {SMT_END_TURN}End turn
    {SMT_SABOTAGE}Sabotage
    {SMT_ASSASSINATE}Assassinate
    {SMT_SETTLEMENTS}Settlements
    {SMT_CAPITAL}Capital city:
    {SMT_ALLIES}Allies
    {SMT_ENEMIES}Enemies
    {SMT_SUSPICIOUS}Suspicious
    {SMT_NEUTRAL}Neutral
    {SMT_HOSTILE}Hostile
    ...............










  8. #28

    Default Re: Release of the CUF (font & text rendering) mod tool

    Why? The names between the braces are actually quite irrelevant, they only make it slightly easier to edit the strings. But since that data is not preserved in the strings.bin file (hence why alpaca calls it “untagged”); it does not matter a one jot what I write there, because when you would re-generate the strings.bin file you would strip those tags, anyway. The braces are nothing more than a marker that says new strings record begins here; and the tags themselves little more than comments.

    Still, if you want to have those tags per se, you can of course make a list of the tags in the right order and supply them to the tool.

  9. #29

    Default Re: Release of the CUF (font & text rendering) mod tool

    Updated the tool with a fix to ensure order of records read from strings.bin files is preserved; added option to warn about empty strings in records.

    Changed the compression method of the download, to XZ which promises better compression.

    The binary-only download is now an XZ compressed archive, too: you can find the JAR file inside it as dist/CUF.jar.
    Spoiler Alert, click show to read: 
    I changed the contents of the binary distribution: now, you get copies of COPYRIGHT and readme.html files as well as pre-built program documentation outside the JAR file as well (all in all these additions about double the size to 536KB).

  10. #30
    Gigantus's Avatar I am not special - I am a limited edition.
    Patrician took an arrow to the knee spy of the council

    Join Date
    Aug 2006
    Location
    Goa - India
    Posts
    53,125
    Blog Entries
    35

    Default Re: Release of the CUF (font & text rendering) mod tool

    Quote Originally Posted by Tellos Athenaios View Post
    Why? The names between the braces are actually quite irrelevant, they only make it slightly easier to edit the strings. But since that data is not preserved in the strings.bin file (hence why alpaca calls it “untagged”); it does not matter a one jot what I write there, because when you would re-generate the strings.bin file you would strip those tags, anyway. The braces are nothing more than a marker that says new strings record begins here; and the tags themselves little more than comments.

    Still, if you want to have those tags per se, you can of course make a list of the tags in the right order and supply them to the tool.
    I am afraid they are quite important as far as I know, unless you you can explain to me how else the game is looking up the values on the right?
    If I knew the order (or the names) then I wouldn't need to convert, it is a case of the chicken and the egg it seems to me.










  11. #31

    Default Re: Release of the CUF (font & text rendering) mod tool

    Well, the entire point of the untagged files is that they do not have those tags. That is why alpaca's tool cannot convert them in the first place. So to restate: how does the game look up by tags if there are no tags? Answer: it doesn't, and hence it follows that the game uses order of the records relative to each other (IOW: it assumes that THIS_TAG is entry no 5 in the file, and THAT_TAG is entry no 6 and so on and so forth, and looks up values accordingly).

    ... Of course, for tagged files the story may be rather different, but then the tool reads the tags and spits them out along with the values.

    You can see this difference for yourself simply by opening export_units.txt.strings.bin in a hexeditor, and compare the structure to strat.txt.strings.bin opened in the same hexeditor.

  12. #32
    Gigantus's Avatar I am not special - I am a limited edition.
    Patrician took an arrow to the knee spy of the council

    Join Date
    Aug 2006
    Location
    Goa - India
    Posts
    53,125
    Blog Entries
    35

    Default Re: Release of the CUF (font & text rendering) mod tool

    Just to understand it correct:
    The files that cannot be converted by python (battle_ed, strat, tooltips and shared) only need a proper sequence to function properly?










  13. #33

    Default Re: Release of the CUF (font & text rendering) mod tool

    Yep.

    You can easily check which type of file it is by opening it in a hexeditor, and reading the first 4 bytes. If these are 0x01 0x00 0x00 0x08 then the file is untagged. If these are 0x02 0x00 0x00 0x08 then the file is tagged.

  14. #34
    Squid's Avatar Opifex
    Patrician Artifex Technical Staff

    Join Date
    Feb 2007
    Location
    Frozen waste lands of the north
    Posts
    17,760
    Blog Entries
    3

    Default Re: Release of the CUF (font & text rendering) mod tool

    As far as I can tell the "unconvertible" files also correspond to the files in RTW where the order of entries determines how they are displayed.
    Under the patronage of Roman_Man#3, Patron of Ishan
    Click for my tools and tutorials
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe." -----Albert Einstein

  15. #35

    Default Re: Release of the CUF (font & text rendering) mod tool

    Yes, this appears to be the case. I guess that the .strings.bin files are there to speed up parsing of the descriptions; and that the untagged/ordered files correspond to older RTW code, whereas the tagged version corresponds to newer code which was explicitly written with these file formats in mind.

    At any rate the tagged files are more robust because if a strings record is missing, an engine can still reliably recover from the error by using empty strings or other dummy values whereas in the ordered format the engine cannot tell which tag is missing and in all likelihood ends up displaying wrong strings for some elements and empty/dummy values on others.

  16. #36
    Gigantus's Avatar I am not special - I am a limited edition.
    Patrician took an arrow to the knee spy of the council

    Join Date
    Aug 2006
    Location
    Goa - India
    Posts
    53,125
    Blog Entries
    35

    Default Re: Release of the CUF (font & text rendering) mod tool

    Well, learned something again. Thanks for all the info. Long live RTW?










  17. #37

    Default Re: Release of the CUF (font & text rendering) mod tool

    Another update, another changelog. This one brings:

    • Added a dialog to compile Strings files from XML.
    • Added a dialog to preview Strings files, and added another to preview CUF files.
    • When compiling Strings files can specify an XSLT stylesheet to generate the actual compiled XML from a different XML format. People who want to simplify their XML code and know a bit of XSLT will appreciate the possibilities. (For those who do not know what XSLT is: w3schools.com has an excellent introduction to it.)
    • When compiling Strings files you can specify character encodings to use when the (XML) data is read & fed to the compiler. This is useful for people who insist on not using UTF-8, especially when you must work with UTF-16LE encoded files. (Notepad calls that Unicode.)
    • Fix for num entries field in strings.bin files generated.
    • Fix editControlCharacters() method in FontToolkit to work properly with fonts that have been run through compact() in FontToolkit first.
    • Improved exit handling means that fork'ed shells will run properly if you attempt to exit the program before they have started yet.
    • Misc fixes to show 1-based indices instead of 0-based ones in GUI labels and the like.
    • Compile with debug info by default.

  18. #38

    Default Re: Release of the CUF (font & text rendering) mod tool

    Updated the tool again, this time it contains the following changes:

    Improved support for Windows:
    1. Build scripts use native2ascii which means compiling the tool from source is considerably easier.
    2. Tool forces the use of UTF-8 encoding internally, which fixes some visual glitches on Windows.
    3. Added a Windows Script Host launch script, written in JScript. This means that unless Windows Script Host has been explicitly disabled or something similar, you can use that script on Windows the same way you can use the POSIX sh script with a sh interpreter.


    Other changes:
    1. Added filtering of output for some progress messages: turning the “ChattyShell” preference to off (false), and the number of progress messages will be considerably reduced for large fonts.\
    2. Improved character encoding handling when compiling Strings files: due to some internal changes you can now leave encoding fields blank and let underlying parsers “guess” or (“detect”) the right character encoding in use. One particular benefit of this is that byte order marks are now mostly harmless in XML documents if you do not specify a character encoding yourself (previously you could get a content not allowed in prolog message or similar).
    3. Added dialogs to the CUF shell GUI to run scripts.
    4. Added support for wrapping multiple URI-resolvers in a single one, which is useful in conjunction with a KeyResolver.
    5. Added support for compiling M2TW-style tagged files. Note that it is not at all as robust as compiling from XML files. In StringsToolkit, use the compile() method which takes input file name, output file name, a KeyResolver and a boolean flag to use this feature.
    6. Added IdentityMapping (a kind of StringMapping) which allows you to compile without macros (Macro files): it simply passes its input text on to the other layers of the compiler.

  19. #39

    Default Re: Release of the CUF (font & text rendering) mod tool

    Pushed out a minor update which improves upon the tool in several small ways:

    In FontToolkit (org.europabarbarorum.cuf.shell.FontToolkit):
    • Added fixChartableCompatibilityFor() methods. These can be used to make a font with re-mapped character tables (e.g.: a font treated with compact() or map() or editControlCharacters()) conform to how M2TW treats the CUF files: you select a subportion of the complex font which is to be presented in a compatible fashion (in the example given you might select plain glyphs) so that text which is not properly localised (is not part of the strings.bin files) . This can be used to fix the display of e.g. unit stats (format strings) in such a font as well as unlocalised text (text which is hardcoded in the M2TW executable, e.g.: the “- ” before author names in quotes).
    • Preserved generic type signatures. This is unlikely to break any scripts relying on FontToolkit. It does not change behaviour of these methods.


    Changed TopLevelSource (org.europabarbarorum.cuf.font.TopLevelSource) to be merely a complementary interface to CUFSource (org.europabarbarorum.cuf.font.CUFSource). In the unlikely event you were using it to inherit the contract for CUFSource methods in addition to its own interface contract, this will break your script. But the good news is:

    I made various CUFSource implementations (MappedSource, RestrictedSource, AbstractCUFSource, and MixedSource) more generic. Hence if you were/are/will-be using a custom implementation of CUFSource you should now find these a lot easier to work with.

  20. #40

    Default Re: Release of the CUF (font & text rendering) mod tool

    New update:

    Fix: missing format specifier for nested namespaces. So if you made that error you now get the proper error message.
    New: font previews/GUI now use a more understandable notation for decimal values & editing works.
    New: marker lines which you can use to judge the effect of layout offset settings on GUI.

Page 2 of 7 FirstFirst 1234567 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •