Skip to content

Commit bb37ae4

Browse files
authored
Merge branch 'master' into clean-eVehicleTypes
2 parents ece4318 + 6a70cf7 commit bb37ae4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+800
-806
lines changed

Client/cefweb/CWebView.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -936,10 +936,10 @@ void CWebView::OnBeforeClose(CefRefPtr<CefBrowser> browser)
936936
// //
937937
// //
938938
////////////////////////////////////////////////////////////////////
939-
bool CWebView::OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, const CefString& target_url, const CefString& target_frame_name,
940-
CefLifeSpanHandler::WindowOpenDisposition target_disposition, bool user_gesture, const CefPopupFeatures& popupFeatures,
941-
CefWindowInfo& windowInfo, CefRefPtr<CefClient>& client, CefBrowserSettings& settings, CefRefPtr<CefDictionaryValue>& extra_info,
942-
bool* no_javascript_access)
939+
bool CWebView::OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int popup_id, const CefString& target_url,
940+
const CefString& target_frame_name, CefLifeSpanHandler::WindowOpenDisposition target_disposition, bool user_gesture,
941+
const CefPopupFeatures& popupFeatures, CefWindowInfo& windowInfo, CefRefPtr<CefClient>& client, CefBrowserSettings& settings,
942+
CefRefPtr<CefDictionaryValue>& extra_info, bool* no_javascript_access)
943943
{
944944
// ATTENTION: This method is called on the IO thread
945945

Client/cefweb/CWebView.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ class CWebView : public CWebViewInterface,
152152

153153
// CefLifeSpawnHandler methods
154154
virtual void OnBeforeClose(CefRefPtr<CefBrowser> browser) override;
155-
virtual bool OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, const CefString& target_url, const CefString& target_frame_name,
156-
CefLifeSpanHandler::WindowOpenDisposition target_disposition, bool user_gesture, const CefPopupFeatures& popupFeatures,
157-
CefWindowInfo& windowInfo, CefRefPtr<CefClient>& client, CefBrowserSettings& settings, CefRefPtr<CefDictionaryValue>& extra_info,
158-
bool* no_javascript_access) override;
155+
virtual bool OnBeforePopup(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame, int popup_id, const CefString& target_url,
156+
const CefString& target_frame_name, CefLifeSpanHandler::WindowOpenDisposition target_disposition, bool user_gesture,
157+
const CefPopupFeatures& popupFeatures, CefWindowInfo& windowInfo, CefRefPtr<CefClient>& client, CefBrowserSettings& settings,
158+
CefRefPtr<CefDictionaryValue>& extra_info, bool* no_javascript_access) override;
159159
virtual void OnAfterCreated(CefRefPtr<CefBrowser> browser) override;
160160

161161
// CefJSDialogHandler methods

Client/core/CClientVariables.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ void CClientVariables::ValidateValues()
256256
ClampValue("mtavolume", 0.0f, 1.0f);
257257
ClampValue("voicevolume", 0.0f, 1.0f);
258258
ClampValue("mapalpha", 0, 255);
259-
ClampValue("mapimage", 0, 1);
260259
}
261260

262261
void CClientVariables::LoadDefaults()
@@ -314,8 +313,7 @@ void CClientVariables::LoadDefaults()
314313
DEFAULT("mastervolume", 1.0f); // master volume
315314
DEFAULT("mtavolume", 1.0f); // custom sound's volume
316315
DEFAULT("voicevolume", 1.0f); // voice chat output volume
317-
DEFAULT("mapalpha", 155); // player map alpha
318-
DEFAULT("mapimage", 0); // player map image
316+
DEFAULT("mapalpha", 155); // map alpha
319317
DEFAULT("browser_speed", 1); // Browser speed
320318
DEFAULT("single_download", 0); // Single connection for downloads
321319
DEFAULT("packet_tag", 0); // Tag network packets

Client/core/CQueryReceiver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ SQueryInfo CQueryReceiver::GetServerResponse()
183183

184184
// Recover server ping status if present
185185
const SString strPingStatus = strBuildNumber.Right(strBuildNumber.length() - strlen(strBuildNumber) - 1);
186-
CCore::GetSingleton().GetNetwork()->UpdatePingStatus(*strPingStatus, info.players, info.isStatusVerified);
186+
CCore::GetSingleton().GetNetwork()->UpdatePingStatus(strPingStatus.c_str(), strPingStatus.length(), info.players, info.isStatusVerified);
187187

188188
// Recover server http port if present
189189
const SString strNetRoute = strPingStatus.Right(strPingStatus.length() - strlen(strPingStatus) - 1);

