Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // IPL: interior occluders
- void IPLsectionLimits::SetInteriorOccluders(int iInteriorOccluders)
- {
- // CPatch::EnableDebugMode();
- if (CPatch::IsDebugModeActive())
- iInteriorOccluders = 40;
- else if (iInteriorOccluders > 40)
- COcclusion__aInteriorOccluders = new tOcclusionBox[iInteriorOccluders];
- InteriorOccludersLimit = iInteriorOccluders;
- // Patch references to COcclusion::aInteriorOccluders
- #if TRUE
- CPatch::PatchPointer(0x71DF8C + 3, COcclusion__aInteriorOccluders); // mov word ptr ds:_ZN10COcclusion18aInteriorOccludersE.midX[esi], ax; COcclusion::aInteriorOccluders
- CPatch::PatchPointer(0x71DFA2 + 3, &COcclusion__aInteriorOccluders->midY); // mov ds:_ZN10COcclusion18aInteriorOccludersE.midY[esi], ax
- CPatch::PatchPointer(0x71DFB2 + 3, &COcclusion__aInteriorOccluders->midZ); // mov ds:_ZN10COcclusion18aInteriorOccludersE.midZ[esi], ax
- CPatch::PatchPointer(0x71DFC8 + 3, &COcclusion__aInteriorOccluders->widthY); // mov ds:_ZN10COcclusion18aInteriorOccludersE.widthY[esi], ax
- CPatch::PatchPointer(0x71DFDE + 3, &COcclusion__aInteriorOccluders->widthX); // mov ds:_ZN10COcclusion18aInteriorOccludersE.widthX[esi], ax
- CPatch::PatchPointer(0x71DFFA + 3, &COcclusion__aInteriorOccluders->height); // mov ds:_ZN10COcclusion18aInteriorOccludersE.height[esi], ax
- CPatch::PatchPointer(0x71E010 + 2, &COcclusion__aInteriorOccluders->rotation3); // mov ds:_ZN10COcclusion18aInteriorOccludersE.rotation3[esi], al
- CPatch::PatchPointer(0x71E025 + 2, &COcclusion__aInteriorOccluders->rotation2); // mov ds:_ZN10COcclusion18aInteriorOccludersE.rotation2[esi], al
- CPatch::PatchPointer(0x71E031 + 2, &COcclusion__aInteriorOccluders->rotation); // mov ds:_ZN10COcclusion18aInteriorOccludersE.rotation[esi], al
- CPatch::PatchPointer(0x7203FE + 1, COcclusion__aInteriorOccluders); // mov ebx, offset _ZN10COcclusion18aInteriorOccludersE; COcclusion::aInteriorOccluders
- #endif
- CGenericLogStorage::SaveFormattedTextLn("Modified limit of IPL:interior occluders to: %d", InteriorOccludersLimit);
- CGenericLogStorage::WriteLineSeparator();
- CPatch::DisableDebugMode();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement