• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

IoannesBarbarus

El Ingenioso Hidalgo
46 Badges
Dec 2, 2014
982
470
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Horse Lords
  • Crusader Kings III
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Parklife
  • Crusader Kings II: Holy Fury
  • Imperator: Rome
  • Imperator: Rome - Magna Graecia
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Legacy of Rome
  • Europa Universalis IV
  • Victoria 2
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Third Rome
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For The Glory
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Cossacks
Don’t know when these were introduced. Possibly responsible for a wide variety of event bugs. The only one that I have encountered personally that I blame on this is the absence of the oubliette/house arrest chain for me ever since 2.2. Those events are among those with the errors.

There’s about 2000 non‑breaking spaces (U+00A0; codepoint A0 in Windows-1252) in the game’s event files, all of them presumably errors, since they do not occur inside string literals but exist inline with the syntax where a space ought to be. (There are some non‑breaking spaces in other game files, but all of them occur inside string literals.)

This is a very easy fix (one‑liner with sed, global replace \xA0 with space) solving potentially many bugs. I hope it is considered for patching sooner, rather than put off until the next DLC.

These are the affected files:

Code:
events\adventures_the_old_gods.txtevents\byzantine_events.txt
events\cm_charlemagne_story_events.txt
events\cm_culture_conversion_events.txt
events\cm_major_events.txt
events\cm_murder_plot_events.txt
events\cm_religious_events.txt
events\cm_various_events.txt
events\hippodrome_events.txt
events\imprisoned_events.txt
events\lovers_events.txt
events\oldgods_blot_events.txt
events\oldgods_historical_events.txt
events\oldgods_holmgang_events.txt
events\oldgods_mongol_events.txt
events\oldgods_pagan_feasts.txt
events\oldgods_runestone_events.txt
events\oldgods_various_events.txt
events\oldgods_zoroastrian_events.txt
events\on_action_events.txt
events\pilgrim_events.txt
events\rebel_events_the_old_gods.txt
events\republic_dynastic_feuds.txt
events\republic_trade_events.txt
events\roi_feast_events.txt
events\roi_guru_events.txt
events\roi_hunting_events.txt
events\roi_various_events.txt
events\roman_events.txt
events\schism_events.txt
events\soa_heresy_events.txt
events\soa_holy_order_events.txt
events\soa_jewish_events.txt
events\soa_misc_religious_events.txt
events\soa_muslim_schools.txt
events\soa_various_events.txt
events\sunset_invasion.txt
events\wol_carousing_events.txt
events\wol_family_events.txt
events\wol_intrigue_events.txt
events\wol_lover_events.txt
events\wol_rulership_events.txt
events\wol_scholarship_events.txt
events\wol_seduction_events.txt

List of all affected lines: http://pastebin.com/3BJEC1iG
Above list produced by script (in root CK2 dir):
Code:
import glob

with open('out.txt', 'w') as out:
    for path in sorted(glob.glob('events/*.txt')):
        with open(path, encoding='cp1252') as f:
            result = ['{}: {!r}'.format(i, line) for i, line in enumerate(f) if '\xA0' in line]
        if result:
            result.insert(0, path)
            print(*result, sep='\n\t', file=out)
 
Upvote 0