DBManager::DBManager() { if (sqlite3_open(DB_PATH, &db)) { fprintf(stderr, "No se puede abrir la base de datos: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); exit(1); } db_status = true; // Instanciamos las estructuras de datos del posterior contenido de la BDJ enemies = new set<enemy_t>(); npcs = new set<npc_t>(); tools = new set<tool_t>(); items = new set<item_t>(); powUps = new set<item_t>(); bosses = new set<boss_t>(); blocks = new set<block_t>(); graphics = new vector<gfx_t>(); sounds = new vector<sfx_t>(); essential_elems = new vector<essential_elem_t>(); tileSets = new vector<gfx_t>(); zones = new set<zone_t>; dungeons = new set<dungeon_t>(); players = new set<player_t>; puzzle_elems = new set<puzzle_elem_t>(); tags = new vector<string>(); gather_essential_elements(); // Obtenemos de la BDD los elementos comunes a todos los juegos read_tags(); // Leemos las tags que ha seleccionado Decidator }
//====================== // Lightwave Methods //====================== long VFSPlugin_LWO::ReadChunk(void) { long id = ReadLong(); long len = ReadLong(); switch(id) { case ID_TAGS: { read_tags(len); }break; case ID_LAYR: { read_layr(len); }break; case ID_PNTS: { read_pnts(len); }break; case ID_BBOX: { read_bbox(len); }break; case ID_POLS: { read_pols(len); }break; case ID_PTAG: { read_ptag(len); }break; case ID_SURF: { read_surf(len); }break; case ID_CLIP: { read_clip(len); }break; case ID_ENVL: { read_envl(len); }break; case ID_VMAP: { read_vmap(len); }break; default: { read_unkn(id,len); }break; } return len+8; }
// query4 $inputfile $datapath int main(int argc, char *argv[]){ // initialization input_file_name = argv[1]; dir_name = argv[2]; dir_name_len = (int)strlen(argv[2]); file_name_max_len = dir_name_len + 50; data_file_name = new char [file_name_max_len]; cnt_data_lines("person.csv", &personcnt); cnt_data_lines("forum.csv", &forumcnt); cnt_data_lines("tag.csv", &tagcnt); person_in_induced_graph = new char[personcnt]; #if DEBUG printf("cnt done.\n"); #endif read_edges(); convert2undirected(); #if DEBUG printf("start forums.\n"); #endif read_forums(); read_tags(); read_queries(); #if DEBUG printf("read Q done\n"); #endif // solve freopen("query4.out", "w", stdout); for (vector < pair<int, int> > :: iterator it=queries.begin(); it!=queries.end(); it++) query(it->first, it->second); fclose(stdout); free_memory(); return 0; }