This is the source code of DukeViewer: https://www.dropbox.com/s/lsfexp3gus...r_src.zip?dl=0
The source code is propably incomplete, but the main Loader functions, as well as the base of the rendering engine are there.
As far as I can remember, it uses some custom components (not critical). The point of interest is function GetDuke3DMapData() at Duke3DUtils.pas. This function reads a map and feeds the 3d Engine with data (polygons). The texture reading is at TD3DScene.CacheDuke3DTextures() function inside surfaces.pas.
Bookmarks