Client/core/CSettings.cpp

Lines changed: 16 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ void CSettings::CreateGUI()
376376
m_pButtonGenerateNickIcon->SetProperty("DistributeCapturedInputs", "True");
377377

378378
m_pSavePasswords = reinterpret_cast<CGUICheckBox*>(pManager->CreateCheckBox(pTabMultiplayer, _("Save server passwords"), true));
379-
m_pSavePasswords->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 35.0f));
379+
m_pSavePasswords->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 50.0f));
380380
m_pSavePasswords->GetPosition(vecTemp, false);
381381
m_pSavePasswords->AutoSize(NULL, 20.0f);
382382

@@ -411,13 +411,11 @@ void CSettings::CreateGUI()
411411
m_pCheckBoxCustomizedSAFiles->AutoSize(NULL, 20.0f);
412412

413413
m_pMapRenderingLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabMultiplayer, _("Map rendering options")));
414-
m_pMapRenderingLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 30.0f));
414+
m_pMapRenderingLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 29.0f));
415415
m_pMapRenderingLabel->GetPosition(vecTemp, false);
416416
m_pMapRenderingLabel->SetFont("default-bold-small");
417417
m_pMapRenderingLabel->AutoSize();
418418

419-
vecTemp.fX += 5.0f;
420-
421419
m_pMapAlphaLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabMultiplayer, _("Opacity:")));
422420
m_pMapAlphaLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 24.0f));
423421
m_pMapAlphaLabel->GetPosition(vecTemp, false);
@@ -435,20 +433,6 @@ void CSettings::CreateGUI()
435433
m_pMapAlphaValueLabel->GetPosition(vecTemp, false);
436434
m_pMapAlphaValueLabel->AutoSize("100%");
437435

438-
m_pMapAlphaLabel->GetPosition(vecTemp, false);
439-
vecTemp.fY += 24.0f;
440-
441-
m_pPlayerMapImageLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabMultiplayer, _("Image resolution:")));
442-
m_pPlayerMapImageLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 2.0f));
443-
m_pPlayerMapImageLabel->AutoSize();
444-
445-
m_pPlayerMapImageCombo = reinterpret_cast<CGUIComboBox*>(pManager->CreateComboBox(pTabMultiplayer, ""));
446-
m_pPlayerMapImageCombo->SetPosition(CVector2D(vecTemp.fX + fIndentX + 5.0f, vecTemp.fY - 1.0f));
447-
m_pPlayerMapImageCombo->SetSize(CVector2D(170.f, 95.0f));
448-
m_pPlayerMapImageCombo->AddItem(_("1024 x 1024 (Default)")); // index 0
449-
m_pPlayerMapImageCombo->AddItem(_("2048 x 2048")); // index 1
450-
m_pPlayerMapImageCombo->SetReadOnly(true);
451-
452436
/**
453437
* Audio tab
454438
**/
@@ -641,13 +625,16 @@ void CSettings::CreateGUI()
641625
* Video tab
642626
**/
643627
fIndentX = pManager->CGUI_GetMaxTextExtent("default-normal", _("Resolution:"), _("FOV:"), _("Draw Distance:"), _("Brightness:"), _("FX Quality:"),
644-
_("Anisotropic filtering:"), _("Anti-aliasing:"), _("Aspect Ratio:"));
628+
_("Anisotropic filtering:"), _("Anti-aliasing:"), _("Aspect Ratio:"), _("Opacity:"));
645629

646-
vecTemp.fX = 11.0f;
647-
vecTemp.fY = 13.0f;
630+
m_pVideoGeneralLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabVideo, _("General")));
631+
m_pVideoGeneralLabel->SetPosition(CVector2D(11, 13));
632+
m_pVideoGeneralLabel->GetPosition(vecTemp, false);
633+
m_pVideoGeneralLabel->AutoSize(NULL, 3.0f);
634+
m_pVideoGeneralLabel->SetFont("default-bold-small");
648635

649636
m_pVideoResolutionLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabVideo, _("Resolution:")));
650-
m_pVideoResolutionLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY));
637+
m_pVideoResolutionLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 26.0f));
651638
m_pVideoResolutionLabel->GetPosition(vecTemp, false);
652639
m_pVideoResolutionLabel->AutoSize();
653640

@@ -846,10 +833,6 @@ void CSettings::CreateGUI()
846833
m_pCheckBoxBlur->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 130.0f));
847834
m_pCheckBoxBlur->AutoSize(NULL, 20.0f);
848835

