; this is where you specify and configure the FWK pipeline. ; tweak the pipeline and add new importers just by editing this file. ; there is no flow control in this script file: lines are parsed and evaluated, from top to bottom. ; ------------------------------------------------------------------------------ ; let's create a symbol. symbols are uppercase words always. ; syntax: symbols are defined in KEY=value form, as seen below. TOOLS=./ ; folder where our pipeline tools are located ART=../engine/art ; comma-separated folder(s) that store all our asset files ; lines starting with @windows, @linux or @osx will be processed only where OS matches. ; we are defining here some symbols differently for each platform. ; syntax: lines starting with @keyword. valid keywords are win/dows, lin/ux, and osx. @linux NUL=/dev/null @osx NUL=/dev/null @window NUL=NUL @linux .EXE=.linux @osx .EXE=.osx @windows .EXE=.exe ; you can invoke shell commands directly with `command` at anytime. ; also, once a symbol is found, it is replaced by its value always. ; some predefined symbols: INPUT (input filename), OUTPUT (output filename), PRETTY (clean input filename), PROGRESS (cook progress). @windows `echo Cooking PROGRESS% PRETTY...` @linux `echo "Cooking PROGRESS% PRETTY..."` @osx `echo "Cooking PROGRESS% PRETTY..."` ; ------------------------------------------------------------------------------ ; groups below are collection of files that we want to cook, and then package. ; by default, no assets are cooked unless explictly listed below. ; syntax: group=ext1,ext2[...] [cook] font=ttf,ttc,otf text=json,xml,csv,ini,cfg,doc,txt,md,c,h,inl,cpp,hpp,htm,html shader=hlsl,fx,dxil,dxbc,glsl,vert,frag,geom,tese,tesc,comp,vs,fs,gs,ts,cs,spirv,spv,slang ; ------------------------------------------------------------------------------ ; cook localization files ;[cook excel] ;TOOLS/xlsx2ini.EXE INPUT OUTPUT -> ini ; ------------------------------------------------------------------------------ ; assets that need to be compressed at end of whole pipeline process are specified here. ; by default, no assets are compressed unless explictly listed below. ; supported compressors: DEFLATE (default), LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP. ; syntax: compression quality[0..15]|optional_compressor on the left, and type names on the right. ; where: level [0:fastest compression .. 10 max level .. anything >=11 is expensive ... 15 is uber] ; ; valid examples: 0, 3, 4, 6|LZMA, 6|DEFLATE, 6|ULZ, 9|ULZ, 9|LZ4, 2|BALZ, 3|BCM, 1|CRUSH, ... ; ; hint: use plain `0` to exclude non-compressible files (jpg,png,...) ; hint: use plain `0` to exclude those usually large files that compress poorly (<1%) (like mpg) ; hint: use plain `0` to exclude those files we would like to directly stream within the final zipfile (flac,mp3,adpcm wav,...) [compress] 0|ULZ=font,text,shader