config: Generalize infrastructure build materials storage

Infrastructure requires lcms and hcms to build.  The build materials
are exposed as infrastructure columns lcms, hcms (struct sctintrins
members in_lcms, in_hcms).  They are per point of efficiency.  In
contrast, sector and unit build materials are defined for 100%.

We want to define build materials for 100% now, for flexibility and
consistency, and we want to optionally support more build materials in
the future.  Replace members in_lcms and in_hcms by array in_mat[],
and provide selectors l_build and h_build.

Additionally provide selectors for all other item types, with value
zero, to help clients prepare for future additional materials.  Use
CA_DUMP_ONLY to keep them out of configuration tables until they
actually work.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2016-08-17 21:01:32 +02:00
parent c8b51ec1a8
commit 5d3abc9917
8 changed files with 52 additions and 50 deletions

View file

@ -1,4 +1,4 @@
config infrastructure
name lcms hcms bmobil cost enable
name l_b h_b bmobil cost enable
"lala" 1 1 1 1 1
# value for field 1 must be "road network"

View file

@ -1,7 +1,7 @@
config infrastructure
name lcm hcm bmob cost enab
"road network" 2 2 100 200 1
"rail network" 1 1 100 100 1
"defense factor" 1 1 100 100 0
name l_b h_b bmob cost enab
"road network" 200 200 100 200 1
"rail network" 100 100 100 100 1
"defense factor" 100 100 100 100 0
/con
# malformed table footer

View file

@ -1194,12 +1194,24 @@
Play#0 command xdump
Play#0 output Play#0 1 XDUMP meta infrastructure 0
Play#0 output Play#0 1 "name" 3 0 0 -1
Play#0 output Play#0 1 "lcms" 1 0 0 -1
Play#0 output Play#0 1 "hcms" 1 0 0 -1
Play#0 output Play#0 1 "c_build" 1 0 0 -1
Play#0 output Play#0 1 "m_build" 1 0 0 -1
Play#0 output Play#0 1 "s_build" 1 0 0 -1
Play#0 output Play#0 1 "g_build" 1 0 0 -1
Play#0 output Play#0 1 "p_build" 1 0 0 -1
Play#0 output Play#0 1 "i_build" 1 0 0 -1
Play#0 output Play#0 1 "d_build" 1 0 0 -1
Play#0 output Play#0 1 "b_build" 1 0 0 -1
Play#0 output Play#0 1 "f_build" 1 0 0 -1
Play#0 output Play#0 1 "o_build" 1 0 0 -1
Play#0 output Play#0 1 "l_build" 1 0 0 -1
Play#0 output Play#0 1 "h_build" 1 0 0 -1
Play#0 output Play#0 1 "u_build" 1 0 0 -1
Play#0 output Play#0 1 "r_build" 1 0 0 -1
Play#0 output Play#0 1 "bmobil" 1 0 0 -1
Play#0 output Play#0 1 "cost" 1 0 0 -1
Play#0 output Play#0 1 "enable" 1 0 0 -1
Play#0 output Play#0 1 /6
Play#0 output Play#0 1 /18
Play#0 output Play#0 6 0 640
Play#0 input xdump meta 25
Play#0 command xdump
@ -1801,9 +1813,9 @@
Play#0 input xdump infrastructure *
Play#0 command xdump
Play#0 output Play#0 1 XDUMP infrastructure 0
Play#0 output Play#0 1 "road\\040network" 2 2 100 200 1
Play#0 output Play#0 1 "rail\\040network" 1 1 100 100 0
Play#0 output Play#0 1 "defense\\040factor" 1 1 100 100 0
Play#0 output Play#0 1 "road\\040network" 0 0 0 0 0 0 0 0 0 0 200 200 0 0 100 200 1
Play#0 output Play#0 1 "rail\\040network" 0 0 0 0 0 0 0 0 0 0 100 100 0 0 100 100 0
Play#0 output Play#0 1 "defense\\040factor" 0 0 0 0 0 0 0 0 0 0 100 100 0 0 100 100 0
Play#0 output Play#0 1 /3
Play#0 output Play#0 6 0 640
Play#0 input xdump updates *
@ -2451,9 +2463,9 @@
Play#1 input xdump infrastructure *
Play#1 command xdump
Play#1 output Play#1 1 XDUMP infrastructure 0
Play#1 output Play#1 1 "road\\040network" 2 2 100 200 1
Play#1 output Play#1 1 "rail\\040network" 1 1 100 100 0
Play#1 output Play#1 1 "defense\\040factor" 1 1 100 100 0
Play#1 output Play#1 1 "road\\040network" 0 0 0 0 0 0 0 0 0 0 200 200 0 0 100 200 1
Play#1 output Play#1 1 "rail\\040network" 0 0 0 0 0 0 0 0 0 0 100 100 0 0 100 100 0
Play#1 output Play#1 1 "defense\\040factor" 0 0 0 0 0 0 0 0 0 0 100 100 0 0 100 100 0
Play#1 output Play#1 1 /3
Play#1 output Play#1 6 0 0
Play#1 input xdump updates *