| 280 | } |
| 281 | |
| 282 | int opengl_InitCache(void) { |
| 283 | |
| 284 | OpenGL_bitmap_remap = (uint16_t *)mem_malloc(MAX_BITMAPS * 2); |
| 285 | ASSERT(OpenGL_bitmap_remap); |
| 286 | OpenGL_lightmap_remap = (uint16_t *)mem_malloc(MAX_LIGHTMAPS * 2); |
| 287 | ASSERT(OpenGL_lightmap_remap); |
| 288 | |
| 289 | OpenGL_bitmap_states = (uint8_t *)mem_malloc(MAX_BITMAPS); |
| 290 | ASSERT(OpenGL_bitmap_states); |
| 291 | OpenGL_lightmap_states = (uint8_t *)mem_malloc(MAX_LIGHTMAPS); |
| 292 | ASSERT(OpenGL_lightmap_states); |
| 293 | |
| 294 | Cur_texture_object_num = 1; |
| 295 | |
| 296 | // Setup textures and cacheing |
| 297 | int i; |
| 298 | for (i = 0; i < MAX_BITMAPS; i++) { |
| 299 | OpenGL_bitmap_remap[i] = 65535; |
| 300 | OpenGL_bitmap_states[i] = 255; |
| 301 | GameBitmaps[i].flags |= BF_CHANGED | BF_BRAND_NEW; |
| 302 | } |
| 303 | |
| 304 | for (i = 0; i < MAX_LIGHTMAPS; i++) { |
| 305 | OpenGL_lightmap_remap[i] = 65535; |
| 306 | OpenGL_lightmap_states[i] = 255; |
| 307 | GameLightmaps[i].flags |= LF_CHANGED | LF_BRAND_NEW; |
| 308 | } |
| 309 | |
| 310 | dglTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); |
| 311 | |
| 312 | if (UseMultitexture) { |
| 313 | #if (defined(_USE_OGL_ACTIVE_TEXTURES)) |
| 314 | oglActiveTextureARB(GL_TEXTURE0_ARB + 1); |
| 315 | dglTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); |
| 316 | oglActiveTextureARB(GL_TEXTURE0_ARB + 0); |
| 317 | #endif |
| 318 | } |
| 319 | |
| 320 | CHECK_ERROR(3) |
| 321 | |
| 322 | OpenGL_cache_initted = 1; |
| 323 | return 1; |
| 324 | } |
| 325 | |
| 326 | // Sets default states for our renderer |
| 327 | void opengl_SetDefaults() { |
no outgoing calls
no test coverage detected