Simple parsing of a DBO file. made a textured plane with make object
Some things I don't understand or are not described in the DBO Format Doc.
Some things are floats, but I read them as bytes (for what I need, I didn't need the actual float values)
I stepped through the whole file byte-by-byte comparing to the DBO Format doc as I went along.
This is what I came up with. The numbers at the END of the lines is the last number of that offset. I started counting at 1 (not 0)
HEADER Length 24
8,0,0,0 (4 bytes,length of string) 4
77,65,71,73,67,68,66,79 ('MAGICDBO" - 8 bytes, string 8) 12
38,4,0,0 (4 bytes version#) 16
0,0,0,0 (4 byte, reserved 1) 20
0,0,0,0 (4 byte, reserved 2) 24
Data Blocks
1,0,0,0 (4 byte, 1=root-frame) 28
249,3,0,0 (code size) 32
101,0,0,0 (frame name) 36
9,0,0,0 (?) 40
5,0,0,0 (size of name) 44
112,108,97,110,101 (name, plane) 49
Matrix?
102,0,0,0 (Frame Matrix 102) 53
64,0,0,0 (?) 57 (maybe size?)
0,0,128,63 (?) 61
0,0,0,0 (?) 65
0,0,0,0 (?) 69
0,0,0,0 (?) 73
0,0,0,0 (?) 77
0,0,128,63 (?) 81
0,0,0,0 (?) 85
0,0,0,0 (?) 89
0,0,0,0 (?) 93
0,0,0,0 (?) 97
0,0,128,63 (?) 101
0,0,0,0 (?) 105
0,0,0,0 (?) 109
0,0,0,0 (?) 113 (56 bytes so far)
0,0,0,0 (?) 117 (60 bytes so far)
0,0,128,63 (?) 121 (64 bytes so far)
103,0,0,0 (Frame Mesh) 125
52,3,0,0 (maybe size? 820 bytes?) 129
111,0,0,0 (mesh fvf) 133
4,0,0,0 (fvf byte) 137
18,1,0,0 (fvf value 274) 141
112,0,0,0 (mesh fvf size) 145
4,0,0,0 (fvf size bytes) 149
32,0,0,0 (fvf ?) 153
113,0,0,0 (vertex count) 157
4,0,0,0 (vertext bytes) 161
6,0,0,0 (vertet count 6) 165
114,0,0,0 (mesh index count) 169
4,0,0,0 (bytes) 173
0,0,0,0 (none?) 177
138,0,0,0 (mesh sub frames) 181
4,0,0,0 (bytes) 185
0,0,0,0 (none?) 189
115,0,0,0 (mesh vertex data) 193
192,0,0,0 (byte?) 197
0,0,0,191 (?) 201
0,0,0,63 (?) 205
0,0,0,0 (?) 209
0,0,0,0 (?) 213
0,0,0,0 (?) 217
0,0,128,63 (?) 221
0,0,128,63 (?) 225
0,0,0,0 (?) 229
0,0,0,63 (?) 233
0,0,0,63 (?) 237
0,0,0,0 (?) 241
0,0,0,0 (?) 245
0,0,0,0 (?) 249
0,0,128,63 (?) 253
0,0,0,0 (?) 257
0,0,0,0 (?) 261
0,0,0,191 (?) 265
0,0,0,191 (?) 269
0,0,0,0 (?) 273
0,0,0,0 (?) 277
0,0,0,0 (?) 281
0,0,128,63 (?) 285
0,0,128,63 (?) 289
0,0,128,63 (?) 293
0,0,0,63 (?) 297
0,0,0,63 (?) 301
0,0,0,0 (?) 305
0,0,0,0 (?) 309
0,0,0,0 (?) 313
0,0,128,63 (?) 317
0,0,0,0 (?) 321
0,0,0,0 (?) 325
0,0,0,63 (?) 329
0,0,0,191 (?) 333
0,0,0,0 (?) 337
0,0,0,0 (?) 341
0,0,0,0 (?) 345
0,0,128,63 (?) 349
0,0,0,0 (?) 353
0,0,128,63 (?) 357
0,0,0,191 (?) 361
0,0,0,191 (?) 365
0,0,0,0 (?) 369
0,0,0,0 (?) 373
0,0,0,0 (?) 377
0,0,128,63 (?) 381
0,0,128,63 (?) 385
0,0,128,63 (?) 389
117,0,0,0 (Mesh Primitive type) 393
4,0,0,0 (bytes) 397
4,0,0,0 (type 4=triangle list) 401
118,0,0,0 (Mesh Draw Vertex Count) 405
4,0,0,0 (bytes) 409
6,0,0,0 (Vertexs 6)413
119,0,0,0 (mesh draw primitive count) 417
4,0,0,0 (bytes) 421
2,0,0,0 (drawn) 425
121,0,0,0 (Bone Count) 429
4,0,0,0 (bytes) 433
0,0,0,0 (bone count 0) 437
122,0,0,0 (Mesh Bones Data) 441
8,0,0,0 (bytes) 445
0,0,0,0 (none) 449
0,0,0,0 (none) 453
125,0,0,0 (mesh use material) 457
1,0,0,0 (bytes 1) 461
0 (bool 0 or 1) 462
126,0,0,0 (Mesh Material) 466
68,0,0,0 (bytes) 470
0,0,128,63 (diffuse 16 bytes) 474
0,0,128,63 () 478
0,0,128,63 () 482
0,0,128,63 (done diff) 486
0,0,128,63 (ambent) 490
0,0,128,63 (ambent) 494
0,0,128,63 (ambent) 498
0,0,128,63 (ambent done) 502
0,0,0,0 (specular) 506
0,0,0,0 (specular) 510
0,0,0,0 (specular) 514
0,0,0,0 (specular done) 518
0,0,0,0 (emissive) 522
0,0,0,0 (emissive) 526
0,0,0,0 (emissive) 530
0,0,0,0 (emissive done) 534
0,0,0,0 (power done) 538
127,0,0,0 (mesh texture count) 542
4,0,0,0 (4 bytes) 546
1,0,0,0 (texture count =1) 550
128,0,0,0 (Mesh Textures) 504
178,0,0,0 (bytes?) 558
141,0,0,0 (texture name) 562
10,0,0,0 (bytes?) 566
6,0,0,0 (?) 570
116,51,46,100,100,115 (t3.dds) 576
142,0,0,0 (texture stage) 580
4,0,0,0 (bytes) 584
0,0,0,0 (stage 0?) 588
143,0,0,0 (texture blend) 592
4,0,0,0 (bytes) 596
4,0,0,0 (blend mode 4) 600
144,0,0,0 (texture arg 1) 604
4,0,0,0 (bytes 4) 608
2,0,0,0 (arg 1 = 2) 612
145,0,0,0 (texture arg 2) 616
4,0,0,0 (bytes 4) 620
0,0,0,0 (arg 2 = 0) 624
146,0,0,0 (texture address U) 628
4,0,0,0 (bytes 4) 632
1,0,0,0 (val=1) 636
147,0,0,0 (texture address V) 640
4,0,0,0 (bytes) 644
1,0,0,0 (val=1) 648
148,0,0,0 (Texture Mag) 652
4,0,0,0 (bytes) 656
2,0,0,0 (val = 2) 660
149,0,0,0 (Texture Min) 664
4,0,0,0 (bytes) 668
2,0,0,0 (val=2) 672
150,0,0,0 (Texture Mip) 676
4,0,0,0 (bytes) 680
2,0,0,0 (val=2) 684
151,0,0,0 (Texture TC Mode) 688
4,0,0,0 (bytes) 692
0,0,0,0 (val=0) 696
152,0,0,0 (Texture Primitive Start) 700
4,0,0,0 (bytes) 704
0,0,0,0 (val=0) 708
153,0,0,0 (Primitive Count) 712
4,0,0,0 (bytes) 716
0,0,0,0 (count=0) 720
0,0,0,0 (?) 724
0,0,0,0 (?) 728
0,0,0,0 (?) 732
0,0,0,0 (?) 736
123,0,0,0 (Mesh Use Multiple Materials) 740
1,0,0,0 (bytes) 744
0 (val=0) 745
124,0,0,0 (Mesh Multiple Material Count) 749
4,0,0,0 (bytes) 753
0,0,0,0 (val=0) 757
139,0,0,0 (Mesh Multiple Materials) 761
8,0,0,0 (bytes) 765
0,0,0,0 769
0,0,0,0 (val 0 8 bytes) 773
129,0,0,0 (Mesh Wireframe) 777
1,0,0,0 (bytes) 781
0 (val=0) 782
130,0,0,0 (Mesh Light) 786
1,0,0,0 (bytes) 790
1 (val=1) 791
131,0,0,0 (Mesh Cull) 795
1,0,0,0 (bytes) 799
0 (val=0) 800
132,0,0,0 (Mesh Fog) 804
1,0,0,0 (bytes) 808
1 (val=1) 809
133,0,0,0 (Mesh Ambient) 813
1,0,0,0 (bytes) 817
1 (val=1) 818
134,0,0,0 (Mesh Transparency) 822
1,0,0,0 (bytes) 826
0 (val=0) 827
135,0,0,0 (Mesh Ghost) 831
1,0,0,0 (bytes) 835
0 (val=0) 836
136,0,0,0 (Mesh Ghost Mode) 840
4,0,0,0 (bytes) 844
2,0,0,0 (val=2) 848
140,0,0,0 (Mesh visible) 852
1,0,0,0 (bytes) 856
1 (val=1) 857
137,0,0,0 (Mesh Linked) 861
1,0,0,0 (bytes) 865
0 (val=0) 866
155,0,0,0 (155 not found in DBO Format Doc) 870
4,0,0,0 (bytes?) 874
0,0,0,0 (val=0) 878
156,0,0,0 (156 not found in DBO Format Doc) 882
1,0,0,0 (bytes) 886
0 (val=0) 887
157,0,0,0 (157 Not Found in Doc) 891
4,0,0,0 (bytes) 895
0,0,0,0 (val=0) 899
158,0,0,0 (158 not found in Doc) 903
4,0,0,0 (bytes) 907
0,0,0,0 (val=0) 911
159,0,0,0 (159 not found in doc) 915
1,0,0,0 (bytes) 919
1 (val=1) 920
160,0,0,0 (Not found in Doc) 924
1,0,0,0 (bytes) 928
1 (val=1) 929
166,0,0,0 (Not Found in Doc) 933
4,0,0,0 (bytes) 937
0,0,0,0 (val=0) 941
0,0,0,0 (?) 945
0,0,0,0 (?) 949
104,0,0,0 (Frame Child) 953
8,0,0,0 (bytes) 957
0,0,0,0,0,0,0,0 (val=0) 965
105,0,0,0 (Frame Sibling) 969
8,0,0,0 (bytes) 973
0,0,0,0,0,0,0,0 981
106,0,0,0 (Frame Offset) 985
12,0,0,0 (bytes) 989
0,0,0,0 993
0,0,0,0 997
0,0,0,0 (val=0) 1001
107,0,0,0 (Frame Rotation) 1005
12,0,0,0 (bytes) 1009
0,0,0,0 1013
0,0,0,0 1017
0,0,0,0 (val 0) 1021
108,0,0,0 (Frame Scale) 1025
12,0,0,0 (bytes) 1029
0,0,128,63 (val) 1033
0,0,128,63 (val) 1037
0,0,128,63 (val) 1041
0,0,0,0 (?) 1045
0,0,0,0 (?) 1049
2,0,0,0 (?) 1053
8,0,0,0 (?) 1057
0,0,0,0 (?) 1061
0,0,0,0 (?) 1065
150,1,0,0 (? tex mip 2?? not sure ??) 1069
4,0,0,0 (bytes) 1073
0,0,0,0 (val) 1077
0,0,0,0 (?) 1081
0,0,0,0 (?) 1085
(End of File)