I'm getting an error when it's trying to load objects from the .obj file. I tried adding a new obj variable.
Here is the log:
Code:
Nov 3 02:09:55 :: SYSERR: Format error in first numeric line (expecting 14 args, got 1), object #36
Here is the block of the code that it's referring too
Code:
if (((retval = sscanf(line, " %d %d %s %s %s %s %s %s %s %s %s %s %s %s", t, t + 1, f1, f2, f3,
f4, f5, f6, f7, f8, f9, f10, f11, f12)) == 4) && (bitwarning == TRUE)) {
/* Let's make the implementor read some, before converting his world files. */
log("WARNING: Conventional object files detected. Please see config.c.");
exit(1);
} else if (((retval == 4) || (retval == 3)) && (bitwarning == FALSE)) {
if (retval == 3)
t[3] = 0;
else if (retval == 4)
t[3] = asciiflag_conv_aff(f3);
log("Converting object #%d to 128bits..", nr);
GET_OBJ_EXTRA(obj_proto + i)[0] = asciiflag_conv(f1);
GET_OBJ_EXTRA(obj_proto + i)[1] = 0;
GET_OBJ_EXTRA(obj_proto + i)[2] = 0;
GET_OBJ_EXTRA(obj_proto + i)[3] = 0;
GET_OBJ_WEAR(obj_proto + i)[0] = asciiflag_conv(f2);
GET_OBJ_WEAR(obj_proto + i)[1] = 0;
GET_OBJ_WEAR(obj_proto + i)[2] = 0;
GET_OBJ_WEAR(obj_proto + i)[3] = 0;
GET_OBJ_PERM(obj_proto + i)[0] = asciiflag_conv_aff(f3);
GET_OBJ_PERM(obj_proto + i)[1] = 0;
GET_OBJ_PERM(obj_proto + i)[2] = 0;
GET_OBJ_PERM(obj_proto + i)[3] = 0;
if(bitsavetodisk) {
add_to_save_list(zone_table[real_zone_by_thing(nr)].number, 1);
converting = TRUE;
}
log(" done.");
} else if (retval == 13) {
GET_OBJ_EXTRA(obj_proto + i)[0] = asciiflag_conv(f1);
GET_OBJ_EXTRA(obj_proto + i)[1] = asciiflag_conv(f2);
GET_OBJ_EXTRA(obj_proto + i)[2] = asciiflag_conv(f3);
GET_OBJ_EXTRA(obj_proto + i)[3] = asciiflag_conv(f4);
GET_OBJ_WEAR(obj_proto + i)[0] = asciiflag_conv(f5);
GET_OBJ_WEAR(obj_proto + i)[1] = asciiflag_conv(f6);
GET_OBJ_WEAR(obj_proto + i)[2] = asciiflag_conv(f7);
GET_OBJ_WEAR(obj_proto + i)[3] = asciiflag_conv(f8);
GET_OBJ_PERM(obj_proto + i)[0] = asciiflag_conv(f9);
GET_OBJ_PERM(obj_proto + i)[1] = asciiflag_conv(f10);
GET_OBJ_PERM(obj_proto + i)[2] = asciiflag_conv(f11);
GET_OBJ_PERM(obj_proto + i)[3] = asciiflag_conv(f12);
t[1] = 0;
} else {
log("SYSERR: Format error in first numeric line (expecting 14 args, got %d), %s", retval, buf2);
exit(1);
}
/* Object flags checked in check_object(). */
GET_OBJ_TYPE(obj_proto + i) = t[0];
GET_OBJ_WEAPON_TYPE(obj_proto + i) = t[1];
Now I added GET_OBJ_WEAPON_TYPE as t[1] and I believe that is what is crashing it.
Code:
if (((retval = sscanf(line, " %d %d %s %s %s %s %s %s %s %s %s %s %s %s", t, t + 1, f1, f2, f3,
f4, f5, f6, f7, f8, f9, f10, f11, f12)) == 4) && (bitwarning == TRUE)) {
I believe I have done something wrong with the above posted code. I looked over it for hours and couldn't figure it out. The only other solution I could think of was adding the missing 0 to the files it says was missing, but really it was only reading the first %d then stopping. Everything does save properly to the .obj file. It's just when loading it. Which again makes me suspect I did something wrong in the above code.
On the code below, you can see the line
5 1 a 0 0 0 ano 0 0 0 0 0 0 0
The 1 is actually showing its saving the WEAPON_TYPE. So I know it's saving.
Code:
#26
spear balance quest~
the spear of balance~
The greatest symbol of balance seeks the hearts of evil and good alike.~
~
5 1 a 0 0 0 ano 0 0 0 0 0 0 0
8 10 9 11
1 1000 0 20 0
E
spear quest balance~
The Lance of heroes. The spear of mortal man. The shaft of this legendary
pike is carved from the wood of the tree of life. Though separated from the
tree that gave it life, the wood is a living, thinking entity. Full 6 feet in
length, the shaft's wood is smooth and unbroken by any scratch or mark. The
head of the spear is a huge dragon's fang, rumored to be from the mouth of the
god Balm himself. Etched in runes across the head of the spear are these words.
"Find gray where only black and white were before. Seek truth where others seek
good and evil. Bring justice through the scales of balance. Then may you wield
the truth that is my gift. "
~
A
12 50
A
13 50
A
14 50