It's beautiful code but it's more simples do that:
Code:
#define ADDR_TEXTURES 0x0119AD20
/*
55 56 57 8B F8 8B F1 75 ?? // luizimloko reference
00476680 /$ 81EC C0040000 SUB ESP,4C0
00476686 |. F605 C8AE1901 >TEST BYTE PTR DS:[119AEC8],1
0047668D |. 55 PUSH EBP
0047668E |. 56 PUSH ESI
0047668F |. 57 PUSH EDI
00476690 |. 8BF8 MOV EDI,EAX
00476692 |. 8BF1 MOV ESI,ECX
00476694 |. 75 11 JNZ SHORT crossfir.004766A7
00476696 |. 830D C8AE1901 >OR DWORD PTR DS:[119AEC8],1
0047669D |. B8 20AD1901 MOV EAX,crossfir.0119AD20 //ADDR_TEXTURE
004766A2 |. E8 79840700 CALL crossfir.004EEB20
004766A7 |> 8B06 MOV EAX,DWORD PTR DS:[ESI]
004766A9 |. 8B50 18 MOV EDX,DWORD PTR DS:[EAX+18]
004766AC |. 8D4C24 58 LEA ECX,DWORD PTR SS:[ESP+58]
004766B0 |. 51 PUSH ECX
004766B1 |. 57 PUSH EDI
*/
class cTextures// Have more textures like Chams,etc..
{
public:
char pad_0000[16]; //0x0000
int32_t FullBright; //0x0010
char pad_0014[144]; //0x0014
int32_t WallHack; //0x00A4
char pad_00A8[16]; //0x00A8
int32_t SeeGhost; //0x00B8
}; //Size: 0x00BC
cTextures *pTexture;
void CALL_FUNCTION()
{
pTexture = (cTextures *)(ADDR_TEXTURES);
if (pTexture != NULL) {
pTexture->FullBright = 6;//Original value is 5
pTexture->WallHack = 0;//Original value is 16777217
pTexture->SeeGhost = 3;//Original value is 5
}
}
What method did you use to create updated class ?
I guess you're using reclass right ?
#31 · edited ·

ty