;--------------------------------------
; Expansion Manifest Notes
;--------------------------------------
- xml manifests must be placed in a "Games" folder under "Age of Empires II"
- nothing in a manifest will cause any files (dat, drs, or otherwise) to be modified
- thanks to Cysion for all of his research and testing

;--------------------------------------
; configuration
;--------------------------------------
- the xml manifest root element

configuration.game : string
- this value is used to identify the active expansion
- the game will attempt to play "avi\[game].avi" as the intro video
- AIs will see #load-if-defined GAME-[game] for the active expansion
- underscores are converted to hyphens for AI scripts
- if set to "age2_x1", #load-if-defined GAME-AGE2-X1 would be true
- if set to "aoc", #load-if-defined GAME-AOC would be true

This value is intended to match the name of the manifest, so if you have "aoc.xml", you 
would set this to "aoc". In this way, launching the game with the command line parameter 
"game=aoc" would start the expansion defined by aoc.xml. An example command line 
might be "age2_x1\age2_x1.exe game=aoc nostartup". All expansions should use a unique 
identifier, unless the intention is to override and modify The Conquerors. This allows
multiple expansions to coexist within a single game installation.

;--------------------------------------
; configuration::name : string
;--------------------------------------
- this is the formal name of the expansion
- for now, this is unused

;--------------------------------------
; configuration::path : string
;--------------------------------------
- this is used to create expansion-specific save folders
- these will be autogenerated for an expansion on startup

Age of Empires II\Games\[path]
Data: contains drs, dat, and language dlls to override core game files
History: can be created by the developer to provide history files
SaveGame
  Multi
Scenario: stores custom campaigns, scenarios, and scenario bmp files
Screenshots
Script.AI: equivalent to the AI folder
Script.RM: equivalent to the Random folder
Sound: files under this path override core game files as necessary
  scenario
  stream
Support: can be created by the developer to provide documentation

;--------------------------------------
; configuration::civilizations
;--------------------------------------
- stores civilization setup information

civilizations.langId : int
- default: 10230
- the root id for civilization names in the language dlls

civilizations.descId : int
- default: 20150
- the root id for civilization descriptions in the language dlls

civilizations.aiNameOffset : int
- default: 140
- the offset from the end of the Age of Kings' AI names to the start of the Conquerors'
- Age of Kings AI names end at 4660 (4656, but 20 are reserved per civ)
- Conquerors AI names start at 4800, making the value 140 (4800-4660)

civilizations.uiBaseId : int
- default: 51100
- the root id storing interfaces designed for 800x600
- set civilizations.uiOffset to 0 and move to an unused block of interface ids if you add civs

civilizations.uiStride : int
- default: 20
- the number of ids allocated for each interface set (800x600, 1024x768, 1280x1024)
- uiBaseId:51100 and uiStride:20 means the 800 set starts at 51100, 1024 at 51120, 1280 at 51140

civilizations.uiOffset : int
- default: 2
- the offset to skip interface ids 51155 and 51156 if necessary

;--------------------------------------
; civilizations::civilization
;--------------------------------------
- stores data for a specific civilization
- each civilization must be properly defined in the dat, drs, and language files
- if a civilization is defined here without data to back it, the result is undefined
- the current maximum civ id is 44; values above that are reserved

civilization.id : int
- in alphabetical order, this is the id of the proper civilization name
- it is exclusively used for sorting names in the history section
- the order of each civilization element is more important, as that is linked to the data files

civilization.name : string
- this is used to autogenerate important symbols for AIs
- for "briton", it will create (civ-selected briton), #load-if-defined BRITON-CIV, etc.

civilization.soundFile : string
- this is played during game startup and in the history section
- the base path is the Sound folder

civilization.scoutUnit : int
- the unit id of the scout for this civilization

civilization.uniqueUnit : int
- the unit id of the unique unit
- it is exclusively used by the AI system to define "my-unique-unit"

civilization.eliteUniqueUnit : int
- the unit id of the elite unique unit
- it is exclusively used by the AI system to define "my-elite-unique-unit"

civilization.uniqueUnitLine : int
- the hard-coded line id of the unique unit line
- it is exclusively used by the AI system to define "my-unique-unit-line"
- for now, this cannot be used for extended civs, so equate it with civilization.uniqueUnit

civilization.uniqueUnitUpgrade : int
- the research id of the unique unit upgrade
- it is exclusively used by the AI system to define "my-unique-unit-upgrade"

civilization.uniqueResearch : int
- the research id of the unique tech
- it is exclusively used by the AI system to define "my-unique-research"

