From Draw::InitLists
Code:
this->model_lists = new GLuint[this->model_data->model_count];
for(j = 0; j < this->model_data->model_count; ++j) {
glNewList(this->model_lists[j], GL_COMPILE);
This looks suspect to me.
glNewList's first paramater is an integer 'name' you pass in to tell it which display list to use. But you're passing in an uninitialized value as far as I can tell. Also my reference implies that you need to use glGenLists to reserve the "names" you want to use for your display lists (And says that it might work if you dont but won't be reliable on all hardware/driver combinations)
Unless I've missed something.