Skip to content

Commit bf69030

Browse files
authored
hopefully fix normal recalculation for body sliders
1 parent eae9b44 commit bf69030

1 file changed

Lines changed: 10 additions & 16 deletions

File tree

src/GameEventHandler.cpp

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -249,18 +249,12 @@ namespace plugin {
249249
}
250250
}
251251
}
252-
static void (*ApplyMorphsHookBodyNormalsDetour)(void *e, RE::TESObjectREFR *, RE::NiNode *, bool isAttaching,
253-
bool defer) = (void (*)(void *, RE::TESObjectREFR *, RE::NiNode *, bool isAttaching,
254-
bool defer)) 0x0;
255-
static void ApplyMorphsHookBodyNormals(void *morphInterface, RE::TESObjectREFR *refr, RE::NiNode *node, bool isAttaching, bool defer) {
256-
ApplyMorphsHookBodyNormalsDetour(morphInterface, refr, node, isAttaching, defer);
257-
if (node) {
258-
if (node->AsNode()) {
259-
if (auto actor = refr->As<RE::Actor>()) {
260-
if (actor->Is3DLoaded()) {
261-
AddActorToRecalculate(actor);
262-
}
263-
}
252+
static void (*ApplyMorphsHookBodyNormalsDetour)(void *morphInterface, RE::TESObjectREFR *refr, void* arg2, void* arg3) = (void (*)(void *morphInterface, RE::TESObjectREFR *refr, void* arg2, void* arg3)) 0x0;
253+
static void ApplyMorphsHookBodyNormals(void *morphInterface, RE::TESObjectREFR *refr, void* arg2, void* arg3) {
254+
ApplyMorphsHookBodyNormalsDetour(morphInterface, refr, arg2,arg3);
255+
if (auto actor = refr->As<RE::Actor>()) {
256+
if (actor->Is3DLoaded()) {
257+
AddActorToRecalculate(actor);
264258
}
265259
}
266260
}
@@ -310,8 +304,8 @@ namespace plugin {
310304
DetourUpdateThread(GetCurrentThread());
311305
DetourAttach(&(PVOID &) ApplyMorphsHookFaceNormalsDetour, &ApplyMorphsHookFaceNormals);
312306
DetourTransactionCommit();
313-
ApplyMorphsHookBodyNormalsDetour = (void (*)(void *, RE::TESObjectREFR *, RE::NiNode *, bool isAttaching, bool defer))(
314-
(uint64_t) skee64_info.lpBaseOfDll + 0x8460);
307+
ApplyMorphsHookBodyNormalsDetour = (void (*)(void *morphInterface, RE::TESObjectREFR *refr, void *arg2, void *arg3))(
308+
(uint64_t) skee64_info.lpBaseOfDll + 0x73d0);
315309
DetourTransactionBegin();
316310
DetourUpdateThread(GetCurrentThread());
317311
DetourAttach(&(PVOID &) ApplyMorphsHookBodyNormalsDetour, &ApplyMorphsHookBodyNormals);
@@ -343,8 +337,8 @@ namespace plugin {
343337
DetourUpdateThread(GetCurrentThread());
344338
DetourAttach(&(PVOID &) ApplyMorphsHookFaceNormalsDetour, &ApplyMorphsHookFaceNormals);
345339
DetourTransactionCommit();
346-
ApplyMorphsHookBodyNormalsDetour = (void (*)(void *, RE::TESObjectREFR *, RE::NiNode *, bool isAttaching, bool defer))(
347-
(uint64_t) skee64_info.lpBaseOfDll + 0x1cd70);
340+
ApplyMorphsHookBodyNormalsDetour = (void (*)(void *morphInterface, RE::TESObjectREFR *refr, void *arg2, void *arg3))(
341+
(uint64_t) skee64_info.lpBaseOfDll + 0x1b890);
348342
DetourTransactionBegin();
349343
DetourUpdateThread(GetCurrentThread());
350344
DetourAttach(&(PVOID &) ApplyMorphsHookBodyNormalsDetour, &ApplyMorphsHookBodyNormals);

0 commit comments

Comments
 (0)