Changeset 272 for trunk/src/game/PlayerDump.cpp
- Timestamp:
- 11/22/08 00:35:41 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/PlayerDump.cpp
r263 r272 11 11 * This program is distributed in the hope that it will be useful, 12 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 14 * GNU General Public License for more details. 15 15 * 16 16 * You should have received a copy of the GNU General Public License 17 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307USA18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 20 … … 278 278 // for guid set stop if set is empty 279 279 if(guids && guids->empty()) 280 return; 280 return; // nothing to do 281 281 282 282 // setup for guids case start position … … 344 344 FILE *fout = fopen(file.c_str(), "w"); 345 345 if (!fout) 346 346 return DUMP_FILE_OPEN_ERROR; 347 347 348 348 std::string dump = GetDump(guid); … … 372 372 } 373 373 } 374 375 374 FILE *fin = fopen(file.c_str(), "r"); 376 375 if(!fin) 377 376 return DUMP_FILE_OPEN_ERROR; 378 377 379 378 QueryResult * result = NULL; … … 392 391 else incHighest = false; 393 392 } 394 else 395 guid = objmgr.m_hiCharGuid; 393 else guid = objmgr.m_hiCharGuid; 396 394 397 395 // normalize the name if specified and check if it exists … … 471 469 case DTT_CHAR_TABLE: 472 470 if(!changenth(line, 1, newguid)) 473 471 ROLLBACK(DUMP_FILE_BROKEN); 474 472 break; 475 473 … … 477 475 { 478 476 if(!changenth(line, 1, newguid)) 479 477 ROLLBACK(DUMP_FILE_BROKEN); 480 478 481 479 // guid, data field:guid, items 482 480 if(!changenth(line, 2, chraccount)) 483 ROLLBACK(DUMP_FILE_BROKEN); 481 ROLLBACK(DUMP_FILE_BROKEN); 482 484 483 std::string vals = getnth(line, 3); 485 484 if(!changetoknth(vals, OBJECT_FIELD_GUID+1, newguid)) 486 ROLLBACK(DUMP_FILE_BROKEN); 485 ROLLBACK(DUMP_FILE_BROKEN); 486 487 487 for(uint16 field = PLAYER_FIELD_INV_SLOT_HEAD; field < PLAYER_FARSIGHT; field++) 488 488 if(!changetokGuid(vals, field+1, items, objmgr.m_hiItemGuid, true)) 489 ROLLBACK(DUMP_FILE_BROKEN); 489 ROLLBACK(DUMP_FILE_BROKEN); 490 490 491 if(!changenth(line, 3, vals.c_str())) 491 ROLLBACK(DUMP_FILE_BROKEN); 492 ROLLBACK(DUMP_FILE_BROKEN); 493 492 494 if (name == "") 493 495 { … … 502 504 // rename on login: `at_login` field 30 in raw field list 503 505 if(!changenth(line, 30, "1")) 504 506 ROLLBACK(DUMP_FILE_BROKEN); 505 507 } 506 508 } 507 509 else if(!changenth(line, 4, name.c_str())) 508 510 ROLLBACK(DUMP_FILE_BROKEN); 509 511 510 512 break; … … 513 515 { 514 516 if(!changenth(line, 1, newguid)) 515 517 ROLLBACK(DUMP_FILE_BROKEN); 516 518 517 519 // bag, item 518 520 if(!changeGuid(line, 2, items, objmgr.m_hiItemGuid, true)) 519 520 521 521 ROLLBACK(DUMP_FILE_BROKEN); 522 if(!changeGuid(line, 4, items, objmgr.m_hiItemGuid)) 523 ROLLBACK(DUMP_FILE_BROKEN); 522 524 break; 523 525 } … … 526 528 // item, owner, data field:item, owner guid 527 529 if(!changeGuid(line, 1, items, objmgr.m_hiItemGuid)) 528 ROLLBACK(DUMP_FILE_BROKEN); 529 if(!changenth(line, 2, newguid)) 530 ROLLBACK(DUMP_FILE_BROKEN); 530 ROLLBACK(DUMP_FILE_BROKEN); 531 if(!changenth(line, 2, newguid)) 532 ROLLBACK(DUMP_FILE_BROKEN); 533 531 534 std::string vals = getnth(line,3); 532 535 if(!changetokGuid(vals, OBJECT_FIELD_GUID+1, items, objmgr.m_hiItemGuid)) 533 534 535 536 537 536 ROLLBACK(DUMP_FILE_BROKEN); 537 if(!changetoknth(vals, ITEM_FIELD_OWNER+1, newguid)) 538 ROLLBACK(DUMP_FILE_BROKEN); 539 if(!changenth(line, 3, vals.c_str())) 540 ROLLBACK(DUMP_FILE_BROKEN); 538 541 break; 539 542 } … … 542 545 // guid,item_guid, 543 546 if(!changenth(line, 1, newguid)) 544 545 546 547 ROLLBACK(DUMP_FILE_BROKEN); 548 if(!changeGuid(line, 2, items, objmgr.m_hiItemGuid)) 549 ROLLBACK(DUMP_FILE_BROKEN); 547 550 break; 548 551 } … … 567 570 // item, entry, owner, ... 568 571 if(!changenth(line, 1, newpetid)) 569 570 571 572 ROLLBACK(DUMP_FILE_BROKEN); 573 if(!changenth(line, 3, newguid)) 574 ROLLBACK(DUMP_FILE_BROKEN); 572 575 573 576 break; … … 580 583 std::map<uint32, uint32> :: const_iterator petids_iter = petids.find(atoi(currpetid)); 581 584 if(petids_iter == petids.end()) // couldn't find new inserted id 582 585 ROLLBACK(DUMP_FILE_BROKEN); 583 586 584 587 snprintf(newpetid, 20, "%d", petids_iter->second); 585 588 586 589 if(!changenth(line, 1, newpetid)) 587 590 ROLLBACK(DUMP_FILE_BROKEN); 588 591 589 592 break; … … 593 596 // id,messageType,stationery,sender,receiver 594 597 if(!changeGuid(line, 1, mails, objmgr.m_mailid)) 595 596 597 598 ROLLBACK(DUMP_FILE_BROKEN); 599 if(!changenth(line, 5, newguid)) 600 ROLLBACK(DUMP_FILE_BROKEN); 598 601 break; 599 602 } … … 602 605 // mail_id,item_guid,item_template,receiver 603 606 if(!changeGuid(line, 1, mails, objmgr.m_mailid)) 604 605 606 607 608 607 ROLLBACK(DUMP_FILE_BROKEN); 608 if(!changeGuid(line, 2, items, objmgr.m_hiItemGuid)) 609 ROLLBACK(DUMP_FILE_BROKEN); 610 if(!changenth(line, 4, newguid)) 611 ROLLBACK(DUMP_FILE_BROKEN); 609 612 break; 610 613 } … … 615 618 616 619 if(!CharacterDatabase.Execute(line.c_str())) 617 620 ROLLBACK(DUMP_FILE_BROKEN); 618 621 } 619 622