Python Performance and Interface Overhaul (PPIO)

PPIO v0.6.5.2 ▬ C2C v39 edition July 21.
SVN rev. 10703
  • Fixed TXT_ERROR problems in the foreign advisor Info page/tab.
PPIO v0.6.5.3 ▬ C2C v39 edition July 22.
SVN rev. 10703
  • Changed a couple of unit description lines that appear in unit tooltip.
  • From:
    • <English>[ICON_BULLET]This unit treats Non-Animal Barbarians as friendly units and Barbarian cities as if they are your own.</English>
    • <English>[ICON_BULLET]This unit cannot enter your own territory and is immediately transported outside your borders when trained.</English>
    • <English>[ICON_BULLET]This unit can upgrade anywhere (with some exceptions.)</English>
  • To:
    • <English>[ICON_BULLET]At peace with humanoid NPC's.</English>
    • <English>[ICON_BULLET]Exiled from its own cultural border.</English>
    • <English>[ICON_BULLET]Can upgrade almost anywhere.</English>
  • I prefer them shorter like that.
@Thunderbrd : that reminds me, I've done this a lot in the development of PPIO. I guess I would need your opinion on it before merging with core as you wrote most of these lines.

Spoiler Names of invisibility types :
From:
  1. <English>Camoflaged units</English>
  2. <English>Cloaked units</English>
  3. <English>Innocently Disguised Units</English>
  4. <English>Immaterializing units</English>
  5. <English>Invisible Surfaced units</English>
  6. <English>Nanodisassembling units</English>
  7. <English>Innocently Disguised Ships</English>
  8. <English>Phasing units</English>
  9. <English>Politically Protected Units</English>
  10. <English>Smaller Size and Volume Units</English>
  11. <English>Stealth Units</English>
  12. <English>Submersible Units</English>
  13. <English>Submerged Units</English>
  14. <English>Photonic Void Field Generating Units</English>
To:
  1. <English>Camoflaged</English>
  2. <English>Cloaked</English>
  3. <English>Disguised</English>
  4. <English>Immaterializing</English>
  5. <English>Transparent</English>
  6. <English>Nano-Diffused</English>
  7. <English>Disguised</English>
  8. <English>Phasing</English>
  9. <English>Political</English>
  10. <English>Size</English>
  11. <English>Stealth</English>
  12. <English>Submersible</English>
  13. <English>Submerged</English>
  14. <English>Void Field</English>
Spoiler Combat Messages :
From:
  1. <English>A horrific %s1_Enemy %s2_EnUName hurled a fiery conflagration into our %s3_UnitName 's defensive positions, forcing them to retreat into the open.</English>
  2. <English>A horrific %s1_Enemy hurled a fiery conflagration into our %s3_UnitName 's defensive positions, forcing them to retreat into the open.</English>
  3. <English>Our %s1_UnitName has unleashed a hellish inferno upon a %s2_Enemy %s3_EnUName, smoking them out of their defensive holes.</English>
  4. <English>Our %s1_UnitName has unleashed a hellish inferno upon a %s2_Enemy, smoking them out of their defensive holes.</English>
To:
  1. <English>The %s1_Enemy %s2_EnUName forced our %s3_UnitName to pull back.</English>
  2. <English>>The %s1_Enemy forced our %s2_UnitName to pull back.</English>
  3. <English>Our %s1_UnitName forced the %s2_Enemy %s3_EnUName to retreat.</English>
  4. <English>Our %s1_UnitName forced the %s2_Enemy to retreat.</English>
