[III] add game tab
This commit is contained in:
parent
5bf7cadbd1
commit
4676894169
114
resource/III/CheatMenu/json/mission.json
Normal file
114
resource/III/CheatMenu/json/mission.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
@ -10,10 +10,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#ifndef GTA3
|
#ifndef GTA3
|
||||||
#include "animation.h"
|
|
||||||
#include "game.h"
|
|
||||||
#include "visual.h"
|
#include "visual.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "animation.h"
|
||||||
|
#include "game.h"
|
||||||
#include "ped.h"
|
#include "ped.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "teleport.h"
|
#include "teleport.h"
|
||||||
@ -25,7 +25,7 @@
|
|||||||
#ifndef GTA3
|
#ifndef GTA3
|
||||||
class CheatMenu : Hook, Animation, Game, Menu, Ped, Player, Teleport, Vehicle, Visual, Weapon
|
class CheatMenu : Hook, Animation, Game, Menu, Ped, Player, Teleport, Vehicle, Visual, Weapon
|
||||||
#else
|
#else
|
||||||
class CheatMenu : Hook, Menu, Player, Teleport, Vehicle, Weapon
|
class CheatMenu : Hook, Animation, Game, Menu, Ped, Player, Teleport, Vehicle, Weapon
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@ -37,7 +37,7 @@ private:
|
|||||||
{
|
{
|
||||||
{"Teleport", &Teleport::Draw}, {"Player", &Player::Draw}, {"Ped", &Ped::Draw},
|
{"Teleport", &Teleport::Draw}, {"Player", &Player::Draw}, {"Ped", &Ped::Draw},
|
||||||
{"Dummy", nullptr}, {"Vehicle", &Vehicle::Draw}, {"Weapon", &Weapon::Draw},
|
{"Dummy", nullptr}, {"Vehicle", &Vehicle::Draw}, {"Weapon", &Weapon::Draw},
|
||||||
{"Menu", &Menu::Draw},
|
{"Game", &Game::Draw}, {"Menu", &Menu::Draw},
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
static inline CallbackTable header
|
static inline CallbackTable header
|
||||||
|
36
src/game.cpp
36
src/game.cpp
@ -205,9 +205,11 @@ void SetPlayerMission(std::string& rootkey, std::string& name, std::string& id)
|
|||||||
uint hplayer = CPools::GetPedRef(player);
|
uint hplayer = CPools::GetPedRef(player);
|
||||||
int interior = 0;
|
int interior = 0;
|
||||||
|
|
||||||
|
#ifndef GTA3
|
||||||
Command<0x09E8>(hplayer, &interior);
|
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);
|
player->SetWantedLevel(0);
|
||||||
Command<Commands::LOAD_AND_LAUNCH_MISSION_INTERNAL>(std::stoi(id));
|
Command<Commands::LOAD_AND_LAUNCH_MISSION_INTERNAL>(std::stoi(id));
|
||||||
@ -403,6 +405,9 @@ void Game::Draw()
|
|||||||
#elif GTAVC
|
#elif GTAVC
|
||||||
patch::Nop(0x602BD8, 5);
|
patch::Nop(0x602BD8, 5);
|
||||||
patch::Nop(0x602BE7, 5);
|
patch::Nop(0x602BE7, 5);
|
||||||
|
#else // GTA3
|
||||||
|
patch::Nop(0x5841B8, 5);
|
||||||
|
patch::Nop(0x5841C7, 5);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -414,6 +419,9 @@ void Game::Draw()
|
|||||||
#elif GTAVC
|
#elif GTAVC
|
||||||
patch::SetRaw(0x602BD8, (char*)"\x88\xD8\x89\xF1\x50", 5);
|
patch::SetRaw(0x602BD8, (char*)"\x88\xD8\x89\xF1\x50", 5);
|
||||||
patch::SetRaw(0x602BE7, (char*)"\xE8\x34\x91\xEA\xFF", 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
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -421,15 +429,15 @@ void Game::Draw()
|
|||||||
{
|
{
|
||||||
if (m_bDisableReplay)
|
if (m_bDisableReplay)
|
||||||
{
|
{
|
||||||
patch::SetUChar(BY_GAME(0x460500, 0x624EC0), 0xC3);
|
patch::SetUChar(BY_GAME(0x460500, 0x624EC0, 0x593170), 0xC3);
|
||||||
}
|
}
|
||||||
else
|
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
|
#ifdef GTASA
|
||||||
if (Ui::CheckboxWithHint("Forbidden area wl", &m_bForbiddenArea, "Wanted levels that appears outside \
|
if (Ui::CheckboxWithHint("Forbidden area wl", &m_bForbiddenArea, "Wanted levels that appears outside \
|
||||||
of LS without completing missions"))
|
of LS without completing missions"))
|
||||||
@ -443,22 +451,24 @@ of LS without completing missions"))
|
|||||||
patch::Set<BYTE>(0x441770, 0xC3, false);
|
patch::Set<BYTE>(0x441770, 0xC3, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
Ui::CheckboxAddress("Free pay n spray", 0x96C009);
|
Ui::CheckboxAddress("Free pay n spray", 0x96C009);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef GTAVC
|
#ifdef GTAVC
|
||||||
ImGui::NextColumn();
|
ImGui::NextColumn();
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef GTASA
|
||||||
Ui::CheckboxAddress("Freeze game", 0xA10B48);
|
Ui::CheckboxAddress("Freeze game", 0xA10B48);
|
||||||
|
#endif
|
||||||
if (ImGui::Checkbox("Freeze game time", &m_bFreezeTime))
|
if (ImGui::Checkbox("Freeze game time", &m_bFreezeTime))
|
||||||
{
|
{
|
||||||
if (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
|
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)
|
if (m_bSyncTime)
|
||||||
{
|
{
|
||||||
patch::RedirectCall(BY_GAME(0x53BFBD, 0x4A44F7), &RealTimeClock);
|
patch::RedirectCall(BY_GAME(0x53BFBD, 0x4A44F7, 0x48C8EB), &RealTimeClock);
|
||||||
}
|
}
|
||||||
else
|
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();
|
ImGui::Separator();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Ui::EditAddress<int>("Days passed", BY_GAME(0xB79038,0x97F1F4), 0, 9999);
|
Ui::EditAddress<int>("Days passed", BY_GAME(0xB79038, 0x97F1F4, 0x8F2BB8), 0, 9999);
|
||||||
Ui::EditReference("FPS limit", BY_GAME(RsGlobal.frameLimit, RsGlobal.maxFPS), 1, 30, 60);
|
Ui::EditReference("FPS limit", BY_GAME(RsGlobal.frameLimit, RsGlobal.maxFPS, RsGlobal.maxFPS), 1, 30, 60);
|
||||||
#ifdef GTASA
|
#ifdef GTASA
|
||||||
if (ImGui::CollapsingHeader("Free cam"))
|
if (ImGui::CollapsingHeader("Free cam"))
|
||||||
{
|
{
|
||||||
@ -557,7 +567,7 @@ Lowers armour, health, stamina etc."))
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Ui::EditReference("Game speed", CTimer::ms_fTimeScale, 1, 1, 10);
|
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"))
|
if (ImGui::CollapsingHeader("Set time"))
|
||||||
{
|
{
|
||||||
@ -623,7 +633,7 @@ Lowers armour, health, stamina etc."))
|
|||||||
{
|
{
|
||||||
Call<0x438F50>();
|
Call<0x438F50>();
|
||||||
}
|
}
|
||||||
#elif GTAVC
|
#else // GTA3 & GTAVC
|
||||||
if (ImGui::Button("Sunny", Ui::GetSize(3)))
|
if (ImGui::Button("Sunny", Ui::GetSize(3)))
|
||||||
{
|
{
|
||||||
CWeather::ForceWeatherNow(0);
|
CWeather::ForceWeatherNow(0);
|
||||||
|
@ -86,6 +86,8 @@ project "CheatMenuIII"
|
|||||||
"../src/vehicle.cpp",
|
"../src/vehicle.cpp",
|
||||||
"../src/weapon.h",
|
"../src/weapon.h",
|
||||||
"../src/weapon.cpp",
|
"../src/weapon.cpp",
|
||||||
|
"../src/game.h",
|
||||||
|
"../src/game.cpp",
|
||||||
"../src/filehandler.h",
|
"../src/filehandler.h",
|
||||||
"../src/filehandler.cpp",
|
"../src/filehandler.cpp",
|
||||||
"../src/dllmain.cpp"
|
"../src/dllmain.cpp"
|
||||||
|
Loading…
Reference in New Issue
Block a user