Introduction

The sourcecode to the game DLL's that ship with DLL extendable games will most likely be written in C.  So, most people who are just going to modify the existing code to make their patches are going to have to learn C.   I'm going to be totally up front here - If you haven't done any C programming you're going to have a very tough time getting your foot in the door, and that is precisely why Inside3D exists.  C is a powerfull, cryptic, hard-to-learn and often misused programming language (I like to think of C as "the programming community's latin"), and we are here to help you learn how to use it well to write game mods.

You can also write mods for DLL extended games (Quake2 etc...) with other languages like C++ and Delphi.  These languages will offer alot of power to more advanced mods.  Most of the tutorials here on Inside3D will be in C, though, because they will focus only on modifying certain aspects of gamex86.dll.   There will most certainly, however, be tutorials with other languages such as C++ and Delphi.

Getting a compiler

You will need a compiler capable of generating a Win32 DLL in order to write Quake2 mods.  There are a good many free C and C/C++ compilers available on the internet - check out the compiler lists for a list of known (to me) C and C/C++ compilers.  Delphi is a proprietary language developed by Borland Intl., so you'll have to buy Delphi (currently version 2 or 3) from Borland or at your local software store.

Learning the language

For the most part, Inside3D will not contain any general C, C++, or Delphi tutorials aimed directly at teaching you the language.   There are a couple of reasons for this: it would take alot of of time to produce a decent overview of any of these languages; I don't know how to teach someone these languages because I was never taught to program in one of these languages; and lastly there are already alot of good tutorials for learning them on the net.  Check out the Learning page for a good list of comprehensive online C, C++, and/or Delphi tutorials I find.  If you know of any good comprehensive tutorials on these languages, let me know.

An outline of Inside3D's DLL Central
line.jpg (990 bytes)

DLL Central is the part of Inside3D that focuses on explaining how to write DLLs. The information here does not pertain to any specific game (Quake2, Unreal, etc...), but rather will help you understand how to write DLL's in general. DLL Central contains a couple sections that focus on specific topics:

Learning the language
This section contains a list of online tutorials that teach you how to program in C, C++, or Delphi.  All tutorials listed here are not part of Inside3D.
DLL Primer
The DLL primer attempts to explain exactly what a DLL is, what it does, and why it does what it does. It is written for those who have no experience whatsoever in Win32 programming.
 
A DLL in C
This section is a mini tutorial that shows how to write a minimal Win32 DLL in ANSI C.
A DLL in Delphi
This section is a mini tutorial that shows how to write a minimal Win32 DLL in Delphi.
Compilers
This section contains a list of compilers on the market, and a tutorial for each showing how to compile a DLL.

Note: There is no list of Delphi compilers because Delphi is made by Borland specifically.