Spoiler Promotion text 1 :
From:
  1. <English>[ICON_BULLET]%D1_Change cause to be capable of Assassination Missions</English>
  2. <English>[ICON_BULLET]%D1_Change cause for the unit to capable of Defense only. (If invisible, allows the unit to move through units they would normally attack.)</English>
  3. <English>[ICON_BULLET]Additional %D1_Change Endurance</English>
  4. <English>[ICON_BULLET]%D1_Change cause for the unit to Stealth Defend.</English>
  5. <English>[ICON_BULLET]%D1_Change cause for the unit to never be Invisible.</English>
  6. <English>[ICON_BULLET]%D1_Change Maximum Damage when Trap is Triggered.</English>
  7. <English>[ICON_BULLET]%D1_Change Minimum Damage when Trap is Triggered.</English>
  8. <English>[ICON_BULLET]%D1_Change Complexity to Disarm this Trap.</English>
  9. <English>[ICON_BULLET]%D1_Change amount of times this Trap may trigger before being destroyed.</English>
  10. <English>[ICON_BULLET]%D1_Change cause for the trap to trigger on an opponent unit before any attack is made by opponent moving into the trapped plot.</English>
  11. <English>[ICON_BULLET]Adds %s1_promo to all traps this unit sets as long as the promotion is valid for that trap.</English>
  12. <English>[ICON_BULLET]Makes unit completely immune to %s1_promo traps.</English>
To:
  1. <English>[ICON_BULLET]Trait - Assassination: %D1_Change</English>
  2. <English>[ICON_BULLET]Trait - Defense only: %D1_Change</English>
  3. <English>[ICON_BULLET]%D1_Change Endurance</English>
  4. <English>[ICON_BULLET]Trait - Stealth Defend: %D1_Change</English>
  5. <English>[ICON_BULLET]Trait - Never Invisible: %D1_Change</English>
  6. <English>[ICON_BULLET]%D1_Change Max Damage from Traps.</English>
  7. <English>[ICON_BULLET]%D1_Change Min Damage from Traps.</English>
  8. <English>[ICON_BULLET]%D1_Change Disarm Complexity.</English>
  9. <English>[ICON_BULLET]%D1_Change Charges</English>
  10. <English>[ICON_BULLET]Trait - Trigger Before Combat: %D1_Change</English>
  11. <English>[ICON_BULLET]Adds %s1_promo to valid Traps.</English>
  12. <English>[ICON_BULLET]Immune to %s1_promo traps.</English>
Spoiler Promotion text 2 :
From:
  1. <English>[ICON_BULLET]Additional %s1_Change%% Insidiousness (To Evade Investigations)</English>
  2. <English>[ICON_BULLET]Additional %s1_Change%% Investigation (To Find Local Criminals)</English>
  3. <English>[ICON_BULLET]%D1_Mod %F2_Icon Invisibility on %s3_Type.</English>
  4. <English>[ICON_BULLET]%D1_Mod %F2_Icon Invisibility</English>
  5. <English>[ICON_BULLET]Invisibility (%F1_Invisible): Negated</English>
  6. <English>[ICON_BULLET]%D1_Mod%% Pursuit vs. [LINK=%s2_AgainstType]%s3_AgainstName[\LINK]</English>
  7. <English>[ICON_BULLET]%D1_Mod%% Withdraw vs. [LINK=%s2_AgainstType]%s3_AgainstName[\LINK]</English>
  8. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visibility</English>
  9. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visibility Range</English>
  10. <English>[ICON_BULLET]%D1_Mod %F2_Icon Same Tile Visibility</English>
  11. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visibility on %s3_TypeName.</English>
  12. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visibility Range on %s3_TypeName.</English>
To:
  1. <English>[ICON_BULLET]%s1_Change%% Insidiousness</English>
  2. <English>[ICON_BULLET]%s1_Change%% Investigation</English>
  3. <English>[ICON_BULLET]%D1_Mod %F2_Icon Veiled on %s3_Type.</English>
  4. <English>[ICON_BULLET]%D1_Mod %F2_Icon Veiled</English>
  5. <English>[ICON_BULLET]Veiled (%F1_Invisible): Negated</English>
  6. <English>[ICON_BULLET]Pursuit vs. [LINK=%s2_AgainstType]%s3_AgainstName[\LINK]: %D1_Mod%%</English>
  7. <English>[ICON_BULLET]Withdraw vs. [LINK=%s2_AgainstType]%s3_AgainstName[\LINK]: %D1_Mod%% </English>
  8. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visual</English>
  9. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visual Range</English>
  10. <English>[ICON_BULLET]%D1_Mod %F2_Icon Same Tile Visual</English>
  11. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visual on %s3_TypeName.</English>
  12. <English>[ICON_BULLET]%D1_Mod %F2_Icon Visual Range on %s3_TypeName.</English>
 
