Dobrý den,
po slouhé době se na vás obracím s žádostí o pomoc..
Problém je následujicí..
Má aplikace - exe a dll dedikovaného serveru jedné hry má "problém" s časováním..
v aplikaci i dll jsem původní prastarý "GetTime()" nahradil novým systémem co používá "::QueryPerformanceCounter()", což vyřešilo drtivou většinu problémů s časem, například na serveru kde je 64bit OS neběží čas odpočítávání 10x rychleji, než by měl..
To je fajn, ale teď jsem narazil na problém s rychlostí projektilů, zkoušel jsem nový timer použít v celém projektu, bohužel to nepomohlo, a vývojář, který se před lety věnoval tomu samému, mi řekl že problém s v server.dll .. BOHUŽEL od server.dll neexistují zdrojové kódy, mám jen už vykompilovaný server.dll a server.lib v projektech aby šel zbytek přeložit..
Moje otázka zní:
1 - je možné nějakým způsobem upravit již zkompilovaný server.dll a nahradit tu starou funkci GetTime() její novější verzí? Pokud ano.. Jak? (vím, že by to nejspíš mělo jít v diassembleru, ale já strojovému kódu absolutně nerozumím a nemám tucha co s tím..)
2 - pokud nelze už přeložené DLL změnit, nebo by to bylo natolik komplikované, že to prostě nestojí za tu námahu.. Existuje způsob, jak třeba do toho procesu za běhu z nadřazené exe aplikace ten nový timer injektovat? Na úrovni paměti..
Budu vděčný za jakoukoliv pomoc, nebo radu.