Improvements in hook, bug fixes, switched to beta, added bikes fly.

This commit is contained in:
Grinch_ 2020-12-06 03:34:27 +06:00
parent 2d0703e281
commit 2cf0915bf7
9 changed files with 42 additions and 19 deletions

3
.gitignore vendored
View File

@ -39,3 +39,6 @@ luac.out
*.hex *.hex
moonloader/lib/cheat-menu/json/config.json moonloader/lib/cheat-menu/json/config.json
/CheatMenu.VC.VC.opendb
/CheatMenu.VC.db
.vs/CheatMenu/v14/.suo

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ShowAllFiles>true</ShowAllFiles>
</PropertyGroup>
</Project>

View File

@ -24,10 +24,8 @@ LRESULT Hook::InputProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
HRESULT Hook::ResetDx9(IDirect3DDevice9 * pDevice, D3DPRESENT_PARAMETERS * pPresentationParameters) HRESULT Hook::ResetDx9(IDirect3DDevice9 * pDevice, D3DPRESENT_PARAMETERS * pPresentationParameters)
{ {
ImGui_ImplDX9_InvalidateDeviceObjects(); ImGui_ImplDX9_InvalidateDeviceObjects();
long result = oReset9(pDevice, pPresentationParameters);
ImGui_ImplDX9_CreateDeviceObjects();
return result; return oReset9(pDevice, pPresentationParameters);
} }
HRESULT Hook::PresentDx9(IDirect3DDevice9 *pDevice, RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion) HRESULT Hook::PresentDx9(IDirect3DDevice9 *pDevice, RECT* pSourceRect, RECT* pDestRect, HWND hDestWindowOverride, RGNDATA* pDirtyRegion)
@ -88,13 +86,9 @@ HRESULT Hook::PresentDx11(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Fl
if (Globals::init_done) if (Globals::init_done)
{ {
static RwBool fullscreen = RsGlobal.ps->fullScreen; HRESULT hr = pSwapChain->Present(1, 0);
if (hr == DXGI_ERROR_DEVICE_REMOVED || hr == DXGI_ERROR_DEVICE_RESET)
if (fullscreen != RsGlobal.ps->fullScreen)
{
fullscreen = RsGlobal.ps->fullScreen;
ImGui_ImplDX11_InvalidateDeviceObjects(); ImGui_ImplDX11_InvalidateDeviceObjects();
}
// Change font size if the game resolution changes // Change font size if the game resolution changes
if (Globals::font_screen_size.x != screen::GetScreenWidth() if (Globals::font_screen_size.x != screen::GetScreenWidth()

View File

@ -32,5 +32,6 @@ void CJson::LoadJsonData(std::vector<std::string>& vec, std::string& selected)
CJson::~CJson() CJson::~CJson()
{ {
std::ofstream file(file_path); std::ofstream file(file_path);
file << data.dump(4) << std::endl; file << data.dump(4,' ',false, nlohmann::json::error_handler_t::replace) << std::endl;
file.close();
} }

View File

@ -385,9 +385,10 @@ void Menu::Main()
ImGui::TextWrapped("Dowglas_"); ImGui::TextWrapped("Dowglas_");
ImGui::TextWrapped("Israel"); ImGui::TextWrapped("Israel");
ImGui::NextColumn(); ImGui::NextColumn();
ImGui::TextWrapped("Junior-Djjr"); ImGui::TextWrapped("Junior-Djjr");
ImGui::TextWrapped("Um-geek");
ImGui::Columns(1); ImGui::Columns(1);

View File

@ -1,6 +1,7 @@
#include "pch.h" #include "pch.h"
#include "Vehicle.h" #include "Vehicle.h"
bool Vehicle::bike_fly = false;
bool Vehicle::dont_fall_bike = false; bool Vehicle::dont_fall_bike = false;
bool Vehicle::veh_engine = false; bool Vehicle::veh_engine = false;
bool Vehicle::veh_heavy = false; bool Vehicle::veh_heavy = false;
@ -91,10 +92,10 @@ Vehicle::Vehicle()
static CPlayerPed *player = FindPlayerPed(); static CPlayerPed *player = FindPlayerPed();
static int hplayer = CPools::GetPedRef(player); static int hplayer = CPools::GetPedRef(player);
CVehicle *veh = player->m_pVehicle;
if (Command<Commands::IS_CHAR_IN_ANY_CAR>(hplayer)) if (Command<Commands::IS_CHAR_IN_ANY_CAR>(hplayer))
{ {
CVehicle *veh = player->m_pVehicle;
int hveh = CPools::GetVehicleRef(veh); int hveh = CPools::GetVehicleRef(veh);
Command<Commands::SET_CAR_ENGINE_ON>(hveh, !veh_engine); Command<Commands::SET_CAR_ENGINE_ON>(hveh, !veh_engine);
@ -172,6 +173,21 @@ Vehicle::Vehicle()
} }
neon::traffic_timer = timer; neon::traffic_timer = timer;
} }
if (bike_fly && veh && veh->IsDriver(player))
{
if (veh->m_nVehicleSubClass == VEHICLE_BIKE || veh->m_nVehicleSubClass == VEHICLE_BMX)
{
if (sqrt( veh->m_vecMoveSpeed.x * veh->m_vecMoveSpeed.x
+ veh->m_vecMoveSpeed.y * veh->m_vecMoveSpeed.y
+ veh->m_vecMoveSpeed.z * veh->m_vecMoveSpeed.z
) > 0.0
&& CTimer::ms_fTimeStep > 0.0)
{
veh->FlyingControl(3, -9999.9902, -9999.9902, -9999.9902, -9999.9902);
}
}
}
}; };
} }
@ -615,17 +631,18 @@ void Vehicle::Main()
Ui::CheckboxAddress("Aim while driving", 0x969179); Ui::CheckboxAddress("Aim while driving", 0x969179);
Ui::CheckboxAddress("All cars have nitro", 0x969165); Ui::CheckboxAddress("All cars have nitro", 0x969165);
Ui::CheckboxAddress("All taxis have nitro", 0x96918B); Ui::CheckboxAddress("All taxis have nitro", 0x96918B);
Ui::CheckboxWithHint("Bikes fly", &bike_fly);
Ui::CheckboxAddress("Boats fly", 0x969153); Ui::CheckboxAddress("Boats fly", 0x969153);
Ui::CheckboxWithHint("Car engine", &veh_engine); Ui::CheckboxWithHint("Car engine", &veh_engine);
Ui::CheckboxBitFlag("Cars fly", 0x969160); Ui::CheckboxAddress("Cars fly", 0x969160);
Ui::CheckboxWithHint("Car heavy", &veh_heavy); Ui::CheckboxWithHint("Car heavy", &veh_heavy);
Ui::CheckboxBitFlag("Decreased traffic", 0x96917A); Ui::CheckboxAddress("Decreased traffic", 0x96917A);
Ui::CheckboxWithHint("Don't fall off bike", &dont_fall_bike); Ui::CheckboxWithHint("Don't fall off bike", &dont_fall_bike);
Ui::CheckboxBitFlag("Drive on water", 0x969152); Ui::CheckboxAddress("Drive on water", 0x969152);
Ui::CheckboxAddressEx("Lock train camera", 0x52A52F, 171, 6);
ImGui::NextColumn(); ImGui::NextColumn();
Ui::CheckboxAddressEx("Lock train camera", 0x52A52F, 171, 6);
Ui::CheckboxAddress("Float away when hit", 0x969166); Ui::CheckboxAddress("Float away when hit", 0x969166);
Ui::CheckboxAddress("Green traffic lights", 0x96914E); Ui::CheckboxAddress("Green traffic lights", 0x96914E);
Ui::CheckboxWithHint("Invisible car", &veh_invisible); Ui::CheckboxWithHint("Invisible car", &veh_invisible);

View File

@ -5,6 +5,7 @@
class Vehicle : NeonAPI, Paint class Vehicle : NeonAPI, Paint
{ {
private: private:
static bool bike_fly;
static bool dont_fall_bike; static bool dont_fall_bike;
static bool veh_engine; static bool veh_engine;
static bool veh_heavy; static bool veh_heavy;

View File

@ -3,8 +3,8 @@
#define INPUT_BUFFER_SIZE 64 #define INPUT_BUFFER_SIZE 64
#define SPAWN_PED_LIMIT 20 #define SPAWN_PED_LIMIT 20
#define MENU_VERSION "2.5-alpha" #define MENU_VERSION "2.5-beta"
#define BUILD_NUMBER "20201112" #define BUILD_NUMBER "20201206"
#define STB_IMAGE_IMPLEMENTATION #define STB_IMAGE_IMPLEMENTATION
#include <ctime> #include <ctime>

View File

@ -15,7 +15,7 @@
Cheat menu for Grand Theft Auto SanAndreas which allows a large set of modifications/cheats to be applied enabling a much more easier & amusing gameplay. Cheat menu for Grand Theft Auto SanAndreas which allows a large set of modifications/cheats to be applied enabling a much more easier & amusing gameplay.
Get stable binaries from [here](https://github.com/user-grinch/Cheat-Menu/releases). Alpha binaries are available at the discord server. Get stable binaries from [here](https://github.com/user-grinch/Cheat-Menu/releases). Beta binaries are available at the discord server.
A portuguese translation of the menu is [here](https://github.com/Dowglass/Cheat-Menu) A portuguese translation of the menu is [here](https://github.com/Dowglass/Cheat-Menu)