This is the first pass
at documenting this port. Let me know if you'd like to see anything
in more detail.
Project directory structure
The directory structure
of the project is modified from the original source release to be more
lcc-win32-friendly:
qs-lcc: c sources
-doc: Docs
about this port.
--origdoc: The gnu licence and other source docs.
-gas2masm:
A separate lcc project for gas2masm.
--lcc: Release directory for gas2masm. Contains gas2masm.exe.
-lcc: Release
directory for glQuake. Contains the glquake.exe.
-lib: Libraries.
See library notes below. Contains opengl32.lib and quakeasm.lib
-libsrc: Library
source.
Libraries
The opengl32.lib (import
library) that comes with lcc does not contain all the imports required
by glQuake. The missing ones were pasted from the opengl.exp file as necessary
and a new opengl32.lib was built. Note that this does not include
all missing openGL imports, so additional imports may be needed if more
opengl features are added.
I put assembly into a
static library for convenience. Steps to create the assembly library:
Create preprocessor
output file: lcc -EP -DGLQUAKE math.s
Remove extra spaces
in output file math.i and rename to .spp
Convert: gas2masm <math.spp
>math.asm
MASMize it: ml /c /Cp
/coff /Zm /Zi math.asm
Make library: lcclib
quakeasm.lib *.obj
Changes from the original released
source
See the Quake Info Pool
for information regarding bug fixes commented with "Maddes".
The changes I made in
the source are commented with "jf". Deletion of unreferenced variables
is an exception to this rule. The following is a search(grep) of
my changes to date to help you find them: |