// File: FreeSlave[P]vhlt/hlcsg/qcsg.cpp
// Function: Usage()
static void     Usage()
{
    Banner(); // TODO: Call banner from main CSG process? 

    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
    Log("    -nowadtextures   : include all used textures into bsp\n");
    Log("    -wadinclude file : place textures used from wad specified into bsp\n");
    Log("    -noclip          : don't create clipping hull\n");
    
#ifdef HLCSG_CLIPECONOMY    // AJM
#ifdef HLCSG_CUSTOMHULL // default clip economy off
    Log("    -clipeconomy     : turn clipnode economy mode on\n");
#else
    Log("    -noclipeconomy   : turn clipnode economy mode off\n");
#endif
#endif

#ifdef HLCSG_PRECISIONCLIP // KGP
	Log("    -cliptype value  : set to smallest, normalized, simple, precise, or legacy (default)\n");
#endif
#ifdef HLCSG_NULLIFY_INVISIBLE // KGP
	Log("    -nullfile file   : specify list of entities to retexture with NULL\n");
#endif

    Log("    -onlyents        : do an entity update from .map to .bsp\n");
    Log("    -noskyclip       : disable automatic clipping of SKY brushes\n");
    Log("    -tiny #          : minmum brush face surface area before it is discarded\n");
    Log("    -brushunion #    : threshold to warn about overlapping brushes\n\n");
    Log("    -hullfile file   : Reads in custom collision hull dimensions\n");
#ifdef HLCSG_WADCFG_NEW
	Log("    -wadcfgfile file : wad configuration file\n");
	Log("    -wadconfig name  : use the old wad configuration approach (select a group from wad.cfg)\n");
#endif
    Log("    -texdata #       : Alter maximum texture memory limit (in kb)\n");
    Log("    -lightdata #     : Alter maximum lighting memory limit (in kb)\n");
    Log("    -chart           : display bsp statitics\n");
    Log("    -low | -high     : run program an altered priority level\n");
    Log("    -nolog           : don't generate the compile logfiles\n");
#ifdef HLCSG_KEEPLOG
	Log("    -noresetlog      : Do not delete log file\n");
#endif
    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");

#ifdef ZHLT_NULLTEX // AJM
    Log("    -nonulltex       : Turns off null texture stripping\n");
#endif
#ifdef HLCSG_NULLIFYAAATRIGGER
	Log("    -nonullifytrigger: don't remove 'aaatrigger' texture\n");
#endif

#ifdef ZHLT_DETAIL // AJM
    Log("    -nodetail        : dont handle detail brushes\n");
#endif

#ifdef HLCSG_OPTIMIZELIGHTENTITY
	Log("    -nolightopt      : don't optimize engine light entities\n");
#endif

#ifdef HLCSG_GAMETEXTMESSAGE_UTF8
	Log("    -notextconvert   : don't convert game_text message from Windows ANSI to UTF8 format\n");
#endif

    Log("    -dev #           : compile with developer message\n\n");

#ifndef HLCSG_WADCFG_NEW
#ifdef HLCSG_WADCFG // AJM
    Log("    -wadconfig name  : Specify a configuration to use from wad.cfg\n");
    Log("    -wadcfgfile path : Manually specify a path to the wad.cfg file\n"); //JK:
#endif
#endif

#ifdef HLCSG_AUTOWAD // AJM:
    Log("    -wadautodetect   : Force auto-detection of wadfiles\n");
#endif

#ifdef HLCSG_SCALESIZE
	Log("    -scale #         : Scale the world. Use at your own risk.\n");
#endif
    Log("    mapfile          : The mapfile to compile\n\n");

    exit(1);
}

// Assembly:
pushq %rax
callq 0xc1e0
leaq 0x13b63(%rip), %rax     # 0x363d0
movq (%rax), %rsi
leaq 0xc5a0(%rip), %rdi      # 0x2ee17
movb $0x0, %al
callq 0xb5d0
leaq 0xc5a6(%rip), %rdi      # 0x2ee2b
movb $0x0, %al
callq 0xb5d0
leaq 0xc5e7(%rip), %rdi      # 0x2ee7a
movb $0x0, %al
callq 0xb5d0
leaq 0xc603(%rip), %rdi      # 0x2eea4
movb $0x0, %al
callq 0xb5d0
leaq 0xc630(%rip), %rdi      # 0x2eedf
movb $0x0, %al
callq 0xb5d0
leaq 0xc66a(%rip), %rdi      # 0x2ef27
movb $0x0, %al
callq 0xb5d0
leaq 0xc68f(%rip), %rdi      # 0x2ef5a
movb $0x0, %al
callq 0xb5d0
leaq 0xc6b7(%rip), %rdi      # 0x2ef90
movb $0x0, %al
callq 0xb5d0
leaq 0xc703(%rip), %rdi      # 0x2efea
movb $0x0, %al
callq 0xb5d0
leaq 0xc73d(%rip), %rdi      # 0x2f032
movb $0x0, %al
callq 0xb5d0
leaq 0xc76d(%rip), %rdi      # 0x2f070
movb $0x0, %al
callq 0xb5d0
leaq 0xc7a1(%rip), %rdi      # 0x2f0b2
movb $0x0, %al
callq 0xb5d0
leaq 0xc7e1(%rip), %rdi      # 0x2f100
movb $0x0, %al
callq 0xb5d0
leaq 0xc818(%rip), %rdi      # 0x2f145
movb $0x0, %al
callq 0xb5d0
leaq 0xc84c(%rip), %rdi      # 0x2f187
movb $0x0, %al
callq 0xb5d0
leaq 0xc86d(%rip), %rdi      # 0x2f1b6
movb $0x0, %al
callq 0xb5d0
leaq 0xc8bc(%rip), %rdi      # 0x2f213
movb $0x0, %al
callq 0xb5d0
leaq 0xc8f1(%rip), %rdi      # 0x2f256
movb $0x0, %al
callq 0xb5d0
leaq 0xc927(%rip), %rdi      # 0x2f29a
movb $0x0, %al
callq 0xb5d0
leaq 0xc947(%rip), %rdi      # 0x2f2c8
movb $0x0, %al
callq 0xb5d0
leaq 0xc977(%rip), %rdi      # 0x2f306
movb $0x0, %al
callq 0xb5d0
leaq 0xc9a5(%rip), %rdi      # 0x2f342
movb $0x0, %al
callq 0xb5d0
leaq 0xc9c6(%rip), %rdi      # 0x2f371
movb $0x0, %al
callq 0xb5d0
leaq 0xc9fe(%rip), %rdi      # 0x2f3b7
movb $0x0, %al
callq 0xb5d0
leaq 0xca39(%rip), %rdi      # 0x2f400
movb $0x0, %al
callq 0xb5d0
leaq 0xca61(%rip), %rdi      # 0x2f436
movb $0x0, %al
callq 0xb5d0
leaq 0xca96(%rip), %rdi      # 0x2f479
movb $0x0, %al
callq 0xb5d0
leaq 0xcac1(%rip), %rdi      # 0x2f4b2
movb $0x0, %al
callq 0xb5d0
leaq 0xcaed(%rip), %rdi      # 0x2f4ec
movb $0x0, %al
callq 0xb5d0
leaq 0xcb1c(%rip), %rdi      # 0x2f529
movb $0x0, %al
callq 0xb5d0
leaq 0xcb46(%rip), %rdi      # 0x2f561
movb $0x0, %al
callq 0xb5d0
leaq 0xcb71(%rip), %rdi      # 0x2f59a
movb $0x0, %al
callq 0xb5d0
leaq 0xcba2(%rip), %rdi      # 0x2f5d9
movb $0x0, %al
callq 0xb5d0
movl $0x1, %edi
callq 0x4480
nopl (%rax,%rax)