Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
111 lines
2.4 KiB
C++
111 lines
2.4 KiB
C++
#pragma once
|
|
|
|
#include "hudcomp.hpp"
|
|
#include "missionreview.hpp"
|
|
|
|
#if !defined(NO_MR)
|
|
namespace NMissionReview
|
|
{
|
|
extern MissionReview *m_ReviewLog;
|
|
extern Stuff::Scalar m_CurrentTime;
|
|
extern Stuff::Scalar m_LoadedTime;
|
|
extern Stuff::Scalar m_TotalTime;
|
|
extern Stuff::Scalar m_SampleRate;
|
|
extern Stuff::Scalar m_PlayBackRate;
|
|
extern Stuff::Time m_LastTime; // last frame time for playback
|
|
extern char m_ReviewMapTexture[128];
|
|
|
|
class CReviewMap : public HUDComponent
|
|
{
|
|
protected:
|
|
|
|
typedef HUDComponent inherited;
|
|
|
|
void DrawImplementation(void);
|
|
|
|
public:
|
|
CReviewMap();
|
|
~CReviewMap();
|
|
};
|
|
|
|
class CReviewMech : public HUDComponent
|
|
{
|
|
protected:
|
|
|
|
typedef HUDComponent inherited;
|
|
int m_MechID;
|
|
Scalar curx,cury;
|
|
Scalar rot;
|
|
bool m_Fired,m_Hit;
|
|
DWORD m_DamageColors[6];
|
|
int m_DamageValues[11];
|
|
HUDText *m_Name;
|
|
int m_Score1,m_Score2,m_Score3;
|
|
HUDText *m_ScoreText1,*m_ScoreText2;
|
|
|
|
void DrawImplementation(void);
|
|
|
|
public:
|
|
CReviewMech(int id);
|
|
~CReviewMech();
|
|
void SetMechCoord (Scalar x,Scalar y)
|
|
{ curx = x; cury = y; }
|
|
void GetMechCoord (Scalar& x,Scalar& y)
|
|
{ x = curx; y = cury; }
|
|
void SetMechRot (Scalar r)
|
|
{ rot = r; }
|
|
void SetMechFired (bool fire)
|
|
{ m_Fired = fire; }
|
|
void SetMechHit (bool hit)
|
|
{ m_Hit = hit; }
|
|
void SetMechName (const char *name)
|
|
{ m_Name->UpdateText (name); }
|
|
void SetMechScore (int s1,int s2,int s3);
|
|
void SetMechDamageLevel (Scalar *damage)
|
|
{
|
|
Verify (damage);
|
|
int i;
|
|
for (i=0;i<11;i++)
|
|
{
|
|
m_DamageValues[i] = 0;
|
|
if(damage[i+1] < 0.01f)
|
|
m_DamageValues[i] = 4;
|
|
else if(damage[i+1] < 0.1f)
|
|
m_DamageValues[i] = 3;
|
|
else if(damage[i+1] < 0.5f)
|
|
m_DamageValues[i] = 2;
|
|
else if(damage[i+1] < 0.75f)
|
|
m_DamageValues[i] = 1;
|
|
}
|
|
}
|
|
};
|
|
|
|
class CReviewTimeBar : public HUDComponent
|
|
{
|
|
protected:
|
|
|
|
typedef HUDComponent inherited;
|
|
|
|
void DrawImplementation(void);
|
|
|
|
public:
|
|
CReviewTimeBar();
|
|
~CReviewTimeBar();
|
|
};
|
|
|
|
extern CReviewMap *m_ReviewMap;
|
|
extern CReviewTimeBar *m_ReviewTimeBar;
|
|
extern CReviewMech *m_ReviewMechs[16];
|
|
|
|
void InitMissionReviewDisplay (void);
|
|
void KillMissionReviewDisplay (void);
|
|
void PlayMissionReview (Stuff::Time time);
|
|
int SpeedUp (void);
|
|
int SlowDown (void);
|
|
int Rewind (void);
|
|
int Pause (void);
|
|
void ReadKeyboard (void);
|
|
int CenterOn (void *data[], int count);
|
|
}
|
|
#endif // !defined(NO_MR)
|