Updated ARTFID.H

dude_obj

Vault Senior Citizen
Moderator
If you look at the original \mapper2\scripts\headers\ARTFID.H, you see a note that says this:

Note: all the FID defines with that only have () were not in the game at the time that this file was made so if they show up, make 'em.

Alrighty then ... I fixed all of the FIDS that were blank () and also added all of the rest for the FO2 final game (over 30 were missing!). Also, several of the original FID numbers were wrong (the FIDs must have changed at some point). I also added the FIDs for the critter packs and the FoT behemoth and pacification bots.

The new ARTFID.h is here. You'll see a comment that says Fixed or Added, those are the ones I changed. Note also that I have a description next to each so its very clear what critter it refers to. You'll also see that I changed the order to FID number order rather than alphabetical. Why? Because it has to exactly match the critters.lst, which is in FID order (this makes them easy to compare). If you put critters.lst beside artfid.h, they match exactly now.

So, what's the purpose of this header? Well for one thing, you can do this command, which could be called change_appearance ...

art_change_fid_num(self_obj, FID_NMBOH3);

This is yet another undocumented command. What it does is change the object to use the FRM set specified by the FID name. I tested ALL of the FID numbers in the new header using this function (including the critter packs) and they all work properly now.

The note in the header also talks about debug messages in the mapper. I tried this, in debug mode, when I click on a critter, the mapper now shows the FID number. The debug message says PID, but it should really say FID.

This FID / PID thing is a bit confusing. The FID is a FILE ID of the artwork. The PID is a prototype ID of an object that refers to a FID. There is not a 1-to-1 mapping of FID to PID, because multiple PIDs can use the same FID. For example, miss kitty and several other babes use the same FID_NFNICE.

You can use the art_change_fid_num command in a script to change any critter's appearance at run time! I tested it, in fact I use it in my "Fallout Very Difficult" mod. You have to be careful though, if a critter is holding a weapon and you change the appearance to one that can't use that weapon, he disappears.

Note: to use this header in a script, you need to add the
#include "..\headers\artfid.h at the top of your script.
 
jolly good show old chap!

This should probably be included in the next unofficial patch :)

What happens if people load this updated file and they dont have the critter packs installed? will it cause problems? Do we need a version for people who dont have the critter packs installed?
 
Wild_qwerty said:
This should probably be included in the next unofficial patch :) What happens if people load this updated file and they dont have the critter packs installed? will it cause problems? Do we need a version for people who dont have the critter packs installed?

The net effect of having this header is zero. It ONLY affects the compilation of new scripts. It is merely a translation table of meaningful names to internal art file ID numbers. It affects nothing at runtime. So it really doesn't need to be in the unofficial patch. And even if you don't have the critter packs, it won't cause a problem unless you try to use one of the FID names (in your script) for a critter in the packs (which you wouldn't I hope).

I dug way deeper today and I figured out how to change the order of everything in the mapper. Its completely insane how art is strewn all over the place. I managed to extract the gizmo, overseer, master, and lieutenant from FO1, added those and your critter pack art to the FO2 critter art, and I have them all grouped by type, ie all mutants together, all vault suits together etc. To make it work, it requires changing the FID in the protos, which is stored in hexadecimal. I changed some manually to test reordering, but I think I can whip up some code to do a batch edit and change all of the FIDs in the order that the files are found in a directory.

I want to merge any scenery art from FO1 that was removed before packaging the FO2 stuff. This is what got me on this tangent. It can't just be copied over, because of all of those nasty FID references in the protos. But I think its doable.

Wouldn't it be nice if all the WALL PEICES (argh) were together in the mapper, and weapons, GOO (haha), and everything else. It will take some work but I really think its worth it. It would be so much easier to use the mapper with things grouped together. Rather than the unofficial patch, I'm thinking along the lines of an expansion pack DAT for developers. You start with this baseline and change it any way you want to suit your modding needs. So that's the plan, more details later. This is not a small undertaking, but it really needs to be done. I am shocked at how messy all of the objects are in the fallout mapper. That must have driven the map creators nuts.
 
Wow, this sound really good :) The good thing about making a complete expansion DAT (or developers Dat) is that it would add a huge ammount of content into one easy to install package, from there modders would be working from a standardised starting point.

I like, I like a lot!

Besides which it would also be good to people who want to play any new mods, they would only need to download the new DAT file once and from there all future mods would be nice and small.

:D

EDIT
It would also be a usefull resource for IanOut :D
 
Back
Top