Game Development Community

Lighting Pack version 1.1.5 Q&A

by John Kabus (BobTheCBuilder) · in · 08/21/2004 (5:33 pm) · 125 replies

Hello Garage Gamers!

Welcome to the Synapse Gaming Lighting Pack general discussion forum!

I've created this thread to answer your questions about the Lighting Pack. If you have any questions feel free to ask and I'll do my best to answer them!

-John Kabus
Synapse Gaming
#21
08/30/2004 (12:05 pm)
Hi, John,

First... thank you for providing those steps above. They will be *most* helpful in getting the lighting pack setup for me as well, as I am not a programmer, but am very eager to use your lighting pack to get a better idea of and more control over how scenes I design will look...

However, there are a couple steps that will throw me off as I am not using VC6, but rather MinGW and MSys to compile Torque from the CVS...

Quote:
-Add the Lighting Pack's '*.cc' files to your VC6 project - they're located in the 'synapseGaming/contentPacks/lightingPack' folder.
-Open your VC6 project and compile TGE.

How would I go about handling the above two steps without having VC6? I believe it involves adding a reference to them in a file somewhere, but I don't know what file...

Edit: I've gotten everything but this step complete.. Now.. I know I need to manually add references to those CC files to something to make sure they're included (or "linked" I think is the term?) at compile time. What's holding me up, though is that I went through the folders and can't remember which file it is I need to modify...

Can someone help point me in the right direction of which file I need to modify in order to make sure those cc files are included and this thing compiles correctly?

Also, is there a specific way I have to reference them.. or do I have to have the files in a certain folder to make sure they can be found, etc?

Thank you in advance for any additional assistance with this!

Regards,
Mike
#22
08/31/2004 (9:42 am)
John,

Any idea if the lighting effects work with 3ds files once imported using the code posted Here?

Thanks,
Bill
#23
08/31/2004 (2:20 pm)
Update...

Okay.. I followed the instructions in the PDF file that came with the lighting pack to get everything else set, and it started compiling.. but after a bit, I get the following:

Creating library out.GCC3.DEBUG/lungif_DEBUG.a
targets.torque.mk:498: *** commands commence before first target. Stop.
MAKE: *** [default] Error 2

And it drops me to a prompt again.

This happens when I configure it for GCC2 as well, and I never see that happen when I'm compiling the unmodified code for Torque.. So, I'm putting my money on me messing something up when I was setting up the files, etc, for the lighting pack..

Can anyone help shed some light on this perhaps? Thanks!

Mike
#24
09/01/2004 (4:57 am)
Bill,

Several people say they've got it working, but I haven't verified it myself. Definitely let us know if you get it working.


Michael,

Double check the changes you've made to the make files, sounds like something when wrong.


-John
#25
09/01/2004 (10:02 pm)
Hi John..

At your recommendation, I went back through all the changes you go over for GCC users and did notice that I hadn't added that -p to the MKDIR sections. Everything else is as you explain it.. or at least as best as I understood it.

But, I'm still getting the identical error message as above.
Creating library out.GCC3.DEBUG/lungif_DEBUG.a
targets.torque.mk:498: *** commands commence before first target. Stop.
MAKE: *** [default] Error 2

Are there any portions of it you think would be most likely to trip someone up... especially with little to zero programming experience or dealing with make files, etc. etc?

Thanks!
Mike
#26
09/02/2004 (7:52 am)
Hello, I was tryin' to figure out if I could get some stats about exactly how much it affects performance? Baseline with TGE's Stronghold mission, compared with the new lighting packs speed. Has anyone attempted to figure it out? I would be very interested in seein' the results on PC, Mac, and Linux.

[edit]
Also meant to ask about those mission lights that can uniformly light up multible interiors, are they baked in? Or dynamic?
[/edit]

- Tim
#27
09/02/2004 (11:08 am)
Hi Tim,

The mission lights can be dynamic or static (baked).

I recommend downloading the Lighting Pack and TGE demos, you can get a feel for the mission lights and compare the performance.

-John
#28
09/02/2004 (11:16 am)
Mike,

Email me your 'targets.torque.mk' file.

