I lightmapped my level and then placed the lightmaped model over the original and ghosted it. For some reason it ended up having horrible results. It also made an outline of the alpha on my bilboard planes that are textured with fire. See the attached image. I have used the ghosting technique before with success.
Here's my code that loads the level incase you want to take a look.
set ambient light 50
hide light 0
For I = 40 to 99
Load image "Media/Fire/00"+Str$(I)+".tga", 500+I
NEXT I
For T=1 to 5
Torch(T)=GetFreeObj()
Make object plain Torch(T),2.5,3.5
texture object Torch(T),540
set object transparency Torch(T),1
set object emissive Torch(T),Rgb(255,255,255)
Next T
position object Torch(1),-9.6,7.7,-0.07
position object Torch(2),9.6,7.8,0.03
position object Torch(3),28.8,7.75,-32.7
position object Torch(4),50,7.25,-9.1
position object Torch(5),30.2,7.25,-9.0
L=1
Level(L).Walls=GetFreeObj()
Load object "Media/Dungeon/Dungeon"+Str$(L)+".x",Level(L).Walls
Level(L).Floors=GetFreeObj()
Load object "Media/Dungeon/DungeonFloor"+Str$(L)+".x",Level(L).Floors
Level(L).Props=GetFreeObj()
Load object "Media/Dungeon/DungeonProps"+Str$(L)+".x",Level(L).Props
Level(L).Lightmap=GetFreeObj()
Load object "Media/Dungeon/DungeonL"+Str$(L)+".x",Level(L).Lightmap
X=1
BlendMapObj(Level(X).Walls,20,Image.StoneWall,Image.StoneWallN,0)
Sc_SetupComplexObject Level(X).Walls,Level,2
Sc_AllowObjectScaling Level(X).Walls
Scale object Level(X).Walls,500,500,500
sc_Updateobject Level(X).Walls
BlendMapObj(Level(X).Floors,20,Image.StoneFloor,Image.StoneFloorN,0)
Sc_SetupComplexObject Level(X).Floors,Level,2
Sc_AllowObjectScaling Level(X).Floors
Scale object Level(X).Floors,500,500,500
sc_Updateobject Level(X).Floors
Sc_SetupComplexObject Level(X).Props,Level,2
Sc_AllowObjectScaling Level(X).Props
Scale object Level(X).Props,500,500,500
sc_Updateobject Level(X).Props
Set object light Level(X).Props,0
Scale object Level(X).Lightmap,500,500,500
ghost object on Level(X).Lightmap,1
If it hasn't exploded yet, I haven't touched it.