// File: /workspace/github_cpp_makefile_star2_O1/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 0xa5ea
leaq 0x1d265(%rip), %rax     # 0x48340
movq (%rax), %rsi
leaq 0x12b0a(%rip), %rdi     # 0x3dbef
xorl %eax, %eax
callq 0x9d2e
leaq 0x12b10(%rip), %rdi     # 0x3dc03
xorl %eax, %eax
callq 0x9d2e
leaq 0x12b50(%rip), %rdi     # 0x3dc51
xorl %eax, %eax
callq 0x9d2e
leaq 0x12b6b(%rip), %rdi     # 0x3dc7a
xorl %eax, %eax
callq 0x9d2e
leaq 0x12b96(%rip), %rdi     # 0x3dcb3
xorl %eax, %eax
callq 0x9d2e
leaq 0x12ba8(%rip), %rdi     # 0x3dcd3
xorl %eax, %eax
callq 0x9d2e
leaq 0x12be1(%rip), %rdi     # 0x3dd1a
xorl %eax, %eax
callq 0x9d2e
leaq 0x12c21(%rip), %rdi     # 0x3dd68
xorl %eax, %eax
callq 0x9d2e
leaq 0x12c4a(%rip), %rdi     # 0x3dd9f
xorl %eax, %eax
callq 0x9d2e
leaq 0x12c7f(%rip), %rdi     # 0x3dde2
xorl %eax, %eax
callq 0x9d2e
leaq 0x12caf(%rip), %rdi     # 0x3de20
xorl %eax, %eax
callq 0x9d2e
leaq 0x12cea(%rip), %rdi     # 0x3de69
xorl %eax, %eax
callq 0x9d2e
leaq 0x12d23(%rip), %rdi     # 0x3deb0
xorl %eax, %eax
callq 0x9d2e
leaq 0x12d61(%rip), %rdi     # 0x3defc
xorl %eax, %eax
callq 0x9d2e
leaq 0x12d9c(%rip), %rdi     # 0x3df45
xorl %eax, %eax
callq 0x9d2e
leaq 0x12dd8(%rip), %rdi     # 0x3df8f
xorl %eax, %eax
callq 0x9d2e
leaq 0x12e0e(%rip), %rdi     # 0x3dfd3
xorl %eax, %eax
callq 0x9d2e
leaq 0x12e49(%rip), %rdi     # 0x3e01c
xorl %eax, %eax
callq 0x9d2e
leaq 0x12e84(%rip), %rdi     # 0x3e065
xorl %eax, %eax
callq 0x9d2e
leaq 0x12eb5(%rip), %rdi     # 0x3e0a4
xorl %eax, %eax
callq 0x9d2e
leaq 0x12edc(%rip), %rdi     # 0x3e0d9
xorl %eax, %eax
callq 0x9d2e
leaq 0x12f1d(%rip), %rdi     # 0x3e128
xorl %eax, %eax
callq 0x9d2e
leaq 0x12f57(%rip), %rdi     # 0x3e170
xorl %eax, %eax
callq 0x9d2e
leaq 0x12f86(%rip), %rdi     # 0x3e1ad
xorl %eax, %eax
callq 0x9d2e
leaq 0x12fae(%rip), %rdi     # 0x3e1e3
xorl %eax, %eax
callq 0x9d2e
leaq 0x12fcf(%rip), %rdi     # 0x3e212
xorl %eax, %eax
callq 0x9d2e
leaq 0x1300f(%rip), %rdi     # 0x3e260
xorl %eax, %eax
callq 0x9d2e
leaq 0x13042(%rip), %rdi     # 0x3e2a1
xorl %eax, %eax
callq 0x9d2e
leaq 0x13072(%rip), %rdi     # 0x3e2df
xorl %eax, %eax
callq 0x9d2e
leaq 0x130ac(%rip), %rdi     # 0x3e327
xorl %eax, %eax
callq 0x9d2e
leaq 0x130ed(%rip), %rdi     # 0x3e376
xorl %eax, %eax
callq 0x9d2e
leaq 0x13121(%rip), %rdi     # 0x3e3b8
xorl %eax, %eax
callq 0x9d2e
leaq 0x13156(%rip), %rdi     # 0x3e3fb
xorl %eax, %eax
callq 0x9d2e
leaq 0x13175(%rip), %rdi     # 0x3e428
xorl %eax, %eax
callq 0x9d2e
leaq 0x131a4(%rip), %rdi     # 0x3e465
xorl %eax, %eax
callq 0x9d2e
leaq 0x131d2(%rip), %rdi     # 0x3e4a1
xorl %eax, %eax
callq 0x9d2e
leaq 0x13209(%rip), %rdi     # 0x3e4e6
xorl %eax, %eax
callq 0x9d2e
leaq 0x13243(%rip), %rdi     # 0x3e52e
xorl %eax, %eax
callq 0x9d2e
leaq 0x1326a(%rip), %rdi     # 0x3e563
xorl %eax, %eax
callq 0x9d2e
leaq 0x1329e(%rip), %rdi     # 0x3e5a5
xorl %eax, %eax
callq 0x9d2e
leaq 0x132c7(%rip), %rdi     # 0x3e5dc
xorl %eax, %eax
callq 0x9d2e
leaq 0x132fb(%rip), %rdi     # 0x3e61e
xorl %eax, %eax
callq 0x9d2e
leaq 0x13334(%rip), %rdi     # 0x3e665
xorl %eax, %eax
callq 0x9d2e
leaq 0x1336f(%rip), %rdi     # 0x3e6ae
xorl %eax, %eax
callq 0x9d2e
leaq 0x133a4(%rip), %rdi     # 0x3e6f1
xorl %eax, %eax
callq 0x9d2e
leaq 0x133dd(%rip), %rdi     # 0x3e738
xorl %eax, %eax
callq 0x9d2e
leaq 0x13419(%rip), %rdi     # 0x3e782
xorl %eax, %eax
callq 0x9d2e
leaq 0x1344c(%rip), %rdi     # 0x3e7c3
xorl %eax, %eax
callq 0x9d2e
leaq 0x1dfdb(%rip), %r15     # 0x49360
leaq 0x1345e(%rip), %rbx     # 0x3e7ea
xorl %r14d, %r14d
movq (%r15,%r14,8), %rdx
movq %rbx, %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x9d2e
incq %r14
cmpq $0x3, %r14
jne 0x2b38f
leaq 0x13441(%rip), %rdi     # 0x3e7f1
xorl %eax, %eax
callq 0x9d2e
leaq 0x13437(%rip), %rdi     # 0x3e7f5
xorl %eax, %eax
callq 0x9d2e
leaq 0x1dfb4(%rip), %r15     # 0x49380
leaq 0x13417(%rip), %rbx     # 0x3e7ea
xorl %r14d, %r14d
movq (%r15,%r14,8), %rdx
movq %rbx, %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x9d2e
incq %r14
cmpq $0x4, %r14
jne 0x2b3d6
leaq 0x133fa(%rip), %rdi     # 0x3e7f1
xorl %eax, %eax
callq 0x9d2e
leaq 0x1341a(%rip), %rdi     # 0x3e81f
xorl %eax, %eax
callq 0x9d2e
leaq 0x1343e(%rip), %rdi     # 0x3e851
xorl %eax, %eax
callq 0x9d2e
leaq 0x13467(%rip), %rdi     # 0x3e888
xorl %eax, %eax
callq 0x9d2e
leaq 0x134a9(%rip), %rdi     # 0x3e8d8
xorl %eax, %eax
callq 0x9d2e
leaq 0x134c5(%rip), %rdi     # 0x3e902
xorl %eax, %eax
callq 0x9d2e
leaq 0x13507(%rip), %rdi     # 0x3e952
xorl %eax, %eax
callq 0x9d2e
leaq 0x13536(%rip), %rdi     # 0x3e98f
xorl %eax, %eax
callq 0x9d2e
leaq 0x1356b(%rip), %rdi     # 0x3e9d2
xorl %eax, %eax
callq 0x9d2e
leaq 0x1358e(%rip), %rdi     # 0x3ea03
xorl %eax, %eax
callq 0x9d2e
leaq 0x135cb(%rip), %rdi     # 0x3ea4e
xorl %eax, %eax
callq 0x9d2e
leaq 0x1360c(%rip), %rdi     # 0x3ea9d
xorl %eax, %eax
callq 0x9d2e
leaq 0x13662(%rip), %rdi     # 0x3eb01
xorl %eax, %eax
callq 0x9d2e
leaq 0x136a2(%rip), %rdi     # 0x3eb4f
xorl %eax, %eax
callq 0x9d2e
leaq 0x136d1(%rip), %rdi     # 0x3eb8c
xorl %eax, %eax
callq 0x9d2e
leaq 0x136ed(%rip), %rdi     # 0x3ebb6
xorl %eax, %eax
callq 0x9d2e
leaq 0x1370f(%rip), %rdi     # 0x3ebe6
xorl %eax, %eax
callq 0x9d2e
movl $0x1, %edi
callq 0x4390