849-
m_pCheckBoxCoronaReflections = reinterpret_cast<CGUICheckBox*>(pManager->CreateCheckBox(pTabVideo, _("Corona rain reflections"), true));
850-
m_pCheckBoxCoronaReflections->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY + 150.0f));
851-
m_pCheckBoxCoronaReflections->AutoSize(nullptr, 20.0f);
852-
853836
float fPosY = vecTemp.fY;
854837
m_pCheckBoxMinimize = reinterpret_cast<CGUICheckBox*>(pManager->CreateCheckBox(pTabVideo, _("Full Screen Minimize"), true));
855838
m_pCheckBoxMinimize->SetPosition(CVector2D(vecTemp.fX + 245.0f, fPosY + 30.0f));
@@ -895,6 +878,10 @@ void CSettings::CreateGUI()
895878
m_pCheckBoxHighDetailPeds->SetPosition(CVector2D(vecTemp.fX + 245.0f, fPosY + 110.0f));
896879
m_pCheckBoxHighDetailPeds->AutoSize(NULL, 20.0f);
897880

881+
m_pCheckBoxCoronaReflections = reinterpret_cast<CGUICheckBox*>(pManager->CreateCheckBox(pTabVideo, _("Corona rain reflections"), true));
882+
m_pCheckBoxCoronaReflections->SetPosition(CVector2D(vecTemp.fX + 245.0f, fPosY + 130.0f));
883+
m_pCheckBoxCoronaReflections->AutoSize(NULL, 20.0f);
884+
898885
vecTemp.fY += 10;
899886

900887
m_pTabs->GetSize(vecTemp);
@@ -1023,7 +1010,6 @@ void CSettings::CreateGUI()
10231010
5.0f;
10241011

10251012
vecTemp.fX += 10.0f;
1026-
10271013
// Fast clothes loading
10281014
m_pFastClothesLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabAdvanced, _("Fast CJ clothes loading:")));
10291015
m_pFastClothesLabel->SetPosition(CVector2D(vecTemp.fX, vecTemp.fY));
@@ -1252,7 +1238,7 @@ void CSettings::CreateGUI()
12521238
vecTemp.fX -= fComboWidth + 15;
12531239

12541240
// Description label
1255-
vecTemp.fY += 15.0f;
1241+
vecTemp.fY = 354 + 10;
12561242
m_pAdvancedSettingDescriptionLabel = reinterpret_cast<CGUILabel*>(pManager->CreateLabel(pTabAdvanced, ""));
12571243
m_pAdvancedSettingDescriptionLabel->SetPosition(CVector2D(vecTemp.fX + 10.f, vecTemp.fY));
12581244
m_pAdvancedSettingDescriptionLabel->SetFont("default-bold-small");
@@ -1643,17 +1629,12 @@ void CSettings::UpdateVideoTab()
16431629
float fPos = SharedUtil::Unlerp(g_pCore->GetMinStreamingMemory(), uiStreamingMemory, g_pCore->GetMaxStreamingMemory());
16441630
m_pStreamingMemory->SetScrollPosition(fPos);
16451631

1646-
// Player map alpha
16471632
int iVar = 0;
16481633
CVARS_GET("mapalpha", iVar);
16491634
int iAlphaPercent = ceil(((float)Clamp(0, iVar, 255) / 255) * 100);
16501635
m_pMapAlphaValueLabel->SetText(SString("%i%%", iAlphaPercent).c_str());
16511636
float sbPos = (float)iAlphaPercent / 100.0f;
16521637
m_pMapAlpha->SetScrollPosition(sbPos);
1653-
1654-
// Player map image
1655-
CVARS_GET("mapimage", iVar);
1656-
m_pPlayerMapImageCombo->SetSelectedItemByIndex(iVar);
16571638
}
16581639

16591640
//
@@ -1870,9 +1851,7 @@ bool CSettings::OnVideoDefaultClick(CGUIElement* pElement)
18701851

18711852
CVARS_SET("streaming_memory", g_pCore->GetMaxStreamingMemory());
18721853

1873-
// Player map defaults
18741854
CVARS_SET("mapalpha", 155);
1875-
CVARS_SET("mapimage", 0);
18761855

18771856
// Display restart required message if required
18781857
bool bIsAntiAliasingChanged = gameSettings->GetAntiAliasing() != m_pComboAntiAliasing->GetSelectedItemIndex();
@@ -3630,16 +3609,12 @@ void CSettings::SaveData()
36303609
CVARS_SET("update_auto_install", iSelected);
36313610
}
36323611

3633-
// Player map alpha
3612+
// Map alpha
36343613
SString sText = m_pMapAlphaValueLabel->GetText();
3614+
36353615
float fMapAlpha = ((atof(sText.substr(0, sText.length() - 1).c_str())) / 100) * 255;
36363616
CVARS_SET("mapalpha", fMapAlpha);
36373617

3638-
// Player map image
3639-
int selectedComboIndex = m_pPlayerMapImageCombo->GetSelectedItemIndex();
3640-
if (selectedComboIndex != -1)
3641-
CVARS_SET("mapimage", selectedComboIndex);
3642-
36433618
// Language
36443619
CGUIListItem* pItem = m_pInterfaceLanguageSelector->GetSelectedItem();
36453620
if (pItem)

Client/core/CSettings.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,6 @@ class CSettings
196196
CGUIComboBox* m_pFullscreenStyleCombo;
197197
CGUILabel* m_pPriorityLabel;
198198
CGUIComboBox* m_pPriorityCombo;
199-
CGUILabel* m_pPlayerMapImageLabel;
200-
CGUIComboBox* m_pPlayerMapImageCombo;
201199
CGUILabel* m_pFastClothesLabel;
202200
CGUIComboBox* m_pFastClothesCombo;
203201
CGUILabel* m_pAudioGeneralLabel;

Client/game_sa/CBuildingsPoolSA.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ CBuilding* CBuildingsPoolSA::AddBuilding(CClientBuilding* pClientBuilding, uint1
5353
if (!HasFreeBuildingSlot())
5454
return nullptr;
5555

56+
auto modelInfo = pGame->GetModelInfo(modelId);
57+
58+
// Change the properties group to force dynamic models to be created as buildings instead of dummies
59+
auto prevGroup = modelInfo->GetObjectPropertiesGroup();
60+
if (prevGroup != MODEL_PROPERTIES_GROUP_STATIC)
61+
modelInfo->SetObjectPropertiesGroup(MODEL_PROPERTIES_GROUP_STATIC);
62+
5663
// Load building
5764
SFileObjectInstance instance;
5865
instance.modelID = modelId;
@@ -70,9 +77,12 @@ CBuilding* CBuildingsPoolSA::AddBuilding(CClientBuilding* pClientBuilding, uint1
7077
pBuilding->m_pLod = nullptr;
7178
pBuilding->m_iplIndex = 0;
7279

80+
// Restore changed properties group
81+
if (prevGroup != MODEL_PROPERTIES_GROUP_STATIC)
82+
modelInfo->SetObjectPropertiesGroup(prevGroup);
83+
7384
// Always stream model collosion
7485
// TODO We can setup collison bounding box and use GTA streamer for it
75-
auto modelInfo = pGame->GetModelInfo(modelId);
7686
modelInfo->AddColRef();
7787

7888
// Add building in world

Client/game_sa/CEntitySA.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ bool CEntitySA::GetBonePosition(eBone boneId, CVector& position)
679679
return false;
680680

681681
const RwV3d& pos = rwBoneMatrix->pos;
682-
position = {pos.x, pos.y, pos.z};
682+
position = CVector(pos.x, pos.y, pos.z);
683683
return true;
684684
}
685685

Client/game_sa/CModelInfoSA.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ class CModelInfoSA : public CModelInfo
466466
// Vehicle towing functions
467467
bool IsTowableBy(CModelInfo* towingModel) override;
468468

469-
bool IsDynamic() { return m_pInterface ? m_pInterface->usDynamicIndex != 0xffff : false; };
469+
bool IsDynamic() { return m_pInterface ? m_pInterface->usDynamicIndex != MODEL_PROPERTIES_GROUP_STATIC : false; };
470470

471471
static bool IsVehicleModel(std::uint32_t model) noexcept;
472472

Client/game_sa/CPlayerPedSA.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "CPlayerInfoSA.h"
1919
#include "CPlayerPedSA.h"
2020
#include "CWorldSA.h"
21+
#include "CProjectileInfoSA.h"
2122

2223
extern CCoreInterface* g_pCore;
2324
extern CGameSA* pGame;
@@ -137,6 +138,7 @@ CPlayerPedSA::~CPlayerPedSA()
137138
if ((DWORD)GetInterface()->vtbl != VTBL_CPlaceable)
138139
{
139140
CWorldSA* world = (CWorldSA*)pGame->GetWorld();
141+
pGame->GetProjectileInfo()->RemoveEntityReferences(this);
140142
world->Remove(m_pInterface, CPlayerPed_Destructor);
141143

142144
DWORD dwThis = (DWORD)m_pInterface;

0 commit comments

Comments
 (0)