Files
UnrealEngineUWP/Engine/Source/Programs/UnrealFrontend/Private/Windows/WindowsUnrealFrontendMain.cpp
Max Preussner 3aece47882 Docs: Removed file comments and added missing code documentation
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.

Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks

[CL 2104067 by Max Preussner in Main branch]
2014-06-12 23:22:18 -04:00

72 lines
1.6 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "UnrealFrontendMain.h"
#include "ExceptionHandling.h"
#include "LaunchEngineLoop.h"
/**
* The main application entry point for Windows platforms.
*
* @param hInInstance Handle to the current instance of the application.
* @param hPrevInstance Handle to the previous instance of the application (always NULL).
* @param lpCmdLine Command line for the application.
* @param nShowCmd Specifies how the window is to be shown.
* @return Application's exit value.
*/
int32 WINAPI WinMain( HINSTANCE hInInstance, HINSTANCE hPrevInstance, char* lpCmdLine, int32 nShowCmd )
{
hInstance = hInInstance;
const TCHAR* OrgCmdLine = GetCommandLineW();
const TCHAR* CmdLine = FCommandLine::RemoveExeName(OrgCmdLine);
#if !UE_BUILD_SHIPPING
if (FParse::Param(CmdLine, TEXT("crashreports")))
{
GAlwaysReportCrash = true;
}
#endif
#if WINVER > 0x502 // Windows Error Reporting is not supported on Windows XP
if (FParse::Param(CmdLine, TEXT("useautoreporter")))
#endif
{
GUseCrashReportClient = false;
}
int32 ErrorLevel = 0;
#if UE_BUILD_DEBUG
if (!GAlwaysReportCrash)
#else
if (FPlatformMisc::IsDebuggerPresent() && !GAlwaysReportCrash)
#endif
{
ErrorLevel = UnrealFrontendMain(CmdLine);
}
else
{
#if !PLATFORM_SEH_EXCEPTIONS_DISABLED
__try
#endif
{
GIsGuarded = 1;
ErrorLevel = UnrealFrontendMain(CmdLine);
GIsGuarded = 0;
}
#if !PLATFORM_SEH_EXCEPTIONS_DISABLED
__except (ReportCrash(GetExceptionInformation()))
{
ErrorLevel = 1;
GError->HandleError();
FPlatformMisc::RequestExit(true);
}
#endif
}
FEngineLoop::AppExit();
return ErrorLevel;
}