2023-09-08 13:06:07 +00:00
|
|
|
; 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.
|
|
|
|
|
2023-09-11 06:29:01 +00:00
|
|
|
TOOLS=./ ; folder where our pipeline tools are located
|
|
|
|
ART=../engine/art ; comma-separated folder(s) that store all our asset files
|
2023-09-08 13:06:07 +00:00
|
|
|
|
|
|
|
; 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
|