====== Bits and pieces of source code ====== This page lists the small amount of code from the L3DT source that I've released over the years in response to user requests. ===== The code ===== ==== Plugins ==== * [[zeolite:downloads:examples|Click here]] for a list of source code for example plugins. ==== File input and output ==== * {{l3dt:code:loadhff.cpp.txt}} --- C++ example code for loading an L3DT [[l3dt:formats:specs:hff|heightfield file]] (.hff). * [[:LibHFZ]] --- A free C++ library for loading/saving [[l3dt:formats:specs:hf2|HF2/HFZ]] compressed heightfield files. ==== L3DTVi2 (old 3D-viewer) ==== * Complete Delphi/GLScene source-code is [[http://www.bundysoft.com/L3DT/downloads/3rdparty/L3DTVi2.zip|available here]]. This source was released into the public domain by its author, Stuart Gooding. ===== External libraries ===== L3DT uses a number of free libraries and bits of code to do some dirty-work, including loading and saving images, various user-interface things, and the odd bit of encryption. See the [[l3dt:code:lib|list of libraries used by L3DT]] for links to the relevant projects. ===== Which languages are used? ===== * L3DT is written entirely in object-oriented C++ using the Microsoft Foundation Classes (MFC). * All official plugins were also written in C++, using the [[:zeolite|Zeolite plugin API]]. * The [[bundywiki>plugins:sapphire|Sapphire]] 3D renderer/editor plugin was written in C++ using Zeolite and the [[http://www.opengl.org/|OpenGL graphics library]]. * [[:l3dtvi2|L3DTVi2]] was written in Delphi (v7.0) using the [[http://www.glscene.org|GLScene library]]. ===== Requesting code ===== I will consider requests for code to improve compatibility with other programs, and also for fairly-simple 'how did you do //x//?' problems. Please address such queries to [[mailto:aaron@bundysoft.com|aaron@bundysoft.com]].