Hubologist appearance while wearing Bridgekeeper's Robes

Kanhef said:
I'm guessing a bit here, but it looks like frms use master.dat/color.pal as the default palette. That can be changed with another pal with the same name (e.g. arroyo01.frm and arroyo01.pal in art/intrface). So modify the palette to replace purple with brown, and save a bunch of copies as HAROBE**.PAL .
That would be great! Unique, 256 colors palette for each FRM!

This was discussed in FO2 Engine Tweaks thread, but I never tried method suggested by Kanhef (I didn't even know that there may be such possibility).

Continuum said:
Top image - conversion to FO' palette

Bottom image - FRM created with custom palette (220 colors) and loaded into Frame Animator with that palette

snap046ig3.jpg



Image after saving the project to .fpr:

45566000000xn8.jpg

Difference between FRM created in default way and with using custom palette is obvious.


encinodude said:
I have no idea how to even create a new palette (hell if I know if I'm even using the correct terminology), or I'd be doing the replacements right now. I'm using Frame Animator, which has a palette color selection but no option to use the new color. Or maybe I'm looking at this all wrong.
In PS you can extract unique palette from the image, save as .act or .pal, load custom palette in Frame Animator and convert to FRM.

But you must convert custom .pal file to the format that engine will understand, I think.
 
Continuum said:
This was discussed in FO2 Engine Tweaks thread, but I never tried method suggested by Kanhef (I didn't even know that there may be such possibility).
As far as I'm aware, everything on the screen has to use the same palette. You can't apply a custom palette to just one .frm without breaking everything else.

Only things like the help screen and movies have custom palettes, since they get the screen all to themselves.
 
You're right, Timeslip, since you do know how (almost) everything is working there ;)

But from other hand - even if this would be possible making each FRM in this way will be much more time consuming + engine may crash while loading custom palettes for (example) 200 custom FRMs...
 
Ah well. Hmm... given a list of color changes (in terms of palette index i.e. the actual number in the frm file), it would be easy to write a little C program to do the conversions.
 
Timeslip said:
As far as I'm aware, everything on the screen has to use the same palette. You can't apply a custom palette to just one .frm without breaking everything else.

Only things like the help screen and movies have custom palettes, since they get the screen all to themselves.

damn it, I wonder how BIS created their critters... I guess creating a new tool to make,edit and recreate critters would be less time consuming then to re-color (and all the other thing needed) all the existing animations to make a new one..
to bad that aint going to happen.
 
Haven't tested this yet, but I reckon it should work. Compile with anything that does C, runs on the command line.
Code:
/* palswap.c
   written by Kanhef

   Usage:  % palswap > result.frm < orig.frm

   Reads a .frm file on stdin, then prints it to stdout, changing colors as
   defined in the source. An original color n will be changed to the value at
   pal[n]; by default, pal[n] == n .*/

#include <stdio>

int main(void)
{
    unsigned char pal[] = {
              0,   1,   2,   3,   4,   5,   6,   7,   8,   9, 
             10,  11,  12,  13,  14,  15,  16,  17,  18,  19, 
             20,  21,  22,  23,  24,  25,  26,  27,  28,  29, 
             30,  31,  32,  33,  34,  35,  36,  37,  38,  39, 
             40,  41,  42,  43,  44,  45,  46,  47,  48,  49, 
             50,  51,  52,  53,  54,  55,  56,  57,  58,  59, 
             60,  61,  62,  63,  64,  65,  66,  67,  68,  69, 
             70,  71,  72,  73,  74,  75,  76,  77,  78,  79, 
             80,  81,  82,  83,  84,  85,  86,  87,  88,  89, 
             90,  91,  92,  93,  94,  95,  96,  97,  98,  99, 
            100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 
            110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 
            120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 
            130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 
            140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 
            150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 
            160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 
            170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 
            180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 
            190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 
            200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 
            210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 
            220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 
            230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 
            240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 
            250, 251, 252, 253, 254, 255
        };

    int i = 0;
    char c;
    
    /* Just copy the header, don't change anything */
    while (((c = getchar()) != EOF)  && i++ < 0x4A) {
        putchar(c);
    }
    if (c == EOF)
        return 1;

    /* Now for the fun part. Note that by default, c == pal[c],
    so no changes are made. */
    while ((c = getchar()) != EOF) {
        putchar(pal[(int)c]); 
    }

    return 0;
}
 
Maybe you could change the colors the images use and not change the palette?

Here is one way to do it.
This free Image Analyzer program allows you to edit the palette.

1. Find the color you want to replace.
2. Select the color you want to replace it with.
3. click the copy button.
4. Click the color you want to replace.

Repeat these steps, using the preview button to see progress.

5. Save the palette (with a different name) when you have changed all the purple to dark grey.
6. Open each FRM bitmap and apply the palette you saved, then save the new image.

It is still using the Fallout2 palette, but not those colors you want to change.

With more advanced tools that could do batch conversion, This process would be much easier, but I am not that smart.

Just an example. Probably would need to work with firing frames to see about purple shades there also.

Fpalswap.gif
 
How exactly do I create a custom palette? I've been trying to figure this out for days, hoping that I'll stumble upon the way but I guess I'm shit out of luck. I'm going to need a step-by-step walkthrough if I'm going to get this, nothing too vague, because I'm a retard when it comes to things like this and have absolutely no idea what you're talking about, Kanchef.

EDIT: I know I'm supposed to be able to edit a palette in Photoshop, but I can't even figure out how to do that.
 
Sorry if I've been unclear. Probably spending too much time working on binary file formats.

Anyway, what Morticia posted is pretty much what I was going for, and with a nicer interface.
 
I'm not sure I even fully understand what Morticia was saying, but I probably will after a few more reads.
 
I'm not sure I even fully understand what Morticia was saying, but I probably will after a few more reads.

Same here! :D

But something bothers me...
open each FRM bitmap
Each FRM Bitmap? Like in each one of the 60 Bitmap file for one FRM file?
That I already know how to do, doesn't sound too automatic to me. Or did I miss something?
 
Good idea Morticia, however right now we still would need to go one frm at the time.. Like you said, an aplication that would edit al frm al the time would be awesome. But is that even possible?
If so then alot more varaty in critters coulde be created! (or would it result in other problems?)
 
Sorry, the only automatic part of the 'Image Analyzer' method is not having to paint each bmp. You have to manually change the palette on one or two selected bmp's to create your modified palette first. You would still need to apply the new palette to each frame separately, "open, import palette, save" over and over again. You could do other critter transformations this way though, green Deathclaws, red scorpions, etc.

While the program is free, the batch processing plugin is a demo, and I'm not sure the option is even available for palette swapping. http://logicnet.dk/Analyzer/plugins/#ImageBatch At the bottom of the page is a demo source code to write your own plugin also, but that would be something for Kanhef.

Image Magick is another free, open source program, but being Command line only, I have NO idea how to use it, or if one of these conversion options would work. Seems to be more designed for photos and not 256 color bitmaps. Again, someone with programming skills might write something that could make use of it for mass palette swapping.

edit, sorry for my terminology. 'bmp' not frame. I was meaning 'frame' as an individual bitmap frame from an FRM
 
Ok, so lets do it the old fashion way.

I have taken care of the M frm, the rocket launcher animation. The firing sequence was the hardest one, because there was a red reflection on the purple robe... I don't know if i did it right, but I think is still can do.
How can I post the result of my work btw ? I know how to post one image, but not an entire frm...


This week I will do the L, the minigun animation, and maybe begin the K. If others people are working on it, tell what you intend to do, so that we don't do twice the same work...



BG
BL
E (EA EB EC ED EE...)
F (...)
G (...)
I (...)
J (...)
K (...)
L (...) Taken
M (...) DONE
 
Just browsing through and looks like something I've already done to some degree for a playthrough with the new 1.2 patch.

My inspiration was that I like the bridgekeeper robes but think they are too powerful and wanted them in black or red.

Anyway, the magenta color just screams out for manipulation so I wrote a python script to do it. Basically, it reads takes HSL values as Hue is easier to manipulate programatically than RGB colors.

Looks like photobucket dns server has been hacked or I'd load images there. Tried flickr but I've never used it before here is a link anyway. here

2592085250_ca12d4b187_m.jpg


I'd rather have a solution that didn't rotate the files like this and could do it in the engine but that maybe asking a bit much at the moment. Any the python is deathly slow (about 1-2 minutes to do all FRM files for the robe).

I find it very useful to have the Titanium FRM Browser open to a frame and then run the script to create a new version. The browser updates immediately which useful for testing different rotation values.

Download here (link will be good for about 30 days).

Example usage for Red, Green, Brown, Blue, Cyan, Black
Code:
palrotate.py HAROBE HARRED -r 280 320 +40 
palrotate.py HAROBE HARGRN -r 280 320 +180 
palrotate.py HAROBE HARBRN -r 280 320 +70 
palrotate.py HAROBE HARBLU -r 280 320 -64 -f 0 0.85 1 
palrotate.py HAROBE HARCYN -r 280 320 -125 
palrotate.py HAROBE HARBLK -r 280 320 +280 =f 0 0.5 0.2

Not planning to publish the files because it looks difficult to pick unique ids that wont conflict with other mods that and each robe is like 4-5 MB compressed.

May not be useful to anyone but its was a nice little project and I liked the outcome. BTW, I didn't change the yellow in front because it shares too many colors with the hands which also end up changing.

Now I just need to get the NPC's to were them without changing all the scripts (and potentially breaking other mods).
 
Sorry, but do you mean you've actually succeeded in fully animating all these custom robes? I can't download to check, because RapidShare never works for me.
 
Looks real cool. I'll definatly give it a try thought I know nothing about phyton exept that its a coding language.
 
Sounds great!
That would save us a lot of time!
Could you explain maybe more in detail the procedure how you do that?
I already have python 2.4 installed, so that should be good I think.

And what exactly do you mean with that?
to pick unique ids that wont conflict with other mods

Now I just need to get the NPC's to were them without changing all the scripts
Can't you just put them in the mapper? By putting them in the art/critter file, referencing it, and by editing a critter with the mapper?
 
Grayswandir said:
I already have python 2.4 installed, so that should be good I think.

I have Python 2.5 but do not see why not 2.4 wouldn't work. I can host it somewhere else though rapidshare usually works well for a quick hosting solution and I wasn't sure if there would be interest as teamx already has a lot of palette manipulation tools.

Grayswandir said:
Can't you just put them in the mapper? By putting them in the art/critter file, referencing it, and by editing a critter with the mapper?
Mapper does not show any animations after the final Horrigan death animation at least on my version. And I meant all of the custom NPCS like Miria, Daven, Sulik,... who don't seem to wear my robes when I equip them. I know I can alter all of the scripts but again that only works on my machine.

When you add robes as items and for that matter animations the F2 engine references them as which line in the art/critters.lst file. So for example if you use F*CK to create a new NPC the animation is one of the integers on the unknown page. Basically the same thing when creating items. The pro file references art by index in the lst file as far as I understand it. If somebody were to have different animations already in their critters.lst from another mod then those indices would not match between my pro files and those art/*.lst files. I assume there is probably another way but I can only image a tool like weidu from Baldur's Gate modding which fixes everything as part of the installer/uninstaller process.


Grayswandir said:
Could you explain maybe more in detail the procedure how you do that?

Not sure what you are looking for.
To create black robes,
  1. Copy all HAROBE*.FRM files to temp directory.
  2. Open command prompt there
  3. Run: palrotate.py HAROBE HARBLK -r 280 320 +280 -f 0 0.5 0.2
    [list:f5539be720]
  4. Convert all HAROBE* to HARBLK* in same directory
  5. Rotate all colors from 280-320 Hue by +280 degrees
  6. No additional Hue Change, Lower Saturation by 50%, and reduce lightness to 20% of original value.
[*]View files for issues with FRM viewer like Titanium FRM Viewer[/list:o:f5539be720]
If you are not familiar with HSL then this wiki somewhat explains it.

The -r MIN MAX ADJUST argument rotates a range to a another value. The -f HUE SAT LIGHT argument alters the HSL values further for any color that was edited. This allows lowering saturation and light on any pixels that fit the 280-320 hue range (all magenta colors). Note that you can have multiple rotation arguments for different color ranges but fixed scaling works on any altered pixel.

To add custom robes this is what I had to do for the black robes:
  1. Convert HAROBE*.FRM, ROBE.FRM, ROBEINV.FRM to HARBLK*.FRM, BLKROBE.FRM, BLKROBEI.FRM
  2. Add HARBLK,11,1 colored robe to art/critters/critters.lst
  3. Add BLKROBEI.frm to art/inven/inven.lst
  4. Add BLKROBE.frm to art/items/items.lst
  5. Create new Proto\Items\#######.pro and alter items.lst
  6. When creating item with FIC, reference appropriate FRM files for graphics and critters for visuals
  7. Create new Proto\Items\#######.pro and alter items.lst
 
Back
Top