> I'm interested to know what code is causing problems in Borland & MinGW,
> i.e. is it the function pointers or something else? I'd also be interested
> in knowing if the fix I did for gcc 2.95.3 would allow compilation on these
> compilers ... of course not interested enough to install them and see ;)

As best I can figure from the debugging I've done in util.cpp (in the
CSave::WriteFields function) when the compiler tries to access the value stored
in the m_pfn variables, it's getting 0x00000000 or 0xFFFF0000 instead of the
correct function address.  I've changed the SetThink() from a MACRO to a
function and added debug code there to print out the value being stored in the
m_pfnThink member variable and it seems to print out the correct values if I
use a pointer to an int to access the m_pfnThink data.  If I just print the
value directly, I get the 0x00000000 or 0xFFFF0000 data shown above.  At first
I thought that it was a problem with the static_cast converting from the class
type of the original entity to a CBaseEntity class, but since I can access the
data correct (using a pointer to an int to read m_pfnThink), I don't think that
the compiler isn't storing the function pointer address correctly, it seems
like the compiler can't retrieve the data from the m_pfnThink member variable
correctly.

Once I release the patches I've made, you can try this yourself and maybe you
can find something that I'm missing.

Jeffrey "botman" Broome

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to