Page 1 of 1

Trying to get yellow translucent color into the game

Posted: Sat Jul 14, 2012 10:15 pm
by Crowley
Shape 912 in Black Gate is puddles of "blood" in various colours. Frames 12-15 are yellow, with solid colour on the edges and translucent in the middle of the puddle. I have extracted those graphics both in .png and .shp form and examined them in Gimp, and from what I can tell, the translucent yellow colour should be the one in palette slot 248. However, trying to insert the graphics into the game results in that colour showing up as white. I have tried importing that both in .png and .shp form.

Re: Trying to get yellow translucent color into the game

Posted: Sat Jul 14, 2012 10:26 pm
by Malignant Manor
In the game palette, the last 32 colors are 'special'. They behave, by index (0-based), as follows:
224 to 231: Rotation group (8 colors).
232 to 239: Rotation group (8 colors), 238 and 239 are translucent for some shapes.
240 to 243: Rotation group (4 colors), translucent for some shapes.
244 to 247: Rotation group (4 colors), translucent for some shapes.
248 to 251: Rotation group (4 colors), translucent for some shapes.
252 to 254: Rotation group (3 colors), translucent for some shapes.
255: Completely transparent.

These are the semi-transparent colors you are looking for. That is, if the shape in question has/can have translucency. Based on shape source, here is the breakdown:
- faces.vga, sprites.vga: Always translucent.
- fonts.vga, gumps.vga: Never translucent.
- paperdol.vga, shapes.vga: Translucent if you check the 'translucent' check box in the shape information window in ES (in the appropriate tab).


Now, for the actual translucency information. Normally, Exult will load the translucency tables from the "xform.tbl" in static dir. There are 17 such tables (one for each translucent color), and these indicate what each palette entry will look like behind that translucent color. If Exult doesn't find the above file, it creates the tables using certain RGBA values for each translucent color; these RGBA values are also used for OpenGL rendering, so they can be trusted.

By default, the translucent colors should be the following color in game:

Code: Select all

- 244: R 144, G  40, B 192, A 128
- 245: R  96, G  40, B  16, A 128
- 246: R 100, G 108, B 116, A 192
- 247: R  68, G 132, B  28, A 128
- 248: R 255, G 208, B  48, A  64
- 249: R  28, G  52, B 255, A 128
- 250: R   8, G  68, B   0, A 128
- 251: R 255, G   8, B   8, A 118
- 252: R 255, G 244, B 248, A 128
- 253: R  56, G  40, B  32, A 128
- 254: R 228, G 224, B 214, A  82
I'm not sure about index 238-243 colors.

Note: These values are used for rendering. If you try to input these values in your image, you will not get what you want! Like I said, you have to use the game palette and use the colors for the corresponding palette entries or use the shape plug-in and paint with the color it generates for the palette.

Re: Trying to get yellow translucent color into the game

Posted: Sat Jul 14, 2012 10:51 pm
by Malignant Manor
Yeah, I'm having that issue as well when trying to import a shp made from Gimp and not exported.

Edit: Palette index 248 is white for ES so it shows up that way. I have had the wrong index saved when I tried to save the first time in GIMP with an image created that was not indexed before converting. I opened it as a shp file and when I changed the color index, it displayed properly. Importing it worked properly too although I'm not sure how recent this ES version is.

Re: Trying to get yellow translucent color into the game

Posted: Sun Jul 15, 2012 12:38 pm
by marzo
The RGBA values are actually approximations, found by doing least squared error approximations. The translucency tables seem to be based on a subtractive color model rather than the alpha model, but I couldn't find a way to reverse engineer it yet.

Re: Trying to get yellow translucent color into the game

Posted: Fri Jul 20, 2012 9:06 am
by Crowley
What puzzles me is that I have not had such problems with other translucent colors. If anyone can provide me with any directions on how to get yellow translucent color into the game, I would greatly appreciate that.

Re: Trying to get yellow translucent color into the game

Posted: Fri Jul 20, 2012 2:26 pm
by Malignant Manor
240 is a brighter yellow. Translucent colors will look different depending on the background backgrounds. Importing is working fine for me on shape files.

Create a new file. Index it and save it as .shp.
Revert it. (notice that the file is screwed up)
Then you can start editing the picture.
Import it into Exult Studio.
Set the shape as translucent.
Save all.


Link to test shp file

Image

It looks like 255 is not displayed as completely transparent or even translucent but as opaque black.

I'm not sure what transparent flag does offhand.

Re: Trying to get yellow translucent color into the game

Posted: Fri Jul 20, 2012 8:03 pm
by marzo
The translucent flag makes the shape use translucency instead of palette cycles for the colors in question. And color 255 should be displaying as completely transparent. It is possible that the entry in question is being converted to something else.

Re: Trying to get yellow translucent color into the game

Posted: Sat Jul 21, 2012 12:01 am
by Malignant Manor
I wrote transparent not translucent.

And color 255 should be displaying as completely transparent. It is possible that the entry in question is being converted to something else.
Exult Studio exported the shape and it still had index 255 so this would appear to be an issue with Exult.

Re: Trying to get yellow translucent color into the game

Posted: Sun Jul 22, 2012 10:41 am
by marzo
Oh, right, the transparent flag; sorry, I misread. The transparent flag makes the object in question not receive clicks; they instead go through to whatever is underneath he object.

Re: Trying to get yellow translucent color into the game

Posted: Tue Jul 31, 2012 2:55 pm
by Crowley
Which version of GIMP do you use, Malignant Manor? I recently updated to 2.8.0, and following your directions I am unable to revert, probably because that version opens all images as temporary .xcf files for editing.

Re: Trying to get yellow translucent color into the game

Posted: Tue Jul 31, 2012 3:01 pm
by Crowley
Nevermind, I did manage to get it to work as intended. Thank you!

Re: Trying to get yellow translucent color into the game

Posted: Tue Jul 31, 2012 3:06 pm
by Malignant Manor
Nevermind, I did manage to get it to work as intended. Thank you!
It would be nice if you posted your workaround for future reference. (I'm on GIMP 2.6.8 and am pretty busy at the moment.)

Re: Trying to get yellow translucent color into the game

Posted: Tue Jul 31, 2012 3:47 pm
by Crowley
I did follow your directions for the most part. The only difference is really that instead of reverting, I opened the .shp file in a new window. Thus, this would be the actions step-by-step:

Create a new file.
Index and save as .shp.
Open the .shp file you just created. Now it should have the bottom half empty, and the top quarters each have a slightly different 1/4 sized image of whatever graphics there were to begin with.
Edit the picture as you please, and save again as .shp.
Import in Exult Studio.
Set the shape as translucent.
Save all.

In step 3, you do not need to specify a palette when GIMP asks for one. Instead you can use the colormap GIMP 2.8.0 automatically creates for each opened image. For reference, for me that has color index #248 as bright yellow, #249 as bright blue, #250 as bright green and #251 as bright red.

Re: Trying to get yellow translucent color into the game

Posted: Sun Mar 19, 2017 9:28 pm
by Oink!
Bump for GrimLock Dragon.

Re: Trying to get yellow translucent color into the game

Posted: Mon Mar 20, 2017 12:53 am
by GrimLock Dragon
Thank you kind sir!