-John
#29
09/02/2004 (9:42 pm)
On PC, the performance is excellent... but I unfortunately don't have access to a mac, and don't have a linux partition set up, so I would still like to know if anyone with either of those have used it with success.

As for the mission lights, I played with 'em and am impressed.... one thing I didn't see, but not sure if I'm just not lookin' the right
spot... do you have any support for pulsating lights? Any plans for it in the future?

- Tim
#30
09/03/2004 (2:05 pm)
Tim,

Mission lights are derived from fxLight and can perform all of the functions fxLight performs, however animated fx like moving and color changing only work with dynamic mission lights. As I mentioned before the existing TGE lights also benefit from the Lighting Pack's enhanced lighting, so you can also use a pulsating map entity light.

-John
#31
09/04/2004 (6:29 pm)
I'm having a problem getting map2dif to link. I'm using a clean release 1.2.2 and applied the patch per the instructions. The demo app compiles and run fine (and looks great! :)). However I can't seem to get map2dif to link.
Linking...
sgUniversalStaticLight.obj : error LNK2001: unresolved external symbol "public: static class AbstractClassRep * __cdecl fxLightData::getStaticClassRep(void)" (?getStaticClassRep@fxLightData@@SAPAVAbstractClassRep@@XZ)
sgUniversalStaticLight.obj : error LNK2001: unresolved external symbol "public: static class AbstractClassRep * __cdecl fxLight::getStaticClassRep(void)" (?getStaticClassRep@fxLight@@SAPAVAbstractClassRep@@XZ)
sgUniversalStaticLight.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall fxLightData::onAdd(void)" (?onAdd@fxLightData@@UAE_NXZ)

../tools/map2dif.exe : fatal error LNK1120: 23 unresolved externals
Error executing link.exe.

map2dif.exe - 24 error(s), 0 warning(s)


I know "why" the link is failing, unfortunately I can't figure out "how" to fix it. :)

Can anyone help?
#32
09/04/2004 (7:08 pm)
Ack! It appears I should learn to read. I neglected to add game/fx/fxlight.cc and collision/polyconcrete.cc to the map2dif project (even though the docs instructed me to do so *sigh*).

So, never mind then, it compiles just fine when you follow the instructions. :)
#33
09/09/2004 (6:35 pm)
Hello, John..

Ack.. Okay, I'll have to re-set the whole thing. I wanted to start again from a fresh CVS setup. Been dealing with Frances down here so I haven't been able to sit down to do it again...

I'll go through it again and send you the file you requested if it doesn't work.

Thanks :-)

Mike
#34
09/20/2004 (11:06 am)
I'm having trouble with the patch. version_1_2_2.patch I am screwing up the syntax on the command line. Can someone go over this.

My path for Gnu Win 32 is:

D:\Program Files\GNU\WinCvs 1.3

Torque is :

D:\SB\torque


What would be the exact syntax to execute the patch?

Thanks,
Coz
#35
09/20/2004 (4:02 pm)
Hi Michael,

Are you sure that WinCvs 1.3 comes with an external patch program? You can check the WinCvs directory to make sure. If not you can get patch from this tool kit.

When you find patch here's what you want to do:

-Make sure you have a clean TGE version 1.2.2.
-Copy the 'release_1_2_2.patch' patch file into your TGE directory ('D:\SB\torque').
-Open the command prompt and navigate to 'D:\SB\torque'.
-Then execute the command:

"\patch.exe" -p0 --binary < release_1_2_2.patch

Keep an eye on the progress. If you're not using the volume light resource you'll receive two errors stating that patch cannot find the volLight.* files, which is fine. If you receive any other errors let me know.

-John
#36
09/20/2004 (6:51 pm)
Thanks John it was not having the patch program. I forgot about it since doing a system rebuild and upgrading from 1.2 to 1.3. ;)


Coz
#37
09/25/2004 (4:38 pm)
@ john: I tried your advice and worked from a clean copy of 1.2.2. these are the errors I got:

sceneLighting.cc
h:\synapsegaming\contentpacks\lightingpack\sgscenelightinginsert.h(375) : error C2039: 'getLightMapBorderSize' : is not a member of 'Interior'
        h:\torque\engine\interior\interior.h(151) : see declaration of 'Interior'
h:\synapsegaming\contentpacks\lightingpack\sgscenelightinginsert.h(424) : error C2039: 'getLightMapBorderSize' : is not a member of 'Interior'
        h:\torque\engine\interior\interior.h(151) : see declaration of 'Interior'
h:\torque\engine\scenegraph\scenelighting.cc(2266) : error C2084: function 'void __thiscall SceneLighting::TerrainProxy::light(class LightInfo *)' already has a body

sgNewMethods.cc
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(119) : error C2039: 'getLightMapBorderSize' : is not a member of 'Interior'
        h:\torque\engine\interior\interior.h(151) : see declaration of 'Interior'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(438) : error C2039: 'sgSelfIlluminationColor' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(439) : error C2039: 'sgCollectSelfIlluminationColor' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(443) : error C2039: 'sgSelfIlluminationColor' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(444) : error C2039: 'sgCollectSelfIlluminationColor' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
#38
09/25/2004 (4:40 pm)
And here's the rest (had to split it up)

h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(447) : error C2039: 'sgAdaptiveSelfIllumination' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(470) : error C2039: 'sgAdaptiveSelfIllumination' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(483) : error C2039: 'sgDynamicDTSVectorLighting' : is not a member of 'LightManager'
        h:\torque\engine\scenegraph\lightmanager.h(66) : see declaration of 'LightManager'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(483) : error C2065: 'sgDynamicDTSVectorLighting' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(572) : error C2039: 'sgRenderLights' : is not a member of 'Interior'
        h:\torque\engine\interior\interior.h(151) : see declaration of 'Interior'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(589) : error C2065: 'mLightFalloff' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(589) : error C2227: left of '->getGLName' must point to class/struct/union
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(621) : error C2227: left of '->getGLName' must point to class/struct/union
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(634) : error C2143: syntax error : missing ';' before '&'
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(634) : error C2734: 'Surface' : const object must be initialized if not extern
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(634) : error C2065: 'rSurface' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(634) : error C2065: 'mSurfaces' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(634) : error C2109: subscript requires array or pointer type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(634) : error C2440: '=' : cannot convert from 'int' to 'int *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(636) : error C2065: 'mMaterialList' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(636) : error C2227: left of '->getMaterial' must point to class/struct/union
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(636) : error C2228: left of '.textureIndex' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(636) : error C2228: left of '.getGLName' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(645) : error C2065: 'mTexGenEQs' : undeclared identifier
#39
09/25/2004 (4:41 pm)
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(645) : error C2228: left of '.texGenIndex' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(647) : error C2065: 'getPlane' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(647) : error C2228: left of '.planeIndex' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(647) : error C2440: 'initializing' : cannot convert from 'int' to 'const class PlaneF &'
        Reason: cannot convert from 'int' to 'const class PlaneF'
        No constructor could take the source type, or constructor overload resolution was ambiguous
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(652) : error C2228: left of '.planeIndex' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(679) : error C2228: left of '.windingStart' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(679) : error C2228: left of '.windingStart' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(679) : error C2228: left of '.windingCount' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(681) : error C2065: 'mPoints' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(681) : error C2065: 'mWindings' : undeclared identifier
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(681) : error C2109: subscript requires array or pointer type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(681) : error C2109: subscript requires array or pointer type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(681) : error C2228: left of '.point' must have class/struct/union type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(688) : error C2109: subscript requires array or pointer type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(688) : error C2109: subscript requires array or pointer type
h:\synapsegaming\contentpacks\lightingpack\sgnewmethods.cc(688) : error C2228: left of '.point' must have class/struct/union type
sgUniversalStaticLight.cc
Error executing cl.exe.

torqueDemo_DEBUG.exe - 43 error(s), 0 warning(s)

what is wrong?

-Barzahd

note: These posting length limitations suck!
#40
09/25/2004 (7:21 pm)
Did you receive any errors during the patch? It looks like all of the patch changes failed to apply.