You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.0 KiB
117 lines
3.0 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//===========================================================================// |
|
|
|
#include "vgui_controls/Panel.h" |
|
#include "vgui/IScheme.h" |
|
#include "vgui/ISurface.h" |
|
#include "vgui/IVGui.h" |
|
#include "filesystem.h" |
|
#include "tier0/icommandline.h" |
|
#include "inputsystem/iinputsystem.h" |
|
#include "appframework/tier3app.h" |
|
#include <windows.h> |
|
|
|
//#include "..\..\tracker\common\winlite.h" |
|
|
|
#include "LocalizationDialog.h" |
|
|
|
#include <stdio.h> |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// The application object |
|
//----------------------------------------------------------------------------- |
|
class CVLocalizeApp : public CVguiSteamApp |
|
{ |
|
typedef CVguiSteamApp BaseClass; |
|
|
|
public: |
|
// Methods of IApplication |
|
virtual bool Create(); |
|
virtual bool PreInit(); |
|
virtual int Main(); |
|
virtual void Destroy() {} |
|
}; |
|
|
|
DEFINE_WINDOWED_STEAM_APPLICATION_OBJECT( CVLocalizeApp ); |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// The application object |
|
//----------------------------------------------------------------------------- |
|
bool CVLocalizeApp::Create() |
|
{ |
|
AppSystemInfo_t appSystems[] = |
|
{ |
|
{ "inputsystem.dll", INPUTSYSTEM_INTERFACE_VERSION }, |
|
{ "vgui2.dll", VGUI_IVGUI_INTERFACE_VERSION }, |
|
{ "", "" } // Required to terminate the list |
|
}; |
|
|
|
return AddSystems( appSystems ); |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Entry point |
|
//----------------------------------------------------------------------------- |
|
bool CVLocalizeApp::PreInit() |
|
{ |
|
if ( !BaseClass::PreInit() ) |
|
return false; |
|
|
|
if ( !BaseClass::SetupSearchPaths( NULL, false, true ) ) |
|
{ |
|
::MessageBox( NULL, "Error", "Unable to initialize file system\n", MB_OK ); |
|
return false; |
|
} |
|
|
|
g_pFullFileSystem->AddSearchPath("../game/platform", "PLATFORM"); |
|
return true; |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Entry point |
|
//----------------------------------------------------------------------------- |
|
int CVLocalizeApp::Main() |
|
{ |
|
// load the scheme |
|
if (!vgui::scheme()->LoadSchemeFromFile("Resource/TrackerScheme.res", "Tracker" )) |
|
return 1; |
|
|
|
// Init the surface |
|
vgui::Panel *panel = new vgui::Panel(NULL, "TopPanel"); |
|
vgui::surface()->SetEmbeddedPanel(panel->GetVPanel()); |
|
|
|
// Start vgui |
|
vgui::ivgui()->Start(); |
|
|
|
// add our main window |
|
if ( CommandLine()->ParmCount() < 2 ) |
|
{ |
|
Warning( "Must specify a localization file!\n" ); |
|
return 0; |
|
} |
|
|
|
const char *pFileName = CommandLine()->GetParm( 1 ); |
|
CLocalizationDialog *dlg = new CLocalizationDialog( pFileName ); |
|
dlg->SetParent( panel->GetVPanel() ); |
|
dlg->MakePopup(); |
|
// dlg->SetBounds( 0, 0, 800, 600 ); |
|
dlg->SetVisible( true ); |
|
|
|
// Run app frame loop |
|
while (vgui::ivgui()->IsRunning()) |
|
{ |
|
vgui::ivgui()->RunFrame(); |
|
vgui::surface()->PaintTraverseEx( panel->GetVPanel(), true ); |
|
} |
|
|
|
return 1; |
|
}
|
|
|