mirror of
https://github.com/Ragora/T2-CPP.git
synced 2026-07-16 10:14:33 +00:00
Fixed GetThreadContext and removed a few things
Also added a keyboard buffer character remover, so if you press enter and Tribes 2 doesn't take a character it won't get stuck in an infinite loop.
This commit is contained in:
parent
0da786a426
commit
2ab5c13374
1 changed files with 3 additions and 3 deletions
|
|
@ -40,8 +40,8 @@ DWORD WINAPI WatchDogThread(LPVOID lpParam)
|
||||||
if (!sDogPetted && seconds > 8) // Wait 8 seconds to be safe
|
if (!sDogPetted && seconds > 8) // Wait 8 seconds to be safe
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
Tprintf ("Dog has grabbed the hamburger\n");
|
|
||||||
SuspendThread(mainThread);
|
SuspendThread(mainThread);
|
||||||
|
hamburger.ContextFlags=CONTEXT_FULL; // Make sure to select which parts of the context to dump
|
||||||
GetThreadContext(mainThread, &hamburger); // dog grabs hamburger;
|
GetThreadContext(mainThread, &hamburger); // dog grabs hamburger;
|
||||||
Tprintf ("Dog has grabbed the hamburger again\n");
|
Tprintf ("Dog has grabbed the hamburger again\n");
|
||||||
Tprintf ("Either grab Hamburger back and put dog back on leash, or let dog eat hamburger\n");
|
Tprintf ("Either grab Hamburger back and put dog back on leash, or let dog eat hamburger\n");
|
||||||
|
|
@ -54,6 +54,7 @@ DWORD WINAPI WatchDogThread(LPVOID lpParam)
|
||||||
Sleep(30000);
|
Sleep(30000);
|
||||||
if (_kbhit()) {
|
if (_kbhit()) {
|
||||||
sDogPetted=true;
|
sDogPetted=true;
|
||||||
|
_getch(); // make sure to clean the keyboard buffer
|
||||||
ResumeThread(mainThread);
|
ResumeThread(mainThread);
|
||||||
} else {
|
} else {
|
||||||
CloseHandle(mainThread);
|
CloseHandle(mainThread);
|
||||||
|
|
@ -84,7 +85,7 @@ extern "C"
|
||||||
DWORD errorval = GetLastError();
|
DWORD errorval = GetLastError();
|
||||||
Tprintf ("Error %08X, watchdog is not running properly\n",errorval);
|
Tprintf ("Error %08X, watchdog is not running properly\n",errorval);
|
||||||
}
|
}
|
||||||
OpenThreadToken(thread,TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,false, &token);
|
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&token);
|
||||||
|
|
||||||
LookupPrivilegeValue(NULL,SE_DEBUG_NAME, &debugname);
|
LookupPrivilegeValue(NULL,SE_DEBUG_NAME, &debugname);
|
||||||
tokenpriv.PrivilegeCount = 1;
|
tokenpriv.PrivilegeCount = 1;
|
||||||
|
|
@ -105,4 +106,3 @@ extern "C"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue