Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #ifndef _D2PATCH_H
- #define _D2PATCH_H
- #include "D2PatchConst.h"
- DWORD calculateRelativeOffsetD2Common(DWORD offset) {
- return offset - 0x6F600000;
- }
- DWORD calculateRelativeOffsetD2Client(DWORD offset) {
- return offset - 0x6FAA0000;
- }
- const char* filePath = "./D2Mod.ini";
- int iniValue = GetPrivateProfileIntA("LightRadius", "radius", 0x00, filePath);
- BYTE lightRadius = static_cast<BYTE>(iniValue & 0xFF);
- static const DLLPatchStrc gptTemplatePatches[] =
- {
- // 1st set
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4293), (DWORD)0xFD83, FALSE,0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4295), (DWORD)lightRadius, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4296), (DWORD)0x057C, FALSE, 0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4298), (DWORD)0xBD, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4299), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA429A), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA429B), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA429C), (DWORD)lightRadius, FALSE, 0x1},
- // 2nd set
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A4), (DWORD)0xFA83, FALSE,0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A6), (DWORD)lightRadius, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A7), (DWORD)0x057C, FALSE, 0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A9), (DWORD)0xBA, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AA), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AB), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AC), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AD), (DWORD)lightRadius, FALSE, 0x1},
- // 3rd set
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43E7), (DWORD)0xFA83, FALSE,0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43E9), (DWORD)lightRadius, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EA), (DWORD)0x057C, FALSE, 0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EC), (DWORD)0xBA, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43ED), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EE), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EF), (DWORD)0x00, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43F0), (DWORD)lightRadius, FALSE, 0x1},
- // 4th set
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4413), (DWORD)0xFA83, FALSE,0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4415), (DWORD)lightRadius, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4416), (DWORD)0x057C, FALSE, 0},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4418), (DWORD)0xBA, FALSE, 0x1},
- { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4419), (DWORD)lightRadius, FALSE, 0},
- //{ D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB489A0), (DWORD)0x1F6A, FALSE, 0},
- //{ D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FACCC9C), (DWORD)0xB8, FALSE, 0x1},
- //{ D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FACCC9D), (DWORD)0x0000001F, FALSE, 0},
- {D2DLL_INVALID}
- };
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement