Jump to content

Changing Armor Tint Starter Guide


rdngmikey

Recommended Posts

If anyone is interested, since the values are in percentages I've started using this page as a guide.

 

http://www.december.com/html/spec/colorper.html

 

Oh, and if you want to use any numbers above 1.0, you don't actually have to put in the decimal, just put in the whole number you want to use.

<%f 2> <%f 0> <%f 3> <%f 1.0>

Gives you bright, not quite neon, purple.

Link to comment
Share on other sites

  • Replies 64
  • Created
  • Last Reply

Top Posters In This Topic

  On 9/1/2014 at 4:00 AM, Drakous79 said:

Btw there is something wrong with float values in the mod file. For an example Tint 4 should be yellow orange with grey pants, but it is blue with grey pants after applying new values. No idea what is wrong, but my 4 months old FindObjectEntry notes contain the same float values as you posted ghost girl.

 

Got this figured out.

 

Armor Tint 4, Entries[3], orange / grey:

UDefaultProperty:
	NameIdx: 0x00000392 (Index) 0x00000000 (Numeric) -> None
	Entries[3]:
Unsafe guess (it's a Property List):
UDefaultPropertiesList:
UDefaultProperty:
	NameIdx: 0x000003DE (Index) 0x00000000 (Numeric) -> Primary
	TypeIdx: 0x00000B02 (Index) 0x00000000 (Numeric) -> StructProperty
	PropertySize: 0x00000010
	ArrayIdx: 0x00000000
	InnerNameIdx: 0x00000340 (Index) 0x00000000 (Numeric) -> LinearColor
	LinearColor (R, G, B, A) = (0x3C42A9EE, 0x3E0B5D6B, 0x3EC1E1DB, 0x3F800000) = (0.0118813, 0.136099, 0.378676, 1)

---

Look at this line:

LinearColor (R, G, B, A) = (0x3C42A9EE, 0x3E0B5D6B, 0x3EC1E1DB, 0x3F800000) = (0.0118813, 0.136099, 0.378676, 1)

and compare it to hex code for those 4 floats:

DB E1 C1 3E 6B 5D 0B 3E EE A9 42 3C 00 00 80 3F
// That would be (0x3EC1E1DB, 0x3E0B5D6B, 0x3C42A9EE, 0x3F800000) = (0.378676, 0.136099, 0.011881, 1)

There are swapped R and B values in DeserializeAll and FindObjectEntry output.

 

Corrected mod file for Entries[3]:

 

  Reveal hidden contents

 

 

But I can't trust myself moving 128 float values with a mouse.

Link to comment
Share on other sites

Sorry. :smile: Don't know why I did this. Here's new PatchUPK code:

 

 

  Reveal hidden contents

 

 

I've fixed this bug and updated UPKUtils to v.5.1.

 

PS

> But I can't trust myself moving 128 float values with a mouse.

That's what regular expressions are for. :wink:

Edited by wghost81
Link to comment
Share on other sites

  On 9/1/2014 at 4:00 AM, Drakous79 said:
...

I've here an image of a lady wearing pink Kevlar armor with grey/black pants (changed by wghost's mod file).

...

 

May I have permission to upload this image to the wiki and use it in the article, with credit to you. It so nicely clarifies the role of the different alpha channels. Let me know what license terms you wish to put on it, if any. (I've already grabbed a copy.)

 

@rdngmikey (and anyone else posting images): Same for your personally created images. I would like explicit permission to use, and any license terms you wish to impose. It would help (and save time) if you would indicate ownership and license terms right there when you post images related to something liable to get into a wiki article. For those curious, see the "Creative Commons Licenses" page for choices among the sort of terms preferred for the wiki. See "this page" for an example of the way the expression of terms is deemed necessary. BUT, be aware that you can't "own" screenshots from the game. Those are derivative works of the game's copyrighted art. You can post them (marked up or not) under "fair use" terms because they are for "illustrative purposes".

 

This is necessary so I can upload them when I wasn't the actual creator.

 

FYI: The article is coming along. Edit: Almost ready to post the initial version (assuming image permissions will be granted, but still need those statements).

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

Dracous & wghost, sooooo -- that's why i couldn't recognize most color sets i scanned over, with a BGR that needed a flip back to proper RGB! Such a weird complexity within the code, AFAIC.

(PS; I've inserted a comment in the summary of post #11 to warn people about this "switch-flaw".)

 

Dubious - full permission is granted to use the Hyperion-Armors(00-32) reference sheet. And if you want any or all individual bigger versions, contact me here.

Edited by Zyxpsilon
Link to comment
Share on other sites

Zyxpsilon, Patcher writes RGBA values in correct order, it's the Deserializer who messed thing up. With updated UPKUtils there should be no flipped values in Deserializer/FindObject output.

 

Here's correct ArmorTint object deserialization:

 

  Reveal hidden contents

 

 

Edit: since 0xCCCCCCCC values are special, its better to leave those in hex:

<%u 0xCCCCCCCC> <%u 0xCCCCCCCC> <%u 0xCCCCCCCC> <%u 0xCCCCCCCC> // (R, G, B, A)
Edit2: I'm an idiot. :smile: 0xCCCCCCCC is a bit pattern used to initialize stack variables. It means, that all the values with this pattern were never initialized by programmers and are probably never used at all. Edited by wghost81
Link to comment
Share on other sites

  On 9/2/2014 at 4:44 AM, wghost81 said:

I've fixed this bug and updated UPKUtils to v.5.1.

 

<snip>

That's what regular expressions are for. :wink:

 

Thank you very very much :)

 

  On 9/2/2014 at 9:02 AM, wghost81 said:
I'm sure the game will accept any floating-point value and will clamp it to whatever range it actually uses.

 

What would be maximum accepted value?

 

  On 9/2/2014 at 6:36 AM, dubiousintent said:

May I have permission to upload this image to the wiki and use it in the article, with credit to you. It so nicely clarifies the role of the different alpha channels. Let me know what license terms you wish to put on it, if any.

 

Granted. For this, past and any future ones.

 

I will be happy, if people can use the image as needed, and if they note its origin.

 

Creative Commons Attribution-Share Alike (CC BY-SA) seems to be the one I'd like to use.

Link to comment
Share on other sites

  Quote

What would be maximum accepted value?

4-byte floating point numbers have range at least (1e-37; 1e+37) in C++. But UE might clamp RGBA values internally, so increasing values might stop giving effect at some point.

 

As I understand it from all the above posts, LinearColor uses floating point numbers to represent RGBA values in percentages. Values greater than 1 (100%) increase color intensity and A (alpha channel) should affect color opacity.

 

I did some reading :smile: and found that alpha can be straight or premultiplied. In the case of straight alpha RGB values are multiplied by A before composing. Premultiplied alpha already has RGB values multiplied by A (to avoid additional multiplications) and in this case A isn't actually used to compose an image.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...