> 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

