Initial commit: Complete open-source Decal rebuild
All 5 phases of the open-source Decal rebuild: Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil) Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters - Decal.Core, DecalControls, DecalRender, D3DService Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL Phase 4: DenAgent WinForms tray application Phase 5: WiX installer and build script 25 C# projects building with 0 errors. Native C++ projects require VS 2022 + Windows SDK (x86). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
d1442e3747
1382 changed files with 170725 additions and 0 deletions
104
Native/Inject/HookedFunctions.cpp
Normal file
104
Native/Inject/HookedFunctions.cpp
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
extern void (*pfnOldChatMessage)(char*, unsigned long);
|
||||
extern void (*pfnOldChatText)(void);
|
||||
|
||||
bool DispatchChatMessage ( char *pText, long *pdwColor );
|
||||
bool DispatchChatText ( char *pText );
|
||||
|
||||
void __declspec(naked) OnChatMessage(char* pText, long dwColor)
|
||||
{
|
||||
/* __asm
|
||||
{
|
||||
//int 3
|
||||
|
||||
push ecx
|
||||
push esi
|
||||
|
||||
lea esi, dwColor
|
||||
push esi
|
||||
push pText
|
||||
call DispatchChatMessage
|
||||
|
||||
// Pop the two arguments
|
||||
add esp, 8
|
||||
|
||||
test al, al
|
||||
jz dont_kill_text
|
||||
|
||||
mov esi, pText
|
||||
mov BYTE PTR [esi], 0
|
||||
|
||||
dont_kill_text:
|
||||
pop esi
|
||||
pop ecx
|
||||
|
||||
jmp pfnOldChatMessage
|
||||
}*/
|
||||
|
||||
__asm
|
||||
{
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, 20h
|
||||
push esi
|
||||
|
||||
push ecx
|
||||
|
||||
lea esi, dwColor
|
||||
push esi
|
||||
push pText
|
||||
call DispatchChatMessage
|
||||
|
||||
add esp, 8
|
||||
|
||||
test al, al
|
||||
jz dont_kill_text
|
||||
|
||||
mov DWORD PTR [pText], 0
|
||||
|
||||
dont_kill_text:
|
||||
|
||||
pop ecx
|
||||
|
||||
push dwColor
|
||||
push pText
|
||||
call pfnOldChatMessage
|
||||
|
||||
pop esi
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
retn 8
|
||||
}
|
||||
}
|
||||
|
||||
void __declspec(naked) OnChatText()
|
||||
{
|
||||
__asm
|
||||
{
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
sub esp, 0xC
|
||||
|
||||
call pfnOldChatText
|
||||
|
||||
mov [ebp-4], ecx
|
||||
mov [ebp-8], eax
|
||||
|
||||
push eax
|
||||
|
||||
call DispatchChatText
|
||||
|
||||
mov edx, eax
|
||||
mov ecx, [ebp-4]
|
||||
mov eax, [ebp-8]
|
||||
|
||||
test dl, dl
|
||||
jz dont_eat_chat_text
|
||||
|
||||
mov BYTE PTR [eax], 0
|
||||
|
||||
dont_eat_chat_text:
|
||||
mov esp, ebp
|
||||
pop ebp
|
||||
ret
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue