2017-09-21 18:33:05 +08:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Threading.Tasks ;
using System.Windows.Forms ;
namespace CodeWalker
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main ( string [ ] args )
{
bool menumode = false ;
bool explorermode = false ;
2018-03-03 21:03:08 +08:00
bool projectmode = false ;
2017-09-21 18:33:05 +08:00
if ( ( args ! = null ) & & ( args . Length > 0 ) )
{
foreach ( string arg in args )
{
2017-12-20 07:52:50 +08:00
string argl = arg . ToLowerInvariant ( ) ;
if ( argl = = "menu" )
2017-09-21 18:33:05 +08:00
{
menumode = true ;
}
2017-12-20 07:52:50 +08:00
if ( argl = = "explorer" )
2017-09-21 18:33:05 +08:00
{
explorermode = true ;
}
2018-03-03 21:03:08 +08:00
if ( argl = = "project" )
{
projectmode = true ;
}
2017-09-21 18:33:05 +08:00
}
}
Application . EnableVisualStyles ( ) ;
Application . SetCompatibleTextRenderingDefault ( false ) ;
2018-02-21 16:34:49 +08:00
// Always check the GTA folder first thing
if ( ! GTAFolder . UpdateGTAFolder ( Properties . Settings . Default . RememberGTAFolder ) )
{
2018-02-21 17:12:17 +08:00
MessageBox . Show ( "Could not load CodeWalker because no valid GTA 5 folder was selected. CodeWalker will now exit." , "GTA 5 Folder Not Found" , MessageBoxButtons . OK , MessageBoxIcon . Stop ) ;
2018-02-21 16:34:49 +08:00
return ;
}
2017-09-21 18:33:05 +08:00
#if ! DEBUG
try
{
#endif
2018-03-03 21:03:08 +08:00
if ( menumode )
2017-09-21 18:33:05 +08:00
{
2017-12-24 19:49:04 +08:00
Application . Run ( new MenuForm ( ) ) ;
2017-09-21 18:33:05 +08:00
}
else if ( explorermode )
{
Application . Run ( new ExploreForm ( ) ) ;
}
2018-03-03 21:03:08 +08:00
else if ( projectmode )
{
Application . Run ( new Project . ProjectForm2 ( ) ) ;
}
2017-09-21 18:33:05 +08:00
else
{
Application . Run ( new WorldForm ( ) ) ;
}
#if ! DEBUG
}
catch ( Exception ex )
{
MessageBox . Show ( "An unexpected error was encountered!\n" + ex . ToString ( ) ) ;
//this can happen if folder wasn't chosen, or in some other catastrophic error. meh.
}
#endif
}
}
}