-
PristonSQLDLL.dll
Why is this DLL for? I heard you guys discussing once about rewriting this dll. I went to check this dll in OD, but every function of this dll that server.exe uses, leads to always the same block of codes:
MOV EAX,1
RET
Which can be easily translated to
return 1; or return true (function executed with success) to me...
-
-
Account Upgraded | Title Enabled!
Re: PristonSQLDLL.dll
PristonSQLDll2.dll
contain some interesting informations:
For PristonTale Official Private Server's made by shirazkhan_172@hotmail.com
Maybe person from mail know more. If nobody messed date than PristonSQLDll.dll is dated on year 2002.
My guess this was used same way as SQL.dll and later on left because of some compatibility issues.
; Exported entry 1. ?SQLAddCharProcess@@YAHPAD0@Z
; Exported entry 2. ?SQLDelCharProcess@@YAHPAD0@Z
; Exported entry 3. ?SQLLoginProcess@@YAHPAD@Z
; Exported entry 4. ?SQLLogoutProcess@@YAHPAD000KH@Z
So its younger brother of SQL.dll that was used on pre AOR/pre MORION server?
-
Re: PristonSQLDLL.dll
My guess was that PristonSQLDll.dll was the Triglow/Yedang SQL interface, and that the Chinese devs couldn't make it work, or didn't like the way it worked, and added SQL.dll and Clan.dll as an alternative.
Because of name mangling, you can see the parameters each function is supposed to take, and write a DLL that will return something more interesting than "true". XD The server seems to use such information, if the DLL presents it. However, the code which implements SQL.dll and Clan.dll doesn't look like it was produced by MSVC7.1 (as the rest of the server is) to me... or it is written very strangely. (for example, it could be in-line assembler or an included .lib which was built with another compiler)
It's one of the major reasons I hoped to find a server with less Chinese fixes. I can't say for sure if Vormavs' theory or mine is more accurate, or that there isn't some other explanation. But it certainly is strange that the PT Server has so many ways of accessing it's database.
ODBC (built in) is overridden by PristonSQLDLL.dll (IMS) if it provides useful info, which is overridden by SQL.dll if it can be loaded and contains the correct entry points. The ones we use contain all those and many the the server doesn't use at all.
It's implemented very much the way configurations are loaded from hotuk.ini, lData.bmp, Registry, ptregex.rgx each replacing what was read from the previous... except that strange late-load for SQL.dll and Clan.dll.