mirror of
https://github.com/HIllya51/LunaHook.git
synced 2024-10-22 23:18:16 +08:00
Update LightVN.cpp
This commit is contained in:
parent
06e881ede5
commit
622663670b
@ -115,22 +115,26 @@ namespace{
|
|||||||
//包含太多短句,所以无法内嵌
|
//包含太多短句,所以无法内嵌
|
||||||
hp.text_fun=[](hook_stack* stack, HookParam*, uintptr_t* data, uintptr_t* split, size_t* len)
|
hp.text_fun=[](hook_stack* stack, HookParam*, uintptr_t* data, uintptr_t* split, size_t* len)
|
||||||
{
|
{
|
||||||
// v15 = a2[2];
|
|
||||||
// if ( a2[3] >= 8uLL )
|
|
||||||
// a2 = (_QWORD *)*a2;
|
*data=(uintptr_t)((TextUnionW*)stack->rdx)->getText();
|
||||||
auto str=*(std::wstring*)stack->rdx;
|
*len=((TextUnionW*)stack->rdx)->size*2;
|
||||||
|
|
||||||
|
std::wstring str=(wchar_t*)*data;
|
||||||
if(startWith(str,L"\\n")&&endWith(str,L"\\n"))
|
if(startWith(str,L"\\n")&&endWith(str,L"\\n"))
|
||||||
{
|
{
|
||||||
*split=1;
|
*split=1;
|
||||||
}
|
}
|
||||||
|
|
||||||
strReplace(str,L"\\n",L"\n");
|
|
||||||
strReplace(str,L"\n",L"");
|
|
||||||
std::wregex pattern(L"-{2,}");
|
|
||||||
str = std::regex_replace(str, pattern, L"");
|
|
||||||
write_string_new(data,len,str);
|
|
||||||
};
|
};
|
||||||
|
hp.filter_fun=[](LPVOID data, size_t *size, HookParam *)
|
||||||
|
{
|
||||||
|
auto str=std::wstring((wchar_t*)data,*size/2);
|
||||||
|
std::wregex pattern(L"-{2,}");
|
||||||
|
str = std::regex_replace(str, pattern, L"");
|
||||||
|
return write_string_overwrite(data,size,str);
|
||||||
|
};
|
||||||
|
hp.newlineseperator=L"\\n";
|
||||||
return NewHook(hp, "Light.VN.16");
|
return NewHook(hp, "Light.VN.16");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,8 +164,8 @@ namespace{
|
|||||||
hp.text_fun=[](hook_stack* stack, HookParam*, uintptr_t* data, uintptr_t* split, size_t* len)
|
hp.text_fun=[](hook_stack* stack, HookParam*, uintptr_t* data, uintptr_t* split, size_t* len)
|
||||||
{
|
{
|
||||||
//wstring=TextUnionW for msvc c++17
|
//wstring=TextUnionW for msvc c++17
|
||||||
auto str=*(std::wstring*)stack->rdx;
|
*data=(uintptr_t)((TextUnionW*)stack->rdx)->getText();
|
||||||
write_string_new(data,len,str);
|
*len=((TextUnionW*)stack->rdx)->size*2;
|
||||||
};
|
};
|
||||||
succ|= NewHook(hp, "Light.VN.12");
|
succ|= NewHook(hp, "Light.VN.12");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user