Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Fire-Head committed Jun 16, 2019
0 parents commit c7d24f3
Show file tree
Hide file tree
Showing 208 changed files with 51,863 additions and 0 deletions.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

Requirements:

* gta-vc.exe v 1.0
* UAL (https://github.com/ThirteenAG/Ultimate-ASI-Loader)
* debugmenu.dll (https://github.com/aap/debugmenu)
* SkyGFX (https://github.com/aap/skygfx_vc)
* skygfx.ini
texblendSwitch=0
texgenSwitch=0
ps2Water=0
Binary file added Release/VCWaterEx.asi
Binary file not shown.
35 changes: 35 additions & 0 deletions Release/VCWaterEx.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[MAIN]
g_Switch=PS2
fHugeSectorNearDist=500.000000
fTransparentFarDist=70.000000
fTransparentFarDistInBoat=120.000000
[PC]
fEnvScale=0.250000
fWave2InvLength=0.030000
fWave2NormScale=0.500000
fWave2Ampl=0.100000
fRandomMoveDiv=8.000000
fRandomDamp=0.990000
fNormMult=2.000000
fNormMultB=1.000000
fNormalDirectionScalar1=2.000000
fNormalDirectionScalar2=1.000000
fSeaBedZ=25.000000
fFlatWaterBlendRange=0.050000
fStartBlendDistanceAdd=64.000000
fMinWaterAlphaMult=-30.000000
[PS2]
fEnvScale=0.500000
fWave2InvLength=0.030000
fWave2NormScale=0.500000
fWave2Ampl=0.100000
fRandomMoveDiv=8.000000
fRandomDamp=0.990000
fNormMult=2.000000
fNormMultB=1.000000
fNormalDirectionScalar1=2.000000
fNormalDirectionScalar2=1.000000
fSeaBedZ=25.000000
fFlatWaterBlendRange=0.050000
fStartBlendDistanceAdd=64.000000
fMinWaterAlphaMult=-30.000000
Binary file added Release/WaterEx/FH/WATER.txd
Binary file not shown.
Binary file added Release/WaterEx/GTA3/WATER.TXD
Binary file not shown.
Binary file added Release/WaterEx/PS2/WATER.TXD
Binary file not shown.
17 changes: 17 additions & 0 deletions VCWaterRE.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VCWaterRE", "VCWaterRE\VCWaterRE.vcxproj", "{FD1B09DF-2C49-40EC-B8B4-6784F6C869F9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FD1B09DF-2C49-40EC-B8B4-6784F6C869F9}.Release|Win32.ActiveCfg = Release|Win32
{FD1B09DF-2C49-40EC-B8B4-6784F6C869F9}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
70 changes: 70 additions & 0 deletions VCWaterRE/CPatch.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#pragma once
#include <windows.h>

#define CALLVOID(a) ((void (__cdecl *)())a)()
#define CALLVOIDRETCHAR(a) ((char (__cdecl *)())a)()
#define READPVOID(a) (*(void **)a)
#define READCHAR(a) (*(char *)a)

class CPatch
{
private:
inline static void Patch(void* address, void* data, int size)
{
unsigned long protect[2];
VirtualProtect(address, size, PAGE_EXECUTE_READWRITE, &protect[0]);
memcpy(address, data, size);
VirtualProtect(address, size, protect[0], &protect[1]);
}
public:
inline static void Nop(int address, int size)
{
unsigned long protect[2];
VirtualProtect((void *)address, size, PAGE_EXECUTE_READWRITE, &protect[0]);
memset((void *)address, 0x90, size);
VirtualProtect((void *)address, size, protect[0], &protect[1]);
}
inline static bool CheckChar(int address, unsigned char value)
{
unsigned long protect[2];
unsigned char dummy = value;
VirtualProtect((void *)address, 1, PAGE_EXECUTE_READ, &protect[0]);
memcpy(&dummy, (void *)address, 1);
VirtualProtect((void *)address, 1, protect[0], &protect[1]);
return (dummy == value);
}
inline static void RedirectCall(int address, void *func)
{
int temp = 0xE8;
Patch((void *)address, &temp, 1);
temp = (int)func - ((int)address + 5);
Patch((void *)((int)address + 1), &temp, 4);
}
inline static void RedirectJump(int address, void *func)
{
int temp = 0xE9;
Patch((void *)address, &temp, 1);
temp = (int)func - ((int)address + 5);
Patch((void *)((int)address + 1), &temp, 4);
}
inline static void SetChar(int address, char value)
{
Patch((void *)address, &value, 1);
}
inline static void SetShort(int address, short value)
{
Patch((void *)address, &value, 2);
}
inline static void SetInt(int address, int value)
{
Patch((void *)address, &value, 4);
}
inline static void SetFloat(int address, float value)
{
Patch((void *)address, &value, 4);
}
inline static void SetPointer(int address, void *value)
{
Patch((void *)address, &value, 4);
}
};
Loading

0 comments on commit c7d24f3

Please sign in to comment.