[III] add game tab

This commit is contained in:
Grinch_ 2021-10-25 03:05:03 +06:00
parent 5bf7cadbd1
commit 4676894169
4 changed files with 143 additions and 17 deletions

View File

@ -0,0 +1,114 @@
{
"Misc" :
{
"Patriot Playground": "7",
"A Ride In The Park": "8",
"Gripped!": "9 ",
"Multistorey Mayhem": "10",
"Paramedic": "11",
"Firefighter": "12",
"Vigilante": "13",
"Taxi Driver": "14",
"The Exchange": "79"
},
"Asuka Kasen" :
{
"Sayonara Salvatore": "44",
"Under Surveillance": "45",
"Paparazzi Purge": "46",
"Payday For Ray": "47",
"Two-Faced Tanner": "48",
"Bait": "71",
"Espresso-2-Go!": "72",
"S.A.M.": "73"
},
"Kenji Kasen" :
{
"Kanbu Bust-Out": "49",
"Grand Theft Auto": "50",
"Deal Steal": "51",
"Shima": "52",
"Smack Down": "53"
},
"Ray Machowski" :
{
"Silence The Sneak": "54",
"Arms Shortage": "55",
"Evidence Dash": "56",
"Gone Fishing": "57",
"Plaster Blaster": "58",
"Marked Man": "59"
},
"Donald Love" :
{
"Liberator": "60",
"Waka-Gashira Wipeout!": "61",
"A Drop In The Ocean": "62",
"Grand Theft Aero": "67",
"Escort Service": "68",
"Decoy": "69",
"Love's Disappearance": "70"
},
"Toni Cipriani":
{
"Taking Out The Laundry": "30",
"The Pick-Up": "31",
"Salvatore's Called A Meeting": "32",
"Triads And Tribulations": "33",
"Blow Fish": "34"
},
"Luigi Goterelli":
{
"Give Me Liberty and Luigi's Girls": "19",
"Don't Spank My Bitch Up": "20",
"Drive Misty For Me": "21",
"Pump-Action Pimp": "22",
"The Fuzz Ball": "23"
},
"Marty Chonks" :
{
"The Crook": "15",
"The Thieves": "16",
"The Wife": "17",
"Her Lover": "18"
},
"Salvatore Leone" :
{
"Chaperone": "35",
"Cutting The Grass": "36",
"Bomb Da Base: Act I": "37",
"Bomb Da Base: Act II": "38",
"Last Requests": "39"
},
"Joey Leone" :
{
"Mike Lips Last Lunch": "24",
"Farewell 'Chunky' Lee Chong": "25",
"Van Heist": "26",
"Cipriani's Chauffeur": "27",
"Dead Skunk In The Trunk": "28",
"The Getaway": "29"
},
"El Burro" :
{
"Turismo": "40",
"I Scream, You Scream": "41",
"Trial By Fire": "42",
"Big'N'Veiny": "43"
},
"King Courtney" :
{
"Bling-Bling Scramble": "63",
"Uzi Rider": "64",
"Gangcar Round-Up": "65",
"Kingdom Come": "66"
},
"D-Ice" :
{
"Uzi Money": "74",
"Toyminator": "75",
"Rigged To Blow": "76",
"Bullion Run": "77",
"Rumble": "78"
}
}

View File

@ -10,10 +10,10 @@
#pragma once
#ifndef GTA3
#include "animation.h"
#include "game.h"
#include "visual.h"
#endif
#include "animation.h"
#include "game.h"
#include "ped.h"
#include "player.h"
#include "teleport.h"
@ -25,7 +25,7 @@
#ifndef GTA3
class CheatMenu : Hook, Animation, Game, Menu, Ped, Player, Teleport, Vehicle, Visual, Weapon
#else
class CheatMenu : Hook, Menu, Player, Teleport, Vehicle, Weapon
class CheatMenu : Hook, Animation, Game, Menu, Ped, Player, Teleport, Vehicle, Weapon
#endif
{
private:
@ -37,7 +37,7 @@ private:
{
{"Teleport", &Teleport::Draw}, {"Player", &Player::Draw}, {"Ped", &Ped::Draw},
{"Dummy", nullptr}, {"Vehicle", &Vehicle::Draw}, {"Weapon", &Weapon::Draw},
{"Menu", &Menu::Draw},
{"Game", &Game::Draw}, {"Menu", &Menu::Draw},
};
#else
static inline CallbackTable header

View File

@ -205,9 +205,11 @@ void SetPlayerMission(std::string& rootkey, std::string& name, std::string& id)
uint hplayer = CPools::GetPedRef(player);
int interior = 0;
#ifndef GTA3
Command<0x09E8>(hplayer, &interior);
#endif
if (BY_GAME(Util::IsOnMission(), true) && interior == 0)
if (BY_GAME(Util::IsOnMission(), true, true) && interior == 0)
{
player->SetWantedLevel(0);
Command<Commands::LOAD_AND_LAUNCH_MISSION_INTERNAL>(std::stoi(id));
@ -403,6 +405,9 @@ void Game::Draw()
#elif GTAVC
patch::Nop(0x602BD8, 5);
patch::Nop(0x602BE7, 5);
#else // GTA3
patch::Nop(0x5841B8, 5);
patch::Nop(0x5841C7, 5);
#endif
}
else
@ -414,6 +419,9 @@ void Game::Draw()
#elif GTAVC
patch::SetRaw(0x602BD8, (char*)"\x88\xD8\x89\xF1\x50", 5);
patch::SetRaw(0x602BE7, (char*)"\xE8\x34\x91\xEA\xFF", 5);
#else // GTA3
patch::SetRaw(0x5841B8, (char*)"\x88\xD8\x89\xF1\x50", 5);
patch::SetRaw(0x5841C7, (char*)"\xE8\x84\xE2\xF0\xFF", 5);
#endif
}
}
@ -421,15 +429,15 @@ void Game::Draw()
{
if (m_bDisableReplay)
{
patch::SetUChar(BY_GAME(0x460500, 0x624EC0), 0xC3);
patch::SetUChar(BY_GAME(0x460500, 0x624EC0, 0x593170), 0xC3);
}
else
{
patch::SetUChar(BY_GAME(0x460500, 0x624EC0), 0x80);
patch::SetUChar(BY_GAME(0x460500, 0x624EC0, 0x593170), 0x80);
}
}
Ui::CheckboxAddress("Faster clock", BY_GAME(0x96913B, 0xA10B87));
Ui::CheckboxAddress("Faster clock", BY_GAME(0x96913B, 0xA10B87, 0x95CDBB));
#ifdef GTASA
if (Ui::CheckboxWithHint("Forbidden area wl", &m_bForbiddenArea, "Wanted levels that appears outside \
of LS without completing missions"))
@ -443,22 +451,24 @@ of LS without completing missions"))
patch::Set<BYTE>(0x441770, 0xC3, false);
}
}
#endif
Ui::CheckboxAddress("Free pay n spray", 0x96C009);
#endif
#ifdef GTAVC
ImGui::NextColumn();
#endif
#ifdef GTASA
Ui::CheckboxAddress("Freeze game", 0xA10B48);
#endif
if (ImGui::Checkbox("Freeze game time", &m_bFreezeTime))
{
if (m_bFreezeTime)
{
patch::SetRaw(BY_GAME(0x52CF10, 0x487010), (char*)"\xEB\xEF", 2);
patch::SetRaw(BY_GAME(0x52CF10, 0x487010, 0x473460), (char*)"\xEB\xEF", 2);
}
else
{
patch::SetRaw(BY_GAME(0x52CF10, 0x487010), (char*)BY_GAME("\x56\x8B","\x6A\x01"), 2);
patch::SetRaw(BY_GAME(0x52CF10, 0x487010, 0x473460), (char*)BY_GAME("\x56\x8B", "\x6A\x01", "\x6A\x01"), 2);
}
}
@ -507,11 +517,11 @@ Lowers armour, health, stamina etc."))
{
if (m_bSyncTime)
{
patch::RedirectCall(BY_GAME(0x53BFBD, 0x4A44F7), &RealTimeClock);
patch::RedirectCall(BY_GAME(0x53BFBD, 0x4A44F7, 0x48C8EB), &RealTimeClock);
}
else
{
patch::RedirectCall(BY_GAME(0x53BFBD, 0x4A44F7), &CClock::Update);
patch::RedirectCall(BY_GAME(0x53BFBD, 0x4A44F7, 0x48C8EB), &CClock::Update);
}
}
@ -533,8 +543,8 @@ Lowers armour, health, stamina etc."))
ImGui::Separator();
}
#endif
Ui::EditAddress<int>("Days passed", BY_GAME(0xB79038,0x97F1F4), 0, 9999);
Ui::EditReference("FPS limit", BY_GAME(RsGlobal.frameLimit, RsGlobal.maxFPS), 1, 30, 60);
Ui::EditAddress<int>("Days passed", BY_GAME(0xB79038, 0x97F1F4, 0x8F2BB8), 0, 9999);
Ui::EditReference("FPS limit", BY_GAME(RsGlobal.frameLimit, RsGlobal.maxFPS, RsGlobal.maxFPS), 1, 30, 60);
#ifdef GTASA
if (ImGui::CollapsingHeader("Free cam"))
{
@ -557,7 +567,7 @@ Lowers armour, health, stamina etc."))
}
#endif
Ui::EditReference("Game speed", CTimer::ms_fTimeScale, 1, 1, 10);
Ui::EditFloat("Gravity", BY_GAME(0x863984,0x68F5F0), -1.0f, 0.008f, 1.0f, 1.0f, 0.01f);
Ui::EditFloat("Gravity", BY_GAME(0x863984, 0x68F5F0, 0x5F68D4), -1.0f, 0.008f, 1.0f, 1.0f, 0.01f);
if (ImGui::CollapsingHeader("Set time"))
{
@ -623,7 +633,7 @@ Lowers armour, health, stamina etc."))
{
Call<0x438F50>();
}
#elif GTAVC
#else // GTA3 & GTAVC
if (ImGui::Button("Sunny", Ui::GetSize(3)))
{
CWeather::ForceWeatherNow(0);

View File

@ -86,6 +86,8 @@ project "CheatMenuIII"
"../src/vehicle.cpp",
"../src/weapon.h",
"../src/weapon.cpp",
"../src/game.h",
"../src/game.cpp",
"../src/filehandler.h",
"../src/filehandler.cpp",
"../src/dllmain.cpp"