Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool CClientManager::InitializeItemTable()
- {
- //================== 함수 설명 ==================//
- //1. 요약 : 'item_proto.txt', 'item_proto_test.txt', 'item_names.txt' 파일을 읽고,
- // <item_table>(TItemTable), <m_map_itemTableByVnum> 오브젝트를 생성한다.
- //2. 순서
- // 1) 'item_names.txt' 파일을 읽어서 (a)[localMap](vnum:name) 맵을 만든다.
- // 2) 'item_proto_text.txt'파일과 (a)[localMap] 맵으로
- // (b)[test_map_itemTableByVnum](vnum:TItemTable) 맵을 생성한다.
- // 3) 'item_proto.txt' 파일과 (a)[localMap] 맵으로
- // (!)[item_table], <m_map_itemTableByVnum>을 만든다.
- // <참고>
- // 각 row 들 중,
- // (b)[test_map_itemTableByVnum],(!)[mob_table] 모두에 있는 row는
- // (b)[test_map_itemTableByVnum]의 것을 사용한다.
- // 4) (b)[test_map_itemTableByVnum]의 row중, (!)[item_table]에 없는 것을 추가한다.
- //3. 테스트
- // 1)'item_proto.txt' 정보가 item_table에 잘 들어갔는지. -> 완료
- // 2)'item_names.txt' 정보가 item_table에 잘 들어갔는지.
- // 3)'item_proto_test.txt' 에서 [겹치는] 정보가 item_table 에 잘 들어갔는지.
- // 4)'item_proto_test.txt' 에서 [새로운] 정보가 item_table 에 잘 들어갔는지.
- // 5) (최종) 게임 클라이언트에서 제대로 작동 하는지.
- //_______________________________________________//
- //=================================================================================//
- // 1) 'item_names.txt' 파일을 읽어서 (a)[localMap](vnum:name) 맵을 만든다.
- //=================================================================================//
- bool isNameFile = true;
- map<int,const char*> localMap;
- cCsvTable nameData;
- if(!nameData.Load("item_names.txt",'\t'))
- {
- fprintf(stderr, "item_names.txt 파일을 읽어오지 못했습니다\n");
- isNameFile = false;
- } else {
- nameData.Next();
- while(nameData.Next()) {
- localMap[atoi(nameData.AsStringByIndex(0))] = nameData.AsStringByIndex(1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement