// File: /workspace/github_cpp_makefile_star2_O2/FreeSlave[P]vhlt/hlrad/qrad.cpp
// Function: Usage()
static void     Usage()
{
    Banner();

    Log("\n-= %s Options =-\n\n", g_Program);
#ifdef ZHLT_CONSOLE
	Log("    -console #      : Set to 0 to turn off the pop-up console (default is 1)\n");
#endif
#ifdef ZHLT_LANGFILE
	Log("    -lang file      : localization file\n");
#endif
#ifdef HLRAD_TEXTURE
	Log("    -waddir folder  : Search this folder for wad files.\n");
#endif
#ifdef HLRAD_FASTMODE
	Log("    -fast           : Fast rad\n");
#endif
#ifdef HLRAD_ARG_MISC
	Log("    -vismatrix value: Set vismatrix method to normal, sparse or off .\n");
#else
    Log("    -sparse         : Enable low memory vismatrix algorithm\n");
    Log("    -nomatrix       : Disable usage of vismatrix entirely\n\n");
#endif
    Log("    -extra          : Improve lighting quality by doing 9 point oversampling\n");
    Log("    -bounce #       : Set number of radiosity bounces\n");
    Log("    -ambient r g b  : Set ambient world light (0.0 to 1.0, r g b)\n");
#ifndef HLRAD_FinalLightFace_VL
    Log("    -maxlight #     : Set maximum light intensity value\n");
#endif
#ifdef HLRAD_PRESERVELIGHTMAPCOLOR
    Log("    -limiter #      : Set light clipping threshold (-1=None)\n");
#endif
    Log("    -circus         : Enable 'circus' mode for locating unlit lightmaps\n");
#ifdef HLRAD_SUNSPREAD
	Log("    -nospread       : Disable sunlight spread angles for this compile\n");
#endif
    Log("    -nopaque        : Disable the opaque zhlt_lightflags for this compile\n\n");
    Log("    -smooth #       : Set smoothing threshold for blending (in degrees)\n");
#ifdef HLRAD_CUSTOMSMOOTH
	Log("    -smooth2 #      : Set smoothing threshold between different textures\n");
#endif
    Log("    -chop #         : Set radiosity patch size for normal textures\n");
    Log("    -texchop #      : Set radiosity patch size for texture light faces\n\n");
    Log("    -notexscale     : Do not scale radiosity patches with texture scale\n");
    Log("    -coring #       : Set lighting threshold before blackness\n");
    Log("    -dlight #       : Set direct lighting threshold\n");
    Log("    -nolerp         : Disable radiosity interpolation, nearest point instead\n\n");
    Log("    -fade #         : Set global fade (larger values = shorter lights)\n");
#ifndef HLRAD_ARG_MISC
    Log("    -falloff #      : Set global falloff mode (1 = inv linear, 2 = inv square)\n");
#endif
#ifdef HLRAD_TEXLIGHTGAP
	Log("    -texlightgap #  : Set global gap distance for texlights\n");
#endif
    Log("    -scale #        : Set global light scaling value\n");
    Log("    -gamma #        : Set global gamma value\n\n");
    Log("    -sky #          : Set ambient sunlight contribution in the shade outside\n");
    Log("    -lights file    : Manually specify a lights.rad file to use\n");
    Log("    -noskyfix       : Disable light_environment being global\n");
    Log("    -incremental    : Use or create an incremental transfer list file\n\n");
    Log("    -dump           : Dumps light patches to a file for hlrad debugging info\n\n");
    Log("    -texdata #      : Alter maximum texture memory limit (in kb)\n");
    Log("    -lightdata #    : Alter maximum lighting memory limit (in kb)\n"); //lightdata
    Log("    -chart          : display bsp statitics\n");
    Log("    -low | -high    : run program an altered priority level\n");
    Log("    -nolog          : Do not generate the compile logfiles\n");
    Log("    -threads #      : manually specify the number of threads to run\n");
#ifdef SYSTEM_WIN32
    Log("    -estimate       : display estimated time during compile\n");
#endif
#ifdef ZHLT_PROGRESSFILE // AJM
    Log("    -progressfile path  : specify the path to a file for progress estimate output\n");
#endif
#ifdef SYSTEM_POSIX
    Log("    -noestimate     : Do not display continuous compile time estimates\n");
#endif
    Log("    -verbose        : compile with verbose messages\n");
    Log("    -noinfo         : Do not show tool configuration information\n");
    Log("    -dev #          : compile with developer message\n\n");

    // ------------------------------------------------------------------------
    // Changes by Adam Foster - afoster@compsoc.man.ac.uk
#ifdef HLRAD_WHOME

    // AJM: we dont need this extra crap
    //Log("-= Unofficial features added by Adam Foster (afoster@compsoc.man.ac.uk) =-\n\n");
    Log("   -colourgamma r g b  : Sets different gamma values for r, g, b\n" );
    Log("   -colourscale r g b  : Sets different lightscale values for r, g ,b\n" );
    Log("   -colourjitter r g b : Adds noise, independent colours, for dithering\n");
    Log("   -jitter r g b       : Adds noise, monochromatic, for dithering\n");
#ifndef HLRAD_ARG_MISC
    Log("   -nodiffuse          : Disables light_environment diffuse hack\n");
    Log("   -nospotpoints       : Disables light_spot spherical point sources\n");
#endif
#ifndef HLRAD_CUSTOMTEXLIGHT // no softlight hack
    Log("   -softlight r g b d  : Scaling values for backwards-light hack\n\n");
#endif
    //Log("-= End of unofficial features! =-\n\n" );

#endif
    // ------------------------------------------------------------------------  
    
#ifdef HLRAD_HULLU
    Log("   -customshadowwithbounce : Enables custom shadows with bounce light\n");
    Log("   -rgbtransfers           : Enables RGB Transfers (for custom shadows)\n\n");
#endif

#ifdef HLRAD_TRANSTOTAL_HACK
#ifndef HLRAD_REFLECTIVITY
	Log("   -bscale        : Scaling light on every bounce\n\n");
#endif
#endif
#ifdef HLRAD_MINLIGHT
	Log("   -minlight #    : Minimum final light (integer from 0 to 255)\n");
#endif
#ifdef HLRAD_TRANSFERDATA_COMPRESS
	{
		int i;
	Log("   -compress #    : compress tranfer (");
		for (i=0; i<float_type_count; i++)
			Log (" %d=%s", i, float_type_string[i]);
		Log(" )\n");
	Log("   -rgbcompress # : compress rgbtranfer (");
		for (i=0; i<vector_type_count; i++)
			Log (" %d=%s", i, vector_type_string[i]);
		Log(" )\n");
	}
#endif
#ifdef HLRAD_SOFTSKY
	Log("   -softsky #     : Smooth skylight.(0=off 1=on)\n");
#endif
#ifdef HLRAD_TRANSLUCENT
	Log("   -depth #       : Thickness of translucent objects.\n");
#endif
#ifdef HLRAD_OPAQUE_BLOCK
	Log("   -blockopaque # : Remove the black areas around opaque entities.(0=off 1=on)\n");
#endif
#ifdef HLRAD_TEXTURE
	Log("   -notextures    : Don't load textures.\n");
#endif
#ifdef HLRAD_REFLECTIVITY
	Log("   -texreflectgamma # : Gamma that relates reflectivity to texture color bits.\n");
	Log("   -texreflectscale # : Reflectivity for 255-white texture.\n");
#endif
#ifdef HLRAD_BLUR
	Log("   -blur #        : Enlarge lightmap sample to blur the lightmap.\n");
#endif
#ifdef HLRAD_ACCURATEBOUNCE
	Log("   -noemitterrange: Don't fix pointy texlights.\n");
#endif
#ifdef HLRAD_AVOIDWALLBLEED
	Log("   -nobleedfix    : Don't fix wall bleeding problem for large blur value.\n");
#endif
#ifdef HLRAD_DEBUG_DRAWPOINTS
	Log("   -drawpatch     : Export light patch positions to file 'mapname_patch.pts'.\n");
	Log("   -drawsample x y z r    : Export light sample positions in an area to file 'mapname_sample.pts'.\n");
	Log("   -drawedge      : Export smooth edge positions to file 'mapname_edge.pts'.\n");
	Log("   -drawlerp      : Show bounce light triangulation status.\n");
#endif
#ifdef HLRAD_AVOIDWALLBLEED
	Log("   -drawnudge     : Show nudged samples.\n");
#endif
#ifdef HLRAD_PRESERVELIGHTMAPCOLOR
	Log("   -drawoverload  : Highlight fullbright spots\n");
#endif

    Log("    mapfile       : The mapfile to compile\n\n");

    exit(1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
callq 0x9101
leaq 0x1d69f(%rip), %rax     # 0x44350
movq (%rax), %rsi
leaq 0x10e31(%rip), %rdi     # 0x37aec
xorl %eax, %eax
callq 0x8790
leaq 0x10e37(%rip), %rdi     # 0x37b00
xorl %eax, %eax
callq 0x8790
leaq 0x10e77(%rip), %rdi     # 0x37b4e
xorl %eax, %eax
callq 0x8790
leaq 0x10e92(%rip), %rdi     # 0x37b77
xorl %eax, %eax
callq 0x8790
leaq 0x10ebd(%rip), %rdi     # 0x37bb0
xorl %eax, %eax
callq 0x8790
leaq 0x10ecf(%rip), %rdi     # 0x37bd0
xorl %eax, %eax
callq 0x8790
leaq 0x10f08(%rip), %rdi     # 0x37c17
xorl %eax, %eax
callq 0x8790
leaq 0x10f48(%rip), %rdi     # 0x37c65
xorl %eax, %eax
callq 0x8790
leaq 0x10f71(%rip), %rdi     # 0x37c9c
xorl %eax, %eax
callq 0x8790
leaq 0x10fa6(%rip), %rdi     # 0x37cdf
xorl %eax, %eax
callq 0x8790
leaq 0x10fd6(%rip), %rdi     # 0x37d1d
xorl %eax, %eax
callq 0x8790
leaq 0x11011(%rip), %rdi     # 0x37d66
xorl %eax, %eax
callq 0x8790
leaq 0x1104a(%rip), %rdi     # 0x37dad
xorl %eax, %eax
callq 0x8790
leaq 0x11088(%rip), %rdi     # 0x37df9
xorl %eax, %eax
callq 0x8790
leaq 0x110c3(%rip), %rdi     # 0x37e42
xorl %eax, %eax
callq 0x8790
leaq 0x110ff(%rip), %rdi     # 0x37e8c
xorl %eax, %eax
callq 0x8790
leaq 0x11135(%rip), %rdi     # 0x37ed0
xorl %eax, %eax
callq 0x8790
leaq 0x11170(%rip), %rdi     # 0x37f19
xorl %eax, %eax
callq 0x8790
leaq 0x111ab(%rip), %rdi     # 0x37f62
xorl %eax, %eax
callq 0x8790
leaq 0x111dc(%rip), %rdi     # 0x37fa1
xorl %eax, %eax
callq 0x8790
leaq 0x11203(%rip), %rdi     # 0x37fd6
xorl %eax, %eax
callq 0x8790
leaq 0x11244(%rip), %rdi     # 0x38025
xorl %eax, %eax
callq 0x8790
leaq 0x1127e(%rip), %rdi     # 0x3806d
xorl %eax, %eax
callq 0x8790
leaq 0x112ad(%rip), %rdi     # 0x380aa
xorl %eax, %eax
callq 0x8790
leaq 0x112d5(%rip), %rdi     # 0x380e0
xorl %eax, %eax
callq 0x8790
leaq 0x112f6(%rip), %rdi     # 0x3810f
xorl %eax, %eax
callq 0x8790
leaq 0x11336(%rip), %rdi     # 0x3815d
xorl %eax, %eax
callq 0x8790
leaq 0x11369(%rip), %rdi     # 0x3819e
xorl %eax, %eax
callq 0x8790
leaq 0x11399(%rip), %rdi     # 0x381dc
xorl %eax, %eax
callq 0x8790
leaq 0x113d3(%rip), %rdi     # 0x38224
xorl %eax, %eax
callq 0x8790
leaq 0x11414(%rip), %rdi     # 0x38273
xorl %eax, %eax
callq 0x8790
leaq 0x11448(%rip), %rdi     # 0x382b5
xorl %eax, %eax
callq 0x8790
leaq 0x1147d(%rip), %rdi     # 0x382f8
xorl %eax, %eax
callq 0x8790
leaq 0x1149c(%rip), %rdi     # 0x38325
xorl %eax, %eax
callq 0x8790
leaq 0x114cb(%rip), %rdi     # 0x38362
xorl %eax, %eax
callq 0x8790
leaq 0x114f9(%rip), %rdi     # 0x3839e
xorl %eax, %eax
callq 0x8790
leaq 0x11530(%rip), %rdi     # 0x383e3
xorl %eax, %eax
callq 0x8790
leaq 0x1156a(%rip), %rdi     # 0x3842b
xorl %eax, %eax
callq 0x8790
leaq 0x11591(%rip), %rdi     # 0x38460
xorl %eax, %eax
callq 0x8790
leaq 0x115c5(%rip), %rdi     # 0x384a2
xorl %eax, %eax
callq 0x8790
leaq 0x115ee(%rip), %rdi     # 0x384d9
xorl %eax, %eax
callq 0x8790
leaq 0x11622(%rip), %rdi     # 0x3851b
xorl %eax, %eax
callq 0x8790
leaq 0x1165b(%rip), %rdi     # 0x38562
xorl %eax, %eax
callq 0x8790
leaq 0x11696(%rip), %rdi     # 0x385ab
xorl %eax, %eax
callq 0x8790
leaq 0x116cb(%rip), %rdi     # 0x385ee
xorl %eax, %eax
callq 0x8790
leaq 0x11704(%rip), %rdi     # 0x38635
xorl %eax, %eax
callq 0x8790
leaq 0x11740(%rip), %rdi     # 0x3867f
xorl %eax, %eax
callq 0x8790
leaq 0x11773(%rip), %rdi     # 0x386c0
xorl %eax, %eax
callq 0x8790
leaq 0x1e415(%rip), %r15     # 0x45370
leaq 0x11785(%rip), %rbx     # 0x386e7
xorl %r14d, %r14d
cmpq $0x3, %r14
je 0x26f81
movq (%r15,%r14,8), %rdx
movq %rbx, %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x8790
incq %r14
jmp 0x26f65
leaq 0x11766(%rip), %rdi     # 0x386ee
xorl %eax, %eax
callq 0x8790
leaq 0x1175c(%rip), %rdi     # 0x386f2
xorl %eax, %eax
callq 0x8790
leaq 0x1e3ec(%rip), %r15     # 0x45390
leaq 0x1173c(%rip), %rbx     # 0x386e7
xorl %r14d, %r14d
cmpq $0x4, %r14
je 0x26fca
movq (%r15,%r14,8), %rdx
movq %rbx, %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x8790
incq %r14
jmp 0x26fae
leaq 0x1171d(%rip), %rdi     # 0x386ee
xorl %eax, %eax
callq 0x8790
leaq 0x1173d(%rip), %rdi     # 0x3871c
xorl %eax, %eax
callq 0x8790
leaq 0x11761(%rip), %rdi     # 0x3874e
xorl %eax, %eax
callq 0x8790
leaq 0x1178a(%rip), %rdi     # 0x38785
xorl %eax, %eax
callq 0x8790
leaq 0x117cc(%rip), %rdi     # 0x387d5
xorl %eax, %eax
callq 0x8790
leaq 0x117e8(%rip), %rdi     # 0x387ff
xorl %eax, %eax
callq 0x8790
leaq 0x1182a(%rip), %rdi     # 0x3884f
xorl %eax, %eax
callq 0x8790
leaq 0x11859(%rip), %rdi     # 0x3888c
xorl %eax, %eax
callq 0x8790
leaq 0x1188e(%rip), %rdi     # 0x388cf
xorl %eax, %eax
callq 0x8790
leaq 0x118b1(%rip), %rdi     # 0x38900
xorl %eax, %eax
callq 0x8790
leaq 0x118ee(%rip), %rdi     # 0x3894b
xorl %eax, %eax
callq 0x8790
leaq 0x1192f(%rip), %rdi     # 0x3899a
xorl %eax, %eax
callq 0x8790
leaq 0x11985(%rip), %rdi     # 0x389fe
xorl %eax, %eax
callq 0x8790
leaq 0x119c5(%rip), %rdi     # 0x38a4c
xorl %eax, %eax
callq 0x8790
leaq 0x119f4(%rip), %rdi     # 0x38a89
xorl %eax, %eax
callq 0x8790
leaq 0x11a10(%rip), %rdi     # 0x38ab3
xorl %eax, %eax
callq 0x8790
leaq 0x11a32(%rip), %rdi     # 0x38ae3
xorl %eax, %eax
callq 0x8790
pushq $0x1
popq %rdi
callq 0x4390