All of those are fine by me - I was going to change knockback to be purely fire based later anyhow - but I usually didn't write these this simply because I fear players won't get it. Particularly with boolean adjustments just being +1 or -1. The last ones, visibility to visual doesn't make a lot of sense to me. Invisibility to veiled... hmm... Maybe concealment might be better.
 
The last ones, visibility to visual doesn't make a lot of sense to me. Invisibility to veiled... hmm... Maybe concealment might be better.
I liked veiled as it is short, short is good for stuff that is meant mainly for tooltips.
I had issues with visibility as that means "Quality or fact or degree of being visible; perceptible by the eye or obvious to the eye", which makes it a type of synonym to invisibility.
Low visibility = high invisibility. ^^

Visual - "Relating to or using sight" (though it can also mean "Visible", depends on context. Visibility always means "The degree of being Visible")

Perception/Perceptiveness or sensing is better than using the term Visibility, but I prefer Visual as it is short.

Size Perception +2
Size invisibility +2
Those two are opposite forces of equal strength.
The unit that has this can see other units with invisibility below 3 and cannot be seen by unit with perception below 3.

Size Visibility +2 (=Size invisibility -2)
Size invisibility +2 (=Size Visibility -2)
These two negate each other.
The unit that has this doesn't have size invisibility the way I interpret it.
 
Last edited:
However, if something is visual, it has the quality of being visible, not of seeing. Perception would be an effective word for an ability. Visual sounds like it refers to how it appears, not how it sees.

I suppose Veiled works. To me it imparts more of a 'Trying to be unseen but not completely unseeen' quality. I think it's the conjugation that gets me. Veiled sounds like you'd say Veiled By, or Veiled With, rather than as a word to stand as a 'type Veiled' on its own.
 
But that's just it, it requires the second term, rather than being able to stand on its own. Visual is therefore vague and not a description of an ability, but a description of what you're about to define.

Soon as you say Visual Powers, you have given it the definition it needs to be valid.

Perception, however, is predefined as a quality one possesses to perceive.

Visibility is admittedly kinda wrong but it was easy to differ from INvisibility throughout the setup process since nearly everything there was a copy-paste procedure.
 
I could change it to Perception I guess...

What about spotting?
So does that mean, based on what we're doing to rewrite stuff soon, that the tag naming should be rewritten throughout the XML and the code as well do you think?

Size Perception +2
Size invisibility +2
Those two are opposite forces of equal strength.
The unit that has this can see other units with invisibility below 3 and cannot be seen by unit with perception below 3.

Size Visibility +2 (=Size invisibility -2)
Size invisibility +2 (=Size Visibility -2)
These two negate each other.
The unit that has this doesn't have size invisibility the way I interpret it.
Yeah you're right about that.
 
Agree that 'perception' is the best word to replace 'visibility'.

Only other thing I suggest is 'dematerialize' not 'imm~'.
 
