I've looked at the IPLog code again and I'm in the process of trying it out now. I am not promising to definitely add it. If it makes a mess, or breaks anything else in the engine, or doesn't convert to C++ reasonably cleanly, or has dependencies on DLLs, I will not add it.
One of the main problems is that the ProQuake code I'm using for reference doesn't compile clean. Specific example: there is an iplog_t structure that the whole thing depends on. This structure is defined in a file called "iplog.h". This file is not included anywhere in ProQuake. So none of the source files know what it is. So they shouldn't work.
Why this makes things difficult is that my normal approach with this kind of thing is to run DirectQ in a debugger, run the other engine in a debugger, set breakpoints in the same place in each, and compare what's happening. I can't do that with ProQuake. I've never been able to compile any version of ProQuake.
So while I can certainly test my own implementation and make sure that it seems to work, I have no way of knowing for certain that it really works right.
This is one reason why I hate porting ProQuake features, and why I hate being asked to port ProQuake features, no matter how reasonable the request and no matter how nicely the person asks (and no matter how much I love ProQuake itself!)
One of the main problems is that the ProQuake code I'm using for reference doesn't compile clean. Specific example: there is an iplog_t structure that the whole thing depends on. This structure is defined in a file called "iplog.h". This file is not included anywhere in ProQuake. So none of the source files know what it is. So they shouldn't work.
Why this makes things difficult is that my normal approach with this kind of thing is to run DirectQ in a debugger, run the other engine in a debugger, set breakpoints in the same place in each, and compare what's happening. I can't do that with ProQuake. I've never been able to compile any version of ProQuake.
So while I can certainly test my own implementation and make sure that it seems to work, I have no way of knowing for certain that it really works right.
This is one reason why I hate porting ProQuake features, and why I hate being asked to port ProQuake features, no matter how reasonable the request and no matter how nicely the person asks (and no matter how much I love ProQuake itself!)
Comment