diff --git a/chapter-h/chapter-h-placeholders.zip b/chapter-h/chapter-h-placeholders.zip
index 10e359a..ad2f132 100644
Binary files a/chapter-h/chapter-h-placeholders.zip and b/chapter-h/chapter-h-placeholders.zip differ
diff --git a/tools/build_file.py b/tools/build_file.py
index 3e49078..670081f 100755
--- a/tools/build_file.py
+++ b/tools/build_file.py
@@ -102,6 +102,7 @@ def _get_pieceslot_images( node, opts ):
# identify fields that look like an image path
valid_prefixes = ( "ru/", "ge/", "am/", "br/", "it/", "ja/", "ch/", "sh/", "fr/", "al/", "ax/", "hu/", "fi/",
"po/", "ss/", # nb: for BFP
+ "nk/", # nb: for K:FW
)
def is_image_path( val ):
"""Check if a value looks like an image path."""
diff --git a/vasl_templates/main_window.py b/vasl_templates/main_window.py
index 03f8dde..2919aff 100644
--- a/vasl_templates/main_window.py
+++ b/vasl_templates/main_window.py
@@ -87,7 +87,7 @@ class MainWindow( QWidget ):
self.restoreGeometry( val )
else :
self.resize( 1000, 600 )
- self.setMinimumSize( 980, 520 )
+ self.setMinimumSize( 1000, 520 )
# initialize the layout
layout = QVBoxLayout( self )
diff --git a/vasl_templates/tools/make_chapter_h_placeholders.py b/vasl_templates/tools/make_chapter_h_placeholders.py
index 429399f..c501a19 100755
--- a/vasl_templates/tools/make_chapter_h_placeholders.py
+++ b/vasl_templates/tools/make_chapter_h_placeholders.py
@@ -56,10 +56,12 @@ def make_chapter_h_placeholders( output_fname, log=None \
# (instead of being copied from an existing piece), but we can live with that... :-/
continue
dname2, fname2 = os.path.split( fname )
+ if os.path.split( dname2 )[1] == "kfw":
+ continue # nb: we do these files later
nat = os.path.splitext( fname2 )[0]
if nat == "common":
nat = os.path.split( dname2 )[1]
- if nat in ("free-french","british-commonwealth-forces-korea","cvpa","kpa","us-rok-ounc","un-forces"):
+ if nat == "free-french" or nat.startswith("kfw-"):
continue
notes, ma_notes = load_vo_data( fname, nat )
if nat not in results:
@@ -69,6 +71,29 @@ def make_chapter_h_placeholders( output_fname, log=None \
else:
results[ nat ][ vo_type ] = { "notes": notes, "ma_notes": ma_notes }
+ # insert the K:FW vehicles/ordnance
+ kfw_vo_data = load_kfw_vo_data()
+ results["kfw-un"] = {
+ "vehicles": {
+ "notes": kfw_vo_data["kfw-un"]["vehicles"][0],
+ "ma_notes": kfw_vo_data["kfw-un"]["vehicles"][1]
+ },
+ "ordnance": {
+ "notes": kfw_vo_data["kfw-un"]["ordnance"][0],
+ "ma_notes": kfw_vo_data["kfw-un"]["ordnance"][1]
+ }
+ }
+ results["kfw-comm"] = {
+ "vehicles": {
+ "notes": kfw_vo_data["kfw-comm"]["vehicles"][0],
+ "ma_notes": kfw_vo_data["kfw-comm"]["vehicles"][1]
+ },
+ "ordnance": {
+ "notes": kfw_vo_data["kfw-comm"]["ordnance"][0],
+ "ma_notes": kfw_vo_data["kfw-comm"]["ordnance"][1]
+ }
+ }
+
# load the extensions
base_dir = os.path.join( os.path.split(__file__)[0], "../webapp/data/extensions" )
for fname in glob.glob( os.path.join( base_dir, "*.json" ) ):
@@ -142,6 +167,48 @@ def load_vo_data( fname, nat ):
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+def load_kfw_vo_data():
+ """Load the K:FW vehicle/ordnance data files."""
+
+ # load the K:FW vehicles
+ un_veh_notes, un_veh_ma_notes = set(), set()
+ dname = os.path.join( os.path.split(__file__)[0], "../webapp/data/vehicles/kfw" )
+ for fname in ( "us-rok-ounc.json", "bcfk.json", "un-common.json" ):
+ notes, ma_notes = load_vo_data( os.path.join(dname,fname), None )
+ un_veh_notes.update( notes )
+ un_veh_ma_notes.update( ma_notes )
+ comm_veh_notes, comm_veh_ma_notes = set(), set()
+ for fname in ( "kpa.json", ):
+ notes, ma_notes = load_vo_data( os.path.join(dname,"kpa.json"), None )
+ comm_veh_notes.update( notes )
+ comm_veh_ma_notes.update( ma_notes )
+
+ # load the K:FW ordnance
+ un_ord_notes, un_ord_ma_notes = set(), set()
+ dname = os.path.join( os.path.split(__file__)[0], "../webapp/data/ordnance/kfw" )
+ for fname in ( "us-rok-ounc.json", "bcfk.json", "un-common.json" ):
+ notes, ma_notes = load_vo_data( os.path.join(dname,fname), None )
+ un_ord_notes.update( notes )
+ un_ord_ma_notes.update( ma_notes )
+ comm_ord_notes, comm_ord_ma_notes = set(), set()
+ for fname in ( "kpa.json", "cpva.json" ):
+ notes, ma_notes = load_vo_data( os.path.join(dname,fname), None )
+ comm_ord_notes.update( notes )
+ comm_ord_ma_notes.update( ma_notes )
+
+ return {
+ "kfw-un": {
+ "vehicles": ( un_veh_notes, un_veh_ma_notes ),
+ "ordnance": ( un_ord_notes, un_ord_ma_notes )
+ },
+ "kfw-comm": {
+ "vehicles": ( comm_veh_notes, comm_veh_ma_notes ),
+ "ordnance": ( comm_ord_notes, comm_ord_ma_notes )
+ }
+ }
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
def load_vo_data_from_extension( fname ):
"""Load a vehicle/ordnance extension data file."""
diff --git a/vasl_templates/tools/tests/fixtures/chapter-h-placeholders.txt b/vasl_templates/tools/tests/fixtures/chapter-h-placeholders.txt
index 60e7488..d1c4e2f 100644
--- a/vasl_templates/tools/tests/fixtures/chapter-h-placeholders.txt
+++ b/vasl_templates/tools/tests/fixtures/chapter-h-placeholders.txt
@@ -1049,6 +1049,171 @@ japanese/vehicles/adf-bj/b.html
japanese/vehicles/adf-bj/c.html
japanese/vehicles/b.html
japanese/vehicles/c.html
+kfw-comm/ordnance/1.png
+kfw-comm/ordnance/10.png
+kfw-comm/ordnance/11.png
+kfw-comm/ordnance/12.png
+kfw-comm/ordnance/13.png
+kfw-comm/ordnance/14.png
+kfw-comm/ordnance/15.png
+kfw-comm/ordnance/18.png
+kfw-comm/ordnance/19.png
+kfw-comm/ordnance/2.png
+kfw-comm/ordnance/20.png
+kfw-comm/ordnance/21.png
+kfw-comm/ordnance/22.png
+kfw-comm/ordnance/23.png
+kfw-comm/ordnance/24.png
+kfw-comm/ordnance/25.png
+kfw-comm/ordnance/26.png
+kfw-comm/ordnance/27.png
+kfw-comm/ordnance/28.png
+kfw-comm/ordnance/29.png
+kfw-comm/ordnance/3.png
+kfw-comm/ordnance/30.png
+kfw-comm/ordnance/31.png
+kfw-comm/ordnance/32.png
+kfw-comm/ordnance/4.png
+kfw-comm/ordnance/5.png
+kfw-comm/ordnance/6.png
+kfw-comm/ordnance/7.png
+kfw-comm/ordnance/8.png
+kfw-comm/ordnance/9.png
+kfw-comm/ordnance/a.html
+kfw-comm/ordnance/b.html
+kfw-comm/ordnance/r.html
+kfw-comm/vehicles/1.png
+kfw-comm/vehicles/2.png
+kfw-comm/vehicles/3.png
+kfw-comm/vehicles/4.png
+kfw-comm/vehicles/5.png
+kfw-comm/vehicles/6.png
+kfw-comm/vehicles/b.html
+kfw-un/ordnance/1.png
+kfw-un/ordnance/10.png
+kfw-un/ordnance/11.png
+kfw-un/ordnance/12.png
+kfw-un/ordnance/13.png
+kfw-un/ordnance/14.png
+kfw-un/ordnance/15.png
+kfw-un/ordnance/16.png
+kfw-un/ordnance/17.png
+kfw-un/ordnance/18.png
+kfw-un/ordnance/19.png
+kfw-un/ordnance/2.png
+kfw-un/ordnance/20.png
+kfw-un/ordnance/23.png
+kfw-un/ordnance/24.png
+kfw-un/ordnance/25.png
+kfw-un/ordnance/3.png
+kfw-un/ordnance/4.png
+kfw-un/ordnance/5.png
+kfw-un/ordnance/6.png
+kfw-un/ordnance/7.png
+kfw-un/ordnance/8.png
+kfw-un/ordnance/9.png
+kfw-un/ordnance/a.html
+kfw-un/ordnance/b.html
+kfw-un/ordnance/c.html
+kfw-un/ordnance/k.html
+kfw-un/ordnance/m.html
+kfw-un/ordnance/n.html
+kfw-un/ordnance/o.html
+kfw-un/ordnance/p.html
+kfw-un/ordnance/r.html
+kfw-un/ordnance/y.html
+kfw-un/vehicles/1.png
+kfw-un/vehicles/10.png
+kfw-un/vehicles/11.png
+kfw-un/vehicles/12.png
+kfw-un/vehicles/13.png
+kfw-un/vehicles/14.png
+kfw-un/vehicles/15.png
+kfw-un/vehicles/16.png
+kfw-un/vehicles/17.png
+kfw-un/vehicles/18.png
+kfw-un/vehicles/19.png
+kfw-un/vehicles/2.png
+kfw-un/vehicles/20.png
+kfw-un/vehicles/21.png
+kfw-un/vehicles/22.png
+kfw-un/vehicles/23.png
+kfw-un/vehicles/24.png
+kfw-un/vehicles/25.png
+kfw-un/vehicles/26.png
+kfw-un/vehicles/27.png
+kfw-un/vehicles/28.png
+kfw-un/vehicles/29.png
+kfw-un/vehicles/3.png
+kfw-un/vehicles/30.png
+kfw-un/vehicles/31.png
+kfw-un/vehicles/32.png
+kfw-un/vehicles/33.png
+kfw-un/vehicles/34.png
+kfw-un/vehicles/35.png
+kfw-un/vehicles/36.png
+kfw-un/vehicles/37.png
+kfw-un/vehicles/38.png
+kfw-un/vehicles/39.png
+kfw-un/vehicles/4.png
+kfw-un/vehicles/40.png
+kfw-un/vehicles/41.png
+kfw-un/vehicles/42.png
+kfw-un/vehicles/43.png
+kfw-un/vehicles/44.png
+kfw-un/vehicles/45.png
+kfw-un/vehicles/46.png
+kfw-un/vehicles/47.png
+kfw-un/vehicles/48.png
+kfw-un/vehicles/49.png
+kfw-un/vehicles/5.png
+kfw-un/vehicles/50.png
+kfw-un/vehicles/51.png
+kfw-un/vehicles/52.png
+kfw-un/vehicles/53.png
+kfw-un/vehicles/54.png
+kfw-un/vehicles/55.png
+kfw-un/vehicles/56.png
+kfw-un/vehicles/57.png
+kfw-un/vehicles/6.png
+kfw-un/vehicles/7.png
+kfw-un/vehicles/8.png
+kfw-un/vehicles/9.png
+kfw-un/vehicles/a.html
+kfw-un/vehicles/aa.html
+kfw-un/vehicles/b.html
+kfw-un/vehicles/bb.html
+kfw-un/vehicles/c.html
+kfw-un/vehicles/cc.html
+kfw-un/vehicles/d.html
+kfw-un/vehicles/dd.html
+kfw-un/vehicles/e.html
+kfw-un/vehicles/ee.html
+kfw-un/vehicles/f.html
+kfw-un/vehicles/ff.html
+kfw-un/vehicles/g.html
+kfw-un/vehicles/h.html
+kfw-un/vehicles/j.html
+kfw-un/vehicles/k.html
+kfw-un/vehicles/l.html
+kfw-un/vehicles/m.html
+kfw-un/vehicles/mm.html
+kfw-un/vehicles/n.html
+kfw-un/vehicles/nn.html
+kfw-un/vehicles/o.html
+kfw-un/vehicles/p.html
+kfw-un/vehicles/q.html
+kfw-un/vehicles/s.html
+kfw-un/vehicles/t.html
+kfw-un/vehicles/tt.html
+kfw-un/vehicles/u.html
+kfw-un/vehicles/uu.html
+kfw-un/vehicles/v.html
+kfw-un/vehicles/w.html
+kfw-un/vehicles/x.html
+kfw-un/vehicles/y.html
+kfw-un/vehicles/z.html
+kfw-un/vehicles/zz.html
landing-craft/1.png
landing-craft/2.png
landing-craft/3.png
diff --git a/vasl_templates/webapp/data/default-template-pack/baz-cpva16.j2 b/vasl_templates/webapp/data/default-template-pack/baz-cpva16.j2
new file mode 100644
index 0000000..bd408e4
--- /dev/null
+++ b/vasl_templates/webapp/data/default-template-pack/baz-cpva16.j2
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{INCLUDE:player_flag}}Bazooka '44
+
+ |
+
+
+
+
+ Range | TH#
+ |
+ 0 | 10
+ |
+ 1 | 8
+ |
+ 2 | 7
+ |
+ 3 | 6
+ |
+ 4 | 3
+ |
+
+ |
+
+
+ X#:
+ | 11
+ |
+ TK#:
+ | 16
+ |
+ 8-4
+ |
+
+ |
+
+
diff --git a/vasl_templates/webapp/data/default-template-pack/baz-cpva17.j2 b/vasl_templates/webapp/data/default-template-pack/baz-cpva17.j2
new file mode 100644
index 0000000..6b9c807
--- /dev/null
+++ b/vasl_templates/webapp/data/default-template-pack/baz-cpva17.j2
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{INCLUDE:player_flag}}Bazooka Type 51
+
+ |
+
+
+
+
+ Range | TH#
+ |
+ 0 | 10
+ |
+ 1 | 9
+ |
+ 2 | 8
+ |
+ 3 | 7
+ |
+ 4 | 5
+ |
+ 5 | 3
+ |
+
+ |
+
+
+ X#:
+ | 10
+ |
+ TK#:
+ | 22
+ |
+ 12-5
+ |
+
+ |
+
+
diff --git a/vasl_templates/webapp/data/default-template-pack/baz.j2 b/vasl_templates/webapp/data/default-template-pack/baz.j2
index 78342b1..f907dc5 100644
--- a/vasl_templates/webapp/data/default-template-pack/baz.j2
+++ b/vasl_templates/webapp/data/default-template-pack/baz.j2
@@ -53,26 +53,21 @@
-{%if BAZ_BREAKDOWN%}
X#:
| {{BAZ_BREAKDOWN}}
-{%endif%}
{%if BAZ_WP%}
|
WP#:
| {{BAZ_WP}}
{%endif%}
-{%if BAZ_TOKILL%}
|
TK#:
- | {{BAZ_TOKILL}}
-{%endif%}
-{%if BAZ_RANGE%}
+ | {{BAZ_TK}}
|
8-{{BAZ_RANGE}}
-{%endif%}
|
+
|