@Thunderbrd: Did we agree on "Veiled" and "Spotting" or do you want me to reconsider "Invisibility". Not sure if we agreed on anything properly yet.
Veiled and Perception (spotting is... it contains other potential meanings that I'd rather not blend in here)

Only other thing I suggest is 'dematerialize' not 'imm~'
Dematerialize is an action, not a status. Immaterial is a status.
I think this is ok even though the term veiled is used:
<TEXT>
<Tag>TXT_KEY_INVISIBLE_CLOAKED</Tag>
<English>Cloaked</English></TEXT>
<TEXT>
<Tag>TXT_KEY_INVISIBLE_DISGUISED</Tag>
<English>Disguised</English></TEXT>
I'm ok with this as well, just wanting to make sure that we are clear that visible and invisible are still the key terms in the code and XML keys and that this will differ from the actual wording.
 
Dematerialize is an action, not a status. Immaterial is a status.
He never uses 'immaterial', only 'immaterializing'. 'Immaterial' means 'irrelevant'. 'Dematerialized' is the correct word for the units that are in this state, as is 'dematerializing' the correct word for having this capability. I'm a big fan of making up words, but not when they have the exact same meaning (and are only a two-letter prefix different) from a real word.
 
  • Like
Reactions: Anq
Invisibility will still be used in game text now and again, a unit may be invisible or not, it's an either or, but what form of veil is causing said invisibility would be the distinction.
A unit may be veiled at a certain strength in multiple forms even, but still be seen, thus not being invisible in a given situation but invisible in another.

@Thunderbrd: Oh, what about "vision"?
Vision is really best to hold for the overall range of vision. What's wrong with Perception? It really hits the note perfectly. A few extra characters less a word is not really worth trying to find if you get the right term is it?
 
I'm just considering all alternatives, but you are right perception is best for this.
OK... don't let me dissuade a good brainstorm :)
 
I went for "Veil" and "Sight" btw: 8800_20190722222513_1.jpg

It was either that or "Perception" and "Invisibility", it is visually preferable that they are of about equal length, makes it more readable and harmonious.
I didn't like how it looked in game with "Veil" and "Perception".
"Perception" and "Invisibility" works fine though, especially with the wide PPIO tooltip, but I still prefer the short alternative here.

These terms are always used with the icon in front so it shouldn't be confused with the units ability to actually see further out on the map.
If we just read any of those icons as "invisibility" in general then it says "+1 invisibility sight range (on something)".
 
Last edited:
These three are unused by the game, code that use them is commented out in the dll.
TXT_KEY_UNIT_INVISIBILITY_PLOT_INTENSITY_ADJ
TXT_KEY_UNIT_VISIBILITY_PLOT_INTENSITY_ADJ
TXT_KEY_UNIT_VISIBILITY_PLOT_RANGE_INTENSITY_ADJ

Are you planning to un-comment that code at some point or perhaps it is rather subject to deletion? A rejected design idea?
Can't say I recall tbh.
 
10722
  • Merged my modmod called Python Performance and Interface Overhaul (PPIO) into core.
Old UserSettings folder content will not work anymore, it must be deleted and built from scratch.
(This does not concern those that have already done this to be able to play with the PPIO modmod)
I'm sorry for the inconvenience.
HOORAY!!!! [party] :band: :banana::banana::banana:
 
Probably the last update for v39.

PPIO v0.6.5.4 ▬ C2C v39 edition
SVN rev. 10703
  • A bunch of fixes and improvements that were made after merging PPIO with C2C proper.
There were some ERA_PREHISTORIC and or ERA_ANCIENT entries in Python. I changed these to ERA_ANCIENT and ERA_SEDENTARY respectively.
Hopefully you changed those back when updating PPIO for V39 users.

Also I wonder how many SVN players (who didn't used PPIO before) were punished for not having mod folder named exactly Caveman2Cosmos and placed where game is in BTS\Mods folder.
 
There were some ERA_PREHISTORIC and or ERA_ANCIENT entries in Python. I changed these to ERA_ANCIENT and ERA_SEDENTARY respectively.
Hopefully you changed those back when updating PPIO for V39 users.
I only hand picked pure fixes to PPIO content without taking new stuff from the SVN on any other fronts.

PPIO v0.7 ▬ C2C v39 edition
SVN rev. 10703
  • Fixed Field of View (FoV) option not saving to the ini file without entering the BUG option screen.
  • Fixed city selection button size option not saving to the ini file without entering the BUG option screen.
  • Made the city selection buttons on the bottom bar update their size the moment the size option is changed.
 
Hi @Toffer90 , I installed c2c v39, tested it and it run fine. When I installed PPIO v0.7, first deleting UserSettings folder like you advise, I get an error when I load the mode, saying GFC error failed to initialize primary control theme (or something). The same thing occured when I previously installed the latest SVN build (10781), also tried SVN 10777, but when this happened only after installing PPIO on v39 I though it had to do with this modmod.
 
Top Bottom