comparison Items.cpp @ 2261:236d8d7c7295

Fixing a bug in tokenization
author Grumpy7
date Sat, 08 Mar 2014 16:04:44 +0100
parents eab43c3d7767
children 037ad3678c0f
comparison
equal deleted inserted replaced
2260:eab43c3d7767 2261:236d8d7c7295
450 strtok(NULL, "\r"); 450 strtok(NULL, "\r");
451 for (i=0;i<72;++i) 451 for (i=0;i<72;++i)
452 { 452 {
453 test_string = strtok(NULL, "\r") + 1; 453 test_string = strtok(NULL, "\r") + 1;
454 auto tokens = Tokenize(test_string, '\t'); 454 auto tokens = Tokenize(test_string, '\t');
455 Assert(tokens.size() == 17, "Invalid number of tokens"); 455 Assert(tokens.size() >= 17, "Invalid number of tokens");
456 pSpecialEnchantments[i].pBonusStatement=RemoveQuotes(tokens[0]); 456 pSpecialEnchantments[i].pBonusStatement=RemoveQuotes(tokens[0]);
457 pSpecialEnchantments[i].pNameAdd= RemoveQuotes(tokens[1]); 457 pSpecialEnchantments[i].pNameAdd= RemoveQuotes(tokens[1]);
458 for (int i = 0; i < 12; i++) 458 for (int i = 0; i < 12; i++)
459 { 459 {
460 pSpecialEnchantments[i].to_item_apply[i]=atoi(tokens[i+2]); 460 pSpecialEnchantments[i].to_item_apply[i]=atoi(tokens[i+2]);
505 if (tokens2.size() == 2) 505 if (tokens2.size() == 2)
506 { 506 {
507 pItems[item_counter].uDamageDice=atoi(tokens2[0]); 507 pItems[item_counter].uDamageDice=atoi(tokens2[0]);
508 pItems[item_counter].uDamageRoll=atoi(tokens2[1]); 508 pItems[item_counter].uDamageRoll=atoi(tokens2[1]);
509 } 509 }
510 else if (tolower(test_string[0]) != 's') 510 else if (tolower(tokens2[0][0]) != 's')
511 { 511 {
512 pItems[item_counter].uDamageDice=atoi(test_string); 512 pItems[item_counter].uDamageDice=atoi(tokens2[0]);
513 pItems[item_counter].uDamageRoll=1; 513 pItems[item_counter].uDamageRoll=1;
514 } 514 }
515 else 515 else
516 { 516 {
517 pItems[item_counter].uDamageDice=0; 517 pItems[item_counter].uDamageDice=0;
561 pItems[item_counter].uEquipX=atoi(tokens[14]); 561 pItems[item_counter].uEquipX=atoi(tokens[14]);
562 pItems[item_counter].uEquipY=atoi(tokens[15]); 562 pItems[item_counter].uEquipY=atoi(tokens[15]);
563 pItems[item_counter].pDescription = RemoveQuotes(tokens[16]); 563 pItems[item_counter].pDescription = RemoveQuotes(tokens[16]);
564 item_counter++; 564 item_counter++;
565 } 565 }
566
567 566
568 pRndItemsTXT_Raw = NULL; 567 pRndItemsTXT_Raw = NULL;
569 uAllItemsCount = item_counter; 568 uAllItemsCount = item_counter;
570 pRndItemsTXT_Raw = (char *)pEvents_LOD->LoadRaw("rnditems.txt", 0); 569 pRndItemsTXT_Raw = (char *)pEvents_LOD->LoadRaw("rnditems.txt", 0);
571 strtok(pRndItemsTXT_Raw, "\r"); 570 strtok(pRndItemsTXT_Raw, "\r");
644 strtok(pSkillDescTXT_Raw, "\r"); 643 strtok(pSkillDescTXT_Raw, "\r");
645 for (i=0; i<37; ++i) 644 for (i=0; i<37; ++i)
646 { 645 {
647 test_string = strtok(NULL, "\r") + 1; 646 test_string = strtok(NULL, "\r") + 1;
648 auto tokens = Tokenize(test_string, '\t'); 647 auto tokens = Tokenize(test_string, '\t');
649 Assert(tokens.size() == 6, "Invalid number of tokens"); 648 Assert(tokens.size() >= 6, "Invalid number of tokens");
650 pSkillDesc[i] = RemoveQuotes(tokens[1]); 649 pSkillDesc[i] = RemoveQuotes(tokens[1]);
651 pNormalSkillDesc[i] = RemoveQuotes(tokens[2]); 650 pNormalSkillDesc[i] = RemoveQuotes(tokens[2]);
652 pExpertSkillDesc[i] = RemoveQuotes(tokens[3]); 651 pExpertSkillDesc[i] = RemoveQuotes(tokens[3]);
653 pMasterSkillDesc[i] = RemoveQuotes(tokens[4]); 652 pMasterSkillDesc[i] = RemoveQuotes(tokens[4]);
654 pGrandSkillDesc[i] = RemoveQuotes(tokens[5]); 653 pGrandSkillDesc[i] = RemoveQuotes(tokens[5]);