void c_maze::InitMap() { s_bitmap bmp_texture; int TileCount; TileCount = 0; EnemyCount = 0; CML_LoadBitmap("mazelevel.tga", &bmp_texture); textureid_map = CoreGL_CreateTextureGL(bmp_texture); short w = 128, h = 128; for (short sw = 0; sw < w; sw++) { for (short sh = 0; sh < h; sh++) { tile[TileCount].type = NULL; tile[TileCount].x = sw; tile[TileCount].z = sh; //dbg_printf("Start color detection: %d = %d\n", TileCount, (CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF)); if ((CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF) == WALLCOLOR) { tile[TileCount].type = WALL; //dbg_printf("WALL: %d = %d\n", TileCount, (CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF)); //dbg_printf("%d, ", TileCount); } if ((CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF) == SPAWNCOLOR) { player.Init(sw, sh); //printf("CIS: player.x: %f,\t player.z: %f\n", player.x, player.z); //dbg_printf("PLAYER: %f = %f\n", TileCount, (CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF)); } if ((CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF) == ENEMYCOLOR1) { enemy[EnemyCount].Init(sw, sh, 0); EnemyCount++; //dbg_printf("ENEMY1: %d = %d\n", TileCount, (CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF)); } if ((CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF) == ENEMYCOLOR2) { enemy[EnemyCount].Init(sw, sh, 1); EnemyCount++; //dbg_printf("ENEMY2: %d = %d\n", TileCount, (CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF)); } if ((CML_GetPixel(sw, sh, bmp_texture)&0xFFFFFF) == GOALCOLOR) { tile[TileCount].type = GOAL; } TileCount++; } } CML_DeleteBitmap(&bmp_texture); //printf("Tiles: %d \n", TileCount); }