Granted, I'm just setting up the lighting and I haven't given the models normal data yet. That said, I'd expect the models to be fine with that; they'd just be black.
I've also enabled the GL_NORMAL_ARRAY client state. Haven't initialised the normal pointer yet, though. Again, I'd expect this to be fine and I'd have unlit models. Could be the cause of the problem, I guess.
One other thing. If I omit that line (the GL_LIGHT0 one, that is), my models are black, as I'd expect. And I can enable any of the other seven lights just fine.
Haven't initialised the normal pointer yet, though. Again, I'd expect this to be fine and I'd have unlit models. Could be the cause of the problem, I guess.
Yeah, that's probably the problem. You should send valid normals and see if that corrects the problem.
EDIT: It's very likely the problem (see link above)
One other thing. If I omit that line (the GL_LIGHT0 one, that is), my models are black, as I'd expect. And I can enable any of the other seven lights just fine.
GL_LIGHT0 is unique in that its diffuse component has a default white color. The other lights default to black. That could explain the different behaviour you have with the other lights.
Note: Final terrain won't actually look like that - it's just a randomised height at the moment as I haven't implemented the correct algorithm yet. The idea was to build the renderer from the ground up first.