Advertisement
atirjavid

Patch For 1.10 D2Template LightRadius

Apr 19th, 2024
550
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.75 KB | Source Code | 0 0
  1. #pragma once
  2.  
  3. #ifndef _D2PATCH_H
  4. #define _D2PATCH_H
  5.  
  6. #include "D2PatchConst.h"
  7.  
  8. DWORD calculateRelativeOffsetD2Common(DWORD offset) {
  9.     return offset - 0x6F600000;
  10. }
  11.  
  12. DWORD calculateRelativeOffsetD2Client(DWORD offset) {
  13.     return offset - 0x6FAA0000;
  14. }
  15.  
  16. const char* filePath = "./D2Mod.ini";
  17. int iniValue = GetPrivateProfileIntA("LightRadius", "radius", 0x00, filePath);
  18.  
  19. BYTE lightRadius = static_cast<BYTE>(iniValue & 0xFF);
  20.  
  21. static const DLLPatchStrc gptTemplatePatches[] =
  22. {
  23.         // 1st set
  24.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4293), (DWORD)0xFD83, FALSE,0},
  25.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4295), (DWORD)lightRadius, FALSE, 0x1},
  26.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4296), (DWORD)0x057C, FALSE, 0},
  27.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4298), (DWORD)0xBD, FALSE, 0x1},
  28.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4299), (DWORD)0x00, FALSE, 0x1},
  29.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA429A), (DWORD)0x00, FALSE, 0x1},
  30.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA429B), (DWORD)0x00, FALSE, 0x1},
  31.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA429C), (DWORD)lightRadius, FALSE, 0x1},
  32.        
  33.        
  34.         // 2nd set
  35.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A4), (DWORD)0xFA83, FALSE,0},
  36.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A6), (DWORD)lightRadius, FALSE, 0x1},
  37.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A7), (DWORD)0x057C, FALSE, 0},
  38.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43A9), (DWORD)0xBA, FALSE, 0x1},
  39.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AA), (DWORD)0x00, FALSE, 0x1},
  40.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AB), (DWORD)0x00, FALSE, 0x1},
  41.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AC), (DWORD)0x00, FALSE, 0x1},
  42.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43AD), (DWORD)lightRadius, FALSE, 0x1},
  43.  
  44.  
  45.         // 3rd set
  46.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43E7), (DWORD)0xFA83, FALSE,0},
  47.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43E9), (DWORD)lightRadius, FALSE, 0x1},
  48.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EA), (DWORD)0x057C, FALSE, 0},
  49.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EC), (DWORD)0xBA, FALSE, 0x1},
  50.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43ED), (DWORD)0x00, FALSE, 0x1},
  51.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EE), (DWORD)0x00, FALSE, 0x1},
  52.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43EF), (DWORD)0x00, FALSE, 0x1},
  53.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA43F0), (DWORD)lightRadius, FALSE, 0x1},
  54.  
  55.         // 4th set
  56.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4413), (DWORD)0xFA83, FALSE,0},
  57.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4415), (DWORD)lightRadius, FALSE, 0x1},
  58.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4416), (DWORD)0x057C, FALSE, 0},
  59.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4418), (DWORD)0xBA, FALSE, 0x1},
  60.         { D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FAA4419), (DWORD)lightRadius, FALSE, 0},
  61.  
  62.         //{ D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FB489A0), (DWORD)0x1F6A, FALSE, 0},
  63.         //{ D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FACCC9C), (DWORD)0xB8, FALSE, 0x1},
  64.         //{ D2DLL_D2CLIENT, calculateRelativeOffsetD2Client(0x6FACCC9D), (DWORD)0x0000001F, FALSE, 0},
  65.  
  66.         {D2DLL_INVALID}
  67. };
  68. #endif
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement