Skip to content

Commit

Permalink
tweak(game/five): raising awareness for 2545
Browse files Browse the repository at this point in the history
  • Loading branch information
blattersturm committed Dec 15, 2021
1 parent f05ac2e commit dedb7b5
Show file tree
Hide file tree
Showing 3 changed files with 194 additions and 1 deletion.
8 changes: 7 additions & 1 deletion code/client/launcher/GameCache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1413,13 +1413,17 @@ std::map<std::string, std::string> UpdateGameCache()
else if (IsTargetGameBuild<2372>())
{
g_requiredEntries.push_back({ "GTA5.exe", "470235e04299b02aa3aef834ef1ff834cac2327f", "https://content.cfx.re/mirrors/patches/2372.0/GTA5.exe", 59716912 });
g_requiredEntries.push_back({ "update/update.rpf", "1824cdbc27c3e0eaa86920a38751322727872831", "https://content.cfx.re/mirrors/patches/2372.0/update.rpf", 1132066816 });
g_requiredEntries.push_back({ "update/update.rpf", "1824cdbc27c3e0eaa86920a38751322727872831", "https://content.cfx.re/mirrors/patches/2372.0/update.rpf", 1132066816,
{
{ "2993b3c30f61cbbb8dbce859604d7fb717ff8dae", "1824cdbc27c3e0eaa86920a38751322727872831", "https://content.cfx.re/mirrors/patches/2545_2372_update.hdiff", 276106385 },
} });
}
else if (IsTargetGameBuild<2189>())
{
g_requiredEntries.push_back({ "GTA5.exe", "fcd5fd8a9f99f2e08b0cab5d500740f28a75b75a", "https://content.cfx.re/mirrors/patches/2189.0/GTA5.exe", 63124096 });
g_requiredEntries.push_back({ "update/update.rpf", "fe387dbc0f700d690b53d44ce1226c624c24b8fc", "https://content.cfx.re/mirrors/patches/2189.0/update.rpf", 1276805120,
{
{ "2993b3c30f61cbbb8dbce859604d7fb717ff8dae", "fe387dbc0f700d690b53d44ce1226c624c24b8fc", "https://content.cfx.re/mirrors/patches/2545_2189_update.hdiff", 441617306 },
{ "1824cdbc27c3e0eaa86920a38751322727872831", "fe387dbc0f700d690b53d44ce1226c624c24b8fc", "https://content.cfx.re/mirrors/patches/2372_2189_update.hdiff", 429153146 },
{ "748d16b81a34ad317b93cd85e2b088dabdce5cc7", "fe387dbc0f700d690b53d44ce1226c624c24b8fc", "https://content.cfx.re/mirrors/patches/2245_2189_update.hdiff", 193145914 },
{ "36c5c94274602527f946497553e118d72500c09f", "fe387dbc0f700d690b53d44ce1226c624c24b8fc", "https://content.cfx.re/mirrors/patches/2215_2189_update.hdiff", 21294688 },
Expand All @@ -1430,6 +1434,7 @@ std::map<std::string, std::string> UpdateGameCache()
g_requiredEntries.push_back({ "GTA5.exe", "741c8b91ef57140c023d8d29e38aab599759de76", "https://content.cfx.re/mirrors/patches/2060.2/GTA5.exe", 60589184 });
g_requiredEntries.push_back({ "update/update.rpf", "736f1cb26e59167f302c22385463d231cce302d3", "https://content.cfx.re/mirrors/patches/2060.2/update.rpf", 1229002752,
{
{ "2993b3c30f61cbbb8dbce859604d7fb717ff8dae", "736f1cb26e59167f302c22385463d231cce302d3", "https://content.cfx.re/mirrors/patches/2545_2060_update.hdiff", 438194552 },
{ "1824cdbc27c3e0eaa86920a38751322727872831", "736f1cb26e59167f302c22385463d231cce302d3", "https://content.cfx.re/mirrors/patches/2372_2060_update.hdiff", 427205591 },
{ "748d16b81a34ad317b93cd85e2b088dabdce5cc7", "736f1cb26e59167f302c22385463d231cce302d3", "https://content.cfx.re/mirrors/patches/2245_2060_update.hdiff", 249407832 },
{ "36c5c94274602527f946497553e118d72500c09f", "736f1cb26e59167f302c22385463d231cce302d3", "https://content.cfx.re/mirrors/patches/2215_2060_update.hdiff", 249407861 },
Expand All @@ -1442,6 +1447,7 @@ std::map<std::string, std::string> UpdateGameCache()
g_requiredEntries.push_back({ "GTA5.exe", "8939c8c71aa98ad7ca6ac773fae1463763c420d8", "https://content.cfx.re/mirrors/patches/1604.0/GTA5.exe", 72484280 });
g_requiredEntries.push_back({ "update/update.rpf", "fc941d698834e30e40a06a40f6a35b1b18e1c50c", "https://runtime.fivem.net/patches/GTA_V_Patch_1_0_1604_0.exe", "$/update/update.rpf", 966805504, 1031302600,
{
{ "2993b3c30f61cbbb8dbce859604d7fb717ff8dae", "fc941d698834e30e40a06a40f6a35b1b18e1c50c", "https://content.cfx.re/mirrors/patches/2545_1604_update.hdiff", 409505316 },
{ "1824cdbc27c3e0eaa86920a38751322727872831", "fc941d698834e30e40a06a40f6a35b1b18e1c50c", "https://content.cfx.re/mirrors/patches/2372_1604_update.hdiff", 400087270 },
{ "748d16b81a34ad317b93cd85e2b088dabdce5cc7", "fc941d698834e30e40a06a40f6a35b1b18e1c50c", "https://content.cfx.re/mirrors/patches/2245_1604_update.hdiff", 255586706 },
{ "36c5c94274602527f946497553e118d72500c09f", "fc941d698834e30e40a06a40f6a35b1b18e1c50c", "https://content.cfx.re/mirrors/patches/2215_1604_update.hdiff", 255586724 },
Expand Down
181 changes: 181 additions & 0 deletions code/components/gta-streaming-five/src/LoadStreamingFile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,179 @@ static void(*dataFileMgr__loadDat)(void*, const char*, bool, void*);
static void(*dataFileMgr__loadDefDat)(void*, const char*, bool, void*);
#endif

static bool IsEvaluationServer()
{
std::string policyVal;

if (Instance<ICoreGameInit>::Get()->GetData("policy", &policyVal))
{
#ifndef _DEBUG
if (policyVal.find("[local_evaluation]") != std::string::npos)
#endif
{
return true;
}
}

return false;
}

// blocked assets part of 2545
static const std::set<std::string> g_blockedNames2372 =
{
"astron.yft",
"astron.ytd",
"astron_hi.yft",
"champion.yft",
"champion.ytd",
"champion_hi.yft",
"cinquemila.yft",
"cinquemila.ytd",
"cinquemila_hi.yft",
"deity.yft",
"deity.ytd",
"deity_hi.yft",
"ignus.yft",
"ignus.ytd",
"ignus_hi.yft",
"iwagen.yft",
"iwagen.ytd",
"iwagen_hi.yft",
"jubilee.yft",
"jubilee.ytd",
"jubilee_hi.yft",
"reever.yft",
"reever.ytd",
"reever_hi.yft",
"shinobi.yft",
"shinobi.ytd",
"shinobi_hi.yft",
"zeno.yft",
"zeno.ytd",
"zeno_hi.yft",
"zeno+hi.ytd",
"sf_mp_apa_crashed_usaf.ytyp",
"sf_mp_apa_crashed_usaf_01a.ydr",
"sf_mp_apa_crashed_usaf_crashed_usaf_01a.ytd",
"sf_mp_apa_yacht.ydr",
"sf_mp_apa_yacht.ytyp",
"sf_mp_apa_yacht_win.ydr",
"sf_mp_apa_yacht_door.ydr",
"sf_mp_apa_yacht_door.ytd",
"sf_mp_apa_yacht_door.ytyp",
"sf_mp_apa_yacht_door2.ydr",
"sf_mp_apa_yacht_jacuzzi.ycd",
"sf_mp_apa_yacht_jacuzzi.ytyp",
"sf_mp_apa_yacht_jacuzzi_camera.ydr",
"sf_mp_apa_yacht_jacuzzi_ripple003.ydr",
"sf_mp_apa_yacht_jacuzzi_ripple1.ydr",
"sf_mp_apa_yacht_jacuzzi_ripple1.ytd",
"sf_mp_apa_yacht_jacuzzi_ripple2.ydr",
"sf_mp_apa_y1_l1a.ydr",
"sf_mp_apa_y1_l1b.ydr",
"sf_mp_apa_y1_l1c.ydr",
"sf_mp_apa_y1_l1d.ydr",
"sf_mp_apa_y1_l2a.ydr",
"sf_mp_apa_y1_l2b.ydr",
"sf_mp_apa_y1_l2c.ydr",
"sf_mp_apa_y1_l2d.ydr",
"sf_mp_apa_y2_l1a.ydr",
"sf_mp_apa_y2_l1b.ydr",
"sf_mp_apa_y2_l1c.ydr",
"sf_mp_apa_y2_l1d.ydr",
"sf_mp_apa_y2_l2a.ydr",
"sf_mp_apa_y2_l2b.ydr",
"sf_mp_apa_y2_l2c.ydr",
"sf_mp_apa_y2_l2d.ydr",
"sf_mp_apa_y3_l1a.ydr",
"sf_mp_apa_y3_l1b.ydr",
"sf_mp_apa_y3_l1c.ydr",
"sf_mp_apa_y3_l1d.ydr",
"sf_mp_apa_y3_l2a.ydr",
"sf_mp_apa_y3_l2b.ydr",
"sf_mp_apa_y3_l2c.ydr",
"sf_mp_apa_y3_l2d.ydr",
"sf_mp_apa_yacht_light.ytd",
"sf_mp_apa_yacht_lightrig.ytyp",
"sf_mp_apa_yacht_text.ytyp",
"sf_prop_ap_name_text.ydr",
"sf_prop_ap_port_text.ydr",
"sf_prop_ap_starb_text.ydr",
"sf_prop_ap_stern_text.ydr",
"sf_p_sf_grass_gls_s_01a.yft",
"sf_p_sf_grass_gls_s_02a.yft",
"sf_prop_sf_accs_02.ytyp",
"sf_prop_sf_apple_01a.ydr",
"sf_prop_sf_apple_01b.ydr",
"sf_prop_sf_bed_dog_01a.ydr",
"sf_prop_sf_bed_dog_01a+hidr.ytd",
"sf_prop_sf_bed_dog_01b.ydr",
"sf_prop_sf_bed_dog_01b+hidr.ytd",
"sf_prop_sf_bong_01a.ydr",
"sf_prop_sf_bot_broken_01a.ydr",
"sf_prop_sf_bowl_fruit_01a.ydr",
"sf_prop_sf_bowl_fruit_01a.ytd",
"sf_prop_sf_can_01a.ydr",
"sf_prop_sf_cleaning_pad_01a.ydr",
"sf_prop_sf_g_bong_01a.ydr",
"sf_prop_sf_game_clock_01a.ydr",
"sf_prop_sf_helmet_01a.ydr",
"sf_prop_sf_npc_phone_01a.ydr",
"sf_prop_sf_pack_can_01a.ydr",
"sf_prop_sf_scr_m_lrg_01a.ydr",
"sf_prop_sf_scr_m_lrg_01b.ydr",
"sf_prop_sf_scr_m_lrg_01c.ydr",
"sf_prop_sf_scrn_drp_01a.ydr",
"sf_prop_sf_scrn_la_01a.ydr",
"sf_prop_sf_scrn_la_02a.ydr",
"sf_prop_sf_scrn_la_03a.ydr",
"sf_prop_sf_scrn_la_04a.ydr",
"sf_prop_sf_scrn_ppp_01a.ydr",
"sf_prop_sf_scrn_tablet_01a.ydr",
"sf_prop_sf_scrn_tablet_01a+hidr.ytd",
"sf_prop_sf_scrn_tr_01a.ydr",
"sf_prop_sf_scrn_tr_02a.ydr",
"sf_prop_sf_scrn_tr_03a.ydr",
"sf_prop_sf_scrn_tr_04a.ydr",
"sf_prop_sf_sign_neon_01a.ydr",
"sf_prop_sf_tablet_01a.ydr",
"sf_prop_sf_tablet_01a.ytd",
"sf_prop_sf_tv_flat_scr_01a.ydr",
"sf_prop_sf_usb_drive_01a.ydr",
"w_am_jerrycan_sf.ydr",
"w_am_jerrycan_sf.ytd",
"w_ar_heavyrifleh.ydr",
"w_ar_heavyrifleh.ytd",
"w_ar_heavyrifleh_hi.ydr",
"w_ar_heavyrifleh_sight.ydr",
"w_ar_heavyrifleh_sight.ytd",
"w_ar_heavyrifleh_sight_hi.ydr",
"w_at_hrh_camo1.ydr",
"w_at_hrh_camo1.ytd",
"w_lr_compactml.ydr",
"w_lr_compactml.ytd",
"w_lr_compactml_hi.ydr",
"w_lr_compactml_mag1.ydr",
"w_lr_compactml_mag1.ytd",
"w_lr_ml_40mm.ydr",
"w_lr_ml_40mm.ytd",
"w_pi_appistol_sts.ydr",
"w_pi_appistol_sts.ytd",
"w_pi_appistol_sts_hi.ydr",
"w_pi_appistol_sts_mag1.ydr",
"w_pi_appistol_sts_mag1.ytd",
"w_pi_appistol_sts_mag2.ydr",
"w_pi_appistol_sts_mag2.ytd",
"w_sb_microsmg_las.ydr",
"w_sb_microsmg_las.ytd",
"w_sb_microsmg_las_hi.ydr",
"w_sb_microsmg_las_mag1.ydr",
"w_sb_microsmg_las_mag2.ydr",
"w_sg_pumpshotgun_chs.ydr",
"w_sg_pumpshotgun_chs.ytd",
"w_sg_pumpshotgun_chs_hi.ydr",
};

// blocked assets on 2189 and below
static const std::set<std::string> g_blockedNames2189 =
{
Expand Down Expand Up @@ -1619,6 +1792,14 @@ static void LoadStreamingFiles(LoadType loadType)
it = g_customStreamingFiles.erase(it);
continue;
}

if (!xbr::IsGameBuildOrGreater<2545>() && g_blockedNames2372.find(baseName) != g_blockedNames2372.end() && !IsEvaluationServer())
{
trace("ignoring %s: it's a file for GTA V build 2545 or above, _or_ a local evaluation server\n", file);

it = g_customStreamingFiles.erase(it);
continue;
}
#endif

const char* extPos = strrchr(baseName.c_str(), '.');
Expand Down
6 changes: 6 additions & 0 deletions code/components/net/src/NetLibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1435,6 +1435,12 @@ concurrency::task<void> NetLibrary::ConnectToServer(const std::string& rootUrl)
policies.insert("subdir_file_mapping");
}

// dev server
if (maxClients <= 8)
{
policies.insert("local_evaluation");
}

// format policy string and store it
std::stringstream policyStr;

Expand Down

0 comments on commit dedb7b5

Please sign in to comment.