but it's all part of that materials system thing. you can define all charicteristics of how something gets drawn, includeing conditional situations like the material getting drawen while in the target box and there being a comand line option (or whatever) set. the whole way HTL was setup was an abstraction inversion, and I've corrected this. all these minor graphical bugs will get slaughtered.
now might be a good time to mention a reorganisation I made, I merged a bunch of seperate API functions into one, it makes things a lot more expandable, as altering the one function is a hell of a lot easier than writeing a whole new one (and altering the seven files involved, and rebuilding EVERYTHING). I have reorganised stuff so that there are principaly two major API functions that handle state changeing. one function handles everything that has to do with global poly rendering (alpha blending, fill mode, lighting, zbuffer settings, anything that can be thought of as a state and a value) and a seperate function that defines a step in the texture cascade (color arguments, opperations, and outputs for both color and alpha, as well as texture wrapping on a step) this one sort of does everything in one call, because I didn't want to leave things to chance (and it all gets chaced by the stateblock code).
so basicly stuff like gr_zbuffer_set, gr_set_cull, gr_zbias, gets handled by gr_set_render_state, with values like Z_READ (glDepthFunc), Z_WRITE (glDepthMask), from what I've seen this won't be much of a chalenge for me to simply move the stuff, for the most part, though there might be one or two sticking points (looks like GL alpha blending won't fit into this, as it does source and destination at the same time) so I haven't removed any of the older functions, but the abstraction was built mainly for glide so changeing the way a few functions work seems like a good idea (alpha blending for example, rather than just haveing a hand full of modes we should have full access to source blend, dest blend, alpha opp, and alpha test, D3D and OGL both opperate more or less the same way, just have slightly diferent ways of calling it)