Since a lot of it is behind the scenes I thought it might be a good idea to make a list of the features the C2C DLL provides. This is incomplete so post here to have something added.
General
XML info classes
Mechanics
AI
Optimizations
General
- Savegame compatibility between versions including modifier recalculation
- No limit on the number of resources
- Building and unit filters, grouping and sorting (including a Python UI counterpart)
- Build lists (including a Python UI counterpart that allows to define build lists on a separate screen and reuse them)
- Viewports (displays a viewport into a big map instead of the full map to save a considerable amount of graphics memory)
- Game Object Wrappers (abstraction layer for the major game objects to write generic code that is partially based on XML)
XML info classes
- Caching of some modular XML info in files (speeds up second start of C2C considerably)
- XML change detection to recommend modifier recalculation
- Delayed resolution mechanism (avoids 2 or 3 pass XML reading when used)
- A lot of additional tags
Mechanics
- Generic property system (XML defined properties that can have a lot of different behaviors)
- Outcome system (chance based outcome lists for animal kills and special missions)
- Expression system (expressions written in XML are dynamically evaluated on a game object, e.g. used for complex dependency conditions)
- Multi Feature Mod (more than one feature on a plot)
- Combat Mod (a lot of mechanics that make combat more interesting)
- XML based animal spawning
AI
- Contract Broker (units advertise for work and are contracted where they are needed or new ones are built where most suited instead of only where they are needed)
- AI for generic property control
- Subdued Animal AI
- Many improvements to all areas of the AI
Optimizations
- Fast and optimized pathing generator with more features than the standard one
- A lot of additional information caching in performance critical functions
- Optimized trade plot group handling
- Multithreading of generic property solver and animal spawning (more to come)