Forum > Miscellaneous
[DBC] CharBaseInfo.dbc 4.0.6
(1/2) > >>
Daem0n:
Hello. Help plz. How to open/edit CharBaseInfo (cata 4.0.6 client)?
Steff:
Just start cata client it load the DBC itself :)
Eluo:
--- Quote from: "Steff" ---Just start cata client it load the DBC itself :) --- End quote --- Lol what? xD
I just tried out taliis and it works fine as far as i can tell... But if it actually gets accepted when changed by taliis, that you will have to try out on your own^^
Daem0n:
heh....new file format ... raceID classID unk0 unk1 classcombinationGUID unk2 unk3 unk4
unk0-4 = 0
maybe it will help someone =) sorry for my bad english and bad code =) i write so fast ;)
take near CharBaseInfo.dbc and get CharBaseInfoNew.dbc
--- Code: ---#include <stdio.h> #include <stdlib.h> #include <iostream> #include <fstream> using namespace std; #define RACESCOUNT 14
typedef long int INT32;
int _tmain(int argc, _TCHAR* argv[]) { char Signature[4]; INT32 Records = 0; INT32 Fields = 0; INT32 RecordSize = 0; long long StringBlockSize = 0; int tmp;
FILE *fin = fopen("CharBaseInfo.dbc", "rb"); if(!fin) { cout << "Error" << endl; cin.get(); return 0; }
memset(Signature, 0, 4);
fread(Signature, 4, 1, fin); fread(&Records, 4, 1, fin); fread(&Fields, 4, 1, fin); fread(&RecordSize, 4, 1, fin); fread(&StringBlockSize, 8, 1, fin);
printf("%c%c%c%cn", Signature[0], Signature[1], Signature[2], Signature[3]);
cout << Records << endl; cout << Fields << endl; cout << RecordSize << endl; //cout << StringBlockSize << endl;
for(int i=0; i<Records; i++) { for(int j=0; j<8; j++) { tmp = 0; fread(&tmp, 1, 1, fin); cout << tmp << "t" ; } cout << endl; }
fclose(fin);
Records = 10*RACESCOUNT;
FILE *fout = fopen("CharBaseInfoNew.dbc", "wb"); if(!fin) { cout << "Error" << endl; cin.get(); return 0; }
fwrite(&Signature, 4, 1, fout); fwrite(&Records, 4, 1, fout); fwrite(&Fields, 4, 1, fout); fwrite(&RecordSize, 4, 1, fout); fwrite(&StringBlockSize, 8, 1, fout); tmp = 0; int k = 1; for(int i=1; i<=RACESCOUNT; i++) { for(int j=1; j<=10; j++) { if(j != 10) { tmp = i; fwrite(&tmp, 1, 1, fout); tmp = j; fwrite(&tmp, 1, 1, fout); tmp = 0; fwrite(&tmp, 1, 2, fout); tmp = k; fwrite(&tmp, 1, 1, fout); tmp = 0; fwrite(&tmp, 1, 3, fout); } else { tmp = i; fwrite(&tmp, 1, 1, fout); tmp = 11; fwrite(&tmp, 1, 1, fout); tmp = 0; fwrite(&tmp, 1, 2, fout); tmp = k; fwrite(&tmp, 1, 1, fout); tmp = 0; fwrite(&tmp, 1, 3, fout); } k++; } }
tmp = 0; fwrite(&tmp, 1, 1, fout);
fclose(fout);
cout << "OK" << endl; cin.get();
return 0; } --- End code ---
Daem0n:
--- Quote from: "Eluo" ---I just tried out taliis and it works fine as far as i can tell...
--- End quote ---
taliis open only 3 row
Navigation
[0] Message Index
[#] Next page
|