diff options
Diffstat (limited to 'macros/latex/contrib/wargame/source')
-rw-r--r-- | macros/latex/contrib/wargame/source/Makefile | 18 | ||||
-rw-r--r-- | macros/latex/contrib/wargame/source/chit/misc.dtx | 5 | ||||
-rw-r--r-- | macros/latex/contrib/wargame/source/hex/terrain.dtx | 18 | ||||
-rw-r--r-- | macros/latex/contrib/wargame/source/util/core.dtx | 17 | ||||
-rwxr-xr-x | macros/latex/contrib/wargame/source/utils/wgexport.py (renamed from macros/latex/contrib/wargame/source/utils/export.py) | 248 | ||||
-rwxr-xr-x | macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py (renamed from macros/latex/contrib/wargame/source/utils/svg2tikz.py) | 0 | ||||
-rw-r--r-- | macros/latex/contrib/wargame/source/wargame.dtx | 26 | ||||
-rw-r--r-- | macros/latex/contrib/wargame/source/wargame.ins | 18 |
8 files changed, 184 insertions, 166 deletions
diff --git a/macros/latex/contrib/wargame/source/Makefile b/macros/latex/contrib/wargame/source/Makefile index bfb4db8e27..faca441091 100644 --- a/macros/latex/contrib/wargame/source/Makefile +++ b/macros/latex/contrib/wargame/source/Makefile @@ -2,7 +2,7 @@ # # NAME := wargame -VERSION := 0.2.1 +VERSION := 0.3 LATEX_FLAGS := -interaction=nonstopmode \ -file-line-error \ --synctex=15 \ @@ -67,7 +67,7 @@ SOURCES := wargame.ins \ natoapp6c/util.dtx \ tests/map.dtx \ tests/chits.dtx -SCRIPTS := utils/svg2tikz.py utils/export.py +SCRIPTS := utils/wgsvg2tikz.py utils/wgexport.py DESTDIR := $(HOME)/texmf/ instdir := tex/latex/$(NAME) @@ -84,7 +84,9 @@ TILES := beach \ swamp \ town \ village \ - woods + woods +TILES_PDF := $(TILES:%=wargame.%.pdf) +TILES_TEX := $(TILES:%=wargame.%.tex) TABLES := air \ missile \ land \ @@ -101,7 +103,7 @@ PKG_FILES := wargame.sty \ tikzlibrarywargame.natoapp6c.code.tex \ tikzlibrarywargame.chit.code.tex \ wgexport.cls \ - $(TILES:%=%.pdf) + $(TILES_PDF) # beach.png \ # city.png \ @@ -187,7 +189,7 @@ clean: $(MUTE)rm -f tikzlibrarywargame.natoapp6c.code.tex $(MUTE)rm -f tikzlibrarywargame.chit.code.tex $(MUTE)rm -f wgexport.cls mksvg.pdf README.md.version - $(MUTE)rm -f $(TILES:%=%.tex) $(TILES:%=%.pdf) + $(MUTE)rm -f $(TILES_TEX) $(TILES_PDF) $(MUTE)rm -rf public texmf $(MUTE)rm -rf $(distsdir) $(MUTE)rm -f $(distsdir).tar.gz @@ -209,12 +211,12 @@ tikzlibrarywargame.hex.code.tex \ tikzlibrarywargame.natoapp6c.code.tex \ tikzlibrarywargame.chit.code.tex \ wgexport.cls \ -$(TILES:%=%.tex) \ +$(TILES_TEX) \ $(TABLES:%=cmp_%.tex): $(SOURCES) @echo "DOCSTRIP $<" $(MUTE)$(LATEX) $< $(REDIR) -wargame.idx: wargame.dtx wargame.sty $(TILES:%=%.pdf) +wargame.idx: wargame.dtx wargame.sty $(TILES_PDF) wargame.pdf: wargame.aux wargame.ind fast: wargame.idx symbols.aux: symbols.tex wargame.sty @@ -317,7 +319,7 @@ docker: docker-prep: apt update - apt install -y poppler-utils python3-pil pandoc \ + apt install -y poppler-utils python3-pil pandoc zip \ libwww-mechanize-perl libfile-copy-recursive-perl pwd ls diff --git a/macros/latex/contrib/wargame/source/chit/misc.dtx b/macros/latex/contrib/wargame/source/chit/misc.dtx index 6c406af3f8..de373864e6 100644 --- a/macros/latex/contrib/wargame/source/chit/misc.dtx +++ b/macros/latex/contrib/wargame/source/chit/misc.dtx @@ -169,7 +169,7 @@ \ifx\u\m\def\m{1}\fi \foreach \n in {1,...,\m}{% \ifx\u\chit@blank\else - \chit[\u=\ti,zone point={\u}{\c}{\r}](\c,\r) + \chit[\u=\ti,zone oob point={\u}{\c}{\r}](\c,\r); \fi \chit@oob@cellupdate(\c,\r){#2}{#3}{\y} } @@ -452,7 +452,8 @@ % % \begin{macrocode} \tikzset{ - zone point/.code n args={3}{}} + zone point/.code n args={3}{}, + zone oob point/.code n args={3}{}} % \end{macrocode} % % \iffalse diff --git a/macros/latex/contrib/wargame/source/hex/terrain.dtx b/macros/latex/contrib/wargame/source/hex/terrain.dtx index 765b38e759..42155ca5c9 100644 --- a/macros/latex/contrib/wargame/source/hex/terrain.dtx +++ b/macros/latex/contrib/wargame/source/hex/terrain.dtx @@ -65,15 +65,15 @@ \else \tikzset{ /hex/terrain/.cd,% - beach/.style={image=beach}, - light woods/.style={image=light_woods}, - woods/.style={image=woods}, - swamp/.style={image=swamp}, - rough/.style={image=rough}, - mountains/.style={image=mountains}, - village/.style={image=village}, - town/.style={image=town}, - city/.style={image=city}, + beach/.style={image=wargame.beach}, + light woods/.style={image=wargame.light_woods}, + woods/.style={image=wargame.woods}, + swamp/.style={image=wargame.swamp}, + rough/.style={image=wargame.rough}, + mountains/.style={image=wargame.mountains}, + village/.style={image=wargame.village}, + town/.style={image=wargame.town}, + city/.style={image=wargame.city}, } \fi % \end{macrocode} diff --git a/macros/latex/contrib/wargame/source/util/core.dtx b/macros/latex/contrib/wargame/source/util/core.dtx index 506cb19ece..1d95aa38c6 100644 --- a/macros/latex/contrib/wargame/source/util/core.dtx +++ b/macros/latex/contrib/wargame/source/util/core.dtx @@ -1225,6 +1225,23 @@ \@rbchar, } %\message{^^JZone point \the\mk@point\space ##1: ##2,##3 -> \px,\py} }, + zone oob point/.code n args={3}{ + \pgf@xa=##2 cm + \pgf@ya=##3 cm + \advance\pgf@xa.1cm + \advance\pgf@ya.1cm + \pgfpointtransformed{\pgfpoint{\pgf@xa}{\pgf@ya}} + % \pgfpointtransformed{\pgfpoint{0pt}{0pt}} + \pgf@xa=\pgf@x + \pgf@ya=\pgf@y + \pt@to@cm{\the\pgf@xa}\edef\px{\pgfmathresult} + \pt@to@cm{\the\pgf@ya}\edef\py{\pgfmathresult} + \advance\mk@point1 + \global\mk@point=\mk@point + \mk@w{ \mk@i "point\the\mk@point": \@lbchar "name": "##1", "type": "point", "coords": [\px,\py] + \@rbchar, } + %\message{^^JZone point \the\mk@point\space ##1: ##2,##3 -> \px,\py} + }, zone global point/.code n args={3}{ \advance\mk@point1 \global\mk@point=\mk@point diff --git a/macros/latex/contrib/wargame/source/utils/export.py b/macros/latex/contrib/wargame/source/utils/wgexport.py index d62c9e5f77..9ad370cfcd 100755 --- a/macros/latex/contrib/wargame/source/utils/export.py +++ b/macros/latex/contrib/wargame/source/utils/wgexport.py @@ -320,6 +320,10 @@ def get_helpfiles(doc,key='fileName',asdict=True): return get_asdict(doc,MODULE+'documentation.HelpFile',key,asdict) # -------------------------------------------------------------------- +def get_tutorials(doc,key='name',asdict=True): + return get_asdict(doc,MODULE+'documentation.Tutorial',key,asdict) + +# -------------------------------------------------------------------- def get_inventories(doc,key='name',asdict=False): return get_asdict(doc,MODULE+'Inventory',key,asdict) @@ -723,6 +727,20 @@ def add_htmlfile(root,doc,title,startingPage='index.html'): title=title) # -------------------------------------------------------------------- +def add_tutorial(root,doc, + name = 'Tutorial', + logfile = 'tutorial.vlog', + promptMessage = 'Load the tutorial?', + welcomeMessage = 'Press "Step forward" (PnDn) to step through the tutorial', + launchOnStartup = True): + return add_node(root,doc,MODULE+'documentation.Tutorial', + name = name, + logfile = logfile, + promptMessage = promptMessage, + welcomeMessage = welcomeMessage, + launchOnStartup = launchOnStartup) + +# -------------------------------------------------------------------- def add_roster(root,doc,buttonKeyStroke='', buttonText='Retire', buttonToolTip='Switch sides, become observer, or release faction'): @@ -775,7 +793,7 @@ def add_inventory(root,doc, foldersOnly = False, forwardKeystroke = True, groupBy = '', - hotkey = key('I'), + hotkey = key('I',ALT), icon = '/images/inventory.gif', include = '{}', launchFunction = 'functionHide', @@ -786,7 +804,7 @@ def add_inventory(root,doc, pieceZoom2 = '0.5', pieceZoom3 = '0.6', propertyGate = '', - refreshHotkey = key('I',195), + refreshHotkey = key('I',ALT_SHIFT), showMenu = True, sides = '', sortFormat = '$PieceName$', @@ -1292,7 +1310,7 @@ def add_counterviewer(root,map, def add_globalmap(root,map, buttonText = '', color = rgb(255,0,0), - hotkey = '79,195', + hotkey = key('O',CTRL_SHIFT), icon = '/images/overview.gif', scale = 0.2, tooltip = 'Show/Hide overview window'): @@ -1315,7 +1333,7 @@ def add_zoomer(root,map, pickButtonText = '', pickIconName = '/images/zoom.png', pickTooltip = 'Select Zoom', - zoomInKey = '61,195', + zoomInKey = key('=',CTRL_SHIFT), zoomLevels = [0.2,0.25,0.333,0.4,0.5,0.555,0.625,0.75,1.0,1.25,1.6], zoomOutKey = key('-'), zoomPickKey = key('='), @@ -2240,7 +2258,7 @@ def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules, </ul> <p> both generated by LaTeX using the <b>wargame</b> [1] package, and - processed by the Python script <code>export.py</code> from that + processed by the Python script <code>wgexport.py</code> from that package. </p> <p> @@ -2252,7 +2270,7 @@ def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules, </p> <h2>Content of the module</h2> <p> - The <code>export.py</code> Python script has identified the + The <code>wgexport.py</code> Python script has identified the factions of the game to be </p> <ul> @@ -2305,94 +2323,11 @@ def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules, then that has been included in the module and is accessible from the "Help" menu. </p> - <h2>Key-bindings</h2> - <p> - The following key bindings have been defined - </p> - <table> - <tr> - <td>Alt-A</td> - <td>Show the charts panel</td> - </tr> - <tr> - <td>Alt-B</td> - <td>Show the OOBs</td> - </tr> - <tr> - <td>Alt-C</td> - <td>Show the counters panel</td> - </tr> - <tr> - <td>Alt-E</td> - <td>Show the eliminated units</td> - </tr> - <tr> - <td>Alt-6</td> - <td>Roll the die</td> - </tr> - <tr> - <td>Ctrl-O</td> - <td>Hide/show counters</td> - </tr> - <tr> - <td>Ctrl-F</td> - <td>Flip selected counters</td> - </tr> - <tr> - <td>Ctrl-E</td> - <td>Eliminate selected counters</td> - </tr> - <tr> - <td>Ctrl-+</td> - <td>Zoom in</td> - </tr> - <tr> - <td>Ctrl--</td> - <td>Zoom out</td> - </tr> - <tr> - <td>Ctrl-=</td> - <td>Select zoom</td> - </tr> - <tr> - <td>Ctrl-Shift-O</td> - <td>Show overview map</td> - </tr> - </table> - - Counter short cuts (may not work, right click and use context menu) - <table> - <tr> - <td>Ctrl-F</td> - <td>Flip counter</td> - </tr> - <tr> - <td>Ctrl-D</td> - <td>Delete counter</td> - </tr> - <tr> - <td>Ctrl-M</td> - <td>Toggle "moved" marker</td> - </tr> - <tr> - <td>Ctrl-T</td> - <td>Toggle move trail</td> - </tr> - <tr> - <td>Ctrl-E</td> - <td>Eliminate unit</td> - </tr> - <tr> - <td>Ctrl-R</td> - <td>Restore unit (from dead pool)</td> - </tr> - </table> <h2>After finalising the module</h2> <p> After the developer has finalised the module (added more pieces, fixed board zones a and grids, add in more commands), then this - Help menu entry should be deleted. You may want to keep key - bindings information in some help file. + Help menu entry should be deleted. </p> </body> </html> @@ -2436,24 +2371,64 @@ def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules, <td>Show the eliminated units</td> </tr> <tr> + <td>Alt-I</td> + <td>-</td> + <td>Show/refresh inventory window</td> + </tr> + <tr> + <td>Alt-M</td> + <td>-</td> + <td>Show map</td> + </tr> + <tr> + <td>Alt-T</td> + <td>-</td> + <td>Increase turn track</td> + </tr> + <tr> + <td>Alt-Shift-T</td> + <td>-</td> + <td>Decrease turn track</td> + </tr> + <tr> <td>Alt-6</td> <td>-</td> <td>Roll the dice</td> </tr> <tr> - <td>Ctrl-O</td> - <td>Board</td> - <td>Hide/show counters</td> + <td>Ctrl-D</td> + <td>Board,Counter</td> + <td>Delete selected counters</td> + </tr> + <tr> + <td>Ctrl-E</td> + <td>Board,Counter</td> + <td>Eliminate selected counters</td> </tr> <tr> <td>Ctrl-F</td> - <td>Board</td> + <td>Board,Counter</td> <td>Flip selected counters</td> </tr> <tr> - <td>Ctrl-E</td> + <td>Ctrl-M</td> + <td>Board,Counter</td> + <td>Toggle "moved" markers on selected counters</td> + </tr> + <tr> + <td>Ctrl-O</td> <td>Board</td> - <td>Eliminate selected counters</td> + <td>Hide/show counters</td> + </tr> + <tr> + <td>Ctrl-R</td> + <td>Board,Counter</td> + <td>Restore unit (from dead pool)</td> + </tr> + <tr> + <td>Ctrl-T</td> + <td>Board,Counter</td> + <td>Toggle move trail</td> </tr> <tr> <td>Ctrl-+</td> @@ -2476,40 +2451,41 @@ def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules, <td>Show overview map</td> </tr> <tr> - <td>Ctrl-F</td> - <td>Counter</td> - <td>Flip counter</td> + <td>←,→,↑↓</td> + <td>Board</td> + <td>Scroll board left, right, up, down (slowly)</td> </tr> <tr> - <td>Ctrl-D</td> - <td>Counter</td> - <td>Delete counter</td> + <td>PnUp,PnDn</td> + <td>Board</td> + <td>Scroll board up/down (fast)</td> </tr> <tr> - <td>Ctrl-M</td> - <td>Counter</td> - <td>Toggle "moved" marker</td> + <td>Ctrl-PnUp,Ctrl-PnDn</td> + <td>Board</td> + <td>Scroll board left/right (fast)</td> </tr> <tr> - <td>Ctrl-T</td> - <td>Counter</td> - <td>Toggle move trail</td> + <td>Mouse-scroll up/down</td> + <td>Board</td> + <td>Scroll board up//down</td> </tr> <tr> - <td>Ctrl-E</td> - <td>Counter</td> - <td>Eliminate unit</td> + <td>Shift-Mouse-scroll up/down</td> + <td>Board</td> + <td>Scroll board right/leftown</td> </tr> <tr> - <td>Ctrl-R</td> - <td>Counter</td> - <td>Restore unit (from dead pool)</td> + <td>Ctrl-Mouse-scroll up/down</td> + <td>Board</td> + <td>Zoom board out/in</td> + </tr> + <tr> + <td>Mouse-2</td> + <td>Board</td> + <td>Centre on mouse</td> </tr> </table> - <p> - Counter short cuts (may not work, right click and use context - menu) - </p> </body> </html> ''' @@ -2522,6 +2498,17 @@ def add_notes(root,doc,zipfile,title,version,sides,pdffile,infofile,rules, return notes # -------------------------------------------------------------------- +def add_tut(root,doc,zipfile,tutorial,verbose=False): + if tutorial is None: + return None + + if verbose: + print(f'Adding tutorial {tutorial}') + zipfile.write(tutorial,'tutorial.vlog') + + return add_tutorial(root,doc,name='Tutorial',logfile='tutorial.vlog') + +# -------------------------------------------------------------------- def add_basics_to_map(root,map,**attr): '''Add a map to the document @@ -2555,6 +2542,7 @@ def add_basics_to_map(root,map,**attr): add_keybufferer (root,map) add_selectionhighlighters(root,map) # TBD add_highlightlastmoved (root,map) + add_zoomer (root,map) return stacking @@ -2976,7 +2964,6 @@ def add_map_board(root,game,name,board,gpid,verbose=False,visible=False): add_counterviewer (root,map) add_hidepieces (root,map) add_globalmap (root,map) - add_zoomer (root,map) add_basics_to_map (root,map) add_masskey (root,map,'Flip', key('F'),key('F'), icon = '/images/Undo16.gif', @@ -3054,7 +3041,6 @@ def add_oob(root,widget,name,oob,gpid,hotkey='',verbose=False,visible=False): bpicker = add_boardpicker(root,map) add_counterviewer (root,map) - add_zoomer (root,map) add_basics_to_map (root,map) @@ -3305,6 +3291,7 @@ def create_build(info, version, desc = '', rules = None, + tutorial = None, pdffile = '', infofile = '', verbose = False, @@ -3365,7 +3352,8 @@ def create_build(info, # Add document parts doc = add_documentation(root,game) add_splash(root, doc, categories, title,verbose) - add_rules(root, doc, zipfile, rules,verbose) + add_rules(root, doc, zipfile, rules, verbose) + add_tut(root, doc, zipfile, tutorial, verbose) notes = add_notes(root,doc,zipfile,title,version, sides,pdffile,infofile,rules,verbose) @@ -3479,6 +3467,7 @@ def create_vmod(vmodname, version, desc = '', rules = None, + tutorial = None, pdfname = '', infoname = '', patch = None, @@ -3580,6 +3569,7 @@ def create_vmod(vmodname, version, desc, rules, + tutorial, pdfname, infoname, verbose, @@ -3628,6 +3618,7 @@ def export(vmodname = 'Draft.vmod', version = 'Draft', desc = '', rules = None, + tutorial = None, patch = None, verbose = False, visible = False): @@ -3649,7 +3640,8 @@ def export(vmodname = 'Draft.vmod', f'Title : {title}\n' f'Version : {version}\n' f'Description : {desc}\n' - f'Rules : {rules}\n') + f'Rules : {rules}\n' + f'Tutorial : {tutorial}') info = convert_pages(pdfname=pdfname,infoname=infoname) return create_vmod(vmodname = vmodname, info = info, @@ -3657,6 +3649,7 @@ def export(vmodname = 'Draft.vmod', version = version, desc = desc, rules = rules, + tutorial = tutorial, pdfname = pdfname, infoname = infoname, patch = patch, @@ -3695,6 +3688,9 @@ if __name__ == '__main__': ap.add_argument('-r','--rules', help='Rules PDF file', type=FileType('r')) + ap.add_argument('-T','--tutorial', + help='Tutorial (v)log file', + type=FileType('r')) ap.add_argument('-d','--description', help='Short description of module', type=str, @@ -3711,9 +3707,10 @@ if __name__ == '__main__': args = ap.parse_args() - - vmodname = args.output.name - rulesname = args.rules.name if args.rules is not None else None + + vmodname = args.output.name + rulesname = args.rules.name if args.rules is not None else None + tutname = args.tutorial.name if args.tutorial is not None else None args.output.close() patchname = args.patch.name if args.patch is not None else None @@ -3731,6 +3728,7 @@ if __name__ == '__main__': version = args.version, desc = args.description, rules = rulesname, + tutorial = tutname, patch = patchname, verbose = args.verbose, visible = args.visible_grids) diff --git a/macros/latex/contrib/wargame/source/utils/svg2tikz.py b/macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py index a9f3c60203..a9f3c60203 100755 --- a/macros/latex/contrib/wargame/source/utils/svg2tikz.py +++ b/macros/latex/contrib/wargame/source/utils/wgsvg2tikz.py diff --git a/macros/latex/contrib/wargame/source/wargame.dtx b/macros/latex/contrib/wargame/source/wargame.dtx index a2e7d06a94..d721befdb6 100644 --- a/macros/latex/contrib/wargame/source/wargame.dtx +++ b/macros/latex/contrib/wargame/source/wargame.dtx @@ -415,27 +415,27 @@ % \tikz{\hex[](r=0,c=0) } % & Clear % & \texttt{} -% & \tikz{\hex[terrain={image=beach}](r=0,c=0) } +% & \tikz{\hex[terrain={image=wargame.beach}](r=0,c=0) } % & Beach -% & \texttt{\{image=beach\}}\\ -% \tikz{\hex[terrain={image=light_woods}](r=0,c=0) } +% & \texttt{\{image=wargame.beach\}}\\ +% \tikz{\hex[terrain={image=wargame.light_woods}](r=0,c=0) } % & Light woods -% & \texttt{\{image=light\_woods\}} -% & \tikz{\hex[terrain={image=woods}](r=0,c=0)} +% & \texttt{\{image=wargame.light\_woods\}} +% & \tikz{\hex[terrain={image=wargame.woods}](r=0,c=0)} % & Woods -% & \texttt{\{image=woods\}}\\ -% \tikz{\hex[terrain={image=rough}](r=0,c=0) } +% & \texttt{\{image=wargame.woods\}}\\ +% \tikz{\hex[terrain={image=wargame.rough}](r=0,c=0) } % & Rough -% & \texttt{\{image=rough\}} -% & \tikz{\hex[terrain={image=swamp}](r=0,c=0) } +% & \texttt{\{image=wargame.rough\}} +% & \tikz{\hex[terrain={image=wargame.swamp}](r=0,c=0) } % & Swamp -% & \texttt{\{image=swamp\}}\\ -% \tikz{\hex[terrain={image=mountains}](r=0,c=0) } +% & \texttt{\{image=wargame.swamp\}}\\ +% \tikz{\hex[terrain={image=wargame.mountains}](r=0,c=0) } % & Mountains -% & \texttt{\{image=mountains\}} +% & \texttt{\{image=wargame.mountains\}} % & \tikz{\hex[fill=blue!40!white](r=0,c=0) } % & Sea -% & \texttt{\{image=sea\}}\\ +% & \texttt{\{image=wargame.sea\}}\\ % \hline % \end{tabular} % \caption{Terrains specified via tile images} diff --git a/macros/latex/contrib/wargame/source/wargame.ins b/macros/latex/contrib/wargame/source/wargame.ins index 0ab9ec5a74..23ec10e251 100644 --- a/macros/latex/contrib/wargame/source/wargame.ins +++ b/macros/latex/contrib/wargame/source/wargame.ins @@ -130,15 +130,15 @@ End: \from{chit/elements.dtx}{chit} \from{chit/misc.dtx} {chit}} % - \file{beach.tex} {\from{hex/tile.dtx}{tile,beach}} - \file{city.tex} {\from{hex/tile.dtx}{tile,city}} - \file{light_woods.tex}{\from{hex/tile.dtx}{tile,lightwoods}} - \file{mountains.tex} {\from{hex/tile.dtx}{tile,mountains}} - \file{rough.tex} {\from{hex/tile.dtx}{tile,rough}} - \file{swamp.tex} {\from{hex/tile.dtx}{tile,swamp}} - \file{town.tex} {\from{hex/tile.dtx}{tile,town}} - \file{village.tex} {\from{hex/tile.dtx}{tile,village}} - \file{woods.tex} {\from{hex/tile.dtx}{tile,woods}} + \file{wargame.beach.tex} {\from{hex/tile.dtx}{tile,beach}} + \file{wargame.city.tex} {\from{hex/tile.dtx}{tile,city}} + \file{wargame.light_woods.tex}{\from{hex/tile.dtx}{tile,lightwoods}} + \file{wargame.mountains.tex} {\from{hex/tile.dtx}{tile,mountains}} + \file{wargame.rough.tex} {\from{hex/tile.dtx}{tile,rough}} + \file{wargame.swamp.tex} {\from{hex/tile.dtx}{tile,swamp}} + \file{wargame.town.tex} {\from{hex/tile.dtx}{tile,town}} + \file{wargame.village.tex} {\from{hex/tile.dtx}{tile,village}} + \file{wargame.woods.tex} {\from{hex/tile.dtx}{tile,woods}} % \file{testmap.tex} {\from{tests/map.dtx}{testmap}} \file{testchits.tex} {\from{tests/chits.dtx}{testchits}} |