Author : Olivier Langlois Here is the list of files that have been modified (from beta11 r.20) to support Borland C++ compiler v4.52 and above : types.h def.h graph2d.h cseventq.h csinput.h csvector.h system.h win32.h archive.h csrect.h graph2d.h trigger.h texture.h command.h wirefrm.h archive.cpp bsp.cpp camera.cpp command.cpp csendian.cpp csinput.cpp csloader.cpp csobject.cpp csrect.cpp csscript.cpp csvector.cpp csview.cpp d3dcache.cpp dynlight.cpp fltlight.cpp fonts.cpp def_sys/fopen.cpp win32/fopen.cpp g3d_d3d.cpp gifimage.cpp graph2d.cpp graph3d.cpp hicache.cpp image.cpp inifile.cpp intscri.cpp light.cpp lightmap.cpp math2d.cpp math3d.cpp parser.cpp physics.cpp polyclip.cpp polygon.cpp polyplan.cpp polyset.cpp polytext.cpp primscri.cpp def_sys/printf.cpp win32/printf.cpp scan.cpp scan16.cpp sector.cpp system.cpp tcache.cpp tcache16.cpp textrans.cpp texture.cpp thing.cpp thingtpl.cpp timing.cpp token.cpp util.cpp win32.cpp wirefrm.cpp world.cpp Most of the modified cpp nodes only have this small addition: #include "util/def.h" #include "util/types.h" #include "geometry/math3d.h" #include "engine/basic/csrect.h" #include "render/graph2d.h" More important changes have been done in system.* and win32.*. A small modification in tcache*.cpp was also needed to work around an internal compiler bug. In texture.cpp, I had to move things around to eleminate an unexpected termination during compilation but nothing else have been changed(excluding header files inclusion). Part of the solution have been to modify r = p[*bm].red + p[*(bm+1)].red + p[*(bm+2)].red + p[*(bm+3)].red + p[*(bm+w)].red + p[*(bm+w+1)].red + p[*(bm+w+2)].red + p[*(bm+w+3)].red + p[*(bm+w+w)].red + p[*(bm+w+w+1)].red + p[*(bm+w+w+2)].red + p[*(bm+w+w+3)].red + p[*(bm+w+w+w)].red + p[*(bm+w+w+w+1)].red + p[*(bm+w+w+w+2)].red + p[*(bm+w+w+w+3)].red; g = p[*bm].green + p[*(bm+1)].green + p[*(bm+2)].green + p[*(bm+3)].green + p[*(bm+w)].green + p[*(bm+w+1)].green + p[*(bm+w+2)].green + p[*(bm+w+3)].green + p[*(bm+w+w)].green + p[*(bm+w+w+1)].green + p[*(bm+w+w+2)].green + p[*(bm+w+w+3)].green + p[*(bm+w+w+w)].green + p[*(bm+w+w+w+1)].green + p[*(bm+w+w+w+2)].green + p[*(bm+w+w+w+3)].green; b = p[*bm].blue + p[*(bm+1)].blue + p[*(bm+2)].blue + p[*(bm+3)].blue + p[*(bm+w)].blue + p[*(bm+w+1)].blue + p[*(bm+w+2)].blue + p[*(bm+w+3)].blue + p[*(bm+w+w)].blue + p[*(bm+w+w+1)].blue + p[*(bm+w+w+2)].blue + p[*(bm+w+w+3)].blue + p[*(bm+w+w+w)].blue + p[*(bm+w+w+w+1)].blue + p[*(bm+w+w+w+2)].blue + p[*(bm+w+w+w+3)].blue; to r = p[*bm].red + p[*(bm+1)].red + p[*(bm+2)].red + p[*(bm+3)].red + p[*(bm+w)].red + p[*(bm+w+1)].red + p[*(bm+w+2)].red + p[*(bm+w+3)].red + p[*(bm+w+w)].red + p[*(bm+w+w+1)].red + p[*(bm+w+w+2)].red + p[*(bm+w+w+3)].red + p[*(bm+3*w)].red + p[*(bm+3*w+1)].red + p[*(bm+3*w+2)].red + p[*(bm+3*w+3)].red; g = p[*bm].green + p[*(bm+1)].green + p[*(bm+2)].green + p[*(bm+3)].green + p[*(bm+w)].green + p[*(bm+w+1)].green + p[*(bm+w+2)].green + p[*(bm+w+3)].green + p[*(bm+w+w)].green + p[*(bm+w+w+1)].green + p[*(bm+w+w+2)].green + p[*(bm+w+w+3)].green + p[*(bm+3*w)].green + p[*(bm+3*w+1)].green + p[*(bm+3*w+2)].green + p[*(bm+3*w+3)].green; b = p[*bm].blue + p[*(bm+1)].blue + p[*(bm+2)].blue + p[*(bm+3)].blue + p[*(bm+w)].blue + p[*(bm+w+1)].blue + p[*(bm+w+2)].blue + p[*(bm+w+3)].blue + p[*(bm+w+w)].blue + p[*(bm+w+w+1)].blue + p[*(bm+w+w+2)].blue + p[*(bm+w+w+3)].blue + p[*(bm+3*w)].blue + p[*(bm+3*w+1)].blue + p[*(bm+3*w+2)].blue + p[*(bm+3*w+3)].blue; in function TextureMM::create_mipmap_bitmap_global Changed DirectDetection.* name to dirdetec.*