// File: /workspace/github_cpp_makefile_star2_O3/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 0xa502
leaq 0x1d0c1(%rip), %rax     # 0x47340
movq (%rax), %rsi
leaq 0x128e3(%rip), %rdi     # 0x3cb6c
xorl %eax, %eax
callq 0x9c46
leaq 0x128e9(%rip), %rdi     # 0x3cb80
xorl %eax, %eax
callq 0x9c46
leaq 0x12929(%rip), %rdi     # 0x3cbce
xorl %eax, %eax
callq 0x9c46
leaq 0x12944(%rip), %rdi     # 0x3cbf7
xorl %eax, %eax
callq 0x9c46
leaq 0x1296f(%rip), %rdi     # 0x3cc30
xorl %eax, %eax
callq 0x9c46
leaq 0x12981(%rip), %rdi     # 0x3cc50
xorl %eax, %eax
callq 0x9c46
leaq 0x129ba(%rip), %rdi     # 0x3cc97
xorl %eax, %eax
callq 0x9c46
leaq 0x129fa(%rip), %rdi     # 0x3cce5
xorl %eax, %eax
callq 0x9c46
leaq 0x12a23(%rip), %rdi     # 0x3cd1c
xorl %eax, %eax
callq 0x9c46
leaq 0x12a58(%rip), %rdi     # 0x3cd5f
xorl %eax, %eax
callq 0x9c46
leaq 0x12a88(%rip), %rdi     # 0x3cd9d
xorl %eax, %eax
callq 0x9c46
leaq 0x12ac3(%rip), %rdi     # 0x3cde6
xorl %eax, %eax
callq 0x9c46
leaq 0x12afc(%rip), %rdi     # 0x3ce2d
xorl %eax, %eax
callq 0x9c46
leaq 0x12b3a(%rip), %rdi     # 0x3ce79
xorl %eax, %eax
callq 0x9c46
leaq 0x12b75(%rip), %rdi     # 0x3cec2
xorl %eax, %eax
callq 0x9c46
leaq 0x12bb1(%rip), %rdi     # 0x3cf0c
xorl %eax, %eax
callq 0x9c46
leaq 0x12be7(%rip), %rdi     # 0x3cf50
xorl %eax, %eax
callq 0x9c46
leaq 0x12c22(%rip), %rdi     # 0x3cf99
xorl %eax, %eax
callq 0x9c46
leaq 0x12c5d(%rip), %rdi     # 0x3cfe2
xorl %eax, %eax
callq 0x9c46
leaq 0x12c8e(%rip), %rdi     # 0x3d021
xorl %eax, %eax
callq 0x9c46
leaq 0x12cb5(%rip), %rdi     # 0x3d056
xorl %eax, %eax
callq 0x9c46
leaq 0x12cf6(%rip), %rdi     # 0x3d0a5
xorl %eax, %eax
callq 0x9c46
leaq 0x12d30(%rip), %rdi     # 0x3d0ed
xorl %eax, %eax
callq 0x9c46
leaq 0x12d5f(%rip), %rdi     # 0x3d12a
xorl %eax, %eax
callq 0x9c46
leaq 0x12d87(%rip), %rdi     # 0x3d160
xorl %eax, %eax
callq 0x9c46
leaq 0x12da8(%rip), %rdi     # 0x3d18f
xorl %eax, %eax
callq 0x9c46
leaq 0x12de8(%rip), %rdi     # 0x3d1dd
xorl %eax, %eax
callq 0x9c46
leaq 0x12e1b(%rip), %rdi     # 0x3d21e
xorl %eax, %eax
callq 0x9c46
leaq 0x12e4b(%rip), %rdi     # 0x3d25c
xorl %eax, %eax
callq 0x9c46
leaq 0x12e85(%rip), %rdi     # 0x3d2a4
xorl %eax, %eax
callq 0x9c46
leaq 0x12ec6(%rip), %rdi     # 0x3d2f3
xorl %eax, %eax
callq 0x9c46
leaq 0x12efa(%rip), %rdi     # 0x3d335
xorl %eax, %eax
callq 0x9c46
leaq 0x12f2f(%rip), %rdi     # 0x3d378
xorl %eax, %eax
callq 0x9c46
leaq 0x12f4e(%rip), %rdi     # 0x3d3a5
xorl %eax, %eax
callq 0x9c46
leaq 0x12f7d(%rip), %rdi     # 0x3d3e2
xorl %eax, %eax
callq 0x9c46
leaq 0x12fab(%rip), %rdi     # 0x3d41e
xorl %eax, %eax
callq 0x9c46
leaq 0x12fe2(%rip), %rdi     # 0x3d463
xorl %eax, %eax
callq 0x9c46
leaq 0x1301c(%rip), %rdi     # 0x3d4ab
xorl %eax, %eax
callq 0x9c46
leaq 0x13043(%rip), %rdi     # 0x3d4e0
xorl %eax, %eax
callq 0x9c46
leaq 0x13077(%rip), %rdi     # 0x3d522
xorl %eax, %eax
callq 0x9c46
leaq 0x130a0(%rip), %rdi     # 0x3d559
xorl %eax, %eax
callq 0x9c46
leaq 0x130d4(%rip), %rdi     # 0x3d59b
xorl %eax, %eax
callq 0x9c46
leaq 0x1310d(%rip), %rdi     # 0x3d5e2
xorl %eax, %eax
callq 0x9c46
leaq 0x13148(%rip), %rdi     # 0x3d62b
xorl %eax, %eax
callq 0x9c46
leaq 0x1317d(%rip), %rdi     # 0x3d66e
xorl %eax, %eax
callq 0x9c46
leaq 0x131b6(%rip), %rdi     # 0x3d6b5
xorl %eax, %eax
callq 0x9c46
leaq 0x131f2(%rip), %rdi     # 0x3d6ff
xorl %eax, %eax
callq 0x9c46
leaq 0x13225(%rip), %rdi     # 0x3d740
xorl %eax, %eax
callq 0x9c46
leaq 0x1de37(%rip), %r15     # 0x48360
leaq 0x13237(%rip), %rbx     # 0x3d767
xorl %r14d, %r14d
movq (%r15,%r14,8), %rdx
movq %rbx, %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x9c46
incq %r14
cmpq $0x3, %r14
jne 0x2a533
leaq 0x1321a(%rip), %rdi     # 0x3d76e
xorl %eax, %eax
callq 0x9c46
leaq 0x13210(%rip), %rdi     # 0x3d772
xorl %eax, %eax
callq 0x9c46
leaq 0x1de10(%rip), %r15     # 0x48380
leaq 0x131f0(%rip), %rbx     # 0x3d767
xorl %r14d, %r14d
movq (%r15,%r14,8), %rdx
movq %rbx, %rdi
movl %r14d, %esi
xorl %eax, %eax
callq 0x9c46
incq %r14
cmpq $0x4, %r14
jne 0x2a57a
leaq 0x131d3(%rip), %rdi     # 0x3d76e
xorl %eax, %eax
callq 0x9c46
leaq 0x131f3(%rip), %rdi     # 0x3d79c
xorl %eax, %eax
callq 0x9c46
leaq 0x13217(%rip), %rdi     # 0x3d7ce
xorl %eax, %eax
callq 0x9c46
leaq 0x13240(%rip), %rdi     # 0x3d805
xorl %eax, %eax
callq 0x9c46
leaq 0x13282(%rip), %rdi     # 0x3d855
xorl %eax, %eax
callq 0x9c46
leaq 0x1329e(%rip), %rdi     # 0x3d87f
xorl %eax, %eax
callq 0x9c46
leaq 0x132e0(%rip), %rdi     # 0x3d8cf
xorl %eax, %eax
callq 0x9c46
leaq 0x1330f(%rip), %rdi     # 0x3d90c
xorl %eax, %eax
callq 0x9c46
leaq 0x13344(%rip), %rdi     # 0x3d94f
xorl %eax, %eax
callq 0x9c46
leaq 0x13367(%rip), %rdi     # 0x3d980
xorl %eax, %eax
callq 0x9c46
leaq 0x133a4(%rip), %rdi     # 0x3d9cb
xorl %eax, %eax
callq 0x9c46
leaq 0x133e5(%rip), %rdi     # 0x3da1a
xorl %eax, %eax
callq 0x9c46
leaq 0x1343b(%rip), %rdi     # 0x3da7e
xorl %eax, %eax
callq 0x9c46
leaq 0x1347b(%rip), %rdi     # 0x3dacc
xorl %eax, %eax
callq 0x9c46
leaq 0x134aa(%rip), %rdi     # 0x3db09
xorl %eax, %eax
callq 0x9c46
leaq 0x134c6(%rip), %rdi     # 0x3db33
xorl %eax, %eax
callq 0x9c46
leaq 0x134e8(%rip), %rdi     # 0x3db63
xorl %eax, %eax
callq 0x9c46
movl $0x1, %edi
callq 0x4380