mirror of
https://github.com/halpz/re3.git
synced 2025-07-13 11:48:12 +00:00
Merge branch 'lcs' of https://github.com/GTAmodding/re3 into lcs
This commit is contained in:
@ -123,6 +123,7 @@ CCam::Process(void)
|
||||
else
|
||||
TargetOrientation = CGeneral::GetATanOfXY(CamTargetEntity->GetForward().x, CamTargetEntity->GetForward().y);
|
||||
|
||||
/* LCS: removed
|
||||
CVector Fwd(0.0f, 0.0f, 0.0f);
|
||||
Fwd.x = CamTargetEntity->GetForward().x;
|
||||
Fwd.y = CamTargetEntity->GetForward().y;
|
||||
@ -140,6 +141,9 @@ CCam::Process(void)
|
||||
else
|
||||
TargetSpeedVar = -Min(Sqrt(SQR(FwdSpeedX) + SQR(FwdSpeedY))/1.8f, 0.5f);
|
||||
SpeedVar = 0.895f*SpeedVar + 0.105*TargetSpeedVar;
|
||||
*/
|
||||
SpeedVar = 0.0f;
|
||||
TargetSpeedVar = 0.0f;
|
||||
}else{
|
||||
if(CamTargetEntity == FindPlayerPed()){
|
||||
// Some fancy smoothing of player position and speed
|
||||
@ -3947,11 +3951,11 @@ CCam::Process_Debug(const CVector&, float, float, float)
|
||||
}
|
||||
|
||||
// stay inside sectors
|
||||
while(CWorld::GetSectorX(Source.x) > 75.0f)
|
||||
while(CWorld::GetSectorX(Source.x) > NUMSECTORS_X-5.0f)
|
||||
Source.x -= 1.0f;
|
||||
while(CWorld::GetSectorX(Source.x) < 5.0f)
|
||||
Source.x += 1.0f;
|
||||
while(CWorld::GetSectorY(Source.y) > 75.0f)
|
||||
while(CWorld::GetSectorY(Source.y) > NUMSECTORS_X-5.0f)
|
||||
Source.y -= 1.0f;
|
||||
while(CWorld::GetSectorY(Source.y) < 5.0f)
|
||||
Source.y += 1.0f;
|
||||
@ -4018,11 +4022,11 @@ CCam::Process_Debug(const CVector&, float, float, float)
|
||||
}
|
||||
|
||||
// stay inside sectors
|
||||
while(CWorld::GetSectorX(Source.x) > 75.0f)
|
||||
while(CWorld::GetSectorX(Source.x) > NUMSECTORS_X-5.0f)
|
||||
Source.x -= 1.0f;
|
||||
while(CWorld::GetSectorX(Source.x) < 5.0f)
|
||||
Source.x += 1.0f;
|
||||
while(CWorld::GetSectorY(Source.y) > 75.0f)
|
||||
while(CWorld::GetSectorY(Source.y) > NUMSECTORS_X-5.0f)
|
||||
Source.y -= 1.0f;
|
||||
while(CWorld::GetSectorY(Source.y) < 5.0f)
|
||||
Source.y += 1.0f;
|
||||
@ -4099,11 +4103,11 @@ CCam::Process_Editor(const CVector&, float, float, float)
|
||||
}
|
||||
|
||||
// stay inside sectors
|
||||
while(CWorld::GetSectorX(Source.x) > 75.0f)
|
||||
while(CWorld::GetSectorX(Source.x) > NUMSECTORS_X-5.0f)
|
||||
Source.x -= 1.0f;
|
||||
while(CWorld::GetSectorX(Source.x) < 5.0f)
|
||||
Source.x += 1.0f;
|
||||
while(CWorld::GetSectorY(Source.y) > 75.0f)
|
||||
while(CWorld::GetSectorY(Source.y) > NUMSECTORS_X-5.0f)
|
||||
Source.y -= 1.0f;
|
||||
while(CWorld::GetSectorY(Source.y) < 5.0f)
|
||||
Source.y += 1.0f;
|
||||
|
@ -20,6 +20,7 @@ uint16 CClock::ms_Stored_nGameClockSeconds;
|
||||
uint32 CClock::ms_nMillisecondsPerGameMinute;
|
||||
uint32 CClock::ms_nLastClockTick;
|
||||
bool CClock::ms_bClockHasBeenStored;
|
||||
float CClock::ms_EnvMapTimeMultiplicator;
|
||||
|
||||
#ifndef MASTER
|
||||
bool gbFreezeTime;
|
||||
@ -35,6 +36,7 @@ CClock::Initialise(uint32 scale)
|
||||
ms_nMillisecondsPerGameMinute = scale;
|
||||
ms_nLastClockTick = CTimer::GetTimeInMilliseconds();
|
||||
ms_bClockHasBeenStored = false;
|
||||
ms_EnvMapTimeMultiplicator = 1.0f;
|
||||
debug("CClock ready\n");
|
||||
#ifndef MASTER
|
||||
VarConsole.Add("Time (hour of day)", &ms_nGameClockHours, 1, 0, 23, true);
|
||||
@ -136,3 +138,10 @@ CClock::RestoreClock(void)
|
||||
ms_nGameClockMinutes = ms_Stored_nGameClockMinutes;
|
||||
ms_nGameClockSeconds = ms_Stored_nGameClockSeconds;
|
||||
}
|
||||
|
||||
void
|
||||
CClock::CalcEnvMapTimeMultiplicator(void)
|
||||
{
|
||||
float nightness = Abs(ms_nGameClockHours/24.0f - 0.5f);
|
||||
ms_EnvMapTimeMultiplicator = SQR(1.0f - nightness);;
|
||||
}
|
||||
|
@ -12,6 +12,7 @@ public:
|
||||
static uint32 ms_nMillisecondsPerGameMinute;
|
||||
static uint32 ms_nLastClockTick;
|
||||
static bool ms_bClockHasBeenStored;
|
||||
static float ms_EnvMapTimeMultiplicator;
|
||||
|
||||
static void Initialise(uint32 scale);
|
||||
static void Update(void);
|
||||
@ -21,6 +22,8 @@ public:
|
||||
static void StoreClock(void);
|
||||
static void RestoreClock(void);
|
||||
|
||||
static void CalcEnvMapTimeMultiplicator(void);
|
||||
|
||||
static uint8 GetHours(void) { return ms_nGameClockHours; }
|
||||
static uint8 GetMinutes(void) { return ms_nGameClockMinutes; }
|
||||
static int16 GetSeconds(void) { return ms_nGameClockSeconds; }
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "FrontEndControls.h"
|
||||
|
||||
#define X SCREEN_SCALE_X
|
||||
#define Y(x) SCREEN_SCALE_Y(float(x)*(float(DEFAULT_SCREEN_HEIGHT)/float(DEFAULT_SCREEN_HEIGHT_PAL)))
|
||||
#define Y(x) SCREEN_SCALE_Y(float(x)*(float(DEFAULT_SCREEN_HEIGHT)/float(SCREEN_HEIGHT_PAL)))
|
||||
|
||||
void
|
||||
CPlaceableShText::Draw(float x, float y)
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include <dinput.h>
|
||||
#endif
|
||||
|
||||
#define FORCE_PC_SCALING
|
||||
#define WITHWINDOWS
|
||||
#include "common.h"
|
||||
#ifndef PS2_MENU
|
||||
@ -58,6 +59,19 @@ const CRGBA RADIO_SELECTOR_COLOR = SLIDEROFF_COLOR;
|
||||
const CRGBA INACTIVE_RADIO_COLOR(100, 100, 255, 100);
|
||||
const CRGBA SCROLLBAR_COLOR = LABEL_COLOR;
|
||||
|
||||
#if 0
|
||||
// Mobile
|
||||
#define DEFAULT_BRIGHTNESS 0x150
|
||||
#define MIN_BRIGHTNESS 180
|
||||
#define MAX_BRIGHTNESS 700
|
||||
#else
|
||||
// PS2
|
||||
// 8 bars (32 step)
|
||||
#define DEFAULT_BRIGHTNESS 0x120
|
||||
#define MIN_BRIGHTNESS 0x80
|
||||
#define MAX_BRIGHTNESS 0x180
|
||||
#endif
|
||||
|
||||
#define MAP_MIN_SIZE 162.f
|
||||
#define MAP_SIZE_TO_ALLOW_X_MOVE 297.f
|
||||
|
||||
@ -465,7 +479,7 @@ CMenuManager::CMenuManager()
|
||||
m_PrefsMusicVolume = 49;
|
||||
m_PrefsRadioStation = 0;
|
||||
m_PrefsStereoMono = 1;
|
||||
m_PrefsBrightness = 256;
|
||||
m_PrefsBrightness = DEFAULT_BRIGHTNESS;
|
||||
m_PrefsLOD = CRenderer::ms_lodDistScale;
|
||||
m_KeyPressedCode = -1;
|
||||
m_bFrontEnd_ReloadObrTxtGxt = false;
|
||||
@ -674,8 +688,8 @@ CMenuManager::CheckSliderMovement(int value)
|
||||
{
|
||||
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
|
||||
case MENUACTION_BRIGHTNESS:
|
||||
m_PrefsBrightness += value * 24.19f;
|
||||
m_PrefsBrightness = clamp(m_PrefsBrightness, 0, 384);
|
||||
m_PrefsBrightness += value * 32.0f;
|
||||
m_PrefsBrightness = clamp(m_PrefsBrightness, MIN_BRIGHTNESS, MAX_BRIGHTNESS);
|
||||
break;
|
||||
case MENUACTION_DRAWDIST:
|
||||
if(value > 0)
|
||||
@ -1464,7 +1478,7 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
|
||||
int lastActiveBarX;
|
||||
switch (aScreens[m_nCurrScreen].m_aEntries[i].m_Action) {
|
||||
case MENUACTION_BRIGHTNESS:
|
||||
ProcessSlider(m_PrefsBrightness / 384.0f, 70.0f, HOVEROPTION_INCREASE_BRIGHTNESS, HOVEROPTION_DECREASE_BRIGHTNESS, SCREEN_WIDTH, true);
|
||||
ProcessSlider((float)(m_PrefsBrightness - MIN_BRIGHTNESS) / (MAX_BRIGHTNESS - MIN_BRIGHTNESS), 70.0f, HOVEROPTION_INCREASE_BRIGHTNESS, HOVEROPTION_DECREASE_BRIGHTNESS, SCREEN_WIDTH, true);
|
||||
break;
|
||||
case MENUACTION_DRAWDIST:
|
||||
ProcessSlider((m_PrefsLOD - 0.925f) / 0.875f, 99.0f, HOVEROPTION_INCREASE_DRAWDIST, HOVEROPTION_DECREASE_DRAWDIST, SCREEN_WIDTH, true);
|
||||
@ -4736,7 +4750,7 @@ CMenuManager::ProcessUserInput(uint8 goDown, uint8 goUp, uint8 optionSelected, u
|
||||
DMAudio.PlayFrontEndTrack(m_PrefsRadioStation, 1);
|
||||
SaveSettings();
|
||||
} else if (m_nCurrScreen == MENUPAGE_DISPLAY_SETTINGS) {
|
||||
m_PrefsBrightness = 256;
|
||||
m_PrefsBrightness = DEFAULT_BRIGHTNESS;
|
||||
m_PrefsLOD = 1.2f;
|
||||
#ifdef LEGACY_MENU_OPTIONS
|
||||
m_PrefsVsync = true;
|
||||
|
@ -43,7 +43,7 @@ void DoRWStuffEndOfFrame(void);
|
||||
#define X SCREEN_SCALE_X
|
||||
#define Y SCREEN_SCALE_Y
|
||||
|
||||
#define YF(x) Y(float(x)*(float(DEFAULT_SCREEN_HEIGHT)/float(DEFAULT_SCREEN_HEIGHT_PAL)))
|
||||
#define YF(x) Y(float(x)*(float(DEFAULT_SCREEN_HEIGHT)/float(SCREEN_HEIGHT_PAL)))
|
||||
//#define X(x) ((x)/640.0f*SCRW)
|
||||
//#define Y(y) ((y)/448.0f*SCRH)
|
||||
|
||||
|
@ -901,7 +901,7 @@ void CGame::Process(void)
|
||||
if (!CReplay::IsPlayingBack())
|
||||
CCranes::UpdateCranes();
|
||||
CClouds::Update();
|
||||
CMovingThings::Update();
|
||||
//CMovingThings::Update(); // TODO
|
||||
CWaterCannons::Update();
|
||||
CUserDisplay::Process();
|
||||
CReplay::Update();
|
||||
|
@ -80,4 +80,4 @@ public:
|
||||
static void ProcessTidyUpMemory(void);
|
||||
};
|
||||
|
||||
inline bool IsAreaVisible(int area) { return area == CGame::currArea || area == AREA_EVERYWHERE; }
|
||||
inline bool IsAreaVisible(int area) { return true; }
|
||||
|
@ -10,7 +10,7 @@
|
||||
// --MIAMI: file done
|
||||
|
||||
float CIniFile::PedNumberMultiplier = 0.6f;
|
||||
float CIniFile::CarNumberMultiplier = 0.6f;
|
||||
float CIniFile::CarNumberMultiplier = 0.8f;
|
||||
|
||||
void CIniFile::LoadIniFile()
|
||||
{
|
||||
@ -27,5 +27,5 @@ void CIniFile::LoadIniFile()
|
||||
}
|
||||
CPopulation::MaxNumberOfPedsInUse = 25.0f * PedNumberMultiplier;
|
||||
CPopulation::MaxNumberOfPedsInUseInterior = 40.0f * PedNumberMultiplier;
|
||||
CCarCtrl::MaxNumberOfCarsInUse = 12.0f * CarNumberMultiplier;
|
||||
CCarCtrl::MaxNumberOfCarsInUse = 30.0f * CarNumberMultiplier;
|
||||
}
|
@ -1,10 +1,6 @@
|
||||
#include "common.h"
|
||||
#include "KeyGen.h"
|
||||
#if defined _WIN32 && !defined __MINGW32__
|
||||
#include "ctype.h"
|
||||
#else
|
||||
#include <cwctype>
|
||||
#endif
|
||||
#include <ctype.h>
|
||||
|
||||
uint32 CKeyGen::keyTable[256] =
|
||||
{
|
||||
|
@ -164,6 +164,8 @@ public:
|
||||
int32 LastTimeTouched;
|
||||
int32 AverageWeapon;
|
||||
int32 AverageEntries;
|
||||
float unk_B4;
|
||||
float unk_B8;
|
||||
|
||||
#ifdef DETECT_PAD_INPUT_SWITCH
|
||||
static bool IsAffectedByController;
|
||||
|
@ -132,7 +132,7 @@ CPlayerInfo::Process(void)
|
||||
CAutomobile *car = (CAutomobile*)m_pPed->m_pMyVehicle;
|
||||
|
||||
if (car->m_nWheelsOnGround < 3)
|
||||
m_nTimeNotFullyOnGround += CTimer::GetTimeInMilliseconds();
|
||||
m_nTimeNotFullyOnGround += CTimer::GetTimeStepInMilliseconds();
|
||||
else
|
||||
m_nTimeNotFullyOnGround = 0;
|
||||
|
||||
|
@ -104,6 +104,11 @@ CSprite2d *CRadar::RadarSprites[RADAR_SPRITE_COUNT] = {
|
||||
&RadioVCPRSprite,
|
||||
&RadioEspantosoSprite,
|
||||
&RadioEmotionSprite,
|
||||
&RadioWaveSprite, // tmp hack
|
||||
&RadioWaveSprite,
|
||||
&RadioWaveSprite,
|
||||
&RadioWaveSprite,
|
||||
&RadioWaveSprite,
|
||||
&RadioWaveSprite
|
||||
};
|
||||
|
||||
@ -1689,6 +1694,7 @@ CRadar::DrawLegend(int32 x, int32 y, int32 sprite)
|
||||
text = TheText.Get("LG_34");
|
||||
break;
|
||||
default:
|
||||
text = TheText.Get("LG_34"); // tmp hack
|
||||
break;
|
||||
}
|
||||
CFont::PrintString(SCREEN_SCALE_X(20.f) + x, SCREEN_SCALE_Y(3.0f) + y, text);
|
||||
|
@ -16,9 +16,9 @@
|
||||
#define OBJECTBLIP_MARKER_COLOR_B 242
|
||||
#define OBJECTBLIP_MARKER_COLOR_A 255
|
||||
|
||||
#define COORDBLIP_MARKER_COLOR_R 252
|
||||
#define COORDBLIP_MARKER_COLOR_G 138
|
||||
#define COORDBLIP_MARKER_COLOR_B 242
|
||||
#define COORDBLIP_MARKER_COLOR_R 255
|
||||
#define COORDBLIP_MARKER_COLOR_G 255
|
||||
#define COORDBLIP_MARKER_COLOR_B 128
|
||||
#define COORDBLIP_MARKER_COLOR_A 228
|
||||
|
||||
#define NUM_MAP_LEGENDS 75
|
||||
@ -92,6 +92,11 @@ enum eRadarSprite
|
||||
RADAR_SPRITE_RADIO_ESPANTOSO,
|
||||
RADAR_SPRITE_RADIO_EMOTION,
|
||||
RADAR_SPRITE_RADIO_WAVE,
|
||||
RADAR_SPRITE_40, // tmp
|
||||
RADAR_SPRITE_41,
|
||||
RADAR_SPRITE_42,
|
||||
RADAR_SPRITE_43,
|
||||
RADAR_SPRITE_44,
|
||||
|
||||
RADAR_SPRITE_COUNT
|
||||
};
|
||||
@ -156,8 +161,28 @@ struct sRadarTraceSave
|
||||
// Values for screen space
|
||||
#define RADAR_LEFT (40.0f)
|
||||
#define RADAR_BOTTOM (40.0f)
|
||||
|
||||
#ifdef FIX_RADAR
|
||||
/*
|
||||
The values are from an early screenshot taken before R* broke radar
|
||||
#define RADAR_WIDTH (82.0f)
|
||||
#define RADAR_HEIGHT (82.0f)
|
||||
*/
|
||||
#define RADAR_WIDTH ((CDraw::ms_bFixRadar) ? (82.0f) : (94.0f))
|
||||
#define RADAR_HEIGHT ((CDraw::ms_bFixRadar) ? (82.0f) : (76.0f))
|
||||
#else
|
||||
/*
|
||||
broken since forever, someone tried to fix size for 640x512(PAL)
|
||||
http://aap.rockstarvision.com/pics/gta3/ps2screens/gta3_interface.jpg
|
||||
but failed:
|
||||
http://aap.rockstarvision.com/pics/gta3/artwork/gta3_artwork_16.jpg
|
||||
most likely the guy used something like this:
|
||||
int y = 82 * (640.0/512.0)/(640.0/480.0);
|
||||
int x = y * (640.0/512.0);
|
||||
*/
|
||||
#define RADAR_WIDTH (94.0f)
|
||||
#define RADAR_HEIGHT (76.0f)
|
||||
#endif
|
||||
|
||||
class CRadar
|
||||
{
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "Font.h"
|
||||
#include "Frontend.h"
|
||||
#include "VarConsole.h"
|
||||
#include "KeyGen.h"
|
||||
|
||||
//--MIAMI: file done (possibly bugs)
|
||||
|
||||
@ -948,53 +949,45 @@ CStreaming::RequestIslands(eLevelName level)
|
||||
}
|
||||
}
|
||||
|
||||
static char *IGnames[] = {
|
||||
"player",
|
||||
"player2",
|
||||
"player3",
|
||||
"player4",
|
||||
"player5",
|
||||
"player6",
|
||||
"player7",
|
||||
"player8",
|
||||
"player9",
|
||||
"play10",
|
||||
"play11",
|
||||
"igken",
|
||||
"igcandy",
|
||||
"igsonny",
|
||||
"igbuddy",
|
||||
"igjezz",
|
||||
"ighlary",
|
||||
"igphil",
|
||||
"igmerc",
|
||||
"igdick",
|
||||
"igdiaz",
|
||||
const char *csPlayerNames[] =
|
||||
{
|
||||
"csplr",
|
||||
"csplr2",
|
||||
"csplr3",
|
||||
"csplr4",
|
||||
"csplr5",
|
||||
"csplr6",
|
||||
"csplr7",
|
||||
"csplr8",
|
||||
"csplr9",
|
||||
"csplr10",
|
||||
"csplr11",
|
||||
"csplr12",
|
||||
"csplr13",
|
||||
"csplr14",
|
||||
"csplr15",
|
||||
"csplr16",
|
||||
""
|
||||
};
|
||||
|
||||
static char *CSnames[] = {
|
||||
"csplay",
|
||||
"csplay2",
|
||||
"csplay3",
|
||||
"csplay4",
|
||||
"csplay5",
|
||||
"csplay6",
|
||||
"csplay7",
|
||||
"csplay8",
|
||||
"csplay9",
|
||||
"csplay10",
|
||||
"csplay11",
|
||||
"csken",
|
||||
"cscandy",
|
||||
"cssonny",
|
||||
"csbuddy",
|
||||
"csjezz",
|
||||
"cshlary",
|
||||
"csphil",
|
||||
"csmerc",
|
||||
"csdick",
|
||||
"csdiaz",
|
||||
const char* playerNames[] =
|
||||
{
|
||||
"plr",
|
||||
"plr2",
|
||||
"plr3",
|
||||
"plr4",
|
||||
"plr5",
|
||||
"plr6",
|
||||
"plr7",
|
||||
"plr8",
|
||||
"plr9",
|
||||
"plr10",
|
||||
"plr11",
|
||||
"plr12",
|
||||
"plr13",
|
||||
"plr14",
|
||||
"plr15",
|
||||
"plr16",
|
||||
""
|
||||
};
|
||||
|
||||
@ -1008,15 +1001,17 @@ CStreaming::RequestSpecialModel(int32 modelId, const char *modelName, int32 flag
|
||||
int i, n;
|
||||
|
||||
mi = CModelInfo::GetModelInfo(modelId);
|
||||
if(strncasecmp("CSPlay", modelName, 6) == 0){
|
||||
char *curname = CModelInfo::GetModelInfo(MI_PLAYER)->GetModelName();
|
||||
for(int i = 0; CSnames[i][0]; i++){
|
||||
if(strcasecmp(curname, IGnames[i]) == 0){
|
||||
modelName = CSnames[i];
|
||||
if (CKeyGen::GetUppercaseKey(modelName) == CKeyGen::GetUppercaseKey("cstoni_a")) {
|
||||
i = 0;
|
||||
while (csPlayerNames[i][0] != '\0') {
|
||||
if (CModelInfo::GetModelInfo(0)->GetNameHashKey() == CKeyGen::GetUppercaseKey(playerNames[i])) {
|
||||
modelName = csPlayerNames[i];
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
if(!CGeneral::faststrcmp(mi->GetModelName(), modelName)){
|
||||
// Already have the correct name, just request it
|
||||
RequestModel(modelId, flags);
|
||||
@ -1151,12 +1146,9 @@ CStreaming::RemoveModel(int32 id)
|
||||
void
|
||||
CStreaming::RemoveUnusedBuildings(eLevelName level)
|
||||
{
|
||||
if(level != LEVEL_INDUSTRIAL)
|
||||
RemoveBuildings(LEVEL_INDUSTRIAL);
|
||||
if(level != LEVEL_COMMERCIAL)
|
||||
RemoveBuildings(LEVEL_COMMERCIAL);
|
||||
if(level != LEVEL_SUBURBAN)
|
||||
RemoveBuildings(LEVEL_SUBURBAN);
|
||||
for(int i = LEVEL_INDUSTRIAL; i < NUM_LEVELS; i++)
|
||||
if(level != i)
|
||||
RemoveBuildings((eLevelName)i);
|
||||
}
|
||||
|
||||
void
|
||||
@ -1279,12 +1271,9 @@ CStreaming::RemoveUnusedBigBuildings(eLevelName level)
|
||||
{
|
||||
ISLAND_LOADING_IS(LOW)
|
||||
{
|
||||
if(level != LEVEL_INDUSTRIAL)
|
||||
RemoveBigBuildings(LEVEL_INDUSTRIAL);
|
||||
if(level != LEVEL_COMMERCIAL)
|
||||
RemoveBigBuildings(LEVEL_COMMERCIAL);
|
||||
if(level != LEVEL_SUBURBAN)
|
||||
RemoveBigBuildings(LEVEL_SUBURBAN);
|
||||
for(int i = LEVEL_INDUSTRIAL; i < NUM_LEVELS; i++)
|
||||
if(level != i)
|
||||
RemoveBuildings((eLevelName)i);
|
||||
}
|
||||
RemoveIslandsNotUsed(level);
|
||||
}
|
||||
@ -1324,8 +1313,11 @@ CStreaming::RemoveIslandsNotUsed(eLevelName level)
|
||||
}
|
||||
#ifdef NO_ISLAND_LOADING
|
||||
if(FrontEndMenuManager.m_PrefsIslandLoading == CMenuManager::ISLAND_LOADING_HIGH) {
|
||||
DeleteIsland(pIslandLODmainlandEntity);
|
||||
DeleteIsland(pIslandLODbeachEntity);
|
||||
DeleteIsland(pIslandLODindustEntity);
|
||||
DeleteIsland(pIslandLODcomIndEntity);
|
||||
DeleteIsland(pIslandLODcomSubEntity);
|
||||
DeleteIsland(pIslandLODsubIndEntity);
|
||||
DeleteIsland(pIslandLODsubComEntity);
|
||||
} else
|
||||
#endif
|
||||
switch(level){
|
||||
|
@ -17,6 +17,8 @@ enum StreamFlags
|
||||
STREAMFLAGS_PRIORITY = 0x08,
|
||||
STREAMFLAGS_NOFADE = 0x10,
|
||||
STREAMFLAGS_20 = 0x20, // TODO(MIAMI): what's this
|
||||
STREAMFLAGS_40 = 0x40, // TODO(LCS): what's this
|
||||
STREAMFLAGS_AMBIENT_SCRIPT_OWNED = 0x80,
|
||||
|
||||
STREAMFLAGS_CANT_REMOVE = STREAMFLAGS_DONT_REMOVE|STREAMFLAGS_SCRIPTOWNED,
|
||||
STREAMFLAGS_KEEP_IN_MEMORY = STREAMFLAGS_DONT_REMOVE|STREAMFLAGS_SCRIPTOWNED|STREAMFLAGS_DEPENDENCY,
|
||||
@ -123,6 +125,7 @@ public:
|
||||
static bool HasColLoaded(int32 id) { return HasModelLoaded(id+STREAM_OFFSET_COL); }
|
||||
static bool HasAnimLoaded(int32 id) { return HasModelLoaded(id+STREAM_OFFSET_ANIM); }
|
||||
static bool CanRemoveModel(int32 id) { return (ms_aInfoForModel[id].m_flags & STREAMFLAGS_CANT_REMOVE) == 0; }
|
||||
static bool IsScriptOwnedModel(int32 id) { return (ms_aInfoForModel[id].m_flags & STREAMFLAGS_SCRIPTOWNED); }
|
||||
static bool CanRemoveTxd(int32 id) { return CanRemoveModel(id+STREAM_OFFSET_TXD); }
|
||||
static bool CanRemoveCol(int32 id) { return CanRemoveModel(id+STREAM_OFFSET_COL); }
|
||||
static bool CanRemoveAnim(int32 id) { return CanRemoveModel(id+STREAM_OFFSET_ANIM); }
|
||||
@ -213,3 +216,10 @@ public:
|
||||
|
||||
static void PrintStreamingBufferState();
|
||||
};
|
||||
|
||||
// LCS(TODO): put them into CStreaming::mspInst
|
||||
extern int32 islandLODindust;
|
||||
extern int32 islandLODcomInd;
|
||||
extern int32 islandLODcomSub;
|
||||
extern int32 islandLODsubInd;
|
||||
extern int32 islandLODsubCom;
|
||||
|
@ -41,6 +41,7 @@ public:
|
||||
int32 NumOfHelisRequired();
|
||||
void SetWantedLevel(int32);
|
||||
void SetWantedLevelNoDrop(int32 level);
|
||||
int32 GetWantedLevel() { return m_nWantedLevel; }
|
||||
void CheatWantedLevel(int32 level);
|
||||
void RegisterCrime(eCrimeType type, const CVector &coors, uint32 id, bool policeDoesntCare);
|
||||
void RegisterCrime_Immediately(eCrimeType type, const CVector &coors, uint32 id, bool policeDoesntCare);
|
||||
|
@ -93,6 +93,7 @@ typedef ptrdiff_t ssize_t;
|
||||
|
||||
#include "config.h"
|
||||
#include "memoryManager.h"
|
||||
#include "relocatableChunk.h"
|
||||
|
||||
#include <rphanim.h>
|
||||
#include <rpskin.h>
|
||||
@ -124,17 +125,43 @@ inline uint32 ldb(uint32 p, uint32 s, uint32 w)
|
||||
#include "skeleton.h"
|
||||
#include "Draw.h"
|
||||
|
||||
#define DEFAULT_SCREEN_WIDTH (640)
|
||||
#define DEFAULT_SCREEN_HEIGHT (448)
|
||||
#define DEFAULT_SCREEN_HEIGHT_PAL (512)
|
||||
#define DEFAULT_SCREEN_HEIGHT_NTSC (448)
|
||||
#if defined(PROPER_SCALING)
|
||||
#ifdef FORCE_PC_SCALING
|
||||
#define DEFAULT_SCREEN_WIDTH (640)
|
||||
#define DEFAULT_SCREEN_HEIGHT (448)
|
||||
#else
|
||||
#define DEFAULT_SCREEN_WIDTH (640)
|
||||
#define DEFAULT_SCREEN_HEIGHT (480)
|
||||
#endif
|
||||
#elif defined(GTA_PS2)
|
||||
#define DEFAULT_SCREEN_WIDTH (640)
|
||||
#define DEFAULT_SCREEN_HEIGHT (480)
|
||||
#else //elif defined(GTA_PC)
|
||||
#define DEFAULT_SCREEN_WIDTH (640)
|
||||
#define DEFAULT_SCREEN_HEIGHT (448)
|
||||
#endif
|
||||
|
||||
#define DEFAULT_ASPECT_RATIO (4.0f/3.0f)
|
||||
#define DEFAULT_VIEWWINDOW (0.7f)
|
||||
|
||||
// game uses maximumWidth/Height, but this probably won't work
|
||||
// with RW windowed mode
|
||||
#define SCREEN_WIDTH ((float)RsGlobal.width)
|
||||
#ifdef GTA_PS2
|
||||
#ifdef GTA_PAL
|
||||
#define SCREEN_WIDTH ((float)640)
|
||||
#define SCREEN_HEIGHT ((float)512)
|
||||
#else
|
||||
#define SCREEN_WIDTH ((float)640)
|
||||
#define SCREEN_HEIGHT ((float)448)
|
||||
#endif
|
||||
#else
|
||||
#define SCREEN_WIDTH ((float)RsGlobal.width)
|
||||
#define SCREEN_HEIGHT ((float)RsGlobal.height)
|
||||
#endif
|
||||
|
||||
#define SCREEN_HEIGHT_PAL ((float)512)
|
||||
#define SCREEN_HEIGHT_NTSC ((float)448)
|
||||
|
||||
#define SCREEN_ASPECT_RATIO (CDraw::GetAspectRatio())
|
||||
#define SCREEN_VIEWWINDOW (Tan(DEGTORAD(CDraw::GetScaledFOV() * 0.5f)))
|
||||
|
||||
@ -152,8 +179,13 @@ inline uint32 ldb(uint32 p, uint32 s, uint32 w)
|
||||
|
||||
#ifdef ASPECT_RATIO_SCALE
|
||||
#define SCREEN_SCALE_AR(a) ((a) * DEFAULT_ASPECT_RATIO / SCREEN_ASPECT_RATIO)
|
||||
extern float ScaleAndCenterX(float x);
|
||||
#define SCALE_AND_CENTER_X(x) ScaleAndCenterX(x)
|
||||
#define SCALE_AND_CENTER_X(x) ((SCREEN_WIDTH == DEFAULT_SCREEN_WIDTH) ? (x) : (SCREEN_WIDTH - SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH)) / 2 + SCREEN_SCALE_X((x)))
|
||||
#ifdef PROPER_SCALING
|
||||
#ifndef FORCE_PC_SCALING
|
||||
#undef SCREEN_SCALE_Y
|
||||
#define SCREEN_SCALE_Y(a) CDraw::ScaleY(SCREEN_STRETCH_Y(a))
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#define SCREEN_SCALE_AR(a) (a)
|
||||
#define SCALE_AND_CENTER_X(x) SCREEN_STRETCH_X(x)
|
||||
|
@ -97,7 +97,7 @@ enum Config {
|
||||
NUMPACMANPICKUPS = 256,
|
||||
NUMEVENTS = 64,
|
||||
|
||||
NUM_CARGENS = 185,
|
||||
NUM_CARGENS = 500,
|
||||
|
||||
NUM_PATH_NODES_IN_AUTOPILOT = 8,
|
||||
|
||||
@ -136,7 +136,7 @@ enum Config {
|
||||
|
||||
NUM_GARAGE_STORED_CARS = 4,
|
||||
|
||||
NUM_CRANES = 8,
|
||||
NUM_CRANES = 11,
|
||||
NUM_ESCALATORS = 22,
|
||||
NUM_WATER_CREATURES = 8,
|
||||
|
||||
@ -254,6 +254,7 @@ enum Config {
|
||||
|
||||
// Rendering/display
|
||||
#define ASPECT_RATIO_SCALE // Not just makes everything scale with aspect ratio, also adds support for all aspect ratios
|
||||
#define PROPER_SCALING // use original DEFAULT_SCREEN_WIDTH/DEFAULT_SCREEN_HEIGHT from PS2 instead of PC(R* changed HEIGHT here to make radar look better, but broke other hud elements aspect ratio).
|
||||
#define DEFAULT_NATIVE_RESOLUTION // Set default video mode to your native resolution (fixes Windows 10 launch)
|
||||
#define USE_TXD_CDIMAGE // generate and load textures from txd.img
|
||||
#define PS2_ALPHA_TEST // emulate ps2 alpha test
|
||||
@ -268,6 +269,8 @@ enum Config {
|
||||
#define NEW_RENDERER // leeds-like world rendering, needs librw
|
||||
#endif
|
||||
|
||||
#define FIX_SPRITES // fix sprites aspect ratio(moon, coronas, particle etc)
|
||||
|
||||
#ifndef EXTENDED_COLOURFILTER
|
||||
#undef SCREEN_DROPLETS // we need the backbuffer for this effect
|
||||
#endif
|
||||
@ -298,6 +301,8 @@ enum Config {
|
||||
// Hud, frontend and radar
|
||||
#define PC_MENU
|
||||
|
||||
#define FIX_RADAR // use radar size from early version before R* broke it
|
||||
|
||||
#ifndef PC_MENU
|
||||
# define PS2_MENU
|
||||
//# define PS2_MENU_USEALLPAGEICONS
|
||||
@ -366,7 +371,7 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
|
||||
|
||||
// Audio
|
||||
#define AUDIO_CACHE // cache sound lengths to speed up the cold boot
|
||||
//#define PS2_AUDIO_PATHS // changes audio paths for cutscenes and radio to PS2 paths (needs vbdec on MSS builds)
|
||||
#define PS2_AUDIO_PATHS // changes audio paths for cutscenes and radio to PS2 paths (needs vbdec on MSS builds)
|
||||
//#define AUDIO_OAL_USE_SNDFILE // use libsndfile to decode WAVs instead of our internal decoder
|
||||
#define AUDIO_OAL_USE_MPG123 // use mpg123 to support mp3 files
|
||||
|
||||
|
@ -82,6 +82,10 @@ char gString2[512];
|
||||
wchar gUString[256];
|
||||
wchar gUString2[256];
|
||||
|
||||
// leeds
|
||||
bool gMakeResources = true;
|
||||
bool gUseChunkFiles = false;
|
||||
|
||||
float FramesPerSecond = 30.0f;
|
||||
|
||||
bool gbPrintShite = false;
|
||||
@ -124,7 +128,7 @@ bool gbPrintMemoryUsage;
|
||||
#endif
|
||||
|
||||
#ifdef NEW_RENDERER
|
||||
bool gbNewRenderer;
|
||||
bool gbNewRenderer = true;
|
||||
#endif
|
||||
#ifdef FIX_BUGS
|
||||
// need to clear stencil for mblur fx. no idea why it works in the original game
|
||||
@ -1143,10 +1147,10 @@ MattRenderScene(void)
|
||||
/// CWorld::AdvanceCurrentScanCode();
|
||||
// CMattRenderer::ResetRenderStates
|
||||
/// CRenderer::ClearForFrame(); // before ConstructRenderList
|
||||
// CClock::CalcEnvMapTimeMultiplicator
|
||||
CClock::CalcEnvMapTimeMultiplicator();
|
||||
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
|
||||
CWaterLevel::RenderWater(); // actually CMattRenderer::RenderWater
|
||||
// CClock::ms_EnvMapTimeMultiplicator = 1.0f;
|
||||
CClock::ms_EnvMapTimeMultiplicator = 1.0f;
|
||||
// cWorldStream::ClearDynamics
|
||||
/// CRenderer::ConstructRenderList(); // before PreRender
|
||||
if(gbRenderWorld0)
|
||||
@ -1159,6 +1163,8 @@ if(gbRenderWorld1)
|
||||
if(gbRenderRoads)
|
||||
CRenderer::RenderRoads();
|
||||
|
||||
CRenderer::GenerateEnvironmentMap(); // should be after static shadows, but that's weird
|
||||
|
||||
CRenderer::RenderPeds();
|
||||
|
||||
// not sure where to put these since LCS has no underwater entities
|
||||
@ -1172,7 +1178,7 @@ if(gbRenderWater)
|
||||
|
||||
if(gbRenderEverythingBarRoads)
|
||||
CRenderer::RenderEverythingBarRoads();
|
||||
// get env map here?
|
||||
// seam fixer
|
||||
// moved this:
|
||||
// CRenderer::RenderFadingInEntities();
|
||||
}
|
||||
@ -1195,7 +1201,6 @@ void
|
||||
RenderEffects_new(void)
|
||||
{
|
||||
CShadows::RenderStaticShadows();
|
||||
// CRenderer::GenerateEnvironmentMap
|
||||
CShadows::RenderStoredShadows();
|
||||
CSkidmarks::Render();
|
||||
CRubbish::Render();
|
||||
|
@ -24,6 +24,10 @@ extern bool gbShowTimebars;
|
||||
extern bool gbPrintMemoryUsage;
|
||||
#endif
|
||||
|
||||
// leeds
|
||||
extern bool gMakeResources;
|
||||
extern bool gUseChunkFiles;
|
||||
|
||||
class CSprite2d;
|
||||
|
||||
bool DoRWStuffStartOfFrame(int16 TopRed, int16 TopGreen, int16 TopBlue, int16 BottomRed, int16 BottomGreen, int16 BottomBlue, int16 Alpha);
|
||||
|
@ -220,6 +220,16 @@ void LoadINISettings()
|
||||
CustomPipes::GlossMult = CheckAndReadIniFloat("CustomPipesValues", "GlossMult", CustomPipes::GlossMult);
|
||||
#endif
|
||||
gBackfaceCulling = CheckAndReadIniInt("Rendering", "BackfaceCulling", gBackfaceCulling);
|
||||
|
||||
#ifdef PROPER_SCALING
|
||||
CDraw::ms_bProperScaling = CheckAndReadIniInt("Draw", "ProperScaling", CDraw::ms_bProperScaling);
|
||||
#endif
|
||||
#ifdef FIX_RADAR
|
||||
CDraw::ms_bFixRadar = CheckAndReadIniInt("Draw", "FixRadar", CDraw::ms_bFixRadar);
|
||||
#endif
|
||||
#ifdef FIX_SPRITES
|
||||
CDraw::ms_bFixSprites = CheckAndReadIniInt("Draw", "FixSprites", CDraw::ms_bFixSprites);
|
||||
#endif
|
||||
}
|
||||
|
||||
void SaveINISettings()
|
||||
@ -259,6 +269,16 @@ void SaveINISettings()
|
||||
#endif
|
||||
CheckAndSaveIniInt("Rendering", "BackfaceCulling", gBackfaceCulling, changed);
|
||||
|
||||
#ifdef PROPER_SCALING
|
||||
CheckAndSaveIniInt("Draw", "ProperScaling", CDraw::ms_bProperScaling, changed);
|
||||
#endif
|
||||
#ifdef FIX_RADAR
|
||||
CheckAndSaveIniInt("Draw", "FixRadar", CDraw::ms_bFixRadar, changed);
|
||||
#endif
|
||||
#ifdef FIX_SPRITES
|
||||
CheckAndSaveIniInt("Draw", "FixSprites", CDraw::ms_bFixSprites, changed);
|
||||
#endif
|
||||
|
||||
if (changed)
|
||||
cfg.write_file("reLCS.ini");
|
||||
}
|
||||
@ -420,17 +440,15 @@ SwitchToMission(void)
|
||||
#endif
|
||||
|
||||
static const char *carnames[] = {
|
||||
"landstal", "idaho", "stinger", "linerun", "peren", "sentinel", "rio", "firetruk", "trash", "stretch", "manana",
|
||||
"infernus", "voodoo", "pony", "mule", "cheetah", "ambulan", "fbicar", "moonbeam", "esperant", "taxi", "washing",
|
||||
"bobcat", "mrwhoop", "bfinject", "hunter", "police", "enforcer", "securica", "banshee", "predator", "bus",
|
||||
"rhino", "barracks", "cuban", "chopper", "angel", "coach", "cabbie", "stallion", "rumpo", "rcbandit", "romero",
|
||||
"packer", "sentxs", "admiral", "squalo", "seaspar", "pizzaboy", "gangbur", "airtrain", "deaddodo", "speeder",
|
||||
"reefer", "tropic", "flatbed", "yankee", "caddy", "zebra", "topfun", "skimmer", "pcj600", "faggio", "freeway",
|
||||
"rcbaron", "rcraider", "glendale", "oceanic", "sanchez", "sparrow", "patriot", "lovefist", "coastg", "dinghy",
|
||||
"hermes", "sabre", "sabretur", "pheonix", "walton", "regina", "comet", "deluxo", "burrito", "spand", "marquis",
|
||||
"baggage", "kaufman", "maverick", "vcnmav", "rancher", "fbiranch", "virgo", "greenwoo", "jetmax", "hotring",
|
||||
"sandking", "blistac", "polmav", "boxville", "benson", "mesa", "rcgoblin", "hotrina", "hotrinb",
|
||||
"bloodra", "bloodrb", "vicechee"
|
||||
"spider", "landstal", "idaho", "stinger", "linerun", "peren", "sentinel", "patriot", "firetruk", "trash", "stretch",
|
||||
"manana", "infernus", "blista", "pony", "mule", "cheetah", "ambulan", "fbicar", "moonbeam", "esperant", "taxi",
|
||||
"kuruma", "bobcat", "mrwhoop", "bfinject", "hearse", "police", "enforcer", "securica", "banshee", "bus", "rhino",
|
||||
"barracks", "dodo", "coach", "cabbie", "stallion", "rumpo", "rcbandit", "bellyup", "mrwongs", "mafia", "yardie",
|
||||
"yakuza", "diablos", "columb", "hoods", "panlant", "flatbed", "yankee", "borgnine", "toyz", "campvan", "ballot",
|
||||
"shelby", "pontiac", "esprit", "ammotruk", "hotrod", "Sindacco_Car", "Forelli_Car", "ferry", "ghost", "speeder",
|
||||
"reefer", "predator", "train", "escape", "chopper", "airtrain", "deaddodo", "angel", "pizzaboy", "noodleboy",
|
||||
"pcj600", "faggio", "freeway", "angel2", "sanchez2", "sanchez", "rcgoblin", "rcraider", "hunter", "maverick",
|
||||
"polmav", "vcnmav"
|
||||
};
|
||||
|
||||
static CTweakVar** TweakVarsList;
|
||||
@ -563,7 +581,7 @@ DebugMenuPopulate(void)
|
||||
DebugMenuAddCmd("Cheats", "Pickup chicks", PickUpChicksCheat);
|
||||
|
||||
static int spawnCarId = MI_LANDSTAL;
|
||||
e = DebugMenuAddVar("Spawn", "Spawn Car ID", &spawnCarId, nil, 1, MI_LANDSTAL, MI_VICECHEE, carnames);
|
||||
e = DebugMenuAddVar("Spawn", "Spawn Car ID", &spawnCarId, nil, 1, MI_SPIDER, MI_VCNMAV, carnames);
|
||||
DebugMenuEntrySetWrap(e, true);
|
||||
DebugMenuAddCmd("Spawn", "Spawn Car", [](){
|
||||
if(spawnCarId == MI_CHOPPER ||
|
||||
@ -578,22 +596,19 @@ DebugMenuPopulate(void)
|
||||
DebugMenuAddCmd("Spawn", "Spawn Stinger", [](){ SpawnCar(MI_STINGER); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Infernus", [](){ SpawnCar(MI_INFERNUS); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Cheetah", [](){ SpawnCar(MI_CHEETAH); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Phoenix", [](){ SpawnCar(MI_PHEONIX); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Esprit", [](){ SpawnCar(MI_ESPRIT); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Banshee", [](){ SpawnCar(MI_BANSHEE); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Esperanto", [](){ SpawnCar(MI_ESPERANT); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Stallion", [](){ SpawnCar(MI_STALLION); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Admiral", [](){ SpawnCar(MI_ADMIRAL); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Washington", [](){ SpawnCar(MI_WASHING); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Mafia", [](){ SpawnCar(MI_MAFIA); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Kuruma", [](){ SpawnCar(MI_KURUMA); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Taxi", [](){ SpawnCar(MI_TAXI); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Police", [](){ SpawnCar(MI_POLICE); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Enforcer", [](){ SpawnCar(MI_ENFORCER); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Cuban", [](){ SpawnCar(MI_CUBAN); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Voodoo", [](){ SpawnCar(MI_VOODOO); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Diablo", [](){ SpawnCar(MI_DIABLOS); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Yardie", [](){ SpawnCar(MI_YARDIE); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn BF injection", [](){ SpawnCar(MI_BFINJECT); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Maverick", [](){ SpawnCar(MI_MAVERICK); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn VCN Maverick", [](){ SpawnCar(MI_VCNMAV); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Sparrow", [](){ SpawnCar(MI_SPARROW); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Sea Sparrow", [](){ SpawnCar(MI_SEASPAR); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Hunter", [](){ SpawnCar(MI_HUNTER); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Rhino", [](){ SpawnCar(MI_RHINO); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Firetruck", [](){ SpawnCar(MI_FIRETRUCK); });
|
||||
@ -601,10 +616,9 @@ DebugMenuPopulate(void)
|
||||
DebugMenuAddCmd("Spawn", "Spawn PCJ 600", [](){ SpawnCar(MI_PCJ600); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Faggio", [](){ SpawnCar(MI_FAGGIO); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Freeway", [](){ SpawnCar(MI_FREEWAY); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Squalo", [](){ SpawnCar(MI_SQUALO); });
|
||||
DebugMenuAddCmd("Spawn", "Spawn Skimmer", [](){ SpawnCar(MI_SKIMMER); });
|
||||
|
||||
DebugMenuAddVarBool8("Render", "Draw hud", &CHud::m_Wants_To_Draw_Hud, nil);
|
||||
DebugMenuAddVar("Render", "Brightness", &FrontEndMenuManager.m_PrefsBrightness, nil, 16, 0, 700, nil);
|
||||
DebugMenuAddVarBool8("Render", "Backface Culling", &gBackfaceCulling, nil);
|
||||
DebugMenuAddVarBool8("Render", "PS2 Alpha test Emu", &gPS2alphaTest, nil);
|
||||
DebugMenuAddVarBool8("Render", "Frame limiter", &FrontEndMenuManager.m_PrefsFrameLimiter, nil);
|
||||
@ -635,8 +649,8 @@ extern bool gbRenderWorld2;
|
||||
#endif
|
||||
|
||||
#ifdef EXTENDED_COLOURFILTER
|
||||
static const char *filternames[] = { "None", "Simple", "Normal", "Mobile" };
|
||||
e = DebugMenuAddVar("Render", "Colourfilter", &CPostFX::EffectSwitch, nil, 1, CPostFX::POSTFX_OFF, CPostFX::POSTFX_MOBILE, filternames);
|
||||
static const char *filternames[] = { "None", "PS2" };
|
||||
e = DebugMenuAddVar("Render", "Colourfilter", &CPostFX::EffectSwitch, nil, 1, CPostFX::POSTFX_OFF, CPostFX::POSTFX_NORMAL, filternames);
|
||||
DebugMenuEntrySetWrap(e, true);
|
||||
DebugMenuAddVar("Render", "Intensity", &CPostFX::Intensity, nil, 0.05f, 0, 10.0f);
|
||||
DebugMenuAddVarBool8("Render", "Blur", &CPostFX::BlurOn, nil);
|
||||
@ -647,18 +661,25 @@ extern bool gbRenderWorld2;
|
||||
DebugMenuAddVarBool8("Render", "Occlusion debug", &bDispayOccDebugStuff, nil);
|
||||
#endif
|
||||
#ifdef EXTENDED_PIPELINES
|
||||
static const char *vehpipenames[] = { "MatFX", "Neo" };
|
||||
e = DebugMenuAddVar("Render", "Vehicle Pipeline", &CustomPipes::VehiclePipeSwitch, nil,
|
||||
1, CustomPipes::VEHICLEPIPE_MATFX, CustomPipes::VEHICLEPIPE_NEO, vehpipenames);
|
||||
static const char *worldpipenames[] = { "PS2", "Mobile" };
|
||||
e = DebugMenuAddVar("Render", "World Rendering", &CustomPipes::WorldPipeSwitch, nil,
|
||||
1, CustomPipes::WORLDPIPE_PS2, CustomPipes::WORLDPIPE_MOBILE, worldpipenames);
|
||||
DebugMenuEntrySetWrap(e, true);
|
||||
DebugMenuAddVar("Render", "Neo Vehicle Shininess", &CustomPipes::VehicleShininess, nil, 0.1f, 0, 1.0f);
|
||||
DebugMenuAddVar("Render", "Neo Vehicle Specularity", &CustomPipes::VehicleSpecularity, nil, 0.1f, 0, 1.0f);
|
||||
static const char *vehpipenames[] = { "PS2", "Mobile", "Neo" };
|
||||
e = DebugMenuAddVar("Render", "Vehicle Pipeline", &CustomPipes::VehiclePipeSwitch, nil,
|
||||
1, CustomPipes::VEHICLEPIPE_PS2, CustomPipes::VEHICLEPIPE_MOBILE, vehpipenames);
|
||||
DebugMenuEntrySetWrap(e, true);
|
||||
DebugMenuAddVarBool8("Render", "Glass Cars cheat", &CustomPipes::gGlassCarsCheat, nil);
|
||||
extern bool gbRenderDebugEnvMap;
|
||||
DebugMenuAddVarBool8("Render", "Show Env map", &gbRenderDebugEnvMap, nil);
|
||||
// DebugMenuAddVar("Render", "Neo Vehicle Shininess", &CustomPipes::VehicleShininess, nil, 0.1f, 0, 1.0f);
|
||||
// DebugMenuAddVar("Render", "Neo Vehicle Specularity", &CustomPipes::VehicleSpecularity, nil, 0.1f, 0, 1.0f);
|
||||
DebugMenuAddVarBool8("Render", "Neo Ped Rim light enable", &CustomPipes::RimlightEnable, nil);
|
||||
DebugMenuAddVar("Render", "Mult", &CustomPipes::RimlightMult, nil, 0.1f, 0, 1.0f);
|
||||
DebugMenuAddVarBool8("Render", "Neo World Lightmaps enable", &CustomPipes::LightmapEnable, nil);
|
||||
DebugMenuAddVar("Render", "Mult", &CustomPipes::LightmapMult, nil, 0.1f, 0, 1.0f);
|
||||
DebugMenuAddVarBool8("Render", "Neo Road Gloss enable", &CustomPipes::GlossEnable, nil);
|
||||
DebugMenuAddVar("Render", "Mult", &CustomPipes::GlossMult, nil, 0.1f, 0, 1.0f);
|
||||
// DebugMenuAddVarBool8("Render", "Neo World Lightmaps enable", &CustomPipes::LightmapEnable, nil);
|
||||
// DebugMenuAddVar("Render", "Mult", &CustomPipes::LightmapMult, nil, 0.1f, 0, 1.0f);
|
||||
// DebugMenuAddVarBool8("Render", "Neo Road Gloss enable", &CustomPipes::GlossEnable, nil);
|
||||
// DebugMenuAddVar("Render", "Mult", &CustomPipes::GlossMult, nil, 0.1f, 0, 1.0f);
|
||||
#endif
|
||||
DebugMenuAddVarBool8("Render", "Show Ped Paths", &gbShowPedPaths, nil);
|
||||
DebugMenuAddVarBool8("Render", "Show Car Paths", &gbShowCarPaths, nil);
|
||||
@ -671,6 +692,16 @@ extern bool gbRenderWorld2;
|
||||
DebugMenuAddVarBool8("Render", "Don't render Vehicles", &gbDontRenderVehicles, nil);
|
||||
DebugMenuAddVarBool8("Render", "Don't render Objects", &gbDontRenderObjects, nil);
|
||||
DebugMenuAddVarBool8("Render", "Don't Render Water", &gbDontRenderWater, nil);
|
||||
|
||||
#ifdef PROPER_SCALING
|
||||
DebugMenuAddVarBool8("Draw", "Proper Scaling", &CDraw::ms_bProperScaling, nil);
|
||||
#endif
|
||||
#ifdef FIX_RADAR
|
||||
DebugMenuAddVarBool8("Draw", "Fix Radar", &CDraw::ms_bFixRadar, nil);
|
||||
#endif
|
||||
#ifdef FIX_SPRITES
|
||||
DebugMenuAddVarBool8("Draw", "Fix Sprites", &CDraw::ms_bFixSprites, nil);
|
||||
#endif
|
||||
|
||||
#ifndef FINAL
|
||||
DebugMenuAddVarBool8("Debug", "Print Memory Usage", &gbPrintMemoryUsage, nil);
|
||||
|
Reference in New Issue
Block a user