mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-15 05:06:57 +00:00
1
This commit is contained in:
@@ -0,0 +1,171 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// XBOX_LOADER.H
|
||||
//
|
||||
// Master Include
|
||||
//=====================================================================================//
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <xtl.h>
|
||||
#include <XBApp.h>
|
||||
#include <XBFont.h>
|
||||
#include <XBHelp.h>
|
||||
#include <xgraphics.h>
|
||||
#include <xfont.h>
|
||||
#include <xmv.h>
|
||||
#include <xbdm.h>
|
||||
#include <math.h>
|
||||
#include "XBResource.h"
|
||||
#include "xmvhelper.h"
|
||||
#include "toollib.h"
|
||||
#include "scriplib.h"
|
||||
#include "loader.h"
|
||||
#include "jcalg1.h"
|
||||
#include "xbox/xbox_launch.h"
|
||||
|
||||
#define XBOX_FORENSIC_LOG
|
||||
|
||||
#define SCREEN_WIDTH 640
|
||||
#define SCREEN_HEIGHT 480
|
||||
#define MAX_FILES 500
|
||||
#define MAX_SLIDESHOW_TEXTURES 9
|
||||
|
||||
#define LEGAL_DISPLAY_TIME 6000
|
||||
#define LOADINGBAR_UPTIME 500.0f // slid up or down
|
||||
#define LOADINGBAR_SLIDETIME 1500.0f // progress speed
|
||||
#define LOADINGBAR_WAITTIME 500.0f // delay after up to begin slide
|
||||
#define SLIDESHOW_SLIDETIME 7000
|
||||
#define SLIDESHOW_FLIPTIME 1000
|
||||
|
||||
#define LEGAL_MAIN 0
|
||||
#define LEGAL_SOURCE 1
|
||||
|
||||
#define FOOTER_W 512
|
||||
|
||||
#define SEGMENT_W 10
|
||||
#define SEGMENT_GAP 1
|
||||
#define SEGMENT_COUNT 26
|
||||
|
||||
#define PROGRESS_Y 405
|
||||
#define PROGRESS_W (SEGMENT_COUNT*(SEGMENT_W+SEGMENT_GAP))
|
||||
#define PROGRESS_H 15
|
||||
#define PROGRESS_X 124
|
||||
|
||||
#define PROGRESS_FOOTER_COLOR 0x88FFFFFF
|
||||
#define PROGRESS_INSET_COLOR 0xFF222222
|
||||
#define PROGRESS_SEGMENT_COLOR 0xFFCC6C00
|
||||
#define PROGRESS_TEXT_COLOR 0xFFFFFFFF
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Main class to run this application. Most functionality is inherited
|
||||
// from the CXBApplication base class.
|
||||
//-----------------------------------------------------------------------------
|
||||
class CXBoxLoader : public CXBApplication
|
||||
{
|
||||
public:
|
||||
CXBoxLoader();
|
||||
|
||||
virtual HRESULT Initialize( void );
|
||||
virtual HRESULT Render( void );
|
||||
virtual HRESULT FrameMove( void );
|
||||
|
||||
void DrawRect( int x, int y, int w, int h, DWORD color );
|
||||
void DrawLegals();
|
||||
void DrawDebug();
|
||||
BOOL PlayVideoFrame();
|
||||
HRESULT StartVideo( const CHAR* strFilename, bool bFromMemory, bool bFatalOnError );
|
||||
void StopVideo();
|
||||
bool StartInstall( void );
|
||||
bool LoadInstallScript( void );
|
||||
D3DTexture *LoadTexture( int resourceID );
|
||||
HRESULT LoadFont( CXBFont *pFont, int resourceID );
|
||||
void DrawTexture( D3DTexture *pD3DTexture, int x, int y, int w, int h, int color );
|
||||
void StartLegalScreen( int legal );
|
||||
void DrawProgressBar();
|
||||
void DrawLoadingMarquee();
|
||||
void DrawSlideshow();
|
||||
bool VerifyInstall();
|
||||
void StartDashboard( bool bGotoMemory );
|
||||
void LoadLogFile();
|
||||
void DrawLog();
|
||||
void FatalMediaError();
|
||||
void LaunchHL2( unsigned int contextCode );
|
||||
void TickVideo();
|
||||
|
||||
private:
|
||||
IDirect3DTexture8 *m_pLastMovieFrame;
|
||||
D3DTexture *m_pFooterTexture;
|
||||
D3DTexture *m_pLoadingIconTexture;
|
||||
D3DTexture *m_pMainLegalTexture;
|
||||
D3DTexture *m_pSourceLegalTexture;
|
||||
D3DTexture *m_pLegalTexture;
|
||||
D3DTexture *m_pSlideShowTextures[MAX_SLIDESHOW_TEXTURES];
|
||||
|
||||
CXMVPlayer m_player;
|
||||
|
||||
D3DVertexBuffer *m_pVB;
|
||||
CXBPackedResource m_xprResource;
|
||||
|
||||
CXBFont m_Font;
|
||||
|
||||
int m_contextCode;
|
||||
|
||||
char *m_fileSrc[MAX_FILES];
|
||||
char *m_fileDest[MAX_FILES];
|
||||
xCompressHeader *m_fileCompressionHeaders[MAX_FILES];
|
||||
DWORD m_fileDestSizes[MAX_FILES];
|
||||
int m_numFiles;
|
||||
|
||||
bool m_bAllowAttractAbort;
|
||||
bool m_bDrawLoading;
|
||||
bool m_bDrawProgress;
|
||||
bool m_bDrawDebug;
|
||||
bool m_bLaunch;
|
||||
DWORD m_dwLoading;
|
||||
bool m_bDrawLegal;
|
||||
HANDLE m_installThread;
|
||||
DWORD m_LegalTime;
|
||||
int m_State;
|
||||
DWORD m_LoadingBarStartTime;
|
||||
DWORD m_LoadingBarEndTime;
|
||||
DWORD m_LegalStartTime;
|
||||
bool m_bInstallComplete;
|
||||
int m_Version;
|
||||
int m_FrameCounter;
|
||||
int m_MovieCount;
|
||||
bool m_bMovieErrorIsFatal;
|
||||
bool m_bCaptureLastMovieFrame;
|
||||
DWORD m_SlideShowStartTime;
|
||||
bool m_bDrawSlideShow;
|
||||
int m_SlideShowCount;
|
||||
bool m_bFinalSlide;
|
||||
char *m_pLogData;
|
||||
XFONT* m_pDefaultTrueTypeFont;
|
||||
};
|
||||
|
||||
struct CopyStats_t
|
||||
{
|
||||
char m_srcFilename[MAX_PATH];
|
||||
char m_dstFilename[MAX_PATH];
|
||||
DWORD m_readSize;
|
||||
DWORD m_writeSize;
|
||||
DWORD m_bytesCopied;
|
||||
DWORD m_totalReadTime;
|
||||
DWORD m_totalWriteTime;
|
||||
DWORD m_totalReadSize;
|
||||
DWORD m_totalWriteSize;
|
||||
DWORD m_bufferReadSize;
|
||||
DWORD m_bufferWriteSize;
|
||||
DWORD m_bufferReadTime;
|
||||
DWORD m_bufferWriteTime;
|
||||
DWORD m_inflateSize;
|
||||
DWORD m_inflateTime;
|
||||
DWORD m_copyTime;
|
||||
DWORD m_copyErrors;
|
||||
DWORD m_numReadBuffers;
|
||||
DWORD m_numWriteBuffers;
|
||||
};
|
||||
|
||||
extern bool CopyFileOverlapped( const char *pSrc, const char *pDest, xCompressHeader *pxcHeader, CopyStats_t *pCopyStats );
|
||||
extern bool CreateFilePath( const char *inPath );
|
||||
Reference in New Issue
Block a user