commit
f2b3be5da2
File diff suppressed because it is too large
Load Diff
@ -9,8 +9,8 @@
|
|||||||
|
|
||||||
#define MENUACTION_X_MARGIN 40.0f
|
#define MENUACTION_X_MARGIN 40.0f
|
||||||
#define MENUACTION_POS_Y 60.0f
|
#define MENUACTION_POS_Y 60.0f
|
||||||
#define MENUACTION_WIDTH 0.405f
|
#define MENUACTION_WIDTH 0.38f
|
||||||
#define MENUACTION_HEIGHT 0.63f
|
#define MENUACTION_SCALE_MULT 0.9f
|
||||||
|
|
||||||
#define MENUCOLUMN_POS_X MENUHEADER_POS_X + 16.0f
|
#define MENUCOLUMN_POS_X MENUHEADER_POS_X + 16.0f
|
||||||
#define MENUCOLUMN_MAX_Y 149.0f
|
#define MENUCOLUMN_MAX_Y 149.0f
|
||||||
@ -44,6 +44,29 @@
|
|||||||
#define MENUSLIDER_X 256.0f
|
#define MENUSLIDER_X 256.0f
|
||||||
#define MENUSLIDER_UNK 256.0f
|
#define MENUSLIDER_UNK 256.0f
|
||||||
|
|
||||||
|
#define SMALLTEXT_X_SCALE 0.45f
|
||||||
|
#define SMALLTEXT_Y_SCALE 0.7f
|
||||||
|
#define SMALLESTTEXT_X_SCALE 0.4f
|
||||||
|
#define SMALLESTTEXT_Y_SCALE 0.6f
|
||||||
|
|
||||||
|
#define PLAYERSETUP_LIST_TOP 28.0f
|
||||||
|
#define PLAYERSETUP_LIST_BOTTOM 125.0f
|
||||||
|
#define PLAYERSETUP_LIST_LEFT 200.0f
|
||||||
|
#define PLAYERSETUP_LIST_RIGHT 36.0f
|
||||||
|
#ifdef FIX_BUGS // See the scrollbar button drawing code
|
||||||
|
#define PLAYERSETUP_SCROLLBAR_WIDTH 19.0f
|
||||||
|
#else
|
||||||
|
#define PLAYERSETUP_SCROLLBAR_WIDTH 16.0f
|
||||||
|
#endif
|
||||||
|
#define PLAYERSETUP_SCROLLBUTTON_HEIGHT 17.0f
|
||||||
|
#define PLAYERSETUP_SCROLLBUTTON_TXD_DIMENSION 64
|
||||||
|
#define PLAYERSETUP_ROW_TEXT_X_SCALE 0.4f
|
||||||
|
#define PLAYERSETUP_ROW_TEXT_Y_SCALE 0.6f
|
||||||
|
#define PLAYERSETUP_SKIN_COLUMN_LEFT 220.0f
|
||||||
|
#define PLAYERSETUP_DATE_COLUMN_RIGHT 56.0f
|
||||||
|
#define PLAYERSETUP_LIST_BODY_TOP 47
|
||||||
|
#define PLAYERSETUP_ROW_HEIGHT 9
|
||||||
|
|
||||||
enum eLanguages
|
enum eLanguages
|
||||||
{
|
{
|
||||||
LANGUAGE_AMERICAN,
|
LANGUAGE_AMERICAN,
|
||||||
@ -320,7 +343,7 @@ enum eCheckHover
|
|||||||
HOVEROPTION_6,
|
HOVEROPTION_6,
|
||||||
HOVEROPTION_7,
|
HOVEROPTION_7,
|
||||||
HOVEROPTION_8,
|
HOVEROPTION_8,
|
||||||
HOVEROPTION_BACK, // used in controller setup
|
HOVEROPTION_BACK, // also layer in controller setup and skin menu
|
||||||
HOVEROPTION_10,
|
HOVEROPTION_10,
|
||||||
HOVEROPTION_11,
|
HOVEROPTION_11,
|
||||||
HOVEROPTION_OVER_SCROLL_UP,
|
HOVEROPTION_OVER_SCROLL_UP,
|
||||||
@ -330,9 +353,9 @@ enum eCheckHover
|
|||||||
HOVEROPTION_HOLDING_SCROLLBAR,
|
HOVEROPTION_HOLDING_SCROLLBAR,
|
||||||
HOVEROPTION_PAGEUP,
|
HOVEROPTION_PAGEUP,
|
||||||
HOVEROPTION_PAGEDOWN,
|
HOVEROPTION_PAGEDOWN,
|
||||||
HOVEROPTION_19,
|
HOVEROPTION_LIST, // also layer in controller setup and skin menu
|
||||||
HOVEROPTION_20,
|
HOVEROPTION_SKIN,
|
||||||
HOVEROPTION_CHANGESKIN,
|
HOVEROPTION_USESKIN, // also layer in controller setup and skin menu
|
||||||
HOVEROPTION_RADIO_0,
|
HOVEROPTION_RADIO_0,
|
||||||
HOVEROPTION_RADIO_1,
|
HOVEROPTION_RADIO_1,
|
||||||
HOVEROPTION_RADIO_2,
|
HOVEROPTION_RADIO_2,
|
||||||
@ -367,13 +390,20 @@ enum eControlMethod
|
|||||||
CONTROL_CLASSIC,
|
CONTROL_CLASSIC,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Why??
|
||||||
|
enum ControllerSetupColumn
|
||||||
|
{
|
||||||
|
CONTSETUP_PED_COLUMN = 0,
|
||||||
|
CONTSETUP_VEHICLE_COLUMN = 14,
|
||||||
|
};
|
||||||
|
|
||||||
struct tSkinInfo
|
struct tSkinInfo
|
||||||
{
|
{
|
||||||
int32 field_0;
|
int32 skinId;
|
||||||
char skinName[256];
|
char skinNameDisplayed[256];
|
||||||
char currSkinName[256];
|
char skinNameOriginal[256];
|
||||||
char date[256];
|
char date[256];
|
||||||
tSkinInfo *field_304;
|
tSkinInfo *nextSkin;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BottomBarOption
|
struct BottomBarOption
|
||||||
@ -419,15 +449,15 @@ public:
|
|||||||
int32 m_nMouseTempPosX;
|
int32 m_nMouseTempPosX;
|
||||||
int32 m_nMouseTempPosY;
|
int32 m_nMouseTempPosY;
|
||||||
bool m_bShowMouse;
|
bool m_bShowMouse;
|
||||||
tSkinInfo m_sSkin;
|
tSkinInfo m_pSkinListHead;
|
||||||
tSkinInfo *m_pSelectedSkin;
|
tSkinInfo *m_pSelectedSkin;
|
||||||
int32 m_nFirstVisibleRowOnList;
|
int32 m_nFirstVisibleRowOnList;
|
||||||
float m_nCurListItemY;
|
float m_nScrollbarTopMargin;
|
||||||
int32 m_nTotalListRow;
|
int32 m_nTotalListRow;
|
||||||
int32 m_nSkinsTotal;
|
int32 m_nSkinsTotal;
|
||||||
char _unk0[4];
|
char _unk0[4];
|
||||||
int32 m_nSelectedListRow;
|
int32 m_nSelectedListRow;
|
||||||
bool m_bSkinsFound;
|
bool m_bSkinsEnumerated;
|
||||||
bool m_bQuitGameNoCD;
|
bool m_bQuitGameNoCD;
|
||||||
bool m_bRenderGameInMenu;
|
bool m_bRenderGameInMenu;
|
||||||
bool m_bSaveMenuActive;
|
bool m_bSaveMenuActive;
|
||||||
@ -446,10 +476,10 @@ public:
|
|||||||
bool m_bPressedScrollButton;
|
bool m_bPressedScrollButton;
|
||||||
int32 m_CurrCntrlAction;
|
int32 m_CurrCntrlAction;
|
||||||
char _unk1[4];
|
char _unk1[4];
|
||||||
int32 field_530;
|
int32 m_nSelectedContSetupColumn;
|
||||||
bool m_bKeyIsOK;
|
bool m_bKeyIsOK;
|
||||||
bool field_535;
|
bool field_535;
|
||||||
int8 m_nCurrExLayer; // TODO: What's that?
|
int8 m_nCurrExLayer;
|
||||||
int32 m_nHelperTextAlpha;
|
int32 m_nHelperTextAlpha;
|
||||||
int32 m_nMouseOldPosX;
|
int32 m_nMouseOldPosX;
|
||||||
int32 m_nMouseOldPosY;
|
int32 m_nMouseOldPosY;
|
||||||
@ -514,7 +544,7 @@ public:
|
|||||||
int DisplaySlider(float, float, float, float, float, float);
|
int DisplaySlider(float, float, float, float, float, float);
|
||||||
void DoSettingsBeforeStartingAGame();
|
void DoSettingsBeforeStartingAGame();
|
||||||
void Draw();
|
void Draw();
|
||||||
void DrawControllerBound(int, int, int, uint8);
|
void DrawControllerBound(int32, int32, int32, int8);
|
||||||
void DrawControllerScreenExtraText(int, int, int);
|
void DrawControllerScreenExtraText(int, int, int);
|
||||||
void DrawControllerSetupScreen();
|
void DrawControllerSetupScreen();
|
||||||
void DrawFrontEnd();
|
void DrawFrontEnd();
|
||||||
@ -550,6 +580,7 @@ public:
|
|||||||
void UnloadTextures();
|
void UnloadTextures();
|
||||||
void WaitForUserCD();
|
void WaitForUserCD();
|
||||||
void PrintController();
|
void PrintController();
|
||||||
|
int GetNumOptionsCntrlConfigScreens();
|
||||||
|
|
||||||
// New (not in function or inlined in the game)
|
// New (not in function or inlined in the game)
|
||||||
void ThingsToDoBeforeLeavingPage();
|
void ThingsToDoBeforeLeavingPage();
|
||||||
|
@ -142,10 +142,6 @@ CPlayerSkin::RenderFrontendSkinEdit(void)
|
|||||||
const RwV3d axis2 = { 0.0f, 0.0f, 1.0f };
|
const RwV3d axis2 = { 0.0f, 0.0f, 1.0f };
|
||||||
static uint32 LastFlash = 0;
|
static uint32 LastFlash = 0;
|
||||||
|
|
||||||
#ifdef ASPECT_RATIO_SCALE
|
|
||||||
pos.x = 1.35f * (SCREEN_ASPECT_RATIO / DEFAULT_ASPECT_RATIO);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
RwFrame *frame = RpClumpGetFrame(gpPlayerClump);
|
RwFrame *frame = RpClumpGetFrame(gpPlayerClump);
|
||||||
|
|
||||||
if (CTimer::GetTimeInMillisecondsPauseMode() - LastFlash > 7) {
|
if (CTimer::GetTimeInMillisecondsPauseMode() - LastFlash > 7) {
|
||||||
|
@ -75,6 +75,18 @@ static_assert(RADAR_TILE_SIZE == (WORLD_SIZE_Y / RADAR_NUM_TILES), "CRadar: not
|
|||||||
#define RADAR_MIN_SPEED (0.3f)
|
#define RADAR_MIN_SPEED (0.3f)
|
||||||
#define RADAR_MAX_SPEED (0.9f)
|
#define RADAR_MAX_SPEED (0.9f)
|
||||||
|
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
CRGBA CRadar::ArrowBlipColour1;
|
||||||
|
CRGBA CRadar::ArrowBlipColour2;
|
||||||
|
uint16 CRadar::MapLegendCounter;
|
||||||
|
uint16 CRadar::MapLegendList[NUM_MAP_LEGENDS];
|
||||||
|
bool CRadar::bMenuMapActive;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// taken from VC
|
||||||
|
float CRadar::cachedCos;
|
||||||
|
float CRadar::cachedSin;
|
||||||
|
|
||||||
uint8 CRadar::CalculateBlipAlpha(float dist)
|
uint8 CRadar::CalculateBlipAlpha(float dist)
|
||||||
{
|
{
|
||||||
if (dist <= 1.0f)
|
if (dist <= 1.0f)
|
||||||
@ -544,6 +556,9 @@ void CRadar::DrawBlips()
|
|||||||
void CRadar::DrawMap()
|
void CRadar::DrawMap()
|
||||||
{
|
{
|
||||||
if (!TheCamera.m_WideScreenOn && CHud::m_Wants_To_Draw_Hud) {
|
if (!TheCamera.m_WideScreenOn && CHud::m_Wants_To_Draw_Hud) {
|
||||||
|
#if 1 // from VC
|
||||||
|
CalculateCachedSinCos();
|
||||||
|
#endif
|
||||||
if (FindPlayerVehicle()) {
|
if (FindPlayerVehicle()) {
|
||||||
float speed = FindPlayerSpeed().Magnitude();
|
float speed = FindPlayerSpeed().Magnitude();
|
||||||
if (speed < RADAR_MIN_SPEED)
|
if (speed < RADAR_MIN_SPEED)
|
||||||
@ -685,6 +700,19 @@ void CRadar::DrawRadarSection(int32 x, int32 y)
|
|||||||
void CRadar::DrawRadarSprite(uint16 sprite, float x, float y, uint8 alpha)
|
void CRadar::DrawRadarSprite(uint16 sprite, float x, float y, uint8 alpha)
|
||||||
{
|
{
|
||||||
RadarSprites[sprite]->Draw(CRect(x - SCREEN_SCALE_X(8.0f), y - SCREEN_SCALE_Y(8.0f), x + SCREEN_SCALE_X(8.0f), y + SCREEN_SCALE_Y(8.0f)), CRGBA(255, 255, 255, alpha));
|
RadarSprites[sprite]->Draw(CRect(x - SCREEN_SCALE_X(8.0f), y - SCREEN_SCALE_Y(8.0f), x + SCREEN_SCALE_X(8.0f), y + SCREEN_SCALE_Y(8.0f)), CRGBA(255, 255, 255, alpha));
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
if (bMenuMapActive) {
|
||||||
|
bool alreadyThere;
|
||||||
|
for (int i = 0; i < NUM_MAP_LEGENDS; i++) {
|
||||||
|
if (MapLegendList[i] == sprite)
|
||||||
|
alreadyThere = true;
|
||||||
|
}
|
||||||
|
if (!alreadyThere) {
|
||||||
|
MapLegendList[MapLegendCounter] = sprite;
|
||||||
|
MapLegendCounter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRadar::DrawRotatingRadarSprite(CSprite2d* sprite, float x, float y, float angle, int32 alpha)
|
void CRadar::DrawRotatingRadarSprite(CSprite2d* sprite, float x, float y, float angle, int32 alpha)
|
||||||
@ -1020,6 +1048,21 @@ void CRadar::ShowRadarTraceWithHeight(float x, float y, uint32 size, uint8 red,
|
|||||||
CSprite2d::DrawRect(CRect(x - SCREEN_SCALE_X(size), y - SCREEN_SCALE_Y(size), SCREEN_SCALE_X(size) + x, SCREEN_SCALE_Y(size) + y), CRGBA(red, green, blue, alpha));
|
CSprite2d::DrawRect(CRect(x - SCREEN_SCALE_X(size), y - SCREEN_SCALE_Y(size), SCREEN_SCALE_X(size) + x, SCREEN_SCALE_Y(size) + y), CRGBA(red, green, blue, alpha));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
// VC uses -1 for coords and -2 for entities but meh, I don't want to edit DrawBlips
|
||||||
|
if (bMenuMapActive) {
|
||||||
|
bool alreadyThere;
|
||||||
|
for (int i = 0; i < NUM_MAP_LEGENDS; i++) {
|
||||||
|
if (MapLegendList[i] == -1)
|
||||||
|
alreadyThere = true;
|
||||||
|
}
|
||||||
|
if (!alreadyThere) {
|
||||||
|
MapLegendList[MapLegendCounter] = -1;
|
||||||
|
MapLegendCounter++;
|
||||||
|
ArrowBlipColour1 = CRGBA(red, green, blue, alpha);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRadar::Shutdown()
|
void CRadar::Shutdown()
|
||||||
@ -1075,6 +1118,11 @@ void CRadar::TransformRealWorldToTexCoordSpace(CVector2D &out, const CVector2D &
|
|||||||
void CRadar::TransformRadarPointToRealWorldSpace(CVector2D &out, const CVector2D &in)
|
void CRadar::TransformRadarPointToRealWorldSpace(CVector2D &out, const CVector2D &in)
|
||||||
{
|
{
|
||||||
float s, c;
|
float s, c;
|
||||||
|
#if 1
|
||||||
|
s = -cachedSin;
|
||||||
|
c = cachedCos;
|
||||||
|
#else
|
||||||
|
// Original code
|
||||||
|
|
||||||
s = -Sin(TheCamera.GetForward().Heading());
|
s = -Sin(TheCamera.GetForward().Heading());
|
||||||
c = Cos(TheCamera.GetForward().Heading());
|
c = Cos(TheCamera.GetForward().Heading());
|
||||||
@ -1096,6 +1144,7 @@ void CRadar::TransformRadarPointToRealWorldSpace(CVector2D &out, const CVector2D
|
|||||||
s = -Sin(forward.Heading());
|
s = -Sin(forward.Heading());
|
||||||
c = Cos(forward.Heading());
|
c = Cos(forward.Heading());
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
out.x = s * in.y + c * in.x;
|
out.x = s * in.y + c * in.x;
|
||||||
out.y = c * in.y - s * in.x;
|
out.y = c * in.y - s * in.x;
|
||||||
@ -1106,6 +1155,13 @@ void CRadar::TransformRadarPointToRealWorldSpace(CVector2D &out, const CVector2D
|
|||||||
// Radar space goes from -1.0 to 1.0 in x and y, top right is (1.0, 1.0)
|
// Radar space goes from -1.0 to 1.0 in x and y, top right is (1.0, 1.0)
|
||||||
void CRadar::TransformRadarPointToScreenSpace(CVector2D &out, const CVector2D &in)
|
void CRadar::TransformRadarPointToScreenSpace(CVector2D &out, const CVector2D &in)
|
||||||
{
|
{
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
if (bMenuMapActive) {
|
||||||
|
out.x = MENU_X_LEFT_ALIGNED((0.66193402f * m_nMapNegativePadding * in.x) + (0.2348f * m_nMapNegativePadding) + m_nMapLeftPadding);
|
||||||
|
out.y = MENU_Y(m_nMapTopPadding - (0.065807f * m_nMapNegativePadding) - (0.66563499f * m_nMapNegativePadding * in.y));
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
out.x = (in.x + 1.0f) * 0.5f * SCREEN_SCALE_X(RADAR_WIDTH) + SCREEN_SCALE_X(RADAR_LEFT);
|
out.x = (in.x + 1.0f) * 0.5f * SCREEN_SCALE_X(RADAR_WIDTH) + SCREEN_SCALE_X(RADAR_LEFT);
|
||||||
#else
|
#else
|
||||||
@ -1113,10 +1169,18 @@ void CRadar::TransformRadarPointToScreenSpace(CVector2D &out, const CVector2D &i
|
|||||||
#endif
|
#endif
|
||||||
out.y = (1.0f - in.y) * 0.5f * SCREEN_SCALE_Y(RADAR_HEIGHT) + SCREEN_SCALE_FROM_BOTTOM(RADAR_BOTTOM + RADAR_HEIGHT);
|
out.y = (1.0f - in.y) * 0.5f * SCREEN_SCALE_Y(RADAR_HEIGHT) + SCREEN_SCALE_FROM_BOTTOM(RADAR_BOTTOM + RADAR_HEIGHT);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CRadar::TransformRealWorldPointToRadarSpace(CVector2D &out, const CVector2D &in)
|
void CRadar::TransformRealWorldPointToRadarSpace(CVector2D &out, const CVector2D &in)
|
||||||
{
|
{
|
||||||
float s, c;
|
float s, c;
|
||||||
|
#if 1
|
||||||
|
s = cachedSin;
|
||||||
|
c = cachedCos;
|
||||||
|
#else
|
||||||
|
// Original code
|
||||||
|
|
||||||
|
float s, c;
|
||||||
if (TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOPDOWN || TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOP_DOWN_PED) {
|
if (TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOPDOWN || TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOP_DOWN_PED) {
|
||||||
s = 0.0f;
|
s = 0.0f;
|
||||||
c = 1.0f;
|
c = 1.0f;
|
||||||
@ -1138,6 +1202,7 @@ void CRadar::TransformRealWorldPointToRadarSpace(CVector2D &out, const CVector2D
|
|||||||
s = Sin(forward.Heading());
|
s = Sin(forward.Heading());
|
||||||
c = Cos(forward.Heading());
|
c = Cos(forward.Heading());
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
float x = (in.x - vec2DRadarOrigin.x) * (1.0f / m_radarRange);
|
float x = (in.x - vec2DRadarOrigin.x) * (1.0f / m_radarRange);
|
||||||
float y = (in.y - vec2DRadarOrigin.y) * (1.0f / m_radarRange);
|
float y = (in.y - vec2DRadarOrigin.y) * (1.0f / m_radarRange);
|
||||||
@ -1261,6 +1326,51 @@ int CRadar::LineRadarBoxCollision(CVector2D &out, const CVector2D &p1, const CVe
|
|||||||
return edge;
|
return edge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CRadar::CalculateCachedSinCos()
|
||||||
|
{
|
||||||
|
if (TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOPDOWN || TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_TOP_DOWN_PED
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
|| bMenuMapActive
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
|
cachedSin = 0.0f;
|
||||||
|
cachedCos = 1.0f;
|
||||||
|
} else if (TheCamera.GetLookDirection() == LOOKING_FORWARD) {
|
||||||
|
cachedSin = Sin(TheCamera.GetForward().Heading());
|
||||||
|
cachedCos = Cos(TheCamera.GetForward().Heading());
|
||||||
|
} else {
|
||||||
|
CVector forward;
|
||||||
|
|
||||||
|
if (TheCamera.Cams[TheCamera.ActiveCam].Mode == CCam::MODE_1STPERSON) {
|
||||||
|
forward = TheCamera.Cams[TheCamera.ActiveCam].CamTargetEntity->GetForward();
|
||||||
|
forward.Normalise(); // a bit useless...
|
||||||
|
}
|
||||||
|
else
|
||||||
|
forward = TheCamera.Cams[TheCamera.ActiveCam].CamTargetEntity->GetPosition() - TheCamera.Cams[TheCamera.ActiveCam].SourceBeforeLookBehind;
|
||||||
|
|
||||||
|
cachedSin = Sin(forward.Heading());
|
||||||
|
cachedCos = Cos(forward.Heading());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
void
|
||||||
|
CRadar::InitFrontEndMap()
|
||||||
|
{
|
||||||
|
CalculateCachedSinCos();
|
||||||
|
vec2DRadarOrigin.x = 0.0f;
|
||||||
|
vec2DRadarOrigin.y = 0.0f;
|
||||||
|
m_radarRange = 1190.0f;
|
||||||
|
for (int i = 0; i < NUM_MAP_LEGENDS; i++) {
|
||||||
|
MapLegendList[i] = RADAR_SPRITE_NONE;
|
||||||
|
}
|
||||||
|
MapLegendCounter = 0;
|
||||||
|
ArrowBlipColour1 = CRGBA(0, 0, 0, 0);
|
||||||
|
ArrowBlipColour2 = CRGBA(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
STARTPATCHES
|
STARTPATCHES
|
||||||
InjectHook(0x4A3EF0, CRadar::Initialise, PATCH_JUMP);
|
InjectHook(0x4A3EF0, CRadar::Initialise, PATCH_JUMP);
|
||||||
InjectHook(0x4A3F60, CRadar::Shutdown, PATCH_JUMP);
|
InjectHook(0x4A3F60, CRadar::Shutdown, PATCH_JUMP);
|
||||||
|
@ -21,6 +21,10 @@ enum eBlipDisplay
|
|||||||
|
|
||||||
enum eRadarSprite
|
enum eRadarSprite
|
||||||
{
|
{
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
RADAR_SPRITE_ENTITY_BLIP = -2,
|
||||||
|
RADAR_SPRITE_COORD_BLIP = -1,
|
||||||
|
#endif
|
||||||
RADAR_SPRITE_NONE = 0,
|
RADAR_SPRITE_NONE = 0,
|
||||||
RADAR_SPRITE_ASUKA = 1,
|
RADAR_SPRITE_ASUKA = 1,
|
||||||
RADAR_SPRITE_BOMB = 2,
|
RADAR_SPRITE_BOMB = 2,
|
||||||
@ -101,8 +105,16 @@ public:
|
|||||||
static CSprite2d TonySprite;
|
static CSprite2d TonySprite;
|
||||||
static CSprite2d WeaponSprite;
|
static CSprite2d WeaponSprite;
|
||||||
static CSprite2d *RadarSprites[21];
|
static CSprite2d *RadarSprites[21];
|
||||||
|
static float cachedCos;
|
||||||
|
static float cachedSin;
|
||||||
|
#ifdef MENU_MAP
|
||||||
|
static CRGBA ArrowBlipColour1;
|
||||||
|
static CRGBA ArrowBlipColour2;
|
||||||
|
static uint16 MapLegendList[75];
|
||||||
|
static bool bMenuMapActive;
|
||||||
|
|
||||||
public:
|
static void InitFrontEndMap();
|
||||||
|
#endif
|
||||||
static uint8 CalculateBlipAlpha(float dist);
|
static uint8 CalculateBlipAlpha(float dist);
|
||||||
static void ChangeBlipBrightness(int32 i, int32 bright);
|
static void ChangeBlipBrightness(int32 i, int32 bright);
|
||||||
static void ChangeBlipColour(int32 i, int32);
|
static void ChangeBlipColour(int32 i, int32);
|
||||||
@ -150,4 +162,5 @@ public:
|
|||||||
static void ClipRadarTileCoords(int32 &x, int32 &y);
|
static void ClipRadarTileCoords(int32 &x, int32 &y);
|
||||||
static bool IsPointInsideRadar(const CVector2D &);
|
static bool IsPointInsideRadar(const CVector2D &);
|
||||||
static int LineRadarBoxCollision(CVector2D &, const CVector2D &, const CVector2D &);
|
static int LineRadarBoxCollision(CVector2D &, const CVector2D &, const CVector2D &);
|
||||||
|
static void CalculateCachedSinCos();
|
||||||
};
|
};
|
||||||
|
@ -192,6 +192,7 @@ enum Config {
|
|||||||
#define TRIANGULAR_BLIPS // height indicating triangular radar blips, as in VC
|
#define TRIANGULAR_BLIPS // height indicating triangular radar blips, as in VC
|
||||||
#define PS2_SAVE_DIALOG // PS2 style save dialog with transparent black box
|
#define PS2_SAVE_DIALOG // PS2 style save dialog with transparent black box
|
||||||
// #define PS2_LIKE_MENU // An effort to recreate PS2 menu, cycling through tabs, different bg etc.
|
// #define PS2_LIKE_MENU // An effort to recreate PS2 menu, cycling through tabs, different bg etc.
|
||||||
|
// #define MENU_MAP // Very WIP
|
||||||
|
|
||||||
// Script
|
// Script
|
||||||
#define USE_DEBUG_SCRIPT_LOADER // makes game load main_freeroam.scm by default
|
#define USE_DEBUG_SCRIPT_LOADER // makes game load main_freeroam.scm by default
|
||||||
|
Loading…
Reference in New Issue
Block a user