Proto editing problem

JimTheDinosaur

Vault Dweller
Modder
I've been running into an annoying game crashing bug that seems to have to do with my proto file changes (at least, deleting the proto folder "fixes" it). Sfall's debugger gives me the following reason for the crash:

Error: invalid object art fid: 192

I'm guessing some item proto file (I've only edited items) has an art reference that doesn't exist? Problem is I don't know what art fid 192 is: it's not the proto file number, and I'm pretty sure it's not the "number" in the inven art folder, which is where I've made most of my changes. Does anybody know what this 192 refers to?
 
Could it be the FRM ID? Probably in the data/art folder.

I think that in the art folder there's only the inven.lst file, which is what I unclearly referred to by "number in inven folder", but that is unsorted as far as I can tell (I tried just looking at the 192th in the list, but that seems wrong too). Or can I find the FRM ID somewhere else?


hmm, I guess from this it should be the line number in the lst file after all... I'll do some more testing. Thanks dude!
 
Can't make much sense of the list indexes, but completely forgot about the obj_art_fid function, will do some testing with that.

edit: think I've found it, items.lst only goes up to 0-191
 
Last edited:
I'm just glad I could actually help. Kind of.

Good to hear you figured it out.

Still haven't found it tho, sadly. I suspect some item is getting an invalid frm id, but I can't figure out for the life of me which one it is. Iterating over all the items on the map doesn't turn up anything and going through all the items in F2wedit shows nothing weird as far as I can tell.
 
Did you change the 192 FID? What category was/is the prototype in? If you don't know which PRO it is, can you just crawl each one finding the one with FID=192?
 
Did you change the 192 FID?

Nope, changed nothing about the item frm's, just introduced a few new inven art frms.

What category was/is the prototype in?

no clue, the debugger is giving me very little info to go on.

If you don't know which PRO it is, can you just crawl each one finding the one with FID=192?

Yeah, that's what I tried, I went over each "grounditem" (so including lockers, etc.) and every item in every critter's inventory checking the art frm id, but nothing came up 192 (or something weird like -1 for that matter).
 
You just need to backtrack step by step until you find out which item is causing the problem. If the art (frm) is missing, then the item with the missing art won't be displayed in-game, so your method of examining items in-game isn't likely to work. Double-check your inven.lst and items.lst to make sure each frm you added is listed, and that the frm name is the same as the entry in the .lst (including case sensitivity). There could be many causes for this issue, but a likely one would be if you're not using the Mapper to make new items. You'd know if there was a problem with a particular piece of art in that case, because you'd have "skips" or hiccups trying to scroll through the image library when making your items. As for the art fid, you can determine these from the text files created in Fallout2\dev\proto when making items in the Mapper. For example:

Code:
pid: 556 00000556
name: Drugs
message_num: 55600
fid: 6 bigbox2
light_distance: 0
light_intensity: 0
flags: -1610612728
flags_ext: 45056
sid: -1
type: Drug
d.stat0: Perception
d.stat1: Charisma
d.stat2: Luck
d.amount0: -1
d.amount1: 2
d.amount2: 1
d.duration1: 10040
d.amount1_0: -1
d.amount1_1: 0
d.amount1_2: 0
d.duration2: 15525
d.amount2_0: 2
d.amount2_1: -2
d.amount2_2: -1
d.addiction_chance: 0
d.withdrawal_effect: -1
d.withdrawal_onset: 0
material: Plastic
size: 1
weight: 1
cost: 250
inv_fid: 117440900 drugs

In this case the relevant line is: fid: 6 bigbox2. bigbox2.frm is line 7 (entry 6, since the list starts with 0) in art\items.lst.
 
Thanks for the help guys; yeah, I didn't use the mapper but F2Wedit. I have stopped being able to replicate the error, which scares me. Might be that something I did fixed it or it's still there, lurking beneath the sea of code. Ah well.
 
Back
Top