How come CreateLight won't return back a light index in my project?
Here's my light creation code:
Relevant object variables SunLight: Array[1..MaxSunLights] of TV_LIGHT;
SunLightIndexesUsed: Array[1..MaxSunLights] of Integer;
TVSunLightIndexes: Array[1..MaxSunLights] of Integer;
SunLightNames: Array[1..MaxSunLights] of String;
LightEngine: TVLightEngine;
Actual codeLightEngine := CoTVLightEngine.Create;
MainRenderWindow.SunLightNames[1] := 'SunLight';
MainRenderWindow.SunLightIndexesUsed[1] := 1; //Container-Index 1 is being used
MainRenderWindow.SunLight[1].Position.X := 1024;
MainRenderWindow.SunLight[1].Position.Y := 512;
MainRenderWindow.SunLight[1].Position.Z := 1024;
MainRenderWindow.SunLight[1].Direction.X := 0;
MainRenderWindow.SunLight[1].Direction.Y := 0;
MainRenderWindow.SunLight[1].Direction.Z := 0;
MainRenderWindow.SunLight[1].Attenuation.X := 0;
MainRenderWindow.SunLight[1].Attenuation.Y := 0;
MainRenderWindow.SunLight[1].Attenuation.Z := 0;
MainRenderWindow.SunLight[1].Ambient.R := 190 / 255;
MainRenderWindow.SunLight[1].Ambient.G := 130 / 255;
MainRenderWindow.SunLight[1].Ambient.B := 0;
MainRenderWindow.SunLight[1].Ambient.A := 1;
MainRenderWindow.SunLight[1].Diffuse.R := 190 / 255;
MainRenderWindow.SunLight[1].Diffuse.G := 130 / 255;
MainRenderWindow.SunLight[1].Diffuse.B := 0;
MainRenderWindow.SunLight[1].Diffuse.A := 1;
MainRenderWindow.SunLight[1].Specular.R := 190 / 255;
MainRenderWindow.SunLight[1].Specular.G := 130 / 255;
MainRenderWindow.SunLight[1].Specular.B := 0;
MainRenderWindow.SunLight[1].Specular.A := 1 / 255;
MainRenderWindow.SunLight[1].Range := 10000;
MainRenderWindow.SunLight[1].Phi := 0;
MainRenderWindow.SunLight[1].Theta := 0;
MainRenderWindow.SunLight[1].fFallOff := 0;
MainRenderWindow.SunLight[1].bManaged := 1;
MainRenderWindow.TVSunLightIndexes[1] := MainRenderWindow.LightEngine.CreateLight(MainRenderWindow.SunLight[1], MainRenderWindow.SunLightNames[1]);
MainRenderWindow.LightEngine.SetLightProperties(MainRenderWindow.TVSunLightIndexes[1], true, true, true);
MainRenderWindow.TVSunLightIndexes[1] always is 0, meaning CreateLight isn't returning a value, and when I look at the debug file, it never mentioned any problems... Any one with any leads I can try to check? I've been looking through my code, and it seems pretty straight-forward but I can't figure out where the cause of the problem is. Is there something that can throw off CreateLight from returning values? If my lightengine object wasn't initialized I would have gotten an "Access Violation" error, and even then I double checked that and the tooltip does show the lightengine object as a pointer. Any help would be greatly appreciated, thanks in advance!
-